1. 程式人生 > 實用技巧 >Ceph節點安裝(快速)

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

  在當前目錄下用lscat檢查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 守護程序和一個元資料伺服器。然後分別在node2node3上新增 Ceph Monitor ,以形成 Monitors 的法定人數。

  擴充套件前