一、环境准备

1、系统光盘yum源    CentOS Linux release 7.2.1511 (Core)
2、Ceph组件iso文件   我这里采用的是 rhcs2.0-rhosp9-20161113-x86_64.iso
3、5台服务器,NTP服务器192.168.4.254,client服务器192.168.4.10,ceph存储集群管理节点node1 192.168.4.11,节点node2 192.168.4.12,节点node3 192.168.4.13
4、配置Ceph集群的管理节点ssh免密登录存储节点
5、Ceph全部节点,配置系统iso的yum源,以及Ceph组件iso的源
二、部署Ceph分布式存储集群,node1作为管理节点,node2,node3作为存储节点
1、环境准备的工作完成后,我们登录到node1作为管理节点。然后安装管理工具ceph-deploy工具。并且创建工作目录
node1:
yum -y install ceph-deploy
mkdir ceph-cluster
cd ceph-cluster
2、创建新的ceph集群
node1:
ceph-deploy new node1 node2 node3
3、安装Ceph组件
node1:
ceph-deploy install node1 node2 node3
4、初始化Ceph集群。
node1:
ceph-deploy mon create-initial
5、分别给node1,node2,node3添加三块新的硬盘,大小为20G
每台服务器,新增三块新的磁盘。分别为vdb,vdc,vdd。这里分别都拿vdb来做日志分区。考虑到每台服务器用2个磁盘来做存储,那么日志分区的磁盘,就分为两个区。
all:
parted /dev/vdb
mklabel gpt
mkpart primary 1M 50%
mapart primary 50% 100%
chown ceph:ceph /dev/vdb1
chown ceph:ceph /dev/vdb2
6、初始化ceph节点(通俗点说:指定节点的存储磁盘)
node1:
ceph-deploy disk zap node1:vdc node1:vdd
ceph-deploy disk zap node2:vdc node2:vdd
ceph-deploy disk zap node2:vdc node2:vdd
7、初始化ceph节点存储空间(通俗点说:为每一个存储磁盘指定日志分区)
node1:
ceph-deploy osd create node1:vdc:/dev/vdb1 node1:vdd:/dev/vdb2
ceph-deploy osd create node2:vdc:/dev/vdb1 node2:vdd:/dev/vdb2
ceph-deploy osd create node3:vdc:/dev/vdb1 node3:vdd:/dev/vdb2

8、搭建完毕,查看集群状态

ceph -s

centos查看容器路径_ceph

Ceph分布式存储集群的搭建,就已经完毕了。当然,还有许多可以优化的地方。这个就需要在使用中根据实际情况进行优化。

三、创建一个镜像,然后发布到局域网去,让其他客户端可以进行常规的分区操作

1、查看镜像存储池

centos查看容器路径_centos查看容器路径_02

2、创建一个名为demo-image的镜像,大小为10G

rbd create demo-image --image-feature layering --size 10G

3、列出镜像

rbd list

4、查看镜像的详细信息

centos查看容器路径_服务器_03

5、把demo-image镜像扩大为15G

centos查看容器路径_客户端_04

6、一个镜像,可以简单理解为一个分区。那么我们把这个分区发布到网络中,让其他客户端可以进行常规使用

要达成这个效果。客户端就必须按照一个软件ceph-common。并且客户端要连接到ceph集群。那么管理节点就把配置文件copy到客户端,客户端要连接上ceph集群,那么管理节点的ceph秘钥文件也要copy给客户端。

yum -y install ceph-common

centos查看容器路径_centos查看容器路径_05

7、客户端发现ceph的共享“分区”

centos查看容器路径_centos查看容器路径_06

8、格式化这个"共享分区",并且挂载到mnt目录下,在里面创建一个a.txt

centos查看容器路径_ceph_07

从这里可以看得出。和正常分区一个可以进项常规操作。

9、对镜像进行快照备份。然后删除镜像内容。最后进行数据恢复

第一步:对镜像进行快照备份

centos查看容器路径_客户端_08

centos查看容器路径_服务器_09

备份完毕

第二步:模拟误删除。把a.txt文件删除

centos查看容器路径_ceph_10

第三步:停止挂载,取消发现。恢复数据,重新发现,重新挂载

centos查看容器路径_客户端_11

centos查看容器路径_centos查看容器路径_12