参考文档:
https://www.cnblogs.com/linuxprobe/p/5381538.html
基础:https://blog.csdn.net/qq_43412528/article/details/120647692?spm=1001.2014.3001.5506
LVM
[[ 概念 ]]
[ PV -> VG -> LV]
[ 物理卷 -> 卷组 -> 逻辑卷 ]
[
PE(Physical Extend) 物理拓展
PV(Physical Volume) 物理卷
VG(Volume Group) 卷组
LV(Logical Volume) 逻辑卷
]
1、创建新的LVM
(1) 对磁盘分区、格式化
如果使用整个磁盘作为PV时,可不对磁盘分区 直接下一步,如pvcreate /dev/sdc
(2) 创建PV (转换为pv)
pvcreate 分区名
(3) 创建VG 组
vgcreate 卷组名 关联的分区
(4) 创建LV 逻辑卷、格式化LV逻辑卷
lvcreate -L 大小 -n 逻辑卷名
(5) mount到需要的挂载点
(6) 示例
[示例:[[分区]]
root@pc2:~# fdisk /dev/sdb
Command (m for help): n [新建分区]
Partition number (1-4, default 2): [默认]
First sector (10487808-41943039, default 10487808): [默认 (起始扇区)]
Last sector, +/-sectors or +/-size{K,M,G,T,P} (10487808-41943039, default 41943039): [+5G/默认/或根据大小 (结束扇区)]
Command (m for help): t [ 转换分区格式 ]
Partition number (1,2, default 2): 2 [选择要转换的分区]
Hex code (type L to list all codes): 8e [ 8e Linux LVM ]
Command (m for help): w [保存]
root@pc2:~# fdisk -l
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 10487807 10485760 5G 8e Linux LVM
/dev/sdb2 10487808 41943039 31455232 15G 8e Linux LVM
mkfs.ext4 /dev/sdb1 [格式化]
mkfs.ext4 /dev/sdb2 [格式化]
]
[[[创建PV]]
root@pc2:pvcreate /dev/sdb1
root@pc2:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 5.00g 5.00g
[[创建vg]]
root@pc2:~# vgcreate vg_0 /dev/sdb1
root@pc2:~# vgs
VG #PV #LV #SN Attr VSize VFree
vg_0 1 0 0 wz--n- <5.00g <5.00g
[[创建lv]
root@pc2:lvcreate -L 2G -n lv_0
root@pc2:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_0 vg_0 -wi-a----- 2.00g
root@pc2:~# mkfs.ext4 /dev/vg_0/lv_0
root@pc2:~# mount /dev/vg_0/lv_0 /usr/lvm_tt/
]
2、扩展现有LVM
注意:灵活运用,看实际情况,注意顺序 (支持在线操作)
(0) 空闲磁盘、新磁盘格式化、创建pv等同上。
(1) 扩展PV :vgextend vg名 新增pv路径
(2) 扩展逻辑卷:lvextend -L 扩展量 lv完整路径
lvextend -l +百分比FREE /dev/vg_0/lv_0
(3) 刷新文件系统:resize2fs lv完整路径 (或者上一步,加上选项[ -r ])
[示例: root@pc2:~# vgextend vg_0 /dev/sdb2
root@pc2:~# lvextend -L +10G /dev/vg_0/lv_0
fdisk -l 或 lvs 查看lv大小变化
root@pc2:~# resize2fs /dev/vg_0/lv_0
df -h 查看扩展后大小 ]
[示例:
root@pc2:~# vgextend vg_0 /dev/sdb2
root@pc2:~# lvextend -l +100%FREE /dev/vg_0/lv_0 -r (全部空闲区域添加到lv_0)
root@pc2:~# vgs
VG #PV #LV #SN Attr VSize VFree
vg_0 2 1 0 wz--n- 19.99g 0
]
[示例:扩展整个磁盘到lv
root@msos:~# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg_0-lv_0 ext4 20G 47M 19G 1% /usr/lvm_tt
root@msos:~# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.
root@msos:~# vgextend vg_0 /dev/sdc
Volume group "vg_0" successfully extended
root@msos:~# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg_0 lvm2 a-- <5.00g 0
/dev/sdb2 vg_0 lvm2 a-- <15.00g 0
/dev/sdc vg_0 lvm2 a-- <20.00g <20.00g
root@msos:~# lvextend -l +100%FREE /dev/vg_0/lv_0 -r
root@msos:~# df -hT
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg_0-lv_0 ext4 40G 48M 38G 1% /usr/lvm_tt
]
3、缩减分区
对于根分区等关键分区,慎用
=======================常用命令=============================
1、查看:
pes、pedisplay 查看pe的大小(pes==pescan)
pvs、pvdisplay 查看物理卷
vgs、vgdisplay、 查看卷组
lvs、lvdisplay、 查看逻辑卷
fdisk -L 查看磁盘分区
2、创建:
pvcreate 设备路径 创建物理卷
vgcreate 名字 pv路径 创建卷组
lvcreate -n 名字 -L 大小 vg名 创建逻辑卷
格式化:mkfs.ext4 lv完整路径 格式化逻辑卷(mkfs.文件系统格式或-t 文件系统格式)
挂载:mount lv完整路径 挂载点 挂载使用(可以使用/etc/fstab或autofs)
3、逻辑卷删除:
1.卸载:umount
2.删lv:lvremove lv完整路径
3.删vg:vgremove vg名
4.删PV:pvremove 设备完整路径 去硬盘
4、逻辑卷扩展:
5、逻辑卷的缩小:
1.首先进行卸载 umount 检查文件系统:e2fsck -f lv完整路径
2.减少文件系统:resize2fs lv完整路径 减少到的大小
3.减少lv卷大小:lvreduce -L -减少量的大小 lv的完整路径
4.挂载使用
减小需谨慎,文件系统的减小后大小一定要和lv卷最终大小相等
参考文档:
https://www.cnblogs.com/linuxprobe/p/5381538.html
https://blog.csdn.net/qq_43412528/article/details/120647692?spm=1001.2014.3001.5506