在Linux使用LVM扩容逻辑卷

一、部署逻辑卷

1、新添加两块硬盘,然后查看添加后的硬盘标识为sdb和sdc:

# ls -l /dev/sd* 

在Linux使用LVM扩容逻辑卷

2、将新添加的两块硬盘支持LVM技术:

# pvcreate /dev/sdb /dev/sdc

在Linux使用LVM扩容逻辑卷

3、将sdb和sdc加入到名为storage的卷组里面:

# vgcreate storage /dev/sdb /dev/sdc 

在Linux使用LVM扩容逻辑卷

4、查看卷组的状态,在storage的卷组里可以看到总大小有39.99G,接下来可以对这些容量进行切割使用:

# vgdisplay

在Linux使用LVM扩容逻辑卷

5、将storage卷组切割10G的出来使用:

# lvcreate -n date -L 10G storage

在Linux使用LVM扩容逻辑卷

6、查看date逻辑卷的信息:

# lvdisplay

在Linux使用LVM扩容逻辑卷

7、把date逻辑卷格式化为ext4格式,不支持xfs格式的文件系统:

# mkfs.ext4 /dev/storage/date

在Linux使用LVM扩容逻辑卷

8、在根目录下新建一个目录用来挂载逻辑卷:

# mkdir /test_mount

9、使用echo命令把配置写入到fstab文件里面,永久挂载逻辑卷(重启不会失效):

# echo "/dev/storage/date /test_mount ext4 defaults 0 0" >> /etc/fstab

10、挂载所有在/etc/fstab中定义的文件系统,立刻生效:

# mount -a

11、查看逻辑卷已经挂载成功:

# df -h

在Linux使用LVM扩容逻辑卷

二、扩容逻辑卷

1、扩容逻辑卷之前一定要卸载设备与挂载点的关联:

# umount /test_mount/

2、把之前创建的逻辑卷扩容到30G,扩容大小视情况调整,只要storage的卷组中有足够的大小就可以:

# lvextend -L 30G /dev/storage/date

在Linux使用LVM扩容逻辑卷

3、检查文件系统是否有造成文件丢失的情况,检查硬盘的完整性,只要没有报错就行:

# e2fsck -f /dev/storage/date

在Linux使用LVM扩容逻辑卷

4、重置硬盘容量,可以理解为通知文件系统设备发生了变化:

# resize2fs /dev/storage/date

在Linux使用LVM扩容逻辑卷

5、重新挂载逻辑卷并且查看挂载状态,可以看到逻辑卷已经扩容到了30G:

# mount -a

# df -h

在Linux使用LVM扩容逻辑卷

三、缩小逻辑卷

注意:

1)、缩小逻辑卷的大小不能超过数据的大小,比如已经使用了20G空间,就不能缩小到这个值;

2)、相对扩容来说,对逻辑卷进行扩容其丢失数据风险比较大,操作之前一定要先备份好数据。

 

1、操作之前还是要想把文件系统卸载掉:

# umount /dev/storage/date

2、检查文件系统的完整新:

# e2fsck -f /dev/storage/date 

3、通知文件系统把逻辑卷date减小到300M:

# resize2fs /dev/storage/date 300M     

在Linux使用LVM扩容逻辑卷

注释:我在虚拟机操作一直提示"Please run 'e2fsck -f /dev/storage/date' first.",用resize2fs加个-f参数来强制执行,一般不用加-f参数。

4、缩小逻辑卷到300M:

# lvreduce -L 300M /dev/storage/date

在Linux使用LVM扩容逻辑卷

5、重新挂载文件系统并且查看挂载状态:

# mount -a

# df -h

在Linux使用LVM扩容逻辑卷

四、逻辑卷快照,LVM可以对某一个逻辑卷设备做一次快照达到备份的作用,日后可以利用之前做好的快照卷进行覆盖还原

注意:

1)、快照卷的容量必须和逻辑卷的容量一致,不能小于逻辑卷的大小;

2)、快照卷仅一次有效,一旦执行还原操作后会立即删除;

3)、快照不需要卸载文件系统。

 

1、复制etc目录下所有的目录和文件都复制到test_mount目录:

# cp -rf /etc/* /test_mount/

2、对逻辑卷date进行快照:

# lvcreate -L 300M -s -n junlan /dev/storage/date

在Linux使用LVM扩容逻辑卷

注释:

// -L 指定切割的大小,和逻辑卷的大小一致;

// -s 创建一个快照卷;

// -n 指定快照卷的名称

3、查看逻辑卷的快照信息:

# lvdisplay

在Linux使用LVM扩容逻辑卷

4、清空逻辑卷所挂载目录下test_mount的所有文件:

# rm -rf /test_mount/*

5、卸载文件系统:

# umount /test_mount/

6、还原快照:

# lvconvert --merge /dev/storage/junlan 

在Linux使用LVM扩容逻辑卷

7、重新挂载后查看test_mount目录下,之前删除的文件被恢复了:

在Linux使用LVM扩容逻辑卷

五、删除逻辑卷;

注意:

1)、删除逻辑卷前做好备份;

2)、依次删除逻辑卷、卷组、物理卷设备,和部署逻辑卷的步骤相反。

 

1、卸载逻辑卷与目录的挂载关联:

# umount /test_mount/

2、编辑fstab文件,删除配置中永久生效的设备参数

# vim /etc/fstab 

在Linux使用LVM扩容逻辑卷

3、删除逻辑卷设备:

# lvremove  /dev/storage/date

在Linux使用LVM扩容逻辑卷

4、删除卷组,此处只写卷组名称即可,不需要写绝对路径:

# vgremove storage

在Linux使用LVM扩容逻辑卷

5、删除物理卷设备:

# pvremove /dev/sdb /dev/sdc

在Linux使用LVM扩容逻辑卷

最后执行lvdisplayvgdisplaypvdisplay命令来查看LVM的信息时就不会再看到信息了。