Ceph简介 eph的设计目标是是在廉价的存储介质上构建具有 high performance, high scalibility, high available, 提供统一存储,分文件存储,块存储,对象存储。最近看了相关文档觉得挺有意思,而且它已经能为openstack提供块存储,非常贴合主流趋势。 Ceph部署 1、主机准备 实验环境为VMare虚拟机机上进行实验,主要是为了对Cph有直观的认识。 第一步:准备5台主机 IP地址 主机名(Hostname) 192.168.1.110 admin-node (该主机用于管理,后续的ceph-deploy工具都在该主机上进行操作) 192.168.1.111 node1 (监控节点) 192.168.1.112 node2 (osd.0节点) 192.168.1.113 node3 (osd.1节点) 192.168.1.114 client-node (客服端,主要利用它挂载ceph集群提供的存储进行测试) 第二步:修改admin-node节点/etc/hosts文件,增加一下内容 192.168.1.111 node1 192.168.1.112 node2 192.168.1.113 node3 192.168.1.114 client-node 说明:ceph-deploy工具都是通过主机名与其他节点通信。修改主机名的命令为:hostnamectl set-hostname "新的名字" 第三步: 分别为5台主机存储创建用户ceph:(使用root权限,或者具有root权限) 创建用户 sudo adduser -d /home/ceph -m ceph 设置密码 sudo passwd ceph 设置账户权限 echo “ceph ALL = (root) NOPASSWD:ALL” | sudo tee /etc/sudoers.d/ceph sudo chomod 0440 /etc/sudoers.d/ceph 执行命令visudo修改suoders文件: 把Defaults requiretty 这一行修改为修改 Defaults:ceph !requiretty 如果不进行修改ceph-depoy利用ssh执行命令将会出错 2、配置admin-node与其他节点ssh无密码root权限访问其它节点。 第一步:在admin-node主机上执行命令: ssh-keygen 说明:(为了简单点命令执行时直接确定即可) 第二步:将第一步的key复制至其他节点 ssh-copy-id ceph@node1 ssh-copy-id ceph@node2 ssh-copy-id ceph@node3 ssh-copy-id ceph@client-node 同时修改~/.ssh/config文件增加一下内容: Host node1 Hostname 192.168.1.111 User ceph Host node2 Hostname 192.168.1.112 User ceph Host node3 Hostname 192.168.1.113 User ceph Host client-node Hostname 192.168.1.114 User ceph 3、为admin-node节点安装ceph-deploy 第一步:增加 yum配置文件 sudo vim /etc/yum.repos.d/ceph.repo 添加以下内容: [ceph-noarch] name=Ceph noarch packages baseurl=http://ceph.com/rpm-firefly/el7/noarch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc 第二步:更新软件源并按照ceph-deploy,时间同步软件 sudo yum update && sudo yum install ceph-deploy sudo yum install ntp ntpupdate ntp-doc 4、关闭所有节点的防火墙以及安全选项(在所有节点上执行)以及其他一些步骤 sudo systemctl stop firewall.service sudo setenforce 0 sudo yum install yum-plugin-priorities 总结:经过以上步骤前提条件都准备好了接下来真正部署ceph了。 5、以前面创建的ceph用户在admin-node节点上创建目录 mkdir my-cluster cd my-cluster 6、创建集群 节点关系示意图:node1作为监控节点,node2,node3作为osd节点, admin-node作为管理节点,其关系如下图所示:
第一步:执行以下命令创建以node1为监控节点的集群。 ceph-deploy new node1 执行该命令后将在当前目录生产ceph.conf 文件,打开文件并增加一下内容: osd pool default size = 2 第二步:利用ceph-deploy为节点安装ceph ceph install admin-node node1 node2 node3 第三步:初始化监控节点并收集keyring: ceph-deploy mon create-initial 6、为存储节点osd进程分配磁盘空间: ssh node2 sudo mkdir /var/local/osd0 exit ssh node3 sudo mkdir /var/local/osd1 exit 接下来通过admin-node节点的ceph-deploy开启其他节点osd进程,并激活。 ceph-deploy osd prepare node2:/var/local/osd0 node3:/var/local/osd1 ceph-deploy osd active node2:/var/local/osd0 node3:/var/local/osd1 把admin-node节点的配置文件与keyring同步至其它节点: ceph-deploy admin admin-node node1 node2 node3 sudo chmod +r /etc/ceph/ceph.client.admin.keyring 最后通过命令查看集群健康状态: ceph health 如果成功将提示:HEALTH_OK Ceph存储空间使用: 1、准备client-node 通过admin-node节点执行命令: ceph-deploy install client-node ceph-deploy admin client-node 2、创建块设备映像: rbd create foo --size 4096 将ceph提供的块设备映射到client-node sudo rbd map foo --pool rbd --name client.admin 3、创建文件系统 sudo mkfs.ext4 -m0 /dev/rbd/foo 4、挂载文件系统 sudo mkdir /mnt/test sudo mount /dev/rbd/foo /mnt/test cd /mnt/test
Finished!!!!!!!!!!!! |