Linux中新建LVM分区
1.查看当前磁盘分区
# 列出所有分区表
fdisk -l

- 设备名称为 /dev/sda
- 设备大小为536.9G 这个数不准
- 53687091200 bytes:转换成字节大小 : 53687091200/1024/1024/1024=50GB (注:bytes=B,表示“字节”,bit=b,表示“位”)
- Units = 扇区 of 1 * 512 = 512 bytes : 因为每一个磁头都是在同一个柱面的,1标识每个磁道上的扇区数量,这两个数的乘积标识一个柱面省的扇区数量;所以1*512表示一个柱面的大小是512字节
- 扇区大小(逻辑/物理):512 字节 / 512 字节: 表示一个扇区大小是512字节
- 设备
/dev/sda有两个分区 分别是/dev/sda1和/dev/sda2,* 星号表示此分区为引导分区
2.查看分区和挂载情况
# 查看分区和挂载情况
lsblk

3.创建一个新的分区
fdisk /dev/sda
输入m指令获取帮助:

输入p指令列出分区表:

输入n指令新建分区:
- 选择
p创建主分区 - 分区号使用默认
- 起始扇区使用默认,结束扇区输入+100G 标识设置新分区大小为100G

此时输入p指令列出分区表,可以看到已经新建号了一个分区:

通过t指令指定分区类型,根据提示选择分区号和分区类型,这里分区类型选择8e,完成后输入p指令可以看到/dev/sda3的分区类型已将改为"Linux LVM"

最后输入w指令保存并退出fdisk

在这里可以看到在最后执行w指令的时候会发生警告:
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
此时执行fdisk -l命令可以看到系统单已经添加分区/dev/sda3,但是通过lsblk命令却看不到/dev/sda3


这时我们可以尝试刷新分区试试
partprobe /dev/sda
执行后在使用lsblk命令可以看到/dev/sda3了

此时新的LVM分区创建好了
4.创建PV,VG,LV
创建PV:
pvcreate /dev/sda3

查看已经存在的VG:
vgdisplay

可以看到已经存在一个VG: centos
新建VG: 这里新建VG: centos1
# vgcreate [vgName] /dev/sda3
vgcreate centos1 /dev/sda3

成功后再执行vgdisplay查看VG可以看到新建的VG:centos1

创建LV
# lvcreate -L 大小 -n lvName VGName
lvcreate -L 50G -n data centos1

创建成功后可以通过lvdisplay命令查看到新创建的LV

也可以通过lsblk命令看到/dev/sda3 下面新增了centos1-data

5.LV格式化及挂载
在Linux中,需要对LV进行格式化(使用mkfs进行格式化操作),然后LV才能存储资料
mkfs -t ext4 /dev/centos1/data

将格式化后的LV分区股灾在执行目录下,就可以像普通目录一样存储数据可
# 创建文件夹
mkdir /data
# 挂载LV
mount /dev/centos1/data /data
此时通过lsblk命令或者df -h /data都可以看到LV已经成功挂载

Linux扩展现有分区
1.查看已有分区
fdisk -l

2.创建主分区:
fdisk /dev/sda
#执行指令: p -->n-->p-->指定分区大小-->p-->t-->8e-->p-->w
# 退出fdisk命令后刷新分区
partprobe /dev/sda
此时查看分区结果:
fdisk -l

lsblk

3.创建物理卷
pvcreate /dev/sda4
查看结果
pvdisplay

4.扩展VG
vgextend centos /dev/sda4
查看VG
vgdisplay

5.为已存在的逻辑卷扩容
lvextend -L +10G /dev/centos/home
之后再通过lsblk查看/dev/centos/home容量已经增加:

最后执行
xfs_growfs /dev/centos/home
同步文件系统,结束后完成现有分区的扩容
补充说明
1. 扩容VG
vgextend命令 用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加。
语法:
vgextend(选项)(参数)
## 选项:
# -d:调试模式;
# -t:仅测试。
## 参数:
# 卷组:指定要操作的卷组名称;
# 物理卷列表:指定要添加到卷组中的物理卷列表。
#
# exp: vgextend centos1 /dev/sda4
2. 扩容LV
lvextend命令 用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。
语法:
lvextend(选项)(参数)
## 选项
# -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节;
# -l:指定逻辑卷的大小(LE数)。
## 参数
#逻辑卷:指定要扩展空间的逻辑卷。
#
# exp: lvextend -L +10G /dev/centos1/data
执行完lvextend后在执行resize2fs命令重设大小
# 扩展LV
lvextend -L +10G /dev/centos1/data
# 执行该重设大小,对于当前正在使用的/dev/centos1/data有效
resize2fs /dev/centos1/data
成功后可以通过lsblk或者df -h /data查看扩容后的容量
