Ceph使用塊存儲,系統內核須要3.0及以上的內核,以支持一些ceph模塊。bash
建立塊的時候能夠指定類型(type1和type2),只有type2的能夠對快照進行保護,保護之後才能作克隆。app
使用塊設備完整操做流程:ide
1、建立塊設備(單位是M)spa
rbd create yjk01 --size 1024 --pool vms--p_w_picpath-format 2 rbd info yjk01 --pool vms rbd map yjk01 --pool vms rbd showmapped mkfs.ext4 /dev/rbd0 mount /dev/rbd0 /mnt
2、自動掛載orm
先寫入fstab(blkid查看相應磁盤的UUID)ip
UUID= /mnt ext4 defaults,noatime,_netdev 0 0it
再添加如下內容到/etc/rc.localio
rbd map yjk01 --pool vms mount -a
3、塊擴容function
rbd resize vms/yjk01 --size 2048 resize2fs /dev/rbd0
4、 塊刪除form
umount /dev/rbd0
刪除/etc/ceph/rbdmap和/etc/fstab或/etc/rc.local中的相關內容
rbd unmap /dev/rbd0 rbd rm yjk01 --pool vms
只有先map後才能掛載,重啓後不會自動map(/etc/init.d/rbdmap有bug),fstab啓動的優先級高於自動map的優先級
如下腳本能夠確保系統重啓的時候不會卡死,以及開機正常自動掛載塊設備。
腳本要作如下操做:
# cp auto_unmap /etc/rc.d/init.d/ # chmod +x /etc/rc.d/init.d/auto_unmap # chkconfig --add auto_unmap # chkconfig auto_unmap on
內容
#!/bin/bash # # # chkconfig: 02345 99 1 # Description: delete all service pid and lockfile # #######################readme######################################### # cp auto_unmap /etc/rc.d/init.d/ # chmod +x /etc/rc.d/init.d/auto_unmap # chkconfig --add auto_unmap # chkconfig auto_unmap on #######################readme######################################### function action_start () { echo 'automap_info_in_rc.local' } function action_stop () { mount_devices=`rbd showmapped|sed '2,$p' -n|awk '{print $5}'` for i in $mount_devices do umount $i rbd unmap $i done } case "$1" in start) ;; stop) action_stop echo 'Auto-unmap is OK' ;; status) ;; *) echo "Usage: $0 {start}" exit 1 esac