最后活跃于 1712420160

Ceph deploy notes

修订 a128610dad7591ec3c1dc543ee853f8cfb16b6c0

notes.md 原始文件

开启root ssh

sudo vim /etc/ssh/sshd_config

将里面的 PermitRootLogin 改成 yes,将 PasswordAuthentication 改成 yes

sudo systemctl restart ssh sshd

改好密码

sudo su passwd

设置一个 root 密码

关停服务

现在的服务是基于 Glusterfs 的。先关停所有 Docker stack,然后关停 glusterfs 服务。

docker stack rm $(docker stack ls --format '{{.Name}}')

清空老盘

关掉 glusterfs

sudo systemctl stop glusterd
sudo systemctl disable glusterd

取消挂载老盘,别忘了umount多个地点。对老盘跑

umount /swarm-vol
umount /var/no-direct-write-here/gluster-bricks
rm -rvf /swarm-vol
rm -rvf /var/no-direct-write-here/gluster-bricks

将老盘彻底抹除。抹除前记得备份。

fdisk /dev/sdb
d g w

准备 Ceph 文件

去那些node上

mkdir /etc/ceph

初始化ceph,在node1上运行

curl --silent --remote-name --location https://github.com/ceph/ceph/raw/octopus/src/cephadm/cephadm
chmod +x cephadm
mkdir -p /etc/ceph
./cephadm bootstrap --mon-ip $MYIP

等90秒,别忘了复制输出的内容。

把这些文件都拷到node2和node3上

scp /etc/ceph/ceph.conf root@node2:/etc/ceph/ceph.conf
scp /etc/ceph/ceph.conf root@node3:/etc/ceph/ceph.conf
scp /etc/ceph/ceph.client.admin.keyring root@node2:/etc/ceph/ceph.client.admin.keyring
scp /etc/ceph/ceph.client.admin.keyring root@node3:/etc/ceph/ceph.client.admin.keyring
scp /etc/ceph/ceph.pub root@node2:/root/.ssh/authorized_keys
scp /etc/ceph/ceph.pub root@node3:/root/.ssh/authorized_keys

都安装好ceph-common

apt install -y ceph-common

添加主机

ceph orch host add node2 ceph orch host add node3 ceph orch host ls

添加OSD

我们可以先让 Ceph 自动检测一波

ceph orch apply osd --all-available-devices

如果有问题,可以手动添加

ceph orch device zap node1 /dev/sdb --force
ceph orch device zap node2 /dev/sdb --force
ceph orch device zap node3 /dev/sdb --force

挂载新文件系统

echo "
# mount cephfs
node1,node2,node3:/ /swarm-vol ceph name=admin,noatime,_netdev 0 0
" | sudo tee -a /etc/fstab
sudo mkdir /swarm-vol
sudo mount /swarm-vol