一、 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
|