Linux中新建LVM分区
1.查看当前磁盘分区
# 列出所有分区表
fdisk -l
image-20200906104032391
设备名称为 /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
image-20200906105955457
3.创建一个新的分区
fdisk /dev/sda
输入m指令获取帮助:
image-20200906110441372
输入p指令列出分区表:
image-20200906110557814
输入n指令新建分区:
选择p创建主分区
分区号使用默认
起始扇区使用默认,结束扇区输入+100G 标识设置新分区大小为100G
image-20200906111123065
此时输入p指令列出分区表,可以看到已经新建号了一个分区:
image-20200906111332206
通过t指令指定分区类型,根据提示选择分区号和分区类型,这里分区类型选择8e,完成后输入p指令可以看到/dev/sda3的分区类型已将改为"Linux LVM"
image-20200906111824905
最后输入w指令保存并退出fdisk
image-20200906112029741
在这里可以看到在最后执行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
image-20200906112559204
image-20200906112614372
这时我们可以尝试刷新分区试试
partprobe /dev/sda
执行后在使用lsblk命令可以看到/dev/sda3了
image-20200906112843131
此时新的LVM分区创建好了
4.创建PV,VG,LV
创建PV:
pvcreate /dev/sda3
image-20200906113503149
查看已经存在的VG:
vgdisplay
image-20200906113733165
可以看到已经存在一个VG: centos
新建VG: 这里新建VG: centos1
# vgcreate [vgName] /dev/sda3
vgcreate centos1 /dev/sda3
image-20200906114024518
成功后再执行vgdisplay查看VG可以看到新建的VG:centos1
image-20200906114159306
创建LV
# lvcreate -L 大小 -n lvName VGName
lvcreate -L 50G -n data centos1
image-20200906114818320
创建成功后可以通过lvdisplay命令查看到新创建的LV
image-20200906114913118
也可以通过lsblk命令看到/dev/sda3 下面新增了centos1-data
image-20200906115036867
5.LV格式化及挂载
在Linux中,需要对LV进行格式化(使用mkfs进行格式化操作),然后LV才能存储资料
mkfs -t ext4 /dev/centos1/data
image-20200906115407781
将格式化后的LV分区股灾在执行目录下,就可以像普通目录一样存储数据可
# 创建文件夹
mkdir /data
# 挂载LV
mount /dev/centos1/data /data
此时通过lsblk命令或者df -h /data都可以看到LV已经成功挂载
image-20200906115818856
Linux扩展现有分区
1.查看已有分区
fdisk -l
image-20200906132126406
2.创建主分区:
fdisk /dev/sda
#执行指令: p -->n-->p-->指定分区大小-->p-->t-->8e-->p-->w
# 退出fdisk命令后刷新分区
partprobe /dev/sda
此时查看分区结果:
fdisk -l
image-20200906132735101
lsblk
image-20200906132822936
3.创建物理卷
pvcreate /dev/sda4
查看结果
pvdisplay
image-20200906133051275
4.扩展VG
vgextend centos /dev/sda4
查看VG
vgdisplay
image-20200906133345032
5.为已存在的逻辑卷扩容
lvextend -L +10G /dev/centos/home
之后再通过lsblk查看/dev/centos/home容量已经增加:
image-20200906133606076
最后执行
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查看扩容后的容量
image-20200906121858263