Ceph使用块设备完整操作流程

Ceph使用块存储,系统内核需要3.0及以上的内核,以支持一些ceph模块。

创建块的时候可以指定类型(type1type2),只有type2的可以对快照进行保护,保护以后才能做克隆。

 

使用块设备完整操作流程:

1、创建块设备(单位是M)

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、自动挂载

先写入fstab(blkid查看相应磁盘的UUID)

UUID=        /mnt        ext4   defaults,noatime,_netdev       0  0

再添加以下内容到/etc/rc.local

rbd map yjk01 --pool vms
mount -a

 

3、块扩容

rbd resize vms/yjk01 --size 2048
resize2fs /dev/rbd0

 

4  块删除

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/rbdmapbug)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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章