1. 程式人生 > 其它 >Ceph教程-Ceph儲存(二)叢集部署

Ceph教程-Ceph儲存(二)叢集部署

目錄 [隱藏]

部署環境準備

以下為測試環境部署案例,如果是生產環境推薦osd所在伺服器是物理機,根據情況配置不同的硬碟。其它的節點可以是虛擬機器,但必須是高可用,如monitor和manager。管理節點administrator必須單獨在一臺機器,防止叢集出現問題時無法進行管理。

主機說明

主機IP地址 主機名 部署角色
192.168.6.114/18.50.129.111 ceph-admin.gogen.cn administrator
192.168.6.115/18.50.129.112 ceph-stroage-1.gogen.cn osd
192.168.6.116/18.50.129.113 ceph-stroage-2.gogen.cn osd
192.168.6.117/18.50.129.114 ceph-stroage-3.gogen.cn osd
192.168.6.118/18.50.129.115 ceph-stroage-4.gogen.cn osd
192.168.6.126/18.50.129.116 ceph-monitor-1.gogen.cn monitor、manager、mds
192.168.6.127/18.50.129.117 ceph-monitor-2.gogen.cn monitor、manager
192.168.6.128/18.50.129.118 ceph-monitor-3.gogen.cn monitor

硬碟說明

在ceph叢集中。Administrators、Monitors、Managers和MDSs節點節點對伺服器硬碟都沒有要求,只要系統能正常執行即可。但OSD節點不一樣,通常一個OSD就代表一塊物理硬碟,作為分散式儲存,OSD越多越好,這裡有的4個OSD節點,分別再每節點新增兩塊硬碟,分別是40GB和 50GB,作為OSD的硬碟不需要做任何操作,需要OSD初始化的工具來回初始化。

檢視ceph-storage-1節點硬碟資訊如下。

[root@ceph-storage-1 ~]# fdisk -l /dev/sd*

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00024e19

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

Disk /dev/sda1: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sda2: 20.4 GB, 20400046080 bytes, 39843840 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdc: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

網路說明

部署Ceph叢集推薦所有節點都有兩張網絡卡,一張用於外部通訊,承載業務資料流量,另外一張用於叢集內部了資料交換。防止在進行內部資料交換的時候佔用業務通道,影響業務通訊。

在此案例中192.168.6.0/24為業務使用,而 18.50.129.0/24為叢集內部使用。         

注意:如果一臺伺服器有幾個網絡卡都配置了IP地址與閘道器,那麼將會存在幾條預設路由。正常情況下我們只需要一條預設路由,而其它不需要的路由則刪除,再根據情況新增靜態路由。

配置時間同步

如果節點可以訪問網際網路,直接啟動chronyd服務即可,CentOS 7自帶此服務。

~]# systemctl enable chronyd && systemctl start chronyd

注意:如果是CentOS 6系統,預設不使用chronyd時間同步服務。

一般推薦使用本地的時間伺服器,修改/etc/chrony.conf配置檔案,將server後配置修改為指定時間伺服器地址即可,如果有多個,指定多個server即可,server後面跟時間伺服器的地址,如。

server 0.centos.pool.ntp.org iburst

可以使用以下命令可以檢視時間同步的資訊。

~]# chronyc sources -v

配置主機名解析

本所本案例,在每個節點都配置此hosts,檔案內容如下。

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.6.114 ceph-admin.gogen.cn ceph-admin
192.168.6.115 ceph-storage-1.gogen.cn ceph-storage-1
192.168.6.116 ceph-storage-2.gogen.cn ceph-storage-2
192.168.6.117 ceph-storage-3.gogen.cn ceph-storage-3
192.168.6.118 ceph-storage-4.gogen.cn ceph-storage-4
192.168.6.126 ceph-monitor-1.gogen.cn ceph-monitor-1
192.168.6.127 ceph-monitor-2.gogen.cn ceph-monitor-2
192.168.6.128 ceph-monitor-3.gogen.cn ceph-monitor-3

關閉防火牆

為防止防火牆的干擾,推薦將防火牆關閉,操作如下。

~]# systemctl disable firewalld && systemctl stop firewalld

關閉SELinux

同樣為了防止SELinux干擾,預設系統是啟用了SELinux,需要將此關閉。修改/etc/sysconfig/selinux檔案來禁用SELinux,修改配置如下。

~]# sed -i "/^SELINUX/s@enforcing@disabled@" /etc/sysconfig/selinux

修改完SELinux配置後需要重啟系統。

準備工作

這裡主要是準備好administrator節點,和部署前所需要的一些配置準備配置。

配置yum源

使用Ceph官方倉庫安裝下載較慢,國內阿里雲映象站也提供Ceph相關映象,地址如下。

https://mirrors.aliyun.com/ceph/

安裝阿里雲Ceph的repo源,在所有節點上安裝此源。

~]# rpm -ivh https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch/ceph-release-1-1.el7.noarch.rpm

準備普通使用者

Ceph叢集各節點推薦使用一個普通使用者管理所有程序,也就是ceph-deploy在部署的時候需要以普通使用者的身份登入到Ceph各節點,目標使用者需要可以無密碼使用sudo命令許可權,以便在安裝的過程中無需中斷。並且在SSH的時候也需要配置為金鑰登入,且無需輸入密碼。

在所有節點上建立使用者並設定密碼。

~]# useradd cephadmin && echo "cephadmin" | passwd cephadmin --stdin

在administrator節點生成並分發金鑰。 注意:此操作需要在cephadmin使用者下進行。

~]$ ssh-keygen -t rsa -P ''
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-monitor-1
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-monitor-2
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-monitor-3
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-storage-1
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-storage -2
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-storage -3
~]$ ssh-copy-id -i .ssh/id_rsa.pub cephadmin@ceph-storage -4

配置sudo許可權

注意:此操作需要在root使用者下執行。

建立檔案/etc/sudoers.d/cephadmin,檔案內容如下。

~]# echo "cephadmin ALL = (root) NOPASSWD: ALL" | tee /etc/sudoers.d/cephadmin

更改cephadmin檔案的許可權。

~]# chmod 0440 /etc/sudoers.d/cephadmin

部署ceph-deploy

接下來將部署ceph-deploy節點,主要就是安裝ceph-deploy軟體包及其依賴包。此在administrator節點上面執行即可。

~]# yum install ceph-deploy python-setuptools python2-subprocess32

部署Rados叢集

只要是ceph-deploy命令的操作都需要在administrator節點上的cephadmin使用者上執行,並且必需在ceph-cluster目錄進行操作。

ceph-deploy命令只能在administrator節點執行,而ceph命令可在叢集任何節點執行,無論是在哪個節點執行都需要確保在administrator使用者下。

初始化叢集

1. 首先建立配置檔案目錄。

~]$ mkdir ceph-cluster
~]$ cd ceph-cluster

2. 建立一個叢集配置資訊和金鑰環境檔案等,初化時需要指定叢集中一個monitor節點。

~]$ ceph-deploy new --cluster-network 18.50.129.0/24 --public-network 192.168.6.0/24 ceph-monitor-1 

ceph-deploy為部署叢集的主要命令。

  • new:ceph-deploy子命令,ceph-deploy有很多子命令可以完成更多管理功能,可以使用ceph-deploy --help命令檢視。其中new功能為建立一個新的叢集,會在當前目錄生成叢集配置檔案與keryring檔案。
  • --cluster-network:new子命令的可用選項,可使用ceph-deploy new --help獲取所有選項,其中--cluster-network為指定叢集內部使用網路
  • --public-network:指定叢集公用網路,也就是業務使用網路。
  • ceph-monitor-1:指定初始的叢集的第一個monitor節點的主機名,網路必須可達。

建立叢集生成的檔案如下。

[cephadmin@ceph-admin ceph-cluster]$ ls
ceph.conf  ceph-deploy-ceph.log  ceph.mon.keyring

ceph.conf主要包含叢集的基本配置資訊。

[cephadmin@ceph-admin ceph-cluster]$ cat ceph.conf 
[global]
fsid = 7e1c1695-1b01-4151-beea-70c008cffd8c
public_network = 192.168.6.0/24
cluster_network = 18.50.129.0/24
mon_initial_members = ceph-monitor-1
mon_host = 192.168.6.126
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

3. 安裝ceph叢集

安裝ceph叢集需要使用ceph-deploy的install子命令,首先初始化所有monitor節點。

~]$ ceph-deploy install ceph-monitor-1 ceph-monitor-2 ceph-monitor-3

接下來初始化所有storage節點,執行下面的命令。

~]$ ceph-deploy install ceph-storage-1 ceph-storage-2 ceph-storage-3 ceph-storage-4

注意:初始化的操作主要就是SSH到各節點上面通過yum安裝好需要的軟體包,預設使用的是官方源。這個過程也可以手動登入到各節點自行安裝,這樣在初始化的時候速度將會快些。如果使用ceph-deploy執行的時候是一臺一臺執行,而手動執行可多臺一起執行,並且可使用阿里源。手動安裝方法如下。

在各節點上面執行安裝阿里yum源,然後安裝需要的軟體包。

~]$ rpm -ivh https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch/ceph-release-1-1.el7.noarch.rpm
~]$ yum install ceph ceph-radosgw

注意:安裝手動完成軟體包安裝後還必須再執行ceph-deploy install來初始化,因為還有其它的初始化操作,但此時這個過程相對較快。在執行的時候可以使用選項--no-adjust-repos指定不修改本地yum源即可,否則還是會使用官方源。

4. 配置第一個monitor節點。

~]$ ceph-deploy mon create-initial

以上命令執行成功後,在第2步初始化的那個monitor節點上會啟動一個ceph-mon程序,並且以ceph使用者執行。在/etc/ceph目錄會生成一些對應的配置檔案,其中ceph.conf檔案就是從前面初始化生成的檔案直接copy過去的,此檔案可以直接進行修改。

5. 配置第一個manager節點。

根據前面主機說明,我們將ceph-monitor-1和ceph-monitor-2節點也作為manager節點,所以我們將在ceph-monitor-1部署第一個manager節點 。執行如下命令配置。

~]$ ceph-deploy mgr create ceph-monitor-1

上面的命令執行成功後會在當前目錄生成一些keryring金鑰,並且在指定的叢集節點上面會產生一個ceph-mgr程序,執行使用者為ceph。

6. 將配置檔案和金鑰複製到叢集各節點。

配置檔案就是第2步操作生成的ceph.conf,而金鑰是ceph.client.admin.keyring,當使用ceph客戶端連線至ceph叢集時需要使用的密預設金鑰,這裡我們所有節點都要複製,命令如下。

~]$ ceph-deploy admin ceph-monitor-1 ceph-monitor-2 ceph-monitor-3
~]$ ceph-deploy admin ceph-storage-1 ceph-storage-2 ceph-storage-3 ceph-storage-4

7. 更改ceph.client.admin.keyring許可權。

預設情況下ceph.client.admin.keyring檔案的許可權為600,屬主和屬組為root,如果在叢集內節點使用cephadmin使用者直接直接ceph命令,將會提示無法找到/etc/ceph/ceph.client.admin.keyring檔案,因為許可權不足。當然如果使用sudo ceph不存在此問題,為方便直接使用ceph命令,可將許可權設定為644。在叢集節點上面cephadmin使用者下執行下面命令。

~]$ sudo chmod 644 /etc/ceph/ceph.client.admin.keyring 

8. 叢集健康狀態檢查。

在叢集節點上面使用ceph -s命令可看叢集狀態,如。

[cephadmin@ceph-monitor-1 root]$ ceph -s
  cluster:
    id:     7e1c1695-1b01-4151-beea-70c008cffd8c
    health: HEALTH_OK
 
  services:
    mon: 1 daemons, quorum ceph-monitor-1
    mgr: ceph-monitor-1(active)
    osd: 0 osds: 0 up, 0 in
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0  objects, 0 B
    usage:   0 B used, 0 B / 0 B avail
    pgs:
  • cluster:叢集相關,其中health表示叢集的健康狀態,id為叢集的ID。
  • services:叢集內服務的狀態,mon代表monitor,mgr為manager,osd就是指osd。如果有多個mon或mgr的時候這裡也會體現出。
  • data:實在儲存資料的狀態,有多少個pool,多少個pg,有多少個物件,以即大小。包括使用了多少等。因為我們還沒有新增osd,所以這裡全是0。

新增OSD

在Ceph叢集元件裡面OSD主要作用資料儲存,每個OSD可以是一塊物理硬碟也可以是一個分割槽目錄,推薦使用的是物理硬碟。

1. 列出storage節點上面可用的物理硬碟。

~]$ ceph-deploy disk list ceph-storage-1

我們分別對每個storage節點添加了兩塊硬碟,分別為是40GB和50GB,正常情況下是可以看到新增的硬碟資訊。

[ceph-storage-1][INFO  ] Running command: sudo fdisk -l
[ceph-storage-1][INFO  ] Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
[ceph-storage-1][INFO  ] Disk /dev/sdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
[ceph-storage-1][INFO  ] Disk /dev/sdc: 53.7 GB, 53687091200 bytes, 104857600 sectors

2. 擦除指定storage節點,指定硬碟的資料。

~]$ ceph-deploy disk zap ceph-storage-1 /dev/sdb

3. 新增指定storage節點,指定硬碟為OSD,相當於建立一個OSD。

~]$ ceph-deploy osd create ceph-storage-1 --data /dev/sdb

新增成功後提示如下資訊。

[ceph-storage-1][INFO  ] Running command: sudo /bin/ceph --cluster=ceph osd stat --format=json
[ceph_deploy.osd][DEBUG ] Host ceph-storage-1 is now ready for osd use.

指定的storage節點會執行一個ceph-osd的程序,啟動使用者為ceph,如果一臺storage上面有多個osd,那麼會有多個程序。

使用上面操作將4個storage節點共8塊硬碟都新增為OSD。

4. 檢視指定OSD的資訊。

首先可以通過ceph -s命令檢視叢集狀態,也可以輸出OSD的基本資訊。

[cephadmin@ceph-monitor-1 ~]$ ceph -s
  cluster:
    id:     7e1c1695-1b01-4151-beea-70c008cffd8c
    health: HEALTH_OK
 
  services:
    mon: 1 daemons, quorum ceph-monitor-1
    mgr: ceph-monitor-1(active)
    osd: 8 osds: 8 up, 8 in
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0  objects, 0 B
    usage:   8.0 GiB used, 352 GiB / 360 GiB avail
    pgs:

從上面可以看出總共有8個OSD,並且8個已就緒,總空間為360GB,已使用8GB,每個OSD預設會使用1GB的空間。

還可以使用以下命令分別檢視指定storage節點上面的OSD資訊。

~]$ ceph-deploy osd list ceph-storage-1

還可以使用ceph命令獲取OSD的資訊,此命令需要在叢集任何節點上面執行。

[cephadmin@ceph-monitor-1 ~]$ ceph osd stat
8 osds: 8 up, 8 in; epoch: e33
[cephadmin@ceph-monitor-1 ~]$ ceph osd ls
0
1
2
3
4
5
6
7
[cephadmin@ceph-monitor-1 ~]$ ceph osd dump
  • dump可以檢視更詳細資訊。
  • ls列出所有OSD的編號。
  • stat檢視基本狀態

上傳與下載

1. 首先建立一個用於資料儲存的儲存池。

ceph osd pool create testpool 32 32

建立了一個名為testpool的儲存池,並指定有32個PG和32個用於歸置的PG,第二個代表PGP(歸置PG),如果不指定預設與PG相等,推薦相等。

2. 上傳檔案至指定儲存池。

~]$ rados put fstab /etc/fstab --pool=testpool

rados命令用於rados叢集管理,而put子命令用於上傳檔案,fstab為指定的物件名,而/etc/fstab為要上傳的檔案,最後使用--pool指定要上傳到哪個儲存池。

3. 檢視儲存池中的所有物件。

[cephadmin@ceph-monitor-1 ~]$ rados ls --pool=testpool
fstab

檢視指定物件更詳細的資訊。

[cephadmin@ceph-monitor-1 ~]$ ceph osd map testpool fstab
osdmap e43 pool 'testpool' (1) object 'fstab' -> pg 1.45a53d91 (1.11) -> up ([5,2,1], p5) acting ([5,2,1], p5)

4. 刪除儲存池中指定的物件。

~]$ rados rm fstab --pool=testpool

5. 刪除儲存池。

一般情況下不推薦刪除儲存池,Ceph叢集預設是禁用此操作,需要管理員在ceph.conf配置檔案中啟用支援刪除儲存池的操作後才可能刪除,預設執行刪除命令會報錯。刪除命令如下:

[cephadmin@ceph-monitor-1 ~]$ ceph osd pool rm testpool testpool --yes-i-really-really-mean-it
Error EPERM: pool deletion is disabled; you must first set the mon_allow_pool_delete config option to true before you can destroy a pool

在刪除的時候需要輸入兩遍儲存池的名稱和更長的確認刪除選項,就是以防止誤刪除。Ceph叢集預設禁用刪除功能,需要指定mon_allow_pool_delete選項為false時才可以刪除。

叢集其它管理

擴充套件monitor節點

monitor作為Ceph叢集中重要元件之一,Ceph叢集一般部署3個以上奇數節點的monitor叢集。

在administrator節點執行執行下面命令把另外兩臺monitor節點主機加入到monitor叢集中。

~]$ ceph-deploy mon add ceph-monitor-2
~]$ ceph-deploy mon add ceph-monitor-3

這時候再叢集健康狀態如下。

[cephadmin@ceph-monitor-1 ~]$ ceph -s
  cluster:
    id:     7e1c1695-1b01-4151-beea-70c008cffd8c
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph-monitor-1,ceph-monitor-2,ceph-monitor-3
    mgr: ceph-monitor-1(active)
    osd: 7 osds: 7 up, 7 in
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0  objects, 0 B
    usage:   7.0 GiB used, 313 GiB / 320 GiB avail
    pgs:

還可以使用quorum_status子命令檢視monitor更詳細的資訊。

~]$ ceph quorum_status --format json-pretty
  • --format:指定輸出的格式,輸入為普通字串,不便於閱讀,可指定輸出為json。

擴充套件manager節點

manager節點以守護程序Active和Standby模式執行,當Active節點上面守護程序故障的時候,其中一個Standby例項可以在不中斷服務的情況下接管任務。一般有兩個manager節點即可,一個為Active,另一個為Standby。叢集中第一個manager節點為Active。

執行下面的命令可新增另一個manager節點。

~]$ ceph-deploy mgr create ceph-monitor-2

建立成功後檢視叢集狀態如下。

[cephadmin@ceph-monitor-1 ~]$ ceph -s
  cluster:
    id:     7e1c1695-1b01-4151-beea-70c008cffd8c
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph-monitor-1,ceph-monitor-2,ceph-monitor-3
    mgr: ceph-monitor-1(active), standbys: ceph-monitor-2
    osd: 7 osds: 7 up, 7 in
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0  objects, 0 B
    usage:   7.0 GiB used, 313 GiB / 320 GiB avail
    pgs:

移除monitor節點

1. 在管理節點上面執行destroy子命令刪除指定的monitor節點。

~]$ ceph-deploy mon destroy ceph-monitor-2

如果該伺服器還需要啟用mon,重新新增即可。

移除manager節點

1. 在指定的manager節點上面將mgr服務停止,並關閉開機自啟動。

~]$ sudo systemctl stop ceph-mgr@ceph-monitor-1
~]$ sudo systemctl disable ceph-mgr@ceph-monitor-1

服務名為:ceph-mgr@<mgr id>。

注意:如果該伺服器還需要啟用mgr,把服務直接啟動即可。但如果是新機器要啟用mrg需要通過擴充套件mgr重新建立。

移除OSD硬碟

1. 使用ceph命令停用指定的OSD。

~]$ ceph osd out 0

0代表第0個OSD裝置,編號可以使用ceph osd dump獲取對應OSD的編號。

2. 在被信用的OSD節點上停止對應的服務。

服務名為:ceph-osd@<osd id>。

~]$ sudo systemctl stop ceph-osd@0

3. 再使用ceph命令將該OSD從叢集中移除。

~]$ ceph osd purge 0 --yes-i-really-mean-it

注意:此方法不適用於L版本之前的版本。

建立RBD介面

RBD主要是塊裝置介面,通常RBD為KVM等虛擬化OS提供高併發到有無限可擴充套件性的後端儲存。建立RBD介面需要建立專門用於RBD的儲存池,其方法如下。

1. 建立一個普通儲存池。

~]$ ceph osd pool create kvm 32 32
  • kvm:定義一個名為kvm的儲存池,並指定pg與pgp都為32。

2. 將儲存池轉換為RBD模式。

~]$ ceph osd pool application enable kvm rbd

相當於開啟儲存池的rbd模式,還有其它模式。

3. 初始化儲存池。

~]$ rbd pool init -p kvm

4. 建立映象。

~]$ rbd create img1 --size 10240 --pool kvm
  • img1:指定映象名稱
  • --size:指定映象大小。
  • --pool:指定建立到哪個pool。

5. 檢視映象相關資訊。

[cephadmin@ceph-monitor-1 ~]$ rbd --image img1 --pool kvm info
rbd image 'img1':
	size 10 GiB in 2560 objects
	order 22 (4 MiB objects)
	id: 85e96b8b4567
	block_name_prefix: rbd_data.85e96b8b4567
	format: 2
	features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
	op_features: 
	flags: 
	create_timestamp: Tue Apr 30 05:25:34 2019

建立radosgw介面

如果使用到類似S3或者Swift介面時候才需要部署,通常用於物件儲存OSS,類似於阿里雲OSS。

1. 建立rgw守護程序,可以建立在叢集任何節點。

~]$ ceph-deploy rgw create ceph-storage-1

注意:生產環境下此程序一般需要高可用,方法將在以後的文章介紹。建立成功後預設情況下會建立一系列用於rgw的儲存池,如。

[cephadmin@ceph-storage-1 ~]$ ceph osd pool ls
testpool
kvm
.rgw.root
default.rgw.control
default.rgw.meta
default.rgw.log

2. 通過ceph -s檢視叢集狀態,這時候會出現rgw服務。

[cephadmin@ceph-monitor-1 ~]$ ceph -s
  cluster:
    id:     7e1c1695-1b01-4151-beea-70c008cffd8c
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph-monitor-1,ceph-monitor-2,ceph-monitor-3
    mgr: ceph-monitor-2(active), standbys: ceph-monitor-1
    osd: 7 osds: 7 up, 7 in
    rgw: 1 daemon active
 
  data:
    pools:   6 pools, 96 pgs
    objects: 224  objects, 1.8 KiB
    usage:   7.1 GiB used, 313 GiB / 320 GiB avail
    pgs:     96 active+clean

3. 預設情況下rgw監聽7480號埠,在建立完成後日誌有會顯示。這時候訪問該節點的rgw埠,開啟如下圖所示,說明部署成功。

建立cephfs介面

使用CephFS介面需要至少執行一個元資料服務mds例項。

1. 使用以下命令建立mds例項,可以建立在叢集任何節點,這裡根據主機說明建立在ceph-monitor-1節點。

~]$ ceph-deploy mds create ceph-monitor-1

建立成功後會在ceph-monitor-1會執行一個ceph-mds的程序。在叢集內任何節點內,使用以下命令可以檢視mds的執行狀態。

[cephadmin@ceph-storage-1 ~]$ ceph mds stat
, 1 up:standby

2. 建立好mds後,接下來需要建立用於cephfs的資料相關的pool池,和元資料相關的pool池,並將二者進行關聯。在叢集內任何節點內執行,操作如下。

~]$ ceph osd pool create cehpfs-metadata 64 64
~]$ ceph osd pool create cehpfs-data 64 64	
~]$ ceph fs new cephfs cehpfs-metadata cehpfs-data

3. 使用下面命令可以檢視cephfs執行狀態。

~]$ ceph fs status cephfs

如果State為active說明狀態正常。

叢集的停止與啟動

1. 停止。

  1. 告知Ceph叢集不要將OSD標記為out。
  2. 停止儲存客戶端。
  3. 停止閘道器,例如:物件閘道器、NFS Ganesha等。
  4. 停止元資料服務mds。
  5. 停止OSD。
  6. 停止Mgr。
  7. 停止Mon。

備註:告知Ceph叢集不要將OSD標記為out,可以使用以下命令。

~]$ ceph osd set noout

2. 啟動。

與停止反方向。最後需要告訴Ceph叢集可以將OSD標記為out,命令如下。

~]$ ceph osd unset noout
原文地址:https://www.linux-note.cn/?p=85