塊設備簡介
Ceph 塊設備把一個設備映像條帶化到集群內的多個對象,其中各對象映射到一個歸置組並分布出去,這些歸置組會分散到整個集群的 ceph-osd 守護進程上。條帶化會使 RBD 塊設備比單台服務器運行的更好!
精簡的、可快照的 Ceph 塊設備對虛擬化和雲計算很有吸引力。
在虛擬機場景中,人們一般會用 Qemu/KVM 中的 rbd 網絡存儲驅動部署 Ceph 塊設備,其中宿主機用 librbd 向客戶機提供塊設備服務;很多雲計算堆棧用 libvirt 和管理程序集成。
你可以用精簡的 Ceph 塊設備搭配 Qemu 和 libvirt 來支持 OpenStack 和 CloudStack ,一起構成完整的方案。
安裝客戶端
# apt-get -y install ceph-common
准備集群配置文件和keyring訪問憑證
/etc/ceph/ceph.client.admin.keyring
/etc/ceph/ceph.conf
創建塊設備
# rbd create --pool rbd --image test --image-format 2 --image-feature layering --size 2G
# rbd ls rbd
test
# rbd info rbd/test
rbd image 'test':
size 2048 MB in 512 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.241ad42ae8944a
format: 2
features: layering
flags:
映射塊設備
# rbd map rbd/test
/dev/rbd0
# rbd showmapped
id pool image snap device
0 rbd test - /dev/rbd0
格式化
# mkfs.ext4 -q /dev/rbd0
掛載使用
# mkdir -p /mnt/ceph-block-device
# mount /dev/rbd0 /mnt/ceph-block-device
查看掛載
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 46G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 4G 0 part [SWAP]
sdb 8:16 0 8G 0 disk
rbd0 254:0 0 2G 0 disk /mnt/ceph-block-device
編輯/etc/ceph/rbdmap文件,設置自動map
rbd/test id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
修改fstab,設置開機掛載
/dev/rbd0 /mnt/ceph-block-device ext4 defaults,noatime,_netdev 0 0
rbdmap服務默認開機自啟動,無須配置。
重啟主機,測試開機是否自動map並掛載設備成功
塊設備擴容
# rbd resize rbd/test --size 10G
# resize2fs /dev/rbd0