本文介绍了ceph集群在本地化操作系统和服务器上的安装。基础配置操作系统采用银河麒麟v10,CPU为飞腾处理器S2500。[root@node1~]#cat/etc/kylin-releaseKylinLinuxAdvancedServerreleaseV10(Sword)[root@node1~]#lscpu架构:aarch64CPU运行模式:64位字节序:LittleEndianCPU:128在线CPU列表:0-127每核心线程数:1每座核心数:64座:2NUMA节点:16制造商ID:Phytium型号:3型号名称:Phytium,S2500/64C00步进:0x1CPUMaxMHz:2100.0000CPUMinMHz:1100.0000BogoMIPS:100.00L1d缓存:4MiBL1i缓存:4MiBL2缓存:64MiBL3缓存:128MiBNUMA节点0CPU:0-7NUMA节点1CPU:8-15NUMA节点2CPU:16-23CPUNUMA节点3:24-31NUMA节点4CPU:32-39NUMA节点5CPU:40-47NUMA节点6CPU:48-55NUMA节点7CPU:56-63NUMA节点8CPU:64-71NUMA节点9CPU:72-79NUMA节点10CPU:80-87NUMA节点11CPU:88-95NUMA节点12CPU:96-103NUMA节点13CPU:104-111NUMA节点14CPU:112-119NUMA节点15CPU:120-127VulnerabilityItlbmultihit:NotaffectedVulnerabilityL1tf:NotaffectVulnerabilityMds:MeltdownVulneration;NotaffectedPTIVulnerabilitySpecstorebypass:VulnerableVulnerabilitySpectrev1:Mitigation;__userpointersanitizationVulnerabilitySpectrev2:不受影响漏洞Srbds:不受影响漏洞Tsx异步中止:不受影响标志:fpasimdevtstrmaespmullsha32shapucephadm不支持kylinv10操作系统,只能手动部署编译安装。kylinv10系统已经自带了cephluminous版本的包。如果要使用新版本的ceph,只能编译安装。ceph_git_ver=“AE699615BAC534EA496EE965AC6192CB7E0E07C0”ceph_git_nice_ver=“12.2.8”ceph_release=“12”12“c_RELEase_name_name_name_name18ceph_name18ceph_reas19ceph_reas_rease_release_tostinodeetotandostandeetableandcat/eteequabecat/eteeqablecat/eet.pat/stablecat/eetsate/ewluntcat/eet<”.168.2.18node3EOF关闭了防火墙,之前忘记关了,楼主创建ceph的时候卡了好几次。systemctlstopfirewalld&&systemctldisablefirewalldsethostnameonthreenodeshostnamectlset-hostnamenode1hostnamectlset-hostnamenode2hostnamectlset-hostnamenode3配置主机时间同步vi/etc/chrony.confserverntp1.aliyun.comiburstalow192.168.2.0/24systemctlrestartchronyd.service&&systemctlenablechronyd.service使用yum安装安装cephKylinv10已经自带了ceph12版本的rpm包。yuminstall-ycephceph命令执行需要PythonPrettyTable模块,需要使用pip安装。pipinstallPrettyTable部署监视器节点所有Ceph集群都需要至少一个监视器和至少与集群上存储的对象副本一样多的OSD。启动初始mon是部署Ceph存储集群的第一步。这里我直接在node1、node2、node3上创建三个mon。向node1添加监视器,为集群生成唯一的fsid。fsid是集群的唯一标识,代表Ceph存储集群主要用于Ceph文件系统的文件系统ID。uuidgen创建ceph配置文件,并将生成的fsid添加到配置文件中。vim/etc/ceph/ceph.repo[global]fsid=9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4moninitialmembers=node1monhost=192.168.2.16publicnetwork=192.168.2.0/24authclusterrequiredservice=cephxauthrequired=cephxosdjournalsize=1024osdpooldefaultsize=1osdpooldefaultminsize=1osdpooldefaultpgnum=8osdpooldefaultpgpnum=8osdcrushchooseleaftype=1为集群创建密钥环并生成监视器密钥环。监视器通过键相互通信。启动初始监视器时,必须生成并提供带有监视器密钥的密钥环。ceph-authtool--create-keyring/tmp/ceph.mon.keyring--gen-key-nmon.--capmon'allow*'生成管理员密钥环,生成用户并将用户添加到client.admin密钥环。要使用CLI工具,必须有一个用户,并且该用户还必须添加到监视器密钥环中。ceph-authtool--create-keyring/etc/ceph/ceph.client.admin.keyring--gen-key-nclient.admin--capmon'allow*'--caposd'allow*'--capmds'allow*'--capmgr'allow*'生成引导osd密钥,生成用户并将用户添加到client.bootstrap-osd密钥环。ceph-authtool--create-keyring/var/lib/ceph/bootstrap-osd/ceph.keyring--gen-key-nclient.bootstrap-osd--capmon'profilebootstrap-osd'--capmgr'allowr'将生成的密钥添加到ceph.mon.keyring。ceph-authtool/tmp/ceph.mon.keyring--import-keyring/etc/ceph/ceph.client.admin.keyringceph-authtool/tmp/ceph.mon.keyring--import-keyring/var/lib/ceph/bootstrap-osd/ceph.keyring更改ceph.mon.keyring的所有者。chownceph:ceph/tmp/ceph.mon.keyring使用主机名、主机IP地址和FSID生成监视器映射。保存为:/tmp/monmap。monmaptool--create--addnode1192.168.2.16--fsid9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4/tmp/monmap在monitor主机上创建默认数据目录,目录名在{cluster-name}-{主机名}格式。sudo-ucephmkdir/var/lib/ceph/mon/ceph-`hostname`在node1节点上初始化监视器。https://mp.weixin.qq.com/s/0e1ZUdR1L7THS0y_TZSBrw#:~:text=sudo%C2%A0%2Du%C2%A0ceph%C2%A0ceph%2Dmon%C2%A0%2D%2Dmkfs%C2%A0%2Di%C2%A0node1%C2%A0%2D%2Dmonmap%C2%A0/tmp/monmap%C2%A0%2D%2Dkeyring%C2%A0/tmp/ceph.mon.keyring启动周一。systemctlstartceph-mon@node1&&systemctlenableceph-mon@node1在另外两个节点上安装mon,将key和配置文件复制到其他节点。scp/tmp/ceph.mon.keyringnode2:/tmp/ceph.mon.keyringscp/etc/ceph/*root@node2:/etc/ceph/scp/var/lib/ceph/bootstrap-osd/ceph.keyringroot@node2:/var/lib/ceph/bootstrap-osd/scp/tmp/ceph.mon.keyringnode3:/tmp/ceph.mon.keyringscp/etc/ceph/*root@node3:/etc/ceph/scp/var/lib/ceph/bootstrap-osd/ceph.keyringroot@node3:/var/lib/ceph/bootstrap-osd/在两个节点上修改ceph.mon.keyring的属主和组为ceph。chownceph.ceph/tmp/ceph.mon.keyring获取monmap信息。cephmongetmap-o/tmp/ceph.mon.mapgotmonmapepoch1在mon节点上初始化mon。sudo-ucephceph-mon--mkfs-inode2--monmap/tmp/ceph.mon.map--keyring/tmp/ceph.mon.keyringsudo-ucephceph-mon--mkfs-inode3--monmap/tmp/ceph.mon.map--keyring/tmp/ceph.mon.keyring将新的mon节点添加到ceph集群的mon列表中。[root@node1~]#cephmonaddnode2192.168.2.17:6789addingmon.node2at192.168.2.17:6789/0[root@node1~]#cephmonaddnode3192.168.2.18:6789addingmon.node3at192.168.2.18:6789/0在两个节点上启动mon。systemctlstartceph-mon@`hostname`&&systemctlenableceph-mon@`hostname`修改ceph.conf并重启ceph-mon(所有节点操作)。vim/etc/ceph/ceph.confmoninitialmembers=node1,node2,node3monhost=192.168.2.16,192.168.2.17,192.168.2.18systemctlrestartceph-mon@`hostname`addosdCeph提供了ceph-volume工具,这个工具可以准备供Ceph使用的逻辑卷、磁盘或分区。ceph-volume实用程序通过递增索引来创建OSDID。创建osd并在node1上执行。ceph-volumelvmcreate--data/dev/sdb上面的创建过程可以分为两个阶段(准备和激活):ceph-volumelvmprepare--data/dev/sdb查看osdfsidceph-volumelvmlistceph-volumelvmactivate{ID}{FSID}启动每个节点的osd进程。#node1systemctlrestartceph-osd@0systemctlenableceph-osd@0#node2systemctlrestartceph-osd@1systemctlenableceph-osd@1#node3systemctlrestartceph-osd@2systemctlenableceph-osd@2createMGRrunningceph-mon守护进程On程序的每个节点,还应该设置一个ceph-mgr守护进程。所有mgr节点都必须执行以创建密钥目录。sudo-ucephmkdir/var/lib/ceph/mgr/ceph-`hostname-s`cd/var/lib/ceph/mgr/ceph-`hostname-s`创建认证密钥cephauthget-or-createmgr.`hostname-s`mon'allowprofilemgr'osd'allow*'mds'allow*'>keyringchownceph.ceph/var/lib/ceph/mgr/ceph-`hostnbame`/keyringstartmgrdaemonsystemctlenableceph-mgr@`hostname-s`&&systemctlstartceph-mgr@`hostname-s`orceph-mgr-i`hostname`最后查看ceph运行状态,我只加了两个osd。
