LVM介绍
LVM概述
逻辑卷管理(Logical Volume Manager)
- 能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
- /boot分区用于存放引导文件,不能基于LVM创建
LVM基本概念
物理卷(Physical Volume,PV)
物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(Physical Extent,PE),从而构成物理卷。(例如:/dev/sdb1 /dev/sdc1)
卷组(Volume Group,VG)
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷
逻辑卷(Logical Volume,LV)
逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中"切出"一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上创建文件系统
LVM常用命令
功能 | 物理卷(PV)管理 | 卷组(VG)管理 | 逻辑卷(LV)管理 |
---|---|---|---|
Scan | pvscan | vgscan | lvscan |
Create | pvcreate | vgcreate | lvcreate |
Display | pvdisplay | vgdisplay | lvdisplay |
Remove | pvremove | vgremove | lvremovr |
Extend | vgextend | lvextend | |
Reduce | vgreduce | lvreduce |
LVM创建流程
graph LR;
pvcreate --> vgcreate --> lvcreate --> mkfs --> mount
LVM删除流程
graph LR;
umount --> lvremove --> vgremove --> pvremove
创建LVM
查看磁盘
lsblk
可以看到有两块盘,sda与nvme0n1,其中nvme0n1就是安装系统时选择的系统盘,sda为我的机械硬盘
查看分区表格式
sudo parted /dev/sda print
可以看到这块机械硬盘时GPT格式的
磁盘分区
使用gdisk对sda进行分区(如果上一步是MBR格式的需要使用fdisk进行分区)
- 输入n来新建一个分区
- Partition number, First sector, Last sector 由于我们使用的是一整块盘所以都直接回车(默认)了
- Hex code or GUID这里,我们是要用作LVM,所以将默认的8300改为8e00
- 输入p来查看刚才新建的分区信息
- 检查无误后输入w将分区信息写入磁盘
sudo gdisk /dev/sda
结束分区后可以使用如下命令再次检查
sudo gdisk -l /dev/sda
建立PV
查看目前已有的PV
sudo pvscan
可以看到当前系统上还有没PV,这是由于之前安装系统时我们取消勾选了 Set up this disk as an LVM group
创建PV
sudo pvcreate /dev/sda1
此时再使用 pvscan
查看,就可以看到刚才创建的PV了
最后一行显示的是当前总共有 1个PV [所有总容量] / [已经被分配到VG的容量] / [还未被分配到VG的容量]
建立VG
使用 vgcreate
创建名为 vg-media-storage
的VG,包含 /dev/sda1
sudo vgcreate vg-media-storage /dev/sda1
使用 vgscan
与 vgdisplay
查看刚才创建的VG
建立LV
建议使用 -L
指定容量大小,而不是 -l
指定PE个数
sudo lvcreate -l 238466 -n lv-media-storage vg-media-storage
使用 lvscan
与 lvdisplay
查看刚才创建的LV
格式化LV,创建XFS文件系统
sudo mkfs.xfs /dev/vg-media-storage/lv-media-storage
挂载到 /media-storage
下
sudo mkdir /media-storage
sudo mount /dev/vg-media-storage/lv-media-storage /media-storage/
查看挂载情况
df -Th
修改所有者和组,便于访问
sudo chown miracle:miracle /media-storage
ls -al / | grep media-storage