LVM
LVM ( Logical Volume Manager )
LVM 使用 Linux 内核中的device-mapper来管理存储系统的虚拟化。
LVM 的基本组成
- 物理卷 Physical Volume ( PV ): 可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopback file)。
- 卷组 Volume Group ( VG ): 将一组物理卷收集为一个管理单元。
- 逻辑卷 Logical Volume ( LV ): 虚拟分区,由物理区域(physical extents)组成。
- 物理区域 Physical Extent ( PE ): 硬盘可供指派给逻辑卷的最小单位(通常为4MB)。
创建分区
- fdisk
- cfdisk
- sfdisk
- cgdisk
- sgdisk
- parted
- partitionmanager
用户交互 | MBR | GPT |
---|---|---|
对话框 | fdisk parted | fdisk gdisk parted |
模拟图形界面 | cfdisk | cfdisk cgdisk |
非交互 | sfdisk parted | sfdisk sgdisk parted |
图形界面 | gparted partitionmanager | gparted partitionmanager |
创建物理卷 ( PV )
列出可被用作物理卷的设备:
lvmdiskscan
在设备上创建物理卷:
pvcreate DEVICE
查看已经创建好的物理卷:
pvdisplay
创建物理卷组 ( PV )
在一个物理卷 ( PV ) 创建一个卷组:
vgcreate <volume_group> <physical_volume>
卷组扩大到其他所有的物理卷:
vgextend <volume_group> <physical_volume>
查看该卷组:
vgdisplay
一步创建卷组
示例命令如下:
vgcreate VolGroup00 /dev/sda2 /dev/sdb1 /dev/sdbc
创建逻辑卷 ( LV )
创建逻辑卷,指定逻辑卷的名字、大小及其所在的卷组:
lvcreate -L <size> <volume_group> -n <logical_volume>
创建完成后,可以通过 /dev/mapper/<volume_group>-<logical_volume>
或 /dev/<volume_group>/<logical_volume>
如果需要使用所有未使用的空间:
lvcreate -l +100%FREE <volume_group> -n <logical_volume>
查看逻辑卷:
lvdisplay
建立文件系统与挂载逻辑卷
如果无法找到逻辑卷,加载模块、扫描与激活卷组:
modprobe dm-mod
vgscan
vgchange -ay
创建文件系统并挂载,示例如下
mkfs.ext4 /dev/mapper/VolGroup00-lvolhome
mount /dev/mapper/VolGroup00-lvolhome /home
调整物理卷大小
扩增
扩大分区/dev/sda1
的容量后,需要执行以下命令扩展物理卷大小:
pvresize /dev/sda1
缩小
pvresize --setphysicalvolumesize 40G /dev/sda1
如果该物理卷已分配物理区域超过了命令指定的新大小的边界,pvresize
会拒绝缩小,报错信息如下:
/dev/sda1: cannot resize to 25599 extents as later ones are allocated.
0 physical volume(s) resized / 1 physical volume(s) not resized
调整逻辑卷大小
调整逻辑卷大小不修改文件系统
lvresize -L +2G vg1/lv1
lvresize -L -500M vg1/lv1
设置大小为15G并同时更改其文件系统大小:
lvresize -L 15G -r vg1/lv1
将所有可用空间加入一个卷组:
lvresize -l 100%FREE vg/lv
设置文件系统大小
ext2/ext3/ext4 文件系统
resize2fs vg/lv
xfs 文件系统
xfs_growfs /dev/mapper/centos-root