拷贝这个key到所有的节点。
# ssh-copy-id node1 # ssh-copy-id node2 # ssh-copy-id node3 # ssh-copy-id node4 设置网络代理(可选)如果整个内网环境需要设置网络代理才能使用apt-get安装程序,那么需要在配置文件/etc/environment中添加,如:
http_proxy="http://[proxy-ip]:[proxy-port]" https_proxy=https://[proxy-ip]:[proxy-port]设置完成后,执行命令:export http_proxy="[proxy-ip]:[proxy-port]"; export https_proxy=https://[proxy-ip]:[proxy-port],使得配置立即生效。
注意:一定要在/etc/environment中配置,而不能在诸如/etc/profile、~/.profile等类似文件配置。因为,安装ceph时,会使用ssh来连接远程节点并apt-get安装程序,但ssh只能识别/etc/environment中的环境变量,设置在其他文件中会导致网络访问失败。
注意二:所有节点都需要设置。
这里,我们直接在Monitor节点node1上安装ceph-deploy,然后通过ceph-deploy在node1上部署Monitor,在node2和node3节点上部署OSD,最后,在node4上部署Ceph网关rgw。
在node1上创建一个目录,用来维护ceph-deploy生成的配置信息。ceph-deploy命令会在当前目录生成输出文件,确保执行该命令时位于对应的目录。
更新镜像仓库,并安装ceph-deploy。
apt-get update && sudo apt-get install ceph-deploy 重新开始部署Ceph在安装过程中如果遇到了问题,想重新开始安装,执行以下命令来清空配置。
ceph-deploy purgedata {ceph-node} [{ceph-node}] ceph-deploy forgetkeys如果还想清空Ceph包,需执行:
ceph-deploy purge {ceph-node} [{ceph-node}]注意:在实际的操作中,如果直接执行ceph-deploy purgedata,总是会报错,提示Ceph还安装在该节点上,拒绝执行清空操作。因此我都是先执行ceph-deploy purge,再执行ceph-deploy purgedata和ceph-deploy forgetkeys。
部署Ceph 创建集群 ceph-deploy new {initial-monitor-node(s)}如:
ceph-deploy new node1在当前目录下使用ls和cat命令检查ceph-deploy输出结果,可以看到一个ceph配置文件,一个密钥环以及为新集群创建的日志文件。
修改osd参数因为我们环境中只有两个OSD,而Ceph模式的副本个数为3,因此我们需要修改配置文件Ceph.conf,在[global]部分增加如下配置:
osd pool default size = 2如果OSD存储数据分区的文件系统类型不是xfs,则需要设置一些osd变量,否则OSD不能正常启动,报错为“ERROR: osd init failed: (36) File name too long”。同样,在Ceph.conf文件,[global]部分增加如下配置:
osd max object name len = 256 osd max object namespace len = 64 配置Ceph网络参数如果环境中有多种网络,那么需要在Ceph.conf的[global]部分下增加如下配置。
public network = {ip-address}/{netmask}如果环境中只有一种网络,则不需要此配置。关于网络配置更多信息,可参考:
安装Ceph ceph-deploy install {ceph-node}[{ceph-node} ...]例如:
ceph-deploy install node1 node2 node3 node4执行命令后,会在每个节点上都安装Ceph。注意:如果执行过ceph-deploy purge命令,则需要重新安装Ceph。
安装Monitor安装并初始化Monitor,收集keys:
# ceph-deploy mon create-initial执行完命令后,当前目录会生成如下keyring:
• {cluster-name}.client.admin.keyring
• {cluster-name}.bootstrap-osd.keyring
• {cluster-name}.bootstrap-mds.keyring
• {cluster-name}.bootstrap-rgw.keyring
OSD的数据目录可以使用单独的分区,也可以只使用已有分区的目录。这里我们是直接使用目录的方式。如果需要使用单独数据分区和日志分区,可参考: 。
添加两个OSD。