无名阁

美好的生活需要用心记录

Ubuntu16.04开启LVM thin功能

2016-5-25 笑看风云 linux知识

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


标签: Linux ubuntu lvm

et_highlighter51

发表评论: