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. 停止。
- 告知Ceph叢集不要將OSD標記為out。
- 停止儲存客戶端。
- 停止閘道器,例如:物件閘道器、NFS Ganesha等。
- 停止元資料服務mds。
- 停止OSD。
- 停止Mgr。
- 停止Mon。
備註:告知Ceph叢集不要將OSD標記為out,可以使用以下命令。
~]$ ceph osd set noout
2. 啟動。
與停止反方向。最後需要告訴Ceph叢集可以將OSD標記為out,命令如下。
~]$ ceph osd unset noout
原文地址:https://www.linux-note.cn/?p=85