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
查看扩容后的容量