利用ceph-deploy安裝ceph

手工安裝https://www.jianshu.com/p/b8f085ca0307

在ceph所有節點上執行

1.配置hosts

cat << EOF >> /etc/hosts
172.31.240.49 ceph-mon01
EOF

2.配置ceph安裝源

cat << EOF > /etc/yum.repos.d/ceph.repo
[ceph]
name=ceph
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/
gpgcheck=0
priority=1
[ceph-noarch]
name=cephnoarch
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/
gpgcheck=0
priority=1
[ceph-source]
name=Ceph source packages
baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS/
enabled=0
gpgcheck=1
type=rpm-md
gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc
priority=1
EOF

3.創建cephd用戶並賦予sudo權限

useradd cephd
echo 'CephIl#i42' | passwd --stdin cephd
echo "cephd ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/cephd
chmod 0440 /etc/sudoers.d/cephd

4.準備OSD的存儲空間(必須是一塊未使用的磁盤或分區)

在ceph-mon01上:
mkfs.xfs /dev/sdb

在ceph-deploy節點上執行

5.在ceph-deploy節點上設置免密鑰ssh到其它節點。

yum -y install expect
su - cephd
expect << EOF
spawn ssh-keygen -t rsa
expect {
"Enter file in which to save the key (/home/cephd/.ssh/id_rsa):" { send "\r"; exp_continue}
"Enter passphrase (empty for no passphrase):" { send "\r"; exp_continue}
"Enter same passphrase again:" { send "\r"; exp_continue}
}
EOF
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 400 ~/.ssh/authorized_keys
for i in {"ceph-mon01",} ;do ssh-copy-id -i ~/.ssh/id_rsa.pub cephd@$i;done

6.配置執行ceph-deploy時免指定username參數

su - cephd
cat << EOF > ~/.ssh/config
Host ceph-mon01
    Hostname ceph-mon01
    User cephd
EOF
chmod 600 ~/.ssh/config

7.安裝ceph-deploy

sudo yum -y install ceph-deploy
ceph-deploy --version

8.創建部署臨時目錄

mkdir ~/ceph-cluster

9.給所有ceph節點安裝ceph

cd ~/ceph-cluster
ceph-deploy install --no-adjust-repos ceph-mon01
ceph --version

10.創建Monitor監視器集羣並指定ceph節點物理上相互通信的網絡

cd ~/ceph-cluster
ceph-deploy new --public-network 172.31.240.0/24  ceph-mon01

11.定製ceph.conf配置(我沒做定製)

12.初始化Monitor監視器集羣並收集密鑰

cd ~/ceph-cluster
ceph-deploy --overwrite-conf mon create-initial
若有報錯:[ERROR ] Some monitors have still not reached quorum
報錯原因:Monitor監視器節點的hostname與/etc/hosts不符
解決辦法:修改主機名後,用下面的方法清理環境,然後重裝即可。
su - cephd
ceph-deploy purge  ceph-mon01
ceph-deploy purgedata ceph-mon01
ceph-deploy forgetkeys
rm -rf ~/ceph-cluster/*

13.將配置文件和密鑰分發到所有ceph節點(包括MON節點和OSD節點)

cd ~/ceph-cluster
ceph-deploy --overwrite-conf admin  ceph-mon01

14.部署OSD節點(這裏將監視器主機同時作爲OSD節點)

cd ~/ceph-cluster
ceph-deploy osd create ceph-mon01 --data /dev/sdb

15.爲每個運行Monitor的機器添加一個mgr

cd ~/ceph-cluster
ceph-deploy mgr create ceph-mon01:ceph-mon01_mgr
systemctl status ceph-mgr@ceph-mon01_mgr

16.查看

ceph -s
ceph daemon osd.0 config get mon_max_pg_per_osd
ceph osd tree

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章