LVM逻辑卷管理器
LVM(逻辑卷管理器)可以允许用户对硬盘资源进行动态调整。(让用户灵活的变更分区的大小)
逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。LVM的技术架构如图。
LVM(逻辑卷管理器)可以允许用户对硬盘资源进行动态调整。(让用户灵活的变更分区的大小)
逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,理论性较强,其创建初衷是为了解决硬盘设备在创建分区后不易修改分区大小的缺陷。尽管对传统的硬盘分区进行强制扩容或缩容从理论上来讲是可行的,但是却可能造成数据的丢失。而LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。LVM的技术架构如图。
LVM的核心理念
1.物理卷处于LVM中的最底层,可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列,这都可以。
2.卷组建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建之后也可以继续向其中添加新的物理卷。
3.逻辑卷是用卷组中空闲的资源建立的,并且逻辑卷在建立后可以动态地扩展或缩小空间。
1.物理卷处于LVM中的最底层,可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列,这都可以。
2.卷组建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建之后也可以继续向其中添加新的物理卷。
3.逻辑卷是用卷组中空闲的资源建立的,并且逻辑卷在建立后可以动态地扩展或缩小空间。
部署逻辑卷
部署LVM时,需要逐个配置物理卷、卷组和逻辑卷。常用的部署命令如表所示。
部署LVM时,需要逐个配置物理卷、卷组和逻辑卷。常用的部署命令如表所示。
部署逻辑卷步骤:(PV -> VG -> LV)
让硬盘设备支持LVM技术(pvcreate)。
把硬盘设备加入到卷组(vgcreate)。
从卷组中切割一定空间作为逻辑卷(lvcreate)。
把生成好的逻辑卷进行格式化,然后挂载使用(mkfs,mount,/etc/fstab)。
让硬盘设备支持LVM技术(pvcreate)。
把硬盘设备加入到卷组(vgcreate)。
从卷组中切割一定空间作为逻辑卷(lvcreate)。
把生成好的逻辑卷进行格式化,然后挂载使用(mkfs,mount,/etc/fstab)。
pvcreate /dev/sdb /dev/sdc #创建物理卷,让硬盘设备支持LVM
vgcreate storage /dev/sdb /dev/sdc #把创建好的物理卷组成卷组,命名为storge
vgdisplay #查看卷组状态
lvcreate -n vo -l 40 storage #从卷组storge切割出40个基本单元(默认大小4M)创建一个160M的逻辑卷,命名为vo。-l 40效果等同于-L 160M
lvdisplay #查看逻辑卷状态
mkfs.ext4 /dev/storage/vo #格式化逻辑卷vo
echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /etc/fstab #往/etc/fatab文件追加挂载信息,实现永久挂载
mkdir /linuxprobe #创建挂载点
mount -a #挂载
df -h #查看挂载状态
vgcreate storage /dev/sdb /dev/sdc #把创建好的物理卷组成卷组,命名为storge
vgdisplay #查看卷组状态
lvcreate -n vo -l 40 storage #从卷组storge切割出40个基本单元(默认大小4M)创建一个160M的逻辑卷,命名为vo。-l 40效果等同于-L 160M
lvdisplay #查看逻辑卷状态
mkfs.ext4 /dev/storage/vo #格式化逻辑卷vo
echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /etc/fstab #往/etc/fatab文件追加挂载信息,实现永久挂载
mkdir /linuxprobe #创建挂载点
mount -a #挂载
df -h #查看挂载状态
扩容逻辑卷
扩容前,先卸载设备和挂载点的关联。
扩容逻辑卷(lvextend);
检查硬盘完整性(e2fsck),并重置硬盘容量(resize2fs);
重新挂载硬盘设备并查看挂载状态。mount -a df -h
扩容前,先卸载设备和挂载点的关联。
扩容逻辑卷(lvextend);
检查硬盘完整性(e2fsck),并重置硬盘容量(resize2fs);
重新挂载硬盘设备并查看挂载状态。mount -a df -h
缩小逻辑卷
缩容前,先卸载设备和挂载点的关联。
检查硬盘完整性(e2fsck);
先向系统报备一下即将要执行逻辑卷缩容的操作(resize2fs),再缩容逻辑卷(lvreduce);
重新挂载硬盘设备并查看挂载状态。mount -a df -h
缩容前,先卸载设备和挂载点的关联。
检查硬盘完整性(e2fsck);
先向系统报备一下即将要执行逻辑卷缩容的操作(resize2fs),再缩容逻辑卷(lvreduce);
重新挂载硬盘设备并查看挂载状态。mount -a df -h
逻辑卷快照
LVM还具备有“快照卷”功能,该功能类似于虚拟机软件的还原时间点功能。例如,可以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快照卷进行覆盖还原。LVM的快照卷功能有两个特点:
快照卷的容量必须等同于逻辑卷的容量;
快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。
LVM还具备有“快照卷”功能,该功能类似于虚拟机软件的还原时间点功能。例如,可以对某一个逻辑卷设备做一次快照,如果日后发现数据被改错了,就可以利用之前做好的快照卷进行覆盖还原。LVM的快照卷功能有两个特点:
快照卷的容量必须等同于逻辑卷的容量;
快照卷仅一次有效,一旦执行还原操作后则会被立即自动删除。
往逻辑卷设备新建一个文件。然后为逻辑卷创建快照卷。再在逻辑卷目录生成一个垃圾文件。后先卸载逻辑卷与挂载点关联,再尝试快照还原操作(lvconvert --merge),再重新挂载,查看逻辑卷目录是否回到创建快照前的状态。
echo "Welcome to Linuxprobe.com" > /linuxprobe/readme.txt #往逻辑卷设备写入一个文件
ls -l /linuxprobe #查看逻辑卷目录的内容
lvcreate -L 120M -s -n SSS /dev/storage/vo #为逻辑卷vo生成一个快照卷,命名为SSS,指定切割大小为120M,
lvdisplay #查看逻辑卷详细信息,可以看到SSS是vo的快照卷(snapshot)
dd if=/dev/zero of=/linuxprobe/files count=1 bs=100M #在逻辑卷vo的目录下创建一个100M的文件
lvdisplay #查看逻辑卷详细信息,可以发现vo的空间占用量上升
umount /linuxprobe #卸载逻辑卷与挂载点关联
lvconvert --merge /dev/storage/SSS #对逻辑卷vo进行快照还原操作
ls -l /linuxprobe #查看逻辑卷目录的内容
lvcreate -L 120M -s -n SSS /dev/storage/vo #为逻辑卷vo生成一个快照卷,命名为SSS,指定切割大小为120M,
lvdisplay #查看逻辑卷详细信息,可以看到SSS是vo的快照卷(snapshot)
dd if=/dev/zero of=/linuxprobe/files count=1 bs=100M #在逻辑卷vo的目录下创建一个100M的文件
lvdisplay #查看逻辑卷详细信息,可以发现vo的空间占用量上升
umount /linuxprobe #卸载逻辑卷与挂载点关联
lvconvert --merge /dev/storage/SSS #对逻辑卷vo进行快照还原操作
mount -a #重新挂载
ls /linuxprobe/ #查看逻辑卷目录,可以发现创建快照后再创建的100M文件不见了,逻辑卷恢复成设置快照前的状态
ls /linuxprobe/ #查看逻辑卷目录,可以发现创建快照后再创建的100M文件不见了,逻辑卷恢复成设置快照前的状态
删除逻辑卷
当生产环境中想要重新部署LVM或者不再需要使用LVM时,则需要执行LVM的删除操作。为此,需要提前备份好重要的数据信息,然后依次删除逻辑卷、卷组、物理卷设备,这个顺序不可颠倒。
当生产环境中想要重新部署LVM或者不再需要使用LVM时,则需要执行LVM的删除操作。为此,需要提前备份好重要的数据信息,然后依次删除逻辑卷、卷组、物理卷设备,这个顺序不可颠倒。
umount /linuxprobe #卸载
vim /etc/fstab
/dev/storage/vo /linuxprobe ext4 defaults 0 0 #删除挂载信息
lvremove /dev/storage/vo #删除逻辑卷,要按y确认
vgremove storage #删除卷组
pvremove /dev/sdb /dev/sdc #删除物理卷
vim /etc/fstab
/dev/storage/vo /linuxprobe ext4 defaults 0 0 #删除挂载信息
lvremove /dev/storage/vo #删除逻辑卷,要按y确认
vgremove storage #删除卷组
pvremove /dev/sdb /dev/sdc #删除物理卷