1. 創建pool
創建存儲池: ceph osd pool create {pool-name} {pg-num} [{pgp-num}] [replicated] [crush-ruleset-name] [expected-num-objects]
刪除存儲池: ceph osd pool delete {pool-name} [{pool-name} --yes-i-really-really-mean-it]
重命名存儲池: ceph osd pool rename {current-pool-name} {new-pool-name}
ceph osd pool create test_pool 128 128 replicated
2. 查看存儲池列表
ceph osd lspools
3.創建塊設備鏡像
創建塊設備鏡像命令是rbd create --size {megabytes} {pool-name}/{image-name},如果pool_name不指定,則默認的pool是rbd。 下面的命令將創建一個10GB大小的塊設備:
rbd create --size 10240 test_image -p test_pool
刪除鏡像: rbd rm test_pool/test_image
4. 查看塊設備鏡像
查看塊設備的命令是rbd info {pool-name}/{image-name}
hcy@admin_server:~/my-cluster$ rbd info test_pool/test_image rbd image ‘test_image‘: size 1024 MB in 256 objects order 22 (4096 kB objects) block_name_prefix: rbd_data.372674b0dc51 format: 2 features: layering flags: create_timestamp: Sat Sep 23 18:16:28 2017
注意到上面的rbd info顯示的RBD鏡像的format為2,Format 2的RBD鏡像支持RBD分層,是實現Copy-On-Write的前提條件。
5.將塊設備映射到系統內核
塊設備映射到操作系統的命令是rbd map {image-name}
sudo rbd map test_pool/test_image
取消映射: rbd unmap test_pool/test_image
此時如果打印:
rbd: sysfs write failed RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable". In some cases useful info is found in syslog - try "dmesg |www.bajieyy.org tail" or so. rbd: map failed: (6) No such device or address
表示當前系統不支持feature,禁用當前系統內核不支持的feature:
rbd feature disable test_pool/test_image exclusive-lock, object-map, fast-diff, deep-flatten
重新映射:
hcy@admin_server:~/my-cluster$ sudo rbd map test_pool/test_image /dev/rbd0
6. 格式化塊設備鏡像
sudo mkfs.ext4 /dev/rbd/test_pool/test_image
7. 掛載文件系統
sudo mkdir /mnt/ceph-block-device sudo chmod 777 /mnt/ceph-block-device sudo mount /dev/rbd/test_pool/test_image /mnt/ceph-block-device cd /mnt/ceph-block-device
8.卸載文件系統
sudo ceph unmap /dev/rbd0