閱讀529 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Ceph實驗室:第七課:Ceph塊存儲操作

創建Ceph塊設備

  • 創建一個1024MB大小的塊設備


#rbd create rbd1 --size 1024 -p compute

  • 列出創建的塊image


#rbd ls -p compute

  • 檢查塊image的細節
#rbd --image rbd1 info -p compute

rbd image 'rbd1':
    size 1024 MB in 256 objects
    order 22 (4096 kB objects)
    block_name_prefix: rbd_data.148952ae8944a
    format: 2
    features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
    flags:

注:

layering: 支持分層

striping: 支持條帶化 v2

exclusive-lock: 支持獨占鎖

object-map: 支持對象映射(依賴 exclusive-lock )

fast-diff: 快速計算差異(依賴 object-map )

deep-flatten: 支持快照扁平化操作

journaling: 支持記錄 IO 操作(依賴獨占鎖)


rbd image有4個 features,layering, exclusive-lock, object-map, fast-diff, deep-flatten
因為目前內核版本 3.10僅支持layering,修改默認配置
每個ceph node的/etc/ceph/ceph.conf 添加一行
rbd_default_features = 1
這樣之後創建的image 隻有這一個feature


format 1 - 新建 rbd 映像時使用最初的格式。此格式兼容所有版本的 librbd 和內核模塊,但是不支持較新的功能,像克隆。

format 2 - 使用第二版 rbd 格式, librbd 和 3.11 版以上內核模塊才支持(除非是分拆的模塊)。此格式增加了克隆支持,使得擴展更容易,還允許以後增加新功能


映射Ceph塊設備

映射塊設備到client


[root@ceph ceph]# rbd feature disable rbd1 -p compute exclusive-lock object-map fast-diff deep-flatten
[root@ceph ceph]# rbd map --image rbd1 -p compute
/dev/rbd0

檢查被映射的設備


[root@ceph ceph]# rbd showmapped
id pool    image snap device    
0  compute rbd1  -    /dev/rbd0 

使用這個塊設備



[root@ceph ceph]# fdisk -l /dev/rbd0

Disk /dev/rbd0: 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): 4194304 bytes / 4194304 bytes

[root@ceph ceph]# mkfs.xfs /dev/rbd0
meta-data=/dev/rbd0              isize=512    agcount=9, agsize=31744 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=1024   swidth=1024 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=8 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

[root@ceph ceph]# mkdir /mnt/ceph-disk1
[root@ceph ceph]# mount /dev/rbd0 /mnt/ceph-disk1
[root@ceph ceph]# df -h /mnt/ceph-disk1
Filesystem      Size  Used Avail Use% Mounted on
/dev/rbd0      1014M   33M  982M   4% /mnt/ceph-disk1



最後更新:2017-04-07 23:59:51

  上一篇:go Ceph實驗室:第八課:查看Ceph CRUSH map
  下一篇:go 一位九年北漂人生活感觸