目录
PV阶段
VG阶段
LV阶段
文件系统阶段
逆向操作(删除LVM)
逻辑卷管理器(Logical Volume Manager),简称LVM
LVM的做法是将几个物理的分区(或磁盘)通过软件组合成为一块看起来时独立的大磁盘(VG)然后再将这块大磁盘划分成可使用的分区(LV),最终就能挂载使用了
- 物理卷(Physical Volume,PV)我们实际的分区(或Disk)需要调整系统标识符(system ID)成为8e(LVM的标识符),system ID不修改也没关系,然后经过pvcreate命令将它转成LVM最底层的物理卷(PV)
- 卷组(Volume Group,VG)VG就是用PV组合起来的大磁盘
- 物理扩展块(Physical Extent,PE)它是整个LVM中最小的存储单位,也就是说,我们的文件数据都是借由写入PE来完成的。类似于文件系统中的block大小,所以调整PE会影响整个LVM的最大容量
- 逻辑卷(Logical Volume,LV)最终的VG会被划分成LV,这个LV就是最后可以被格式化使用的类似分区的东西了
我们的数据写入LV中,它根据写入机制,有两种方式:
- 线性模式(linear):当我们把1、2两个分区加入VG后,把整个VG划分成一个LV,那么线性模式就是当1的容量用完之后2的容量才会被使用到
- 交错模式(triped):当我们把1、2两个分区加入VG后,把整个VG划分成一个LV,那么交错模式就是把一条数据拆分成两部分,分别写入1和2的容量中
理论上,交错模式的读写性能会比较好
基本上,LVM最主要的用处就是实现一个可以实现弹性调整容量的文件系统上,而不是在建立一个性能为主的磁盘上
我们用两块磁盘(sda、nvme0n2)来供我们创建LVM
sda中有主分区sda1(xfs文件系统)、扩展分区sda2以及逻辑分区sda5(ext4文件系统)
PV阶段
建立PV,直接使用pvcreate即可
磁盘分区或磁盘都可建立成为PV
与PV有关的命令:
- pvcreate:将物理分区建立成为PV
- pvscan:查找目前里面任何具有PV的磁盘
- pvdisplay:显示出目前系统上面的PV状态
- pvremove:将PV属性删除,让该分区不具有PV属性
查看一下有无PV在系统上,我们的两块磁盘并不是PV
创建PV
当分区内有文件系统时,会弹出警告提示你是否清除此文件系统
使用pvdisplay来显示我们创建的pv的信息
VG阶段
建立VG以及VG相关的命令:
- vgcreate:建立VG
- vgscan:查找系统上面是否有VG存在
- vgdisplay:显示目前系统上的VG状态
- vgextend:在VG内添加额外的PV
- vgreduce:在VG内删除PV
- vgchange:设置VG是否启动(active)
- vgremove:删除一个VG
PV的名称其实就是分区的设备文件名,但是VG的名称我们可以随便取
vgcreate 【-s N【mgt】】 VG名称 PV名称
选项与参数:
-s:后面接PE的大小(size),单位可以是m、g、t(大小写均可)
创建VG
vgdisplay:
vgs:
vgscan:
LV阶段
创造出VG这个大磁盘后,再来就是建立分区了,这个分区就是所谓的LV
使用的相关命令:
- lvcreate:建立LV
- lvscan:查询系统上的LV
- lvdisplay:显示系统上面的LV状态
- lvextend:在LV里面增加容量
- lvreduce:在LV里面减少容量
- lvremove:删除一个LV
- lvresize:对LV进行容量大小的调整
lvcreate【-L N【mgt】】【-n LV名称】VG名称
lvcreate【-l N】【-n LV名称】VG名称
选项与参数:
-L:后面接容量,容量的单位可以使M、G、T等,要注意的是,最小单位为PE,因此这个数量必须是PE的倍数,若不是则会计算最相近的容量
-l:后面可以接PE的个数
-n:后面接的就是LV的名称
从VG阶段的查看可以得到PE的大小为4M
建立LV
lvidisplay:
lvscan:
文件系统阶段
格式化、挂载与查看我们的LV
格式化:
以上三种方法书写LV的路径都是可以的,因为它们都是指向同一个目录
挂载:
自动挂载则是写入/etc/fstab
查看LV:
逆向操作(删除LVM)
删除顺序与创建顺序相反
查看: