ceph
分布式文件系統
- 分布式文件系統(Distributed File System)是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通過計算機網絡與節點相連
- 分布式文件系統的設計基于客戶機/服務器模式
常用的分布式文件系統
- Lustre
- Hadoop
- FastDFS
- Ceph
- GlusterFS
什么是Ceph
- Ceph是一個分布式文件系統
- 具有高擴展,高可用,高性能的特點
- Ceph可以提供對象存儲,塊存儲,文件系統存儲
- 塊存儲(iscsi)客戶端多了一個磁盤,文件系統(NFS)客戶端直接mount
- Ceph可以提供PB級別的存儲空間(PB→TB→GB),1024G*1024G=1058576G
- 軟件定義存儲(Software Defined Storage)作為存儲行業的一大發展趨勢,已經越來越受到市場的認可
鏈接在此!
Ceph組件
- OSDs 存儲設備
- Monitors 集群監控軟件
- RadosGateway(RGW) 對象存儲網關
- MDSs 存放文件系統的元數據(對象存儲和 塊存儲不需要該組件)
- Client ceph客戶端
實驗準備
問題
準備四臺KVM虛擬機,其三臺作為存儲集群節點, 一臺安裝為客戶端,實現如下功能:
- 創建1臺客戶端虛擬機
- 創建3臺存儲集群虛擬機
- 配置主機名、IP地址、YUM源
- 修改所有主機的主機名
- 配置無密碼SSH連接
– 配置NTP時間同步 - 創建虛擬機磁盤
實驗拓撲圖
- 1臺客戶端虛擬機
- 3臺存儲集群虛擬機
所有主機的主機名及對應的IP地址如表-1所示。
注意:所有主機基本系統光盤的YUM源必須提前配置好。
步驟
1)物理機為所有節點配置yum源服務器。所有主機都要做!!!
提示:前提ceph.iso已經掛載好才可以進行下一步!!
3)修改/etc/hosts并同步到所有主機。
警告:/etc/hosts解析的域名必須與本機主機名一致!!!!
4)配置NTP時間同步(client做時間服務器,所有node節點與client時間同步)
[root@client ~]# vim /etc/chrony.conf26 allow 192.168.4.0/1629 local stratum 10 [root@client ~]# systemctl restart chronyd [root@client ~]# firewall-cmd --set-default-zone=trusted success [root@client ~]# vim /etc/sysconfig/selinux 7 SELINUX=permissive [root@client ~]# setenforce 0所有node節點與client同步時間 [root@node1 ~]# vim /etc/chrony.conf3 server 192.168.4.10 iburst [root@node1 ~]# for i in node1 node2 node3 > do > scp /etc/chrony.conf $i:/etc > ssh $i "systemctl restart chronyd" > done chrony.conf 100% 991 1.1MB/s 00:00 chrony.conf 100% 991 1.1MB/s 00:00 chrony.conf 100% 991 962.8KB/s [root@node1 ~]# chronyc sources -V #快速測試時間同步,*表示已經同步 210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* client 10 10 377 609 -12us[ -18us] +/- 150us5)打開VMware,給除了client的每臺虛擬機添加兩塊磁盤(20G)
一路下一步,最后呈現的效果如下:
添加完后,重啟虛擬機,使用lsblk查看是否添加成功
部署ceph集群
問題
部署Ceph集群服務器,實現以下目標:
- 安裝部署工具ceph-deploy
- 創建ceph集群
- 準備日志磁盤分區
- 創建OSD存儲空間
- 查看ceph狀態,驗證
步驟
- 步驟一:安裝部署軟件ceph-deploy
1)在node1安裝部署工具,學習工具的語法格式。
[root@node1 ~]# yum -y install ceph-deploy #一定要在有ssh密鑰的主機上安裝 [root@node1 ~]# mkdir ceph-cluster #但凡執行ceph-cluster腳本,必須在該目錄下,否則會出錯 [root@node1 ~]# cd ceph-cluster- 步驟二:部署Ceph集群
1)給所有節點安裝ceph相關軟件包。
[root@node1 ceph-cluster]# for i in node1 node2 node3> do > ssh $i "yum -y install ceph-mon ceph-osd ceph-mds ceph-radosgw" > done部署mon集群,一定要確保 在ceph-cluster目錄下!!!
首先關閉所有節點的防火墻和selinux [root@node1 ceph-cluster]# firewall-cmd --set-default-zone=trusted success [root@node1 ceph-cluster]# vim /etc/sysconfig/selinux 7 SELINUX=permissive [root@node1 ceph-cluster]# setenforce 0 ############################################################ [root@node1 ceph-cluster]# pwd /root/ceph-cluster2)創建Ceph集群配置,在ceph-cluster目錄下生成Ceph配置文件。
在ceph.conf配置文件中定義monitor主機是誰。
3)初始化所有節點的mon服務,也就是啟動mon服務(主機名解析必須對)。
[root@node1 ceph-cluster]# ceph-deploy mon create-initial #把當前目錄下的ceph配置文件遠程拷貝到目標主機(node1 node2 node3)放到/etc/ceph目錄,并且啟動ceph-mon服務(服務名為ceph-mon@主機名) ############################################################# 查看狀態: [root@node1 ceph-cluster]# systemctl status ceph-mon@node1 #確認mon服務是否已經啟動 [root@node1 ceph-cluster]# ceph -scluster 3b2ca6aa-8018-42c4-8bfe-05902cd313ddhealth HEALTH_ERR64 pgs are stuck inactive for more than 300 seconds64 pgs stuck inactiveno osdsmonmap e2: 3 mons at {node1=192.168.4.11:6789/0,node2=192.168.4.12:6789/0,node3=192.168.4.13:6789/0} #6789為起完服務后monitior的端口號election epoch 8, quorum 0,1,2 node1,node2,node3osdmap e1: 0 osds: 0 up, 0 inflags sortbitwisepgmap v2: 64 pgs, 1 pools, 0 bytes data, 0 objects0 kB used, 0 kB / 0 kB avail64 creating常見錯誤及解決方法(非必要操作,有錯誤可以參考):
如果提示如下錯誤信息:
解決方案如下(在node1操作):
先檢查自己的命令是否是在ceph-cluster目錄下執行的!!!!如果確認是在該目錄下執行的create-initial命令,依然報錯,可以使用如下方式修復。
修改后重新推送配置文件:
[root@node1 ceph-cluster]# ceph-deploy --overwrite-conf config push node1 node2 node3- 步驟三:創建OSD
每臺虛擬機都添加了 兩塊磁盤(/dev/sdb、/dev/sdc)
sdb用來做緩存盤,sdc做數據盤
讀寫操作 緩存 數據
client<-------->ceph集群[sdb]<-------->[sdc] 硬盤分為傳統磁盤和固態盤
傳統磁盤:性能較低,容量大
固態盤(SSD):容量很小,性能很好 可以使用固態盤做緩存盤,磁盤做數據盤
假設每個磁盤是20G,最終我們的ceph集群提供60G的容量(不考慮冗余備份)
node1 [sdb]+[sdc]=20G #sdb為緩存盤,只能臨時讀寫數據,不能算作容量內
node2 [sdb]+[sdc]=20G
node3 [sdb]+[sdc]=20G
1)把所有磁盤初始化(格式化,僅在node1操作)
[root@node1 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 20G 0 disk sdc 8:32 0 20G 0 disk sr0 11:0 1 284M 0 rom /media sr1 11:1 1 8.8G 0 rom /mnt [root@node1 ~]# cd ceph-cluster/ [root@node1 ceph-cluster]# ceph-deploy disk zap node1:sdb node1:sdc #相當于遠程加for循環,寫幾個參數就循環幾次 [root@node1 ceph-cluster]# ceph-deploy disk zap node2:sdb node2:sdc [root@node1 ceph-cluster]# ceph-deploy disk zap node3:sdb node3:sdc ######################################################## 也可以直接一次性初始化 [root@node1 ceph-cluster]# ceph-deploy disk zap node1:sdb node1:sdc node2:sdb node2:sdc node3:sdb node3:sdc2)啟動OSD服務,共享這些磁盤
[root@node1 ceph-cluster]# ceph-deploy osd create node1:sdc:/dev/sdb //遠程node1啟動osd服務,把/dev/sdc共享給用戶,/dev/sdb做為緩存盤 并且把sdc掛載到了/var/lib/ceph/xxx目錄 [root@node1 ceph-cluster]# ceph-deploy osd create node2:sdc:/dev/sdb [root@node1 ceph-cluster]# ceph-deploy osd create node3:sdc:/dev/sdb ######################################################### 也可以一次性遠程多臺主機 [root@node1 ceph-cluster]# ceph-deploy osd create node1:sdc:/dev/sdb node2:sdc:/dev/sdb node3:sdc:/dev/sdb- 常見錯誤及解決方法(非必須操作)。
使用osd create創建OSD存儲空間時,如提示下面的錯誤提示:
[ceph_deploy][ERROR ] RuntimeError: bootstrap-osd keyring not found; run 'gatherkeys'可以使用如下命令修復文件,重新配置ceph的密鑰文件:
[root@node1 ceph-cluster]# ceph-deploy gatherkeys node1 node2 node33)驗證測試,檢查集群狀態:
[root@node1 ceph-cluster]# ceph -scluster 3b2ca6aa-8018-42c4-8bfe-05902cd313ddhealth HEALTH_OKmonmap e2: 3 mons at {node1=192.168.4.11:6789/0,node2=192.168.4.12:6789/0,node3=192.168.4.13:6789/0}election epoch 14, quorum 0,1,2 node1,node2,node3osdmap e14: 3 osds: 3 up, 3 inflags sortbitwisepgmap v28: 64 pgs, 1 pools, 0 bytes data, 0 objects100 MB used, 61306 MB / 61406 MB avail64 active+clean 此時可以看到,有三個osd,容量為60G,狀態為OK驗證是否掛載成功
[root@node1 ceph-cluster]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 17G 1.4G 16G 8% / devtmpfs 224M 0 224M 0% /dev tmpfs 236M 0 236M 0% /dev/shm tmpfs 236M 5.6M 230M 3% /run tmpfs 236M 0 236M 0% /sys/fs/cgroup /dev/sr0 284M 284M 0 100% /media /dev/sr1 8.8G 8.8G 0 100% /mnt /dev/sda1 1014M 142M 873M 14% /boot tmpfs 48M 0 48M 0% /run/user/0 /dev/sdc1 20G 34M 20G 1% /var/lib/ceph/osd/ceph-0 可以看到/dev/sdc已經掛載到ceph集群中了 [root@node1 ceph-cluster]# systemctl status ceph-osd@0.service #服務已經成功啟動,OSD的服務名稱ceph-osd@數字(可以在@后tab) ● ceph-osd@0.service - Ceph object storage daemonLoaded: loaded (/usr/lib/systemd/system/ceph-osd@.service; enabled; vendor preset: disabled)Active: active (running) since 四 2020-02-06 18:49:43 CST; 40min agoMain PID: 1973 (ceph-osd) [root@node1 ceph-cluster]# ceph osd tree ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -1 0.05846 root default -2 0.01949 host node1 0 0.01949 osd.0 up 1.00000 1.00000 -3 0.01949 host node2 1 0.01949 osd.1 up 1.00000 1.00000 -4 0.01949 host node3 2 0.01949 osd.2 up 1.00000 1.000002)常見錯誤(非必須操作)。
如果查看狀態包含如下信息:
clock skew表示時間不同步,解決辦法:請先將所有主機的時間都使用NTP時間同步!!!
Ceph要求所有主機時差不能超過0.05s,否則就會提示WARN。
如果狀態還是失敗,可以嘗試執行如下命令,重啟ceph服務:
Ceph塊存儲
- 單機塊設備
1.光盤
2.磁盤 - 分布式塊存儲
1.ceph
2.cinder
什么是塊存儲
- ceph塊設備也叫做RADOS塊設備 RADOS block device : RBD
- RBD驅動已經很好地集成在了linux內核中
- RBD提供了企業功能,如快照,COW克隆等
- RBD還支持內存緩存,從而能夠大大的提高性能
- Linux內核可以直接訪問ceph塊存儲
- KVM可用于j借助于librbd訪問
創建Ceph塊存儲
問題
使用Ceph集群的塊存儲功能,實現以下目標:
-
創建塊存儲鏡像
-
客戶端映射鏡像
-
創建鏡像快照
-
使用快照還原數據
-
使用快照克隆鏡像
-
刪除快照與鏡像
步驟 -
步驟一:創建鏡像
1)查看存儲池。
[root@node1 ~]# ceph osd lspools 0 rbd,2)創建鏡像、查看鏡像
[root@node1 ~]# rbd create jacob --image-feature layering --size 5G#這里的jacob為創建的鏡像名稱,可以為任意字符。
#–image-feature參數指定我們創建的鏡像有哪些功能,layering是開啟COW(寫實復制)功能。
#提示:ceph鏡像支持很多功能,但很多是操作系統不支持的,我們只開啟layering。
- 步驟二:動態調整
1)擴容容量
[root@node1 ~]# rbd resize --size 15G jacob Resizing image: 100% complete...done. [root@node1 ~]# rbd info jacob rbd image 'jacob':size 15360 MB in 3840 objectsorder 22 (4096 kB objects)block_name_prefix: rbd_data.5e3a2ae8944aformat: 2features: layeringflags:2)縮減容量
[root@node1 ~]# rbd resize --size 10G jacob rbd: shrinking an image is only allowed with the --allow-shrink flag #此時縮減容量會報錯,如果確認要縮減,添加--allow-shrink選項 [root@node1 ~]# rbd resize --size 10G jacob --allow-shrink Resizing image: 100% complete...done. [root@node1 ~]# rbd info jacob rbd image 'jacob':size 10240 MB in 2560 objectsorder 22 (4096 kB objects)block_name_prefix: rbd_data.5e3a2ae8944aformat: 2features: layeringflags:客戶端訪問共享(client做客戶端主機)
首先確保客戶端的yum源已經加載 [root@client ~]# yum repolist 已加載插件:fastestmirror Loading mirror speeds from cached hostfile 源標識 源名稱 狀態 MON mon 41 OSD osd 28 Tools tools 33 centos centos 9,911 repolist: 10,013 [root@client ~]# yum -y install ceph-common.x86_64 #客戶端需要安裝ceph-common軟件包 [root@client ~]# scp 192.168.4.11:/etc/ceph/ceph.conf /etc/ceph #拷貝配置文件,配置文件中記錄的有ceph集群服務器的IP信息 [root@client ~]# scp node1:/etc/ceph/ceph.client.admin.keyring /etc/ceph #拷貝訪問集群的密鑰文件,有了密鑰才有權限訪問集群 [root@client ~]# lsblk 查看磁盤分布情況 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP] sr0 11:0 1 284M 0 rom /media sr1 11:1 1 8.8G 0 rom /mnt [root@client ~]# rbd map jacob #客戶端連接jacob鏡像 /dev/rbd0 [root@client ~]# lsblk #再次查看 ,此時磁盤中多了一個rbd0 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP] sr0 11:0 1 284M 0 rom /media sr1 11:1 1 8.8G 0 rom /mnt rbd0 252:0 0 10G 0 disk- 步驟三:客戶端進行快照還原數據的實驗:
快照:寫數據;快照;模擬人為的誤操作;還原快照
副本:寫數據,可以自動備份3份;刪數據時,刪除3份,主要用來解決單點故障的問題
1)格式化,掛載,寫數據
- 步驟四:回到node集群,創建快照
到client模擬數據被誤操作刪除(ceph不支持在線還原快照)
[root@client ~]# ls /data test.txt [root@client ~]# rm -rf /data/test.txt [root@client ~]# umount /data [root@client ~]# ls /data到node集群還原快照
[root@node1 ~]# rbd snap rollback jacob --snap jacob-snap1 Rolling back to snapshot: 100% complete...done.客戶端再次掛載訪問共享
[root@client ~]# mount /dev/rbd0 /data [root@client ~]# ls /data test.txt [root@client ~]# cat /data/test.txt abc hello world- 步驟五:創建塊照克隆
- 使用快照克隆一個新的鏡像盤image
jacob--------3G數據(快照)--------->創建新的共享
創建一個新的共享
1)保護快照(防止快照被誤刪除)
2)克隆快照
[root@node1 ~]# rbd clone jacob --snap jacob-snap1 jacob-clone --image-feature layering #使用現有jacob鏡像盤的jacob-snap1這個快照,克隆一個新的共享鏡像盤,名稱為jacob-clone [root@node1 ~]# rbd ls jacob jacob-clone3)查看克隆鏡像與父鏡像快照之間的關系
[root@node1 ~]# rbd info jacob rbd image 'jacob':size 10240 MB in 2560 objectsorder 22 (4096 kB objects)block_name_prefix: rbd_data.5e3a2ae8944aformat: 2features: layeringflags: [root@node1 ~]# rbd info jacob-clone rbd image 'jacob-clone':size 10240 MB in 2560 objectsorder 22 (4096 kB objects)block_name_prefix: rbd_data.5e3e2ae8944aformat: 2features: layeringflags: parent: rbd/jacob@jacob-snap1 #克隆鏡像此時顯示有父鏡像overlap: 10240 MB #克隆鏡像很多數據都來自于快照鏈 #如果希望克隆鏡像可以獨立工作,就需要將父快照中的數據,全部拷貝一份,但比較耗時!!! [root@node1 ~]# rbd flatten jacob-clone Image flatten: 100% complete...done. [root@node1 ~]# rbd info jacob-clone rbd image 'jacob-clone':size 10240 MB in 2560 objectsorder 22 (4096 kB objects)block_name_prefix: rbd_data.5e3e2ae8944aformat: 2features: layeringflags: #此時父快照的信息不見了! [root@node1 ~]# rbd snap unprotect jacob --snap jacob-snap1 #取消快照保護 [root@node1 ~]# rbd snap rm jacob --snap jacob-snap1 #刪除快照,此時快照就可以被刪除客戶端取消對ceph的掛載實驗
[root@client ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 17G 1.2G 16G 8% / devtmpfs 224M 0 224M 0% /dev tmpfs 236M 0 236M 0% /dev/shm tmpfs 236M 5.6M 230M 3% /run tmpfs 236M 0 236M 0% /sys/fs/cgroup /dev/sr0 284M 284M 0 100% /media /dev/sda1 1014M 142M 873M 14% /boot /dev/sr1 8.8G 8.8G 0 100% /mnt tmpfs 48M 0 48M 0% /run/user/0 /dev/rbd0 10G 33M 10G 1% /data [root@client ~]# umount /data #卸載 [root@client ~]# lsblk #查看,此時,rbd0依然存在 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP] sr0 11:0 1 284M 0 rom /media sr1 11:1 1 8.8G 0 rom /mnt rbd0 252:0 0 10G 0 disk [root@client ~]# rbd showmapped id pool image snap device 0 rbd jacob - /dev/rbd0 [root@client ~]# rbd unmap /dev/rbd0 #也可以寫rbd unmap jacob [root@client ~]# lsblk #此時,rbd0不存在了 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP] sr0 11:0 1 284M 0 rom /media sr1 11:1 1 8.8G 0 rom /mnt [root@client ~]# rbd map jacob-clone /dev/rbd0 [root@client ~]# mount /dev/rbd0 /data [root@client ~]# ls /data test.txt [root@client ~]# umount /data [root@client ~]# rbd unmap /dev/rbd0Ceph文件系統存儲
什么是CephFS
- 分布式文件系統(Distributed File System)是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通過計算機網絡與節點相連
- CephFS使用Ceph集群提供與POSIX兼容的文件系統
- 允許 Linux直接將Ceph存儲mount到本地
什么是元數據
- 元數據(Metadata)
- 任何文件系統中的數據分為數據和元數據
- 數據是指普通文件中的實際數據
- 而元數據指用來描述一個文件特征的系統數據
- 比如:訪問權限、文件擁有者以及文件數據塊的分布信息(inode…)等
- 所以CephFS必須要有MDSs節點
ceph集群支持塊共享,文件系統共享,對象存儲共享
塊共享(同一時間僅可以同一個客戶端訪問)
iscsi服務 server[掛載]格式化 mount 寫數據10個文件
desktop 掛載 mount 寫10個文件
server 再次訪問 看到20個文件
文件系統共享
NFS(/common)
desktop (mount) 寫數據,讀數據
node1 (mount) 寫數據,讀數據
Ceph 集群支持塊共享、文件系統共享、對象存儲共享 塊共享(同一時間僅可以一個客戶端訪問) 塊(沒有格式化) 文件系統(格式化,NFS,fat32,ext4,xfs文件系統) 硬盤沒有格式化,就相當于一幢空的大廈
假設一塊硬盤此時有100G,將硬盤分為inode區域和block兩個區域 inode block
2G 98G 再將inode區域的空間劃分為每塊256字節,block區域空間劃分為每塊4k的字節
寫數據時,數據會被寫入到block中(4M的文件,會占用多個block)
block中存數據,inode中存儲元數據(metadata)【元數據是數據的數據,描述數據的數據,比如一個文件,有文件名,時間,權限,大小…類似于描述信息,同時還記錄文件數據的地址】
Ceph文件系統實驗
問題
實現Ceph文件系統的功能。具體實現有以下功能:
- 部署MDSs節點
- 創建Ceph文件系統
- 客戶端掛載文件系統
方案
使用現有的虛擬機進行操作
步驟 - 1).ceph提供文件系統共享的實驗:(使用node3做ceph-mds服務,操作指令在node1執行)
- 2).創建存儲池
- 3)創建文件系統
4)客戶端mount訪問
[root@client ~]# mkdir /cephfs [root@node1 ceph-cluster]# cat /etc/ceph/ceph.client.admin.keyring [client.admin]key = AQCb/TpeWGpVJBAALIlg4tgvgDTbr+Poza3xCw== #查看 /etc/ceph/ceph.client.admin.keyring找用戶名和密碼 [root@client ~]# mount -t ceph 192.168.4.11:6789:/ /cephfs -o name=admin,secret=AQCb/TpeWGpVJBAALIlg4tgvgDTbr+Poza3xCw== #客戶端mount訪問共享,-t訪問的服務類型是ceph(nfs,cifs),服務IP是192.168.4.11,端口號是6789,ceph僅支持一個文件系統共享,只能寫訪問/,把共享掛載到/cephfs目錄,name指定用戶名,secret指定密碼(因為ceph集群需要驗證用戶和密碼才可以訪問) [root@node1 ceph-cluster]# ceph -scluster 3b2ca6aa-8018-42c4-8bfe-05902cd313ddhealth HEALTH_WARNtoo many PGs per OSD (320 > max 300)monmap e2: 3 mons at {node1=192.168.4.11:6789/0,node2=192.168.4.12:6789/0,node3=192.168.4.13:6789/0}election epoch 18, quorum 0,1,2 node1,node2,node3fsmap e5: 1/1/1 up {0=node3=up:active}osdmap e31: 3 osds: 3 up, 3 inflags sortbitwisepgmap v830: 320 pgs, 3 pools, 84386 kB data, 2606 objects362 MB used, 61044 MB / 61406 MB avail320 active+cleanCeph對象存儲
- 對象存儲:
- 基于kv的存儲,通過API接口訪問,對象存儲中所有的數據都被認為是一個對象。基于對象的存儲就是對象存儲
- 也就是鍵值存儲,通其接口指令,也就是簡單的GET、PUT、DEL和其他擴展,向存儲服務上傳或下載數據
- 對象存儲中所有數據都被認為是一個對象,所以,任何數據都可以存入對象服務器,如圖片,視頻,音頻等
- RGW全稱是Rados Gateway
- RGW是ceph對象存儲網關,用于向客戶端應用呈現存儲頁面,提供RESTful API訪問接口
運維:部署集群,維護集群,故障排錯
開發:寫程序,基于程序中的指令連接ceph服務器,上傳下載數據
百度云盤就屬于對象存儲(不能直接mount,不是在客戶端多一個磁盤)
百度云盤,客戶端需要下載他的客戶端軟件(網頁也是軟件)
Ceph對象存儲實驗
步驟
- 1)登錄node1使用ceph-deploy運城啟動RGW服務(radosgw)
- 2)可以修改配置文件,修改服務的端口(非必須操作)【在node3操作】
總結
- 上一篇: keepalived热备 keepa
- 下一篇: 服务器硬件