一、概述
- Logical Volume Manager,逻辑卷管理
- 动态调整磁盘容量,从而提高磁盘管理的灵活性(与windows不同的是没有冗余功能)
1.组成:
2.主要命令:
二、基本知识:
划分磁盘顺序:
PV(物理卷)------VG(卷组)-------LV(逻辑卷)-----格式化为xfs/swap文件系统,---挂载使用
PV使用命令:
#pvscan [磁盘路径] //查看物理卷,跟路径查看单个磁盘,不跟路径查看所有
#pvcreate /dev/sdb1 /dev/sdc1 //将磁盘转换为物理卷
#pvdisplay [磁盘路径] //查看物理卷详细信息,跟路径查看单个磁盘,不跟路径查看所有
#pvremove /dev/sdb1 //删除此物理卷,还原至普通分区
VG使用命令:
#vgscan //查看已建立的卷组
#vgcreate GP1 /dev/sdb1 /dev/sdc1 //将物理卷sdb1、sdc1合成为卷组GP1
#vgdisplay GP1 //查看卷组GP1详细信息
#vgremove GP1 //删除卷组GP1
#vgextend GP1 /dev/sdc1 //将sdc1扩展到GP1卷组中
LV使用命令:
#lvscan //查看已建立的逻辑卷
#lvcreate -L 10G -n data1 GP1 //将GP1卷组中拿出10G用于创建data1逻辑卷
# lvcreate -l 100%VG -n data /dev/GP //将VG所有容量都用于data逻辑卷
#lvextend -L +10G /dev/GP1/data1 //将data1逻辑卷容量加10G
# lvextend -r -l 100%VG /dev/GP/data //将VG剩余容量全部加给data逻辑卷,且不需要再执行"xfs_growfs"命令
#lvreduce -L -5G /dev/GP1/data1 //将data1逻辑卷减去5G容量
#lvdisplay /dev/GP1/data1 //查看逻辑卷详细信息
#lvremove /dev/GP/data1 //将逻辑卷data进行删除
# xfs_growfs /dev/GP/data //将扩展的容量加载到目前使用的分区中,与"lvextend -r"作用一样
#
三、实验需求:
#两块磁盘为sdb1 5G 和sdc1 5G
1.将sdb1转换为物理卷
2.将物理卷sdb1转换为卷组GP
3.将GP划分为逻辑卷data
4.将sdc1扩容到卷组GP
5.将卷组GP中3G的容量扩展到逻辑卷data
6.将卷组GP中剩余的容量创建为逻辑卷file
7.格式化两块逻辑卷为xfs并挂载到/data、/file
8.删除2块LVM逻辑卷,使得恢复为刚插入服务器时的状态。
四、实验步骤:
进入命令
fdisk /dev/sdb
进入后按m可以看提示信息
因为这里我硬盘只有5个g
所以只需要选n分区,然后一直回车
按p打印,可以看到结果成功创建sdb1(5G)
按w保存退出即可
Sdc1的操作一样
创建完分区后,最好加载分区文件,防止后续可能出现一些问题
1..将sdb1转换为物理卷
[root@xiaojie ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
2..将物理卷sdb1转换为卷组GP (卷组名可以随便取,这里使用GP)
[root@xiaojie ~]# vgcreate GP /dev/sdb1
Volume group "GP" successfully created
3..将GP划分为逻辑卷data
[root@xiaojie ~]# lvcreate -l 100%VG -n data GP
Logical volume "data" created.
4.将sdc1扩容到卷组GP,需要是物理卷(选设置为物理卷,再扩容)
[root@xiaojie ~]# pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created.
[root@xiaojie ~]# vgextend GP /dev/sdc1
Volume group "GP" successfully extended
5.将卷组GP中3G的容量扩展到逻辑卷data
[root@xiaojie ~]# lvextend -L +3G /dev/GP/data
Size of logical volume GP/data changed from <5.00 GiB (1279 extents) to <8.00 GiB (2047 extents).
Logical volume GP/data successfully resized.
6.将卷组GP中剩余的容量创建为逻辑卷file
[root@xiaojie ~]# lvcreate -l 100%VG -n file GP
Reducing 100%VG to remaining free space <2.00 GiB in VG.
Logical volume "file" created.
7.格式化两块逻辑卷为xfs并挂载到/data、/file
格式化(因为我使用的是openEuler所以用ext4)如果是Centos则是使用xds
创键目录
[root@xiaojie ~]# mkdir /data /file
挂载
[root@xiaojie ~]# mount /dev/GP/data /data
[root@xiaojie ~]# mount /dev/GP/file /file
验证挂载
输入mount可以看到最后两行,已经挂载成功
也可以使用df -TH命令查看
验证结果
8..删除2块LVM逻辑卷,使得恢复为刚插入服务器时的状态。
先卸载
[root@xiaojie ~]# umount /data
[root@xiaojie ~]# umount /file
[root@xiaojie ~]# lvremove /dev/GP/data
Do you really want to remove active logical volume GP/data? [y/n]: y
Logical volume "data" successfully removed.
[root@xiaojie ~]# lvremove /dev/GP/file
Do you really want to remove active logical volume GP/file? [y/n]: y
Logical volume "file" successfully removed.
[root@xiaojie ~]# vgremove GP
Volume group "GP" successfully removed
[root@xiaojie ~]# pvremove /dev/sdb1
Labels on physical volume "/dev/sdb1" successfully wiped.
[root@xiaojie ~]# pvremove /dev/sdc1
Labels on physical volume "/dev/sdc1" successfully wiped.
在分别进入[root@xiaojie ~]# fdisk /dev/sdb
[root@xiaojie ~]# fdisk /dev/sdc
按d删除分区
再重新重载
[root@xiaojie ~]# partprobe /dev/sdb
[root@xiaojie ~]# partprobe /dev/sdc
可以用fdisk -l查询结果
五、注意:
当需要通过fdisk命令删除分区并重新创建分区时,需要先依次删除lv、vg、pv,再删除分区并重新创建。否则会出现以下错误:
Can't open /dev/sdb1 exclusively. Mounted filesystem? '
将扩展的容量加载到目前使用的分区中:
# xfs_growfs /dev/GP/data //或在使用lvextend扩容时加 -r 选项
# lvextend -r -L +3G /dev/GP/data
CentOS 7之前操作系统实现减少逻辑卷容量的方法(CentOS 7不支持逻辑卷容量减少?):
# umount /dev/GP/data
# e2fsck -f /dev/GP/data
# resize2fs /dev/GP/data 2G //重新定义data逻辑卷大小为2G
# lvresize -L 2G /dev/GP/data
# mount /dev/GP/data /abc //挂载使用,此时data卷只剩下2G,剩余容量可用于创建其他LV卷
##