Ceph節點安裝(快速)
Ceph節點安裝
預檢
我們建議安裝一個ceph-deploy管理節點和一個三節點的Ceph 儲存叢集來研究 Ceph 的基本特性。這篇預檢會幫你準備一個ceph-deploy管理節點、以及三個Ceph 節點(或虛擬機器),以此構成 Ceph 儲存叢集。在進行下一步之前,請參見作業系統推薦以確認你安裝了合適的 Linux 發行版。如果你在整個生產叢集中只部署了單一 Linux 發行版的同一版本,那麼在排查生產環境中遇到的問題時就會容易一點。
在下面的描述中節點代表一臺機器。
主機名 | 角色 | 系統 | IP | 備註 |
node1 |
mon.node1 | CentOS7.5 | 192.168.1.101 | |
node2 |
osd.0 | CentOS7.5 | 192.168.1.102 | osd節點需配置資料盤 例如/dev/sdb |
node3 | ods.1 | CentOS7.5 | 192.168.1.103 |
osd節點需要配置資料盤 例如/dev/sdb |
admin-node | ceph-deploy | CentOS7.5 | 192.168.1.104 |
安裝ceph部署工具
在節點admin-node 部署
設定yum源
設定國內阿里源(node1 node2 node3設定yum源和admin-node一致)
如果需要設定其他版本可以檢視http://mirrors.aliyun.com/ceph
[root@admin-node ~]#cat /etc/yum.repos.d/ceph.repo [ceph] name=ceph baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64/ enabled=1 gpgcheck=0 priority=1 [ceph-noarch] name=cephnoarch baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch/ enabled=1 gpgcheck=0 priority=1 [ceph-source] name=Ceph source packages baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/SRPMS enabled=1 gpgcheck=0 priority=1
更新倉庫安裝ceph-deploy
sudo yum update -y && sudo yum install ceph-deploy -y
Ceph節點安裝
你的管理節點必須能夠通過 SSH 無密碼地訪問各 Ceph 節點。如果ceph-deploy以某個普通使用者登入,那麼這個使用者必須有無密碼使用sudo的許可權。
設定NTP同步(所有主機執行)
安裝NTP
Ceph叢集對時間一致要求很高,需要設定ntp時間同步
yum -y install ntpdate
時間同步
ntpdate time1.aliyun.com
設定在定時任務crontab執行時間同步
crontab -e #新增一下內容 */5 * * * * /usr/sbin/ntpdate time1.aliyun.com
設定管理節點免密登入ceph節點
生成金鑰對
ssh-keygen
把公鑰拷貝至各ceph的node節點
使用主機名拷貝需要事先設定好主機hosts
ssh-copy-id node1 ssh-copy-id node2 ssh-copy-id node3
關閉firewalld和senlinux
儲存叢集快速入門
如果你還沒完成預檢,請先做完。本篇快速入門用ceph-deploy從管理節點建立一個Ceph 儲存叢集,該叢集包含三個節點,以此探索 Ceph 的功能。
第一次練習時,我們建立一個 Ceph 儲存叢集,它有一個 Monitor 和兩個 OSD 守護程序。一旦叢集達到active+clean狀態,再擴充套件它:增加第三個 OSD 、增加元資料伺服器和兩個 Ceph Monitors。為獲得最佳體驗,先在管理節點上建立一個目錄,用於儲存ceph-deploy生成的配置檔案和金鑰對。
mkdir my-cluster cd my-cluster/
建立叢集
如果在某些地方碰到麻煩,想從頭再來,可以用下列命令清除配置:
ceph-deploy purgedata {ceph-node} [{ceph-node}]#清除ceph資料 ceph-deploy forgetkeys #清除key
用下列命令可以連 Ceph 安裝包一起清除:
ceph-deploy purge {ceph-node} [{ceph-node}]
如果執行了purge,你必須重新安裝 Ceph。
在管理節點上,進入剛建立的放置配置檔案的目錄,用ceph-deploy執行如下步驟。
1,建立叢集
ceph-deploy new {initial-monitor-node(s)}
例如
ceph-deploy new node1
在當前目錄下用ls和cat檢查ceph-deploy的輸出,應該有一個 Ceph 配置檔案、一個 monitor 金鑰環和一個日誌檔案。
2,把 Ceph 配置檔案裡的預設副本數從3改成2,這樣只有兩個 OSD 也可以達到active+clean狀態。把下面這行加入[global]段:
osd pool default size = 2
3,如果你有多個網絡卡,可以把publicnetwork寫入 Ceph 配置檔案的[global]段下。
public network = {ip-address}/{netmask}
類似於192.168.1.0/24
4,安裝Ceph
ceph-deploy install {ceph-node} [{ceph-node} ...]
例如
ceph-deploy install admin-node node1 node2 node3
ceph-deploy將在各節點安裝 Ceph 。注:如果你執行過ceph-deploypurge,你必須重新執行這一步來安裝 Ceph 。
執行該步驟會分別連線對應客戶端安裝ceph,ceph-radosgw會在對應客戶端下載yum原始檔
# cat /etc/yum.repos.d/ceph.repo [Ceph] name=Ceph packages for $basearch baseurl=http://download.ceph.com/rpm-mimic/el7/$basearch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc priority=1 [Ceph-noarch] name=Ceph noarch packages baseurl=http://download.ceph.com/rpm-mimic/el7/noarch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc priority=1 [ceph-source] name=Ceph source packages baseurl=http://download.ceph.com/rpm-mimic/el7/SRPMS enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://download.ceph.com/keys/release.asc priority=1
注意:使用admin節點給客戶端安裝ceph速度較慢,如果客戶端網路好可以直接設定好yum源安裝
yum -y update && yum -y install ceph ceph-radosgw
會在各個安裝的節點建立目錄
/etc/ceph/
目錄下有一個檔案
[root@localhost ceph]# cat rbdmap # RbdDevice Parameters #poolname/imagename id=client,keyring=/etc/ceph/ceph.client.keyring
安裝好以後使用命令檢視版本
# ceph -v ceph version 14.2.10 (b340acf629a010a74d90da5782a2c5fe0b54ac20) nautilus (stable)
5,配置初始 monitor(s)、並收集所有金鑰:
ceph-deploy mon create-initial
完成上述操作後,當前目錄裡應該會出現這些金鑰環:
{cluster-name}.client.admin.keyring {cluster-name}.bootstrap-osd.keyring {cluster-name}.bootstrap-mds.keyring {cluster-name}.bootstrap-rgw.keyring
新增OSD
1,新增兩個 OSD 。
ceph-deploy osd create --data {dev} {node_name}
例如
ceph-deploy osd create --data /dev/sdb node2 ceph-deploy osd create --data /dev/sdb node3
2,用ceph-deploy把配置檔案和 admin 金鑰拷貝到管理節點和 Ceph 節點,這樣你每次執行 Ceph 命令列時就無需指定 monitor 和ceph.client.admin.keyring了。
ceph-deploy admin {admin-node} {ceph-node}
例如
ceph-deploy admin admin-node node1 node2 node3
會修改對應node的配置檔案以及新增key
3,檢查叢集健康狀態
[root@admin-node my-cluster]# ceph -s cluster: id: 8dc0f409-70c1-4499-94a9-466abdf4f30d health: HEALTH_WARN no active mgr services: mon: 1 daemons, quorum node1 (age 29m) mgr: no daemons active osd: 2 osds: 2 up (since 7m), 2 in (since 7m) data: pools: 0 pools, 0 pgs objects: 0 objects, 0 B usage: 0 B used, 0 B / 0 B avail pgs:
擴充套件叢集
一個基本的叢集啟動並開始執行後,下一步就是擴充套件叢集。在node1上新增一個 OSD 守護程序和一個元資料伺服器。然後分別在node2和node3上新增 Ceph Monitor ,以形成 Monitors 的法定人數。
擴充套件前