《2022年Ceph安装部署文档 .pdf》由会员分享,可在线阅读,更多相关《2022年Ceph安装部署文档 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Ceph 安装部署文档目录一:简介 .1 二:部署环境介绍.1 三:集群配置准备工作.2 3.1:生成 SSH证书,节点建立连接.2 3.2:建立 ip 地址 list,修改 host 文件.3 3.3:网络端口设置 .3 3.4:安装 centos 的 yum 源软件包=全部节点安装.4 3.5:添加时间同步定时任务.4 3.6:安装yum-plugin-priorities.8 四:安装ceph 软件包 .8 4.1、安装 ceph 部署机,使用 ceph-deploy 方式安装部署.8 4.2、安装 ceph 存储集群(包括ceph 对象网关).8 五:搭建ceph 集群 .8 5.1:
2、新建 ceph 集群 .9 5.2:添加 mon 节点.9 5.3:添加 osd 节点 .9 六:安装过程出现的部分错误及解决方法.11 七:常用命令.11 一:简介Ceph 生态系统架构可以划分为四部分:1.Clients:客户端:数据用户2.mds:Metadata server cluster,元数据服务器:缓存和同步分布式元数据(此文档没有安装mds)3.osd:Object storage cluster,对象存储集群:将数据和元数据作为对象存储,执行其它关键职能4.mon:Cluster monitors,集群监视器:执行监视功能二:部署环境介绍主机名公网 IP(eth0)私网 I
3、P(eth1)双网卡绑定 bond0 运行服务操作系统内核备注anode1 172.16.100.35 mon、osd CentOS6.7 主节点anode2 172.16.100.36 mon、osd CentOS6.7 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 11 页 -anode3 172.16.100.37 mon、osd CentOS6.7 三:集群配置准备工作3.1:生成 SSH证书,节点建立连接1)所有节点修改hostname vim/etc/sysconfig/network 2)安装 SSH(主节点)sudo apt-get install openss
4、h-server 3)ssh登陆证书(主节点)ssh-keygen 将配置完成的证书传输到其它服务器:ssh-copy-id 其他节点用户名其他节点IP Example:ssh-copy-id rootanode2 4)创建并编辑/.ssh/config 文件,添加其他Host Host Hostname Hostname ceph-server.fqdn-or-ip- User Username Example:Host anode1 Hostname 172.16.100.35 User root Host anode2 Hostname 172.16.100.36 User root H
5、ost anode3 Hostname 172.16.100.37 名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 11 页 -User root 3.2:建立 ip 地址 list,修改 host文件1)创建工作文件夹,建立ip 地址 list,为文件传输做准备主节点执行mkdir/workspace/cd/workspace/vim cephlist.txt 主机列表写入:anode1 anode2 anode3 2)修改 host 文件vim/etc/hosts 追加内容如下:172.16.100.35 anode1 172.16.100.36 anode2 172.16.
6、100.37 anode3 将 host 文件传输到其它主机for ip in$(cat/workspace/cephlist.txt);do echo-$ip-;rsync-avp/etc/hosts$ip:/etc/;done 3.3:网络端口设置检查网络设置,确定这些设置是永久生效的,重启之后不会改变。(1)Network 设置,所有节点执行vim/etc/sysconfig/network-scripts/ifcfg-iface 确认 ONBOOT 为 YES BOOTPROTO 对于静态IP地址来说通常为NONE 如果要使用IPV6协议的话,需要设置IPV6opt 为 YES(2)防
7、火墙设置(Iptables),所有节点执行a)端口 6789:Monitor 需要通过此端口与OSD通信,因此所有Monitor 节点需打开b)端口 6800:7300:用于 OSD通信。每个 Ceph Node 上的 每个 OSD需要三个端口,一个用于与client 和 Monitor 通信;一个用于与其他OSD传送数据,一个用于心跳检测。如果一个Ceph Node 上有 4 个 OSD,打开12(=34)个端口。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 11 页 -sudo iptables-I INPUT 1-i eth0-p tcp-s 172.16.100.35/
8、255.255.255.0-dport 6789-j ACCEPT sudo iptables-I INPUT 1-i eth0-p tcp-s 172.16.100.35/255.255.255.0-dport 6800:6809-j ACCEPT 配置完成iptable 以后,确保每个节点上的改变永久生效,重启以后也能保持有效。/sbin/service iptables save(3)tty 设置,所有节点执行sudo visudo 找到 Defaults requiretty,大约在50 多行,把它改成Defaults:User!requiretty 或者直接把原句注释掉。确保Ceph
9、-Deploy 不会报错。(4)SELINUX,所有节点执行sudo setenforce 0 确保集群在配置完成之前不会出错。可以 在/etc/selinux/config修改永久改变。3.4:安装 centos的 yum 源软件包=全部节点安装(1)复制此文档所在文件夹中的.repo 文件到目录/etc/yum.repos.d/中(2)传输 yum 源文件到其它节点服务器-delete 删除那些DST中 SRC没有的文件for ip in$(cat/workspace/cephlist.txt);do echo-$ip-;rsync-avp-delete/etc/yum.repos.d$i
10、p:/etc/;done(3)yum 立即生效(所有节点执行)yum make cache 3.5:添加时间同步定时任务(1)安装 NTP软件包,所有节点执行yum install ntp 完成后,都需要配置NTP服务为自启动chkconfig ntpd on chkconfig-list ntpd ntpd 0:关闭1:关闭2:启用3:启用 4:启用5:启用6:关闭在配置前,先使用ntpdate 手动同步下时间,免得本机与外部时间服务器时间差距太大,让ntpd 不能正常同步。#ntpdate-u .pool.ntp.org(2)配置内网时间服务器NTP-Server(172.16.100.3
11、5)NTPD服务配置核心就在/etc/ntp.conf文件,红色部分修改,其他的是默认。#For more information about this file,see the man pages 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 11 页 -#ntp.conf(5),ntp_acc(5),ntp_auth(5),ntp_clock(5),ntp_misc(5),ntp_mon(5).driftfile/var/lib/ntp/drift#Permit time synchronization with our time source,but do not#per
12、mit the source to query or modify the service on this system.restrict default kod nomodify notrap nopeer noquery restrict-6 default kod nomodify notrap nopeer noquery#Permit all access over the loopback interface.This could#be tightened as well,but to do so would effect some of#the administrative fu
13、nctions.restrict 127.0.0.1 restrict-6:1#Hosts on local network are less restricted.#允许内网其他机器同步时间restrict 172.16.100.0 mask 255.255.255.0 nomodify notrap#Use public servers from the pool.ntp.org project.#Please consider joining the pool(http:/www.pool.ntp.org/join.html).#中国这边最活跃的时间服务器:http:/www.pool.
14、ntp.org/zone/cn server .pool.ntp.org perfer#中国国家受时中心server 1.asia.pool.ntp.org#.pool.ntp.org server 3.asia.pool.ntp.org#0.asia.pool.ntp.org#broadcast 192.168.1.255 autokey#broadcast server#broadcastclient#broadcast client#broadcast 224.0.1.1 autokey#multicast server#multicastclient 224.0.1.1#multica
15、st client#manycastserver 239.255.254.254#manycast server#manycastclient 239.255.254.254 autokey#manycast client 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 11 页 -#allow update time by the upper server#允许上层时间服务器主动修改本机时间restrict .pool.ntp.org nomodify notrap noquery restrict 1.asia.pool.ntp.org nomodify notrap noq
16、uery restrict 3.asia.pool.ntp.org nomodify notrap noquery#Undisciplined Local Clock.This is a fake driver intended for backup#and when no outside source of synchronized time is available.#外部时间服务器不可用时,以本地时间作为时间服务server 127.127.1.0#local clock fudge 127.127.1.0 stratum 10#Enable public key cryptograph
17、y.#crypto includefile/etc/ntp/crypto/pw#Key file containing the keys and key identifiers used when operating#with symmetric key cryptography.keys/etc/ntp/keys#Specify the key identifiers which are trusted.#trustedkey 4 8 42#Specify the key identifier to use with the ntpdc utility.#requestkey 8#Speci
18、fy the key identifier to use with the ntpq utility.#controlkey 8#Enable writing of statistics records.#statistics clockstats cryptostats loopstats peerstats 使修改立即生效名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 11 页 -chkconfig ntpd on chkconfig ntpdate on(3)与本地时间服务器同步的其他节点设置yum install ntp.chkconfig ntpd on vim/etc
19、/ntp.conf(直接替换原来文件)driftfile/var/lib/ntp/drift restrict 127.0.0.1 restrict-6:1#配置时间服务器为本地的时间服务器server 172.16.100.35 restrict 172.16.100.35 nomodify notrap noquery server 127.127.1.0#local clock fudge 127.127.1.0 stratum 10 includefile/etc/ntp/crypto/pw keys/etc/ntp/keys使用 ntpdate 手动同步本地服务器时间ntpdate-
20、u 192.168.0.135 22 Dec 17:09:57 ntpdate6439:adjust time server 172.16.100.35 offset 0.004882 sec 这里有可能出现同步失败,一般情况下原因都是本地的NTPD 服务器还没有正常启动起来,一般需要几分钟时间后才能开始同步。service ntpd start.启动后,查看同步情况ntpq-p ntpstat 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 11 页 -3.6:安装 yum-plugin-priorities.yum install yum-plugin-priorities-
21、y yum update-y 确认配置文件内容cat/etc/yum/pluginconf.d/priorities.conf main enabled=1 四:安装 ceph软件包4.1、安装 ceph部署机,使用 ceph-deploy方式安装部署sudo yum update-y&sudo yum install ceph-deploy-y 4.2、安装 ceph存储集群(包括ceph对象网关)(1)直接用 ceph-deploy 安装 ceph ceph-deploy install hostname hostname.example:ceph-deploy install anode
22、1 anode2 anode3(2)如果由于网速等原因报错,可以不执行(1),选择手动安装报错软件或依赖=all yum-y install epel-release-nogpgcheck yum-y install ceph-nogpgcheck yum-y install ceph-radosgw 五:搭建 ceph集群http:/ 8 页,共 11 页 -5.1:新建 ceph集群(1)新建文件夹,用于放置集群配置文件mkdir my-cluster cd my-cluster(2)新建集群,写上的节点会默认作为monitor,也可不写所有monitor,后续添加ceph-deploy
23、new host host,.example:ceph-deploy new anode1 anode2 anode3(3)修改 ceph 默认副本数量(根据自己集群节点数而定)Vim ceph.conf 在 global 下添加:osd pool default size=2(4)如果有一个以上的网络接口,添加公共网络设置到global 下public network=ip-address/netmask(1)添加默认(初始)monitor 并收集 keys ceph-deploy mon create-initial 完成这个过程后,在集群所在文件夹下应该能看到如下文件:cluster-n
24、ame.client.admin.keyring cluster-name.bootstrap-osd.keyring cluster-name.bootstrap-mds.keyring cluster-name.bootstrap-rgw.keyring 5.2:添加 mon 节点在初始化以后想要添加其他monitor 节点:ceph-deploy mon create host-name host-name.example:ceph-deploy mon create anode4 5.3:添加 osd节点(1)首先为 OSD建立文件路径添加 anode1 服务器上的文件夹为osd1 添
25、加 anode2 服务器上的文件夹为osd2 添加 anode3 服务器上的文件夹为osd3 远程:ssh node2 sudo mkdir/var/local/osd2 名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 11 页 -exit ssh node3 sudo mkdir/var/local/osd3 exit 本地:mkdir/var/local/osd1(2)准备 osd 节点ceph-deploy osd prepare ceph-node:/path/to/directory example:ceph-deploy osd prepare anode1:/var
26、/local/osd1 anode2:/var/local/osd2 anode3:/var/local/osd3(3)激活 osd 节点ceph-deploy osd activate ceph-node:/path/to/directory example:ceph-deploy osd activate anode1:/var/local/osd1 anode2:/var/local/osd2 anode3:/var/local/osd3(4)将配置文件和admin key 从主节点(admin node)复制到其他节点,以便执行命令时不需要指定monitor 地址和ceph.clien
27、t.admin.keyring ceph-deploy admin admin-node ceph-node example:ceph-deploy admin anode1 anode2 anode3(5)确认对 ceph.client.admin.keyring 有合适的权限sudo chmod+r/etc/ceph/ceph.client.admin.keyring(6)运行 OSD前,需要收集monitor keys 以及 OSD bootstrap keyrings ceph-deploy gatherkeys monitor-host example:ceph-deploy gat
28、herkeys anode1(7)检查集群健康状况ceph health 名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 11 页 -如果集群状态整成,则返回OK(8)查看集群状态ceph-w 当 peering 过程完成后会返回active+clean 的状态。六:安装过程出现的部分错误及解决方法安装错误:ceph_deployERROR RuntimeError:NoSectionError:No section:ceph 解决方法:yum remove ceph-release 先执行这个,把这个东西卸了,应该是这个的版本不兼容,再重新安装即可安装错误:有个包没有gpgkey,安装它的软件时总是报错,提示没有key 解决方法:安装软件时加上后缀 nogpgcheck 即可运行错误:Rados命令启动不起来解决方法:原因似乎是漏掉运行这一步:ceph-deploy gatherkeys anode1,运行这个命令以后就没问题了。七:常用命令ceph s ceph health 名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 11 页 -