suse ceph 安装部署手册

⽬录

  1. 准备及注意事项
  2. 操作系统
  3. SES的安装与配置

⼀、准备及注意事项

  1. SES 5.X 必须使⽤SLES 12 sp3作为操作系统。
  2. 准备SLES和SES的官⽅ISO镜像,以及对应的更新包,共计4个⽂件,后续配置软件源时需要使⽤,且保证所有节点的数据⼀致
  3. 建议在zypper软件源的配置上,尽量使⽤集群外的机器提供http/ftp/nfs服务,或者把所有⽂件都复制到每⼀台节点⾥,作为本地file服务,⽽不要使⽤集群⾥的服务器来提供http/ftp/nfs,避免和ceph集群环境有冲突。
  4. mem = TB of raw OSD capacity * 2GB vs 3/5 * OSD count
  5. WAL-size = 2GB and more, no limitation (optional)
  6. DB-size = 10GB * TB of raw OSD capacity
  7. Journal: 6 journals on 1 SSD, 12 journals on 1 NVMe

⼆、操作系统

⼆A、安装操作系统 - 安装指南补充

跳过安装过程中自动升级

光盘引导启动后,将光标移动到“installation”上,在Boot Options中输⼊
self_update=0
可以跳过检查系统更新的步骤

建议使⽤如下分区结构

分区 格式 容量
/boot ext4 1GB
swap swap 16GB
/ ext4 100GB
/var ext4 剩余所有容量

安装组件选择

不⽤安装:AppArmor和 32-bit runtime environment
仅安装以下四项即可:

"Help and Support Documentation"
"Base System"
"Minimal System"
"YaST2 configuration packages"

关闭防火墙

点击“Firewall will be enabled”旁边的disable,可直接禁⽤操作系统内置的防⽕墙

⼆B、操作系统初始化设置

修改每台服务器的主机名,示例如下

hostnamectl set-hostname node1.fiberhome.com

【可选】配置服务器的⽹络,如IP、 bondyast lan

mode=1
primary_reselect=1
MTU=9000

建议重启,确保主机名修改成功

⼆C、配置zypper软件源

本⽂档使⽤本地⽂件模式,不依赖额外的设备与服务,但是会在每个节点占⽤约15GB的本地磁盘空间

rm -rf /etc/zypp/repos.d/*
mkdir -p /repo/sles/
mkdir -p /repo/ses/
mkdir -p /repo/sles_updates/
mkdir -p /repo/ses_updates/

1.sles⽬录⽤于原版SLES 12 sp3操作系统的⽂件存放
2.ses⽬录⽤于原版SES 5.0的⽂件存放

  1. sles_updates⽬录⽤于存放操作系统的更新包
  2. ses_updates⽬录⽤于存放SES 5.0的更新包(SES 5.5没有独⽴的ISO,这个⽬录也可以看作是SES 5.5的安装包)
  3. 然后把ISO和tar包⾥⾯的⽂件全部复制到上述⽬录

添加软件源

zypper ar -fg -t yast2 /repo/sles/ sles
zypper ar -fg -t yast2 /repo/ses/ ses
zypper ar -fg -t rpm-md /repo/sles_updates/ sles_updates
zypper ar -fg -t rpm-md /repo/ses_updates/ ses_updates

⼆D、 SES安装准备⼯作

修改/etc/hosts⽂件,新增记录,示例如下注意:系统会⾃动添加⼀条本机的记录,注意不要重复,避免冲突

192.168.1.101 admin.fiberhome.com admin

192.168.1.102 node1.fiberhome.com node1
192.168.1.103 node2.fiberhome.com node2
192.168.1.104 node3.fiberhome.com node3
192.168.1.105 node4.fiberhome.com node4

admin节点的NTP服务配置

echo "server 127.127.1.0" >> /etc/ntp.conf
echo "fudge 127.127.1.0 stratum 10" >> /etc/ntp.conf
echo "restrict 192.168.1.0 mask 255.255.255.0 notrap nomodify" >>
/etc/ntp.conf
systemctl enable ntpd.service

node节点的NTP服务配置

echo "server 192.168.1.101" >> /etc/ntp.conf
echo "restrict 192.168.1.0 mask 255.255.255.0 notrap nomodify" >>
/etc/ntp.conf
systemctl enable ntpd.service

所有节点的系统更新 zypper update

zypper ref
zypper update
reboot

三、 SES的安装与配置

1. admin节点

zypper install salt-master salt-minion
systemctl enable salt-master.service
systemctl enable salt-minion.service
echo "master: admin.fiberhome.com" > /etc/salt/minion.d/master.conf
systemctl start salt-master
systemctl start salt-minion

2. node节点

zypper install salt-minion
systemctl enable salt-minion.service
echo "master: admin.fiberhome.com" > /etc/salt/minion.d/master.conf
systemctl start salt-minion

3.salt验证,仅在admin节点执⾏

salt-key -L
salt-key -A
sleep 5
salt '*' test.ping

4. deepsea安装与配置,仅在admin节点执⾏

zypper install deepsea
sleep 5
salt '*' grains.append deepsea default
sleep 5
salt -C 'G@deepsea:*' test.ping

SES 5.5上,⽆需执⾏下⾯这条命令,默认存在了,重复执⾏也⽆任何影响

echo "master_minion: admin.fiberhome.com" >/srv/pillar/ceph/master_minion.sls

部署SES,仅在admin节点执⾏

【可选】集群节点数检查,默认需要4台服务器,每台8个OSD

/srv/pillar/ceph/stack/global.yml
DEV_ENV=true
export DEV_ENV=true

开始使⽤deepsea部署SES集群, stage 0~4,⼀共5个⼤的环节

deepsea stage run ceph.stage.0 等同于 salt-run state.orch ceph.stage.0

deepsea stage run ceph.stage.0
deepsea stage run ceph.stage.1

此时需配置SES环境

【必选】配置服务器的⻆⾊

cp /usr/share/doc/packages/deepsea/examples/policy.cfg-rolebased
/srv/pillar/ceph/proposals/policy.cfg
chown salt:salt /srv/pillar/ceph/proposals/policy.cfg

编辑/srv/pillar/ceph/proposals/policy.cfg
推荐policy.cfg第⼀⾏添加如下内容:

cluster-unassigned/cluster/*.sls

【可选】修改SES集群的⽹络配置
编辑 /srv/pillar/ceph/proposals/config/stack/default/ceph/cluster.yml

public_network: 192.168.2.0/24
cluster_network: 192.168.3.0/24

【可选】⽣成新的配置⽅案(不同的硬件配置会有不同的配置⽅案,以达到最优效果)
示例如下

salt-run proposal.populate name=fiberhome ratio=1 db=50-80 dbsize=60g data=5000-7000 target='*' wal=0 wal-size=0

salt-run proposal.populate name=fiberhome target='*' ratio=1 db=1-2000 journal=1-2000 wal=1-2000 data=1-2000 db-size=10g journalsize=10g wal-size=10g

查看上述命令的具体含义

salt-run proposal.help

继续SES集群部署

deepsea stage run ceph.stage.2
deepsea stage run ceph.stage.3
deepsea stage run ceph.stage.4

END 安装完成!

你可能感兴趣的:(suse ceph 安装部署手册)