Linux LVM 逻辑卷管理
第一步创建物理文件系统
首先我们要创建文件系统
命令: fdisk /dev/sdb 创建物理卷并修改ID为8e
[root@localhost ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3f8360cd
Device Boot Start End Blocks Id System
/dev/sdb1 1 2610 20964793+ 5 Extended
/dev/sdb5 1 654 5253192 8e Linux LVM
/dev/sdb6 655 1308 5253223+ 8e Linux LVM
/dev/sdb7 1309 1962 5253223+ 8e Linux LVM
/dev/sdb8 1963 2610 5205028+ 8e Linux LVM
从上面的输出我们可以看到/devsdb 那块硬盘分了一个扩展分区,4个逻辑分区。逻辑分区的ID全是8e。
第二步初始化物理卷为PV
创建PV,添加几个文件系统,然后再添加一个RAID 文件系统
命令:pvcreate /dev/sdb{5,6,7,8,9} ———— 添加文件系统到PV
pvcreate /dev/md0 ———— 添加raid 文件系统到PV
pvs,pvdisplay ———— 查看系统现有PV
将划分的硬盘分区都创建为物理卷
第三步创建卷组
添加PV 到卷组,创建VG 卷组
命令:vgcreate [-s=16m] test_vg /dev/sdk1 /dev/sdl1
指定PE 大小VG 卷组名要添加到VG 中的PV
第四步激活卷组
卷组创建完之后需要用 vgchange 命令激活卷组,无需重启系统,命令使用方法如下:
vgchange -a y 卷组名 (激活卷组)
vgchange -a y 卷组名 (停用卷组)
这里我们激活myvg
[root@localhost ~]# vgchange -a y myvg
0 logical volume(s) in volume group "myvg" now active
5显示物理卷、卷组的信息
由上面的输出我们可以看出卷组大小为15G,每个PE大小为4M,共有3846个PE
第六步创建逻辑卷
创建逻辑卷的命令是 :lvcreate,常用的格式为:
lvcreate [-L 逻辑卷大小 | -l PE数] -n 逻辑卷名称 所属卷组名
创建一个大小为4G的逻辑卷:
[root@localhost ~]# lvcreate -L 4G -n mylv1 myvg
Logical volume "mylv1" created
检查卷组剩余的空间:
[root@localhost ~]# vgdisplay myvg | grep "Free PE"
Free PE / Size 2822 / 11.02 GiB
将卷组myvg中剩余空间分配300PE给mylv2
[root@localhost ~]# lvcreate -l 300 -n mylv2 myvg
Logical volume "mylv2" created
第七步格式化逻辑卷,创建文件系统:
[root@localhost ~]# mkfs.ext4 /dev/myvg/mylv1
[root@localhost ~]# mkfs.ext4 /dev/myvg/mylv2
建立挂载目录,挂载这些逻辑卷:
[root@localhost ~]# mkdir /mylv1
[root@localhost ~]# mkdir /mylv2
[root@localhost ~]# mount /dev/myvg/mylv1 /mylv1/
[root@localhost ~]# mount /dev/myvg/mylv2 /mylv2
[root@localhost ~]# df -h | grep mylv
/dev/mapper/myvg-mylv1
4.0G 136M 3.7G 4% /mylv1
/dev/mapper/myvg-mylv2
1.2G 34M 1.1G 4% /mylv2
[root@localhost ~]#
到目前为止创建物理卷、卷组、逻辑卷已经完成了,下面讲如何增加卷组的容量,增加逻辑卷的容量。
添加新的物理卷到卷组
添加新的物理卷到卷组的命令是: vgextend 命令格式是:
vgextend 卷组名 新加入的物理卷
[root@localhost ~]# vgextend myvg /dev/sdb8
Volume group "myvg" successfully extended
修改逻辑卷的大小
lvextend与lvreduce命令
lvextend [-L (+size) -l (+PE数)] 逻辑卷名称
lveduce [-L (-size) -l (-PE数)] 逻辑卷名称
首先扩充mylv1的大小:
[root@localhost ~]# lvextend -L 5G /dev/myvg/mylv1
Extending logical volume mylv1 to 5.00 GiB
Logical volume mylv1 successfully resized