# 基本概念
参考资料:
# LVM含义
LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
# 物理卷
物理卷(Physical Volume,PV),指的是磁盘分区,也可以是整个硬盘或已创建的软RAID,是LVM的基本存储设备。使用pvdisplay或pvscan来查询物理卷列表。
# 卷组
卷组(Volume Group,VG),由一个或多个物理卷所组成的存储池,在卷组上能创建一个或多个逻辑卷。使用vgdisplay或vgscan来查看卷组。
# 逻辑卷
类似于非LVM系统中的硬盘分区,建立在卷组之上,是一个标准的块设备,在逻辑卷上可以建立文件系统。使用lvdisplay或lvscan来查看逻辑卷的列表。
# 相互关系
PV可比作地球的一个板块,VG则是一个地球,我们可以在意识上把一个区域划分成亚洲欧洲美洲,他们就是LV。
# 相应场景
# 硬盘扩容
虚拟机linux系统硬盘容量不够,如何扩容?
先在virtualbox或vmware中添加物理内存:
进入linux系统,输入下面命令查看目前硬盘状况。
fdisk -l
发现物理内存已经扩充,但是并没有添加到分区里面。现在fdisk /dev/sda来进行操作:
- 输入F来查看空闲空间的起始和结束扇区。
- 输入n来增加一个分区,输入p来增加primary类型硬盘。
- 提示输入起始扇区,输入按F查看的起始扇区数,同样结束扇区也是输入查看得到结束扇区。
- 再按F来查看空余空间,如果显示下面这样就OK。
Unpartitioned space /dev/sda: 0 B, 0 bytes, 0 sectors
- 输入wq,保存分区表并退出。
使用fdisk -l会发现已经有sda3,并且分配好了空间,现在把这部分空间扩展到已有空间中。
- 给sda3创建物理卷:pvcreate /dev/sda3。
- 使用vgscan来查询逻辑卷名称。
- 将sda3的物理卷加入当前物理卷:使用vgextend 物理卷 /dev/sda3 来扩容当前物理卷。
vgextend debianDevEnv-vg /dev/sda3
- 扩展已有逻辑分区:使用lvextend -L +29.77G 要扩容的逻辑分区名。
lvextend -L +29.77G /dev/debianDevEnv-vg/root
使用改vg所有剩余空间扩容:
lvextend -l +100%FREE /dev/vgdata/lv_data - 对文件系统扩容:使用xfs_growfs 要扩容的逻辑分区名 或者 resize2fs –f 要扩容的逻辑分区名来进行扩展。
resize2fs -f /dev/debianDevEnv-vg/root
xfs_growfs /dev/debianDevEnv-vg/root - 使用df -h确认已经增加分区容量。
# 增加硬盘
在Hyper-V中增加一块4t硬盘。注意优化参数:
New-VHD -Path C:\MyVHDs\test.vhdx -SizeBytes 4096GB -Dynamic -BlockSizeBytes 1MB
mkfs.ext4 -G 4096 /dev/sdX1fdisk -l发现已经增加了一块硬盘需要格式化。因为该硬盘超过2t,故使用parted分区。
parted /dev/sdb p # 查看有几个分区 # 改成gpt格式,mbr最多支持2T mklabel gpt mkpart primary ext4 2048s 100% # 开始分区 #mkpart #sdb1 #ext4 #0 #4398GB #Ignore
1
2
3
4
5
6
7
8
9
10
11
12到此上面的sdb1分区可以挂载使用了,但是担心以后数据盘不够用,所以把它LVM化。
- apt install lvm2
- 建立PV:
pvcreate /dev/sdb1
- 建立vg:
vgcreate vg_data /dev/sdb1
- 创建lv:
lvcreate -L 大小 -n lvName VGName
lvcreate -L 4000G -n maindata vg_data
lvcreate -l 100%VG -n maindata vg_data
lsblk - 格式化lv:
mkfs -t ext4 -G 4096 /dev/vg_data/maindata
- 挂载lv:
mount /dev/vg_data/maindata /root/maindata
df -h /maindata - 放在fstab中:
/dev/vg_data/maindata /root/maindata ext4 defaults 0 0
# 常用命令
df -h:查看系统文件系统使用情况。
物理卷操作(不常用):pvscan、pvdisplay、pvcreate
卷组操作:vgscan(扫描)、vgdisplay(显示)、vgcreate、vgremove、vgextend(扩容)
逻辑卷操作:lvscan、lvdisplay、lvcreate、lvremove、lvextend
查看逻辑卷的类型:
lsblk -f blkid /dev/mapper/<逻辑卷名称>
1
2