首页天道酬勤分布式存储集群,分布式存储部署

分布式存储集群,分布式存储部署

张世龙 05-12 14:38 38次浏览

ZStack拥抱分布式存储Ceph Ceph中国社区技术文档ZStack拥抱分布式存储Ceph

Ceph China小编2016-05-080 Comments

技术文件、行业信息

ZStack 0.9 RC版本于去年发布,整合了两个功能:分布式存储Ceph和负载平衡。 迄今为止,ZStack支持四种存储类型: NAS、DAS、SAN和分布式存储。 负载均衡也是公共私有云项目中的重要组成功能。 功能概述:

1 .分布式存储Ceph

使用分布式存储Ceph的用户可以将现有的Ceph存储添加为z堆栈的主存储和备份存储。 在z堆栈的一个Zone中的群集允许将公共Ceph共享为主存储和备份存储。 根据需要,用户可以在计算节点上预配置Ceph,也可以使用独立的存储节点构建Ceph。 添加Ceph存储时,用户提供Mon的Urls即可。 用户可以使用Ceph解决诸如存储可靠性、存储扩展和对象存储等问题。

2 .负载均衡

负载平衡是自z堆栈虚拟路由器发布以来添加的网络服务。 用户可以启动多个云主机并参与负载平衡监听器集。 用户指定的算法(RoundRobin,LeastConn,Source )提高了网络处理能力,使负载均衡监听器将收到的网络分组传输到不同的云主机进行处理ZStack负载均衡器还具有监测用于负载均衡的云主机健康状况的能力。

这里主要介绍z堆栈支持Ceph分布式存储的功能

从0.9版开始,ZStack正式支持Ceph作为主存储和备份存储设备。 为了充分利用Ceph存储的高级功能,在一个Zone中,用户必须同时使用一个Ceph群集作为主存储和备份存储。 这样,当用户创建新的云主机或备份卷时,就可以避免主存储和备份存储之间不必要的数据复制,并且所有数据操作都是在线复制(cow ) z堆栈与Ceph的交互由部署在Ceph Mon服务上的代理完成。 用户可以动态添加或删除Ceph的Mon服务器。

Ceph备份存储Ceph备份存储仅可用于Ceph主存储

使用Ceph的一个主要好处是,Ceph支持COW,因此在z堆栈中,如果使用Ceph备份存储,则主存储也必须是相同的Ceph。 由于Ceph备份存储和主存储使用同一Ceph群集,因此用户不能将单个Ceph备份存储装载到多个z堆栈的Zones上。 最好的使用方法是每个Zone使用独立的ceph群集作为同一组主存储和备份存储。 这意味着,如果z堆栈Zone仅装载Ceph作为备份存储,则不能将NFS、本地存储和ISCSI用作Zone的主存储。 如果Zone同时装载Ceph备份存储和SFTP备份存储,则可以混合使用多种主存储类型。 但是,需要特别注意的是,如果云主机的镜像文件只存在于Ceph备份存储中,则只能在Ceph主存储中成功创建该云主机。 如果Ceph主存储器未装载在创建云主机时选择的L3网络所在的群集上,并且该云主机的镜像文件只存在于Ceph备份存储器中,则用于创建云主机的相应体量将是正确的

从UI添加Ceph备份存储

选择类型“ceph”,输入Ceph mon server的IP/hostname,输入Ceph mon server的SSH用户名,输入Ceph mon server的SSH密码,然后单击“添加”,第3步到第4步

可以使用AddCephBackupStorage添加Ceph备份存储。 示例:

addcephbackupstoragename=cephmonurls=root :密码@192.168.0.123,root : password @ 192.168.0.124,root

MonUrls是字符串列表,其中每个Mon服务的信息用逗号分隔,每个Mon服务的信息遵循以下格式:

1

sh_用户名:ssh_密码@ mon _ server _ IP : [ ssh _ port ] [ /? monPort=ceph_mon_port]

ssh_用户名、ssh_密码和mon_server_ip是必需的,ssh_port和ceph_mon_port是可选的。 ceph_mon_port是Ceph Mon服务器端口,默认值为6789。 root 3360 password @ 192.168.0.12:22 /? monPort=6789。

指定池

AddCephBackupStorage具有特殊的参数poolName。 这样,用户可以指定存在的Ceph Pool。 用户指定pool的名称时,ZS

tack会使用这个pool。当这个pool不存在的时候,ZStack将会报告一个添加失败的错误。  当用户不指定特别的pool名字的时候,ZStack会自动创建一个新的pool。    你可以利用这个功能预先创建一个合适的pool。

动态添加Mon服务器

在添加了Ceph备份存储后,用户还可以给该备份存储添加新的Ceph Mon服务器:
>>>AddMonToCephBackupStorage uuid=d914841733fa499c9dc6d63ea339469d monUrls=root:password@192.168.0.123,root:password@192.168.0.124,root:password@192.168.0.125
 

动态删除Mon服务器

你还可以使用 RemoveMonFromCephBackupStorage 来删除一个Ceph Mon服务器。
>>>RemoveMonFromCephBackupStorage uuid=d914841733fa499c9dc6d63ea339469d monHostnames=192.168.0.123,192.168.0.124
 monHostnames是一个通过逗号分割的字符串列表,里面是Mon的IP地址。

查询Ceph备份存储

使用QueryCephBackupStorage可以查询所有Ceph备份存储的详情: 

Ceph主存储

Ceph主存储既可以和Ceph备份存储协同工作,也可以使用SFTP备份存储。

通过UI添加

选择类型 ‘Ceph’输入Ceph mon server的IP/hostname输入Ceph mon server的SSH 用户名输入Ceph mon server的SSH 密码点击 ‘Add’重复步骤 3 ~ 5 来添加其他的Ceph Mon服务器点击 ‘Next’

Add through CLI

你可以使用 AddCephPrimaryStorage 来添加一个 Ceph 主存储。 例如::
>>>AddCephPrimaryStorage name=ceph zoneUuid=d914841733fa499c9dc6d63ea339469d monUrls=root:password@192.168.0.123,root:password@192.168.0.124,root:password@192.168.0.125
 monUrls是一个字符串列表,每一个Mon服务器的信息通过逗号来分割,每一个Mon服务器的信息遵从如下的格式:

 

1

ssh_用户名:ssh_密码@mon_server_ip:[ssh_port][/?monPort=ceph_mon_port]

ssh_用户名,ssh_密码,mon_server_ip是必须的内容,而ssh_port和ceph_mon_port是选填的。ceph_mon_port是Ceph Mon服务器的端口,默认值为6789. 一个完整的monUrl的例子是:root:password@192.168.0.123:22/?monPort=6789.

指定 pool

AddCephPrimaryStorage有三个个特别的参数imageCachePoolName, rootVolumePoolName, dataVolumePoolName。  通过它们,用户可以指定存在的Ceph Pool作为主存储的Pool。  当用户指定pool的名字的时候,ZStack会使用这个pool。当pool不存在的时候,ZStack将会报告一个添加失败的错误。  当用户不指定特别的pool名字的时候,ZStack会自动创建三个新的pool。你可以利用这个功能预先创建合适的pool。在指定Pool的时候,你可以只指定其中的一个或者两个,然后由ZStack来创建其余的Pool。

动态添加Mon服务器

在添加了Ceph主存储后,用户还可以给该主存储添加新的Ceph Mon服务器:

 

1

>>>AddMonToCephBackupStorage uuid=d914841733fa499c9dc6d63ea339469d monUrls=root:password@192.168.0.123,root:password@192.168.0.124,root:password@192.168.0.125

 

动态删除Mon服务器

你还可以使用 RemoveMonFromCephPrimaryStorage 来删除一个Ceph Mon服务器。
>>>RemoveMonFromCephPrimaryStorage uuid=d914841733fa499c9dc6d63ea339469d monHostnames=192.168.0.123,192.168.0.124
 
ThemonHostnamesis a list of IPs of mon servers that you want to remove.

查询Ceph主存储

你可以使用QueryCephPrimaryStorage来查询所有的Ceph主存储的详细信息:  关于Zstack
ZStack 是全新的开源 IaaS 软件,它的诞生是为了解决困绕 IaaS 软件的几大难题:复杂度、稳定性、可伸缩性和灵活性。作为这个领域的新项目,ZStack 从前辈身上学习到了很多经验,并且针对各种云的问题重头设计了整套架构。
ZStack 已经提供了大部分IaaS的基本功能,包括:虚拟机管理,存储卷管理,存储卷快照,各种网络服务(DHCP、DNS、SNAT、EIP、PortForward以及Security Group)。请访问官网网站以获取完整的功能列表:http://zstack.org/documentation/features-matrix.html ZStack非常容易安装。在快速安装说明(http://zstack.org/installation/)里,记录了如何通过两条命令,5分钟时间,完成在一台Linux机器上部署单机演示环境。或者阅读多控制节点安装手册(http://zstack.org/installation/multi-node.html),在30分钟内搭建一个可以负责管理成百上千台服务器的服务集群。

← Previous post

分布式数据库原理,分布式下数据共享