LVM逻辑卷
作者:互联网
由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理。由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数据的情况。
LVM(Logic Volume Manager)是逻辑卷管理的简称。它是Linux环境下对磁盘分区管理的一种机制。对于其他的的UNIX(AIX/HP/SUM)操作系统,以及Windows系统也有类似的磁盘管理软件。
LVM管理的方式非常简单,就是通过将底层的物料磁盘抽象并封装起来,然后以逻辑的方式呈现给上层应用。
LVM 机制的基本概念
PV(物理卷)
VG(卷组)
LV(逻辑卷)
逻辑卷管理概念定义:
主要命令
实验环境:
VMware Workstation Pro
先添加一块硬盘做以下实验使用。
---
划分磁盘分区:
查看系统是否识别新添加的硬盘 fdisk -l
注:/dev/sdb/为新添加的磁盘
将sdb磁盘进行分区,分出3个主分区,1个扩展分区,2个逻辑分区,分区大小全为2G.
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xb6f3b9c8 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (4196352-41943039,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039):+2G
分区 2 已设置为 Linux 类型,大小设为 2 GiB命令(输入 m 获取帮助):
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (8390656-41943039,默认为 8390656):
将使用默认值 8390656
Last 扇区, +扇区 or +size{K,M,G} (8390656-41943039,默认为 41943039):+2G
分区 3 已设置为 Linux 类型,大小设为 2 GiB命令(输入 m 获取帮助):N
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e
已选择分区 4
起始 扇区 (12584960-41943039,默认为 12584960):
将使用默认值 12584960
Last 扇区, +扇区 or +size{K,M,G} (12584960-41943039,默认为 41943039):
将使用默认值 41943039
分区 4 已设置为 Extended 类型,大小设为 14 GiB命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (12587008-41943039,默认为 12587008):
将使用默认值 12587008
Last 扇区, +扇区 or +size{K,M,G} (12587008-41943039,默认为 41943039):+2G
分区 5 已设置为 Linux 类型,大小设为 2 GiB命令(输入 m 获取帮助):n
All primary partitions are in use
添加逻辑分区 6
起始 扇区 (16783360-41943039,默认为 16783360):
将使用默认值 16783360
Last 扇区, +扇区 or +size{K,M,G} (16783360-41943039,默认为 41943039):+2G
分区 6 已设置为 Linux 类型,大小设为 2 GiB命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
安装LVM管理工具
使用yum方式安装: yum install lvm2 -y
创建PV,将磁盘分区/dev/sdb1-3 初始化为物理卷
格式:pvcreate 物理设备/分区设备
[root@localhost ~]# pvcreate /dev/sdb[1-3]
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.
Physical volume "/dev/sdb3" successfully created.
查看PV
注:
PV Name | PV名字 |
VG Name | 隶属的VG名字 |
PV Size | PV的大小 |
Allocatable | 是否可分配 |
PE Size | 每个PE的大小 |
Total PE | PE的数量 |
Free PE | 剩余的PE |
Allocated PE | 可分配的PE |
PV UUID | PV的UUID号 |
pvs也可以查看PV信息,没有pvdisplay详细
pvscan 扫描磁盘中的物理卷
创建VG——将物理卷/dev/sdb1-3 组合成一个卷组
格式:vgcreate 卷组名(自定义) 物理卷名
同样可是使用vgs/vgscan查看
创建LV
lvcreate -L 1G -n lv01 vg01 //从vg01这个卷组中分出1G的空间给lv01
注:
-L 指定创建的LV的大小
-I 指定创建的LV的PE数量
-n LV的名字
查看LV的信息 lvdisplay
同样可以使用lvs和lvscan查看
这时的VFree从5.99g减少到了4.99g,另外的1g被分配到了lv01
格式化LV
mkfs.xfs /dev/vg01/lv01 #将/dev/vg01/lv01格式化为xfs文件系统
挂载使用
mkdir /opt/lv01 #创建用于挂载的目录
mount /dev/vg01/lv01 /opt/lv01/ #临时将逻辑卷挂载到目录下
将挂载信息写入/etc/fstab,实现开机自动挂载
mount -a #检测/etc/fstab文件,并运行挂载
添加测试数据
向/opt/lv01写入测试数据以验证LVM的磁盘动态管理
LVM的扩容操作
LVM最大的好处就是可以对磁盘进行动态管理,而且不会丢失现有的数据
(1)LV的扩容
查看vg01剩余容量,还有4.99G可用
对lv01进行扩容:lvextend -L +1G /dev/vg01/lv01
vg从4.99变成了3.99 lv从1G变为2G
使用dh -hT 命令查看分区使用的情况:
发现实际容量并没有变化,那是因为系统还不认识刚刚添加进来的磁盘的文件系统,所以还需要对文件系统进行扩容
这里我使用的文件系统是xfs文件系统,使用以下命令去扩容:
xfs_growfs /opt/lv01/
如果是ext系列的文件系统,使用以下命令扩容:
resize2fs 设备名或挂载点
扩容后,在使用df -hT查看分区情况:
再看看挂载点/opt/lv01里面有没有变化:
挂载点目录里的数据正常,代表对lv01在线扩容完成。
(2)VG的扩容
VG的扩容有两种方法:
第一种:通过增加PV来实现扩容。
创建PV:使用/dev/sdb5来创建一个PV
pvcreate /dev/sdb5
扩容VG:
查看现在的vg01的容量
[root@localhost lv01]# vgs
VG #PV #LV #SN Attr VSize VFree
vg01 3 1 0 wz--n- <5.99g <3.99g
[root@localhost lv01]# vgextend vg01 /dev/sdb5
Volume group "vg01" successfully extended
[root@localhost lv01]# vgs
VG #PV #LV #SN Attr VSize VFree
vg01 4 1 0 wz--n- 7.98g 5.98g
第二种:通过扩展RAID设备的容量来间接对VG进行扩容,这是基于RAIDA设备做的LVM。
需要注意是:raid设备大小变化后,需要调整PV的大小:
pvresize raid的设备名称
LV的缩减操作
缩减操作需要离线处理
(1) 卸载文件系统
(2)缩减LV
(3)挂载查看
这是因为xfs文件系统只支持增加,不支持减少。但是不是说xfs系统文件不能减少,只是缩减后需要格式化才能挂载上,但是这样操作原来的数据就丢失了
在看挂载点,没有任何数据。
如果是ext系统的话,不会出现这种结果
卸载挂载后
检查磁盘:e2fsck -f /dev/vg01/lv01
缩减文件系统:resize2fs /dev/vg01/lv01
缩减LV: lvreduce -L 1G /dev/vg01/lv01
注:文件系统和LV缩减的大小必须保持一致,1G代表缩减到的大小
移除LVM
(1)卸载挂载
(2)移除LV
lvremove /dev/vg01/lv01
vgremove vg01
pvremove /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb5
到此,LVM移除完成。
标签:逻辑,lv01,vg01,分区,扇区,dev,41943039,LVM 来源: https://blog.51cto.com/14188767/2372918