Ceph分布式存储部署基础教程(2)

拷贝这个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中的环境变量,设置在其他文件中会导致网络访问失败。
注意二:所有节点都需要设置。

部署Ceph存储

这里,我们直接在Monitor节点node1上安装ceph-deploy,然后通过ceph-deploy在node1上部署Monitor,在node2和node3节点上部署OSD,最后,在node4上部署Ceph网关rgw。
在node1上创建一个目录,用来维护ceph-deploy生成的配置信息。ceph-deploy命令会在当前目录生成输出文件,确保执行该命令时位于对应的目录。

mkdir my-cluster cd my-cluster 安装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的数据目录可以使用单独的分区,也可以只使用已有分区的目录。这里我们是直接使用目录的方式。如果需要使用单独数据分区和日志分区,可参考:
添加两个OSD。

# ssh node2 # sudo mkdir /var/local/osd0 # chown ceph:ceph /var/local/osd0 # exit # ssh node3 # sudo mkdir /var/local/osd1 # chown ceph:ceph /var/local/osd1 # exit 准备OSD ceph-deploy osd prepare {ceph-node}:/path/to/directory

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c257db19d0e1a71643abe59829fcdafa.html