ceph bluestore與 filestore 數據存放的區別


一、 filestore 對象所在的PG以文件方式放在xfs文件中
1 查看所有的osd硬盤,跟其他linux其他硬盤一樣,被掛載一個目錄中。
[root@hz-storage1 ~]# df -h | grep -i ceph
/dev/sda1 3.7T 112G 3.6T 3% /var/lib/ceph/osd/ff279da7-446d-451f-9dcf-7d281e9b85a6
/dev/sdb1 3.7T 77G 3.6T 3% /var/lib/ceph/osd/263adb71-1902-4e21-acea-b7f53921b484
/dev/sdc1 3.7T 74G 3.6T 2% /var/lib/ceph/osd/e71a1f8e-08eb-4fa6-ba17-90ec20bfe84b
/dev/sdd1 3.7T 96G 3.6T 3% /var/lib/ceph/osd/f308c1e5-6d39-442e-883a-e3253e6ba4f0
/dev/sde1 3.7T 97G 3.6T 3% /var/lib/ceph/osd/81772621-7175-4d5d-bdb3-ccad15fa3848
/dev/sdf1 3.7T 111G 3.6T 3% /var/lib/ceph/osd/889ba3b0-09a9-43e8-b0c9-adc938337ccd
/dev/sdh1 3.7T 77G 3.6T 3% /var/lib/ceph/osd/269d36ae-7e3f-4c72-89a1-6f5841c3212f
/dev/sdi1 3.7T 91G 3.6T 3% /var/lib/ceph/osd/5476a45d-ca0e-4728-b09d-7a277394bda7
/dev/sdj1 3.7T 65G 3.6T 2% /var/lib/ceph/osd/6b1ab4bb-82b1-4fbd-8a57-3fae690df4e9
/dev/sdk1 3.7T 85G 3.6T 3% /var/lib/ceph/osd/0a44ee0c-c5f3-4769-b4bc-1dd819c3f1ad
/dev/sdl1 3.7T 127G 3.6T 4% /var/lib/ceph/osd/60536d66-31f2-4ec4-8728-e02bf11fd04f
2 這個uuid:ff279da7-446d-451f-9dcf-7d281e9b85a6其實就是一塊硬盤保存的數據,進入這個目錄。
[root@hz-storage1 ~]# cd /var/lib/ceph/osd/ff279da7-446d-451f-9dcf-7d281e9b85a6
[root@hz-storage1 ff279da7-446d-451f-9dcf-7d281e9b85a6]# ls -ls
total 40
4 -rw-r--r-- 1 root root 37 Dec 29 23:06 ceph_fsid
4 drwxr-xr-x 92 root root 4096 Feb 18 09:19 current
4 -rw-r--r-- 1 root root 37 Dec 29 23:06 fsid
4 -rw------- 1 root root 56 Dec 29 23:06 keyring
4 -rw-r--r-- 1 root root 21 Dec 29 23:06 magic
4 -rw-r--r-- 1 root root 6 Dec 29 23:06 ready
4 -rw-r--r-- 1 root root 4 Dec 29 23:06 store_version
4 -rw-r--r-- 1 root root 53 Dec 29 23:06 superblock
4 -rw-r--r-- 1 root root 10 Dec 29 23:06 type
4 -rw-r--r-- 1 root root 2 Dec 29 23:06 whoami
3 在進入current目錄
[root@hz-storage1 ff279da7-446d-451f-9dcf-7d281e9b85a6]# cd current/
[root@hz-storage1 current]# ls -ls
total 920
36 drwxr-xr-x 2 root root 32768 Jan 1 18:24 1.7_head
0 drwxr-xr-x 2 root root 6 Dec 29 23:11 1.7_TEMP
20 drwxr-xr-x 2 root root 16384 Feb 22 16:22 2.15_head
0 drwxr-xr-x 2 root root 6 Dec 31 23:07 2.15_TEMP
24 drwxr-xr-x 2 root root 20480 Feb 22 16:07 2.1d_head
0 drwxr-xr-x 2 root root 66 Feb 22 02:54 2.1d_TEMP
24 drwxr-xr-x 2 root root 20480 Feb 22 16:36 2.1f_head
0 drwxr-xr-x 2 root root 66 Feb 21 20:31 2.1f_TEMP
24 drwxr-xr-x 2 root root 20480 Feb 22 15:44 2.36_head
0 drwxr-xr-x 2 root root 6 Dec 31 23:07 2.36_TEMP
24 drwxr-xr-x 2 root root 20480 Feb 22 16:38 2.41_head
0 drwxr-xr-x 2 root root 6 Dec 31 23:07 2.41_TEMP
28 drwxr-xr-x 2 root root 24576 Feb 22 16:39 2.43_head
0 drwxr-xr-x 2 root root 6 Dec 31 23:07 2.43_TEMP
28 drwxr-xr-x 2 root root 24576 Feb 22 16:39 2.51_head
0 drwxr-xr-x 2 root root 58 Feb 22 15:57 2.51_TEMP
24 drwxr-xr-x 2 root root 20480 Feb 22 16:37 2.5c_head
0 drwxr-xr-x 2 root root 6 Dec 31 23:07 2.5c_TEMP
24 drwxr-xr-x 2 root root 20480 Feb 22 15:33 2.78_head
可見PG是一個文件方式保存的。
二、bluestore 直接寫到裸盤上面,由於無文件系統,在系統無法看到具體文件。
1 查看所有的osd硬盤,只是一個日志掛載到目錄中。
[root@99cloud3 d531c723-2bd7-4197-9b6d-8a7fa7ac4719]# df -h | grep -i ceph
/dev/sdb1 97M 5.3M 92M 6% /var/lib/ceph/osd/d531c723-2bd7-4197-9b6d-8a7fa7ac4719
/dev/sdc1 97M 5.3M 92M 6% /var/lib/ceph/osd/b781e99e-7100-4bdd-9223-0b44c2ba6bb8
/dev/sdd1 97M 5.3M 92M 6% /var/lib/ceph/osd/baa319a7-d7cc-4ba2-88ef-9377c3f27d90
2 進入 /var/lib/ceph/osd/d531c723-2bd7-4197-9b6d-8a7fa7ac4719,發覺又一個鏈接文件,直接指到一塊塊設備。
[root@99cloud3 d531c723-2bd7-4197-9b6d-8a7fa7ac4719]# ls -ls
total 40
0 lrwxrwxrwx 1 root root 45 Jan 24 14:38 block -> /dev/disk/by-partlabel/KOLLA_CEPH_DATA_BS_6_B
4 -rw-r--r-- 1 root root 2 Jan 24 14:38 bluefs
4 -rw-r--r-- 1 root root 37 Jan 24 14:38 ceph_fsid
4 -rw-r--r-- 1 root root 37 Jan 24 14:38 fsid
4 -rw------- 1 root root 56 Jan 24 14:38 keyring
4 -rw-r--r-- 1 root root 8 Jan 24 14:38 kv_backend
4 -rw-r--r-- 1 root root 21 Jan 24 14:38 magic
4 -rw-r--r-- 1 root root 4 Jan 24 14:38 mkfs_done
4 -rw-r--r-- 1 root root 6 Jan 24 14:38 ready
4 -rw-r--r-- 1 root root 10 Jan 24 14:38 type
4 -rw-r--r-- 1 root root 2 Jan 24 14:38 whoami
3 進入真正的目錄,發現指到的是一塊硬盤sdb2,其實df查到的是sdb1,是日志盤。
[root@99cloud3 d531c723-2bd7-4197-9b6d-8a7fa7ac4719]# cd /dev/disk/by-partlabel/
[root@99cloud3 by-partlabel]# ls -ls
total 0
0 lrwxrwxrwx 1 root root 10 Jan 24 14:38 KOLLA_CEPH_DATA_BS_0 -> ../../sdd1
0 lrwxrwxrwx 1 root root 10 Feb 21 17:21 KOLLA_CEPH_DATA_BS_0_B -> ../../sdd2
0 lrwxrwxrwx 1 root root 10 Jan 24 14:38 KOLLA_CEPH_DATA_BS_3 -> ../../sdc1
0 lrwxrwxrwx 1 root root 10 Feb 21 17:21 KOLLA_CEPH_DATA_BS_3_B -> ../../sdc2
0 lrwxrwxrwx 1 root root 10 Jan 24 14:38 KOLLA_CEPH_DATA_BS_6 -> ../../sdb1
0 lrwxrwxrwx 1 root root 10 Feb 21 17:21 KOLLA_CEPH_DATA_BS_6_B -> ../../sdb2
三、
1 首先建立一個測試文件。
#echo "Hello Ceph, You are Awesome like MJ" > /tmp/helloceph
#ceph osd pool create HPC_Pool 128 128
2 將生成的測試文件存入該池中並確認文件在池中:
#rados -p HPC_Pool put object1 /tmp/helloceph
#rados -p HPC_Pool ls
object1
3 在ceph中,數據都是以對象的形式存儲的,這些對象屬於一個PG,這些PG又對應多個OSD。現在我們來直觀地感受一下這個概念:
# ceph osd map HPC_Pool object1
osdmap e221395 pool 'HPC_Pool' (14) object 'object1' -> pg 14.bac5debc (14.3c) -> up ([6,4,7], p6) acting ([6,4,7], p6)
我們來探討一下這個命令的輸出。
osdmap e221395: 這個是OSD map的版本號。
pool 'HPC_Pool' (14) : 這是池名字和ID
object 'object1': 這個是對象名稱。
pg 14.bac5debc (14.3c):這是PG編號,這表示對象oject1屬於PG 14.3c。
up ([6,4,7] :這是osd的up集合,這里包含osd.6、osd.4、osd.7。由於副本級是3,因此每一個PG將會存放到三個OSD上。這同時表明存放PG 14.3c的三個OSD的狀態都是up。這是每一個特定crush map規則集中的一個特點osd map版本的所有相關osd的有序列表。正常情況下,這個和acting集合是一樣的。
acting ([6,4,7]:這表明osd.6、osd.4、osd.7都在集合中,其中osd.6是主osd, osd.4是第二個、osd.7是第三個。acting集合是負責一個特定osd map的osd有序列表
4 檢查這些osd的物理位置。你會發現osd.6、osd.4、osd.7彼此是物理隔開的,他們分別在三個節點上。
[root@99cloud1 /]# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 4.85994 root default
-2 0 host 10.160.20.197
-4 0 host 10.160.20.198
-3 0 host 10.160.20.199
-11 1.61998 host 99cloud3
0 hdd 0.53999 osd.0 up 1.00000 1.00000
3 hdd 0.53999 osd.3 up 1.00000 1.00000
6 hdd 0.53999 osd.6 up 1.00000 1.00000
-9 1.61998 host 99cloud4
2 hdd 0.53999 osd.2 up 1.00000 1.00000
4 hdd 0.53999 osd.4 up 1.00000 1.00000
8 hdd 0.53999 osd.8 up 1.00000 1.00000
-13 1.61998 host 99cloud5
1 hdd 0.53999 osd.1 up 1.00000 1.00000
5 hdd 0.53999 osd.5 up 1.00000 1.00000
7 hdd 0.53999 osd.7 up 1.00000 1.00000



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM