无名阁
Ubuntu16.04开启LVM thin功能
2016-5-25 笑看风云


Ubuntu16.04下面的LVM自带了thin功能,启用了这个功能之后就可以快速创建镜像,就像btrfs一样。



LVM要启用thin功能需要安装thin-provisioning-tools软件包:


sudo apt install thin-provisioning-tools



然后创建lv:
lvcreate -L 30g  -T vgname/lvname



然后创建thin上面的其它lv:
lvcreate -V 10G -T vgname/lvname -n thinroot



因为grub有问题,不能再thin上面更新grub文件,所以我们要创建一个boot分区:
lvcreate -L 256m -n lv vg



然后创建/etc/initramfs-tools/hooks/lvm2thin文件,用来更新内核:
#!/bin/sh
PREREQ=""
prereqs()
{
echo "$PREREQ"
}

case $1 in
prereqs)
prereqs
exit 0
;;
esac

. /usr/share/initramfs-tools/hook-functions
# Begin real processing below this line
copy_exec /lib/modules/${version}/kernel/drivers/md/dm-thin-pool.ko
copy_exec /lib/modules/${version}/kernel/drivers/md/dm-bio-prison.ko
copy_exec /lib/modules/${version}/kernel/drivers/md/dm-bufio.ko
copy_exec /lib/modules/${version}/kernel/drivers/md/persistent-data/dm-persistent-data.ko
copy_exec /usr/sbin/pdata_tools
copy_exec /usr/sbin/cache_dump
copy_exec /usr/sbin/thin_repair
copy_exec /usr/sbin/thin_rmap
copy_exec /usr/sbin/era_restore
copy_exec /usr/sbin/thin_restore
copy_exec /usr/sbin/thin_metadata_size
copy_exec /usr/sbin/era_check
copy_exec /usr/sbin/cache_repair
copy_exec /usr/sbin/cache_check
copy_exec /usr/sbin/thin_dump
copy_exec /usr/sbin/thin_trim
copy_exec /usr/sbin/era_invalidate
copy_exec /usr/sbin/era_dump
copy_exec /usr/sbin/cache_restore
copy_exec /usr/sbin/thin_check
copy_exec /usr/sbin/thin_delta
copy_exec /usr/sbin/cache_metadata_size



然后赋予他可执行权限:
sudo chmod +x /etc/initramfs-tools/hooks/lvm2thin



然后更新内核:
sudo update-initramfs



然后把进入Live cd或者Live usb上面,把原来的系统复制到创建好的thin分区上面,修改fstab,更新grub,重启后就可以进入thin分区了。






下面是贴吧上面的关于thin分区的快照功能的一些用法:



 1、对ssdvg卷组下的gentoo逻辑卷(系统根分区)做快照,按下回车键瞬间就能完成:


lvcreate -s /dev/ssdvg/gentoo -n gentoo-bak



2、玩够了,用备份的快照来恢复:因为ssdvg/gentoo卷已经挂载到/,不能直接删除该卷,不过可以直接重命名,把逻辑卷gentoo随意重命名为gentoo-broken:
lvrename ssdvg/gentoo gentoo-broken



(如果当前系统被玩崩溃了,就只能到livecd里面操作,如果有先见之明的话,可以在当前系统崩溃之前激活快照,重启时修改grub内核参数直接从快照启动)






1.png



3、激活快照gentoo-bak:


lvchange -ay -kn ssdvg/gentoo-bak



4、将备份的逻辑卷快照gentoo-bak重命名为gentoo,偷天换日:
lvrename ssdvg/gentoo-bak gentoo






2.png



5、重启,一切恢复如初,删除玩坏的逻辑卷gentoo-broken:


lvremove /dev/ssdvg/gentoo-broken



3.png








发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容