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