Linux之逻辑卷的管理与创建(记不住就多敲几次)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux之逻辑卷的管理与创建(记不住就多敲几次)相关的知识,希望对你有一定的参考价值。

假定1,某公司因后续线上要业务拓展,在Linux服务器需要做可扩展分区,sdb 5G 和 sdc 10G (最后的vg用ext4文件系统类型 要求创建两个分区c1 4G和c2 6G) 系统上还有一块硬盘sda 200G 可用空间大约剩余100G,,当lvm卷空间不够用时,后续往里添加空间。如何实现?


注意事项,如果是xfs文件系统类型,只能实现扩展空间,不能实现缩减空间

1,查看分区详情

[Wed Mar 27 16:49
 [email protected] ~]$ lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0   50G  0 part /
├─sda3   8:3    0   30G  0 part /data
├─sda4   8:4    0  512B  0 part 
├─sda5   8:5    0    2G  0 part [SWAP]
└─sda6   8:6    0   44G  0 part 
sdb      8:16   0    5G  0 disk 
sdc      8:32   0   10G  0 disk 
sr0     11:0    1   10G  0 rom  
sr1     11:1    1  3.7G  0 rom  
[Wed Mar 27 16:49
 [email protected] ~]$ lsblk -f
NAME   FSTYPE  LABEL             UUID                                 MOUNTPOINT
sda                                                                   
├─sda1 xfs                       3f505604-afe5-47e7-b9aa-f978f9da273a /boot
├─sda2 xfs                       3887764a-0bd5-4125-a4a6-0dd8d23365ff /
├─sda3 xfs                       0c016dc7-e184-4a35-afef-c732bc9a2be8 /data
├─sda4                                                                
├─sda5 swap                      9aca7647-9117-4ec4-980f-8710e9da9e46 [SWAP]
└─sda6 xfs                       9d22c572-0007-4202-8134-c9a34610df38 
sdb                                                                   
sdc                                                                   
sr0    iso9660 CentOS 7 x86_64   2018-11-26-14-22-58-00               
sr1    iso9660 CentOS_6.10_Final 2018-06-29-11-20-20-00

2,在sdc上创建两个分区sdc1和sdc2
fdisk -l
n
p
回车
回车
+4G
t
8e
n
p
回车
回车
回车
t
回车
8e
w
新硬盘创建分区默认识别,否则使用partprobe同步分区信息(只针对centos7)
技术图片
3,创建pv,vg vg0,lv mysql
pvcreate /dev/sd{b,c1,c2}
vgcreate vg0 /dev/sd{b,c1,c2}
lvcreate -n mysql -L 10G vg0
mkfs.ext4 /dev/vg0/mysql
临时挂载到/mnt/mysql
mount /dev/vg0/mysql /mnt/mysql
如果要永久生效写到fstab中。
技术图片
技术图片
技术图片
4,如果lv的空间不够用了,而vg里还有空间,可以实现线上扩展空间,如下
先vgs看下还剩多少可扩展空间,然后全部加上

lvextend -r -L +4.98g /dev/vg0/mysql
(或者 )
lvextend -L +4.98g /dev/vg0/mysql | lvextend -l +100%free /dev/vg0/mysql
resize2fs /dev/vg0/mysql (ext系列)
xfs_growfs /dev/vg0/mysql (xfs系列)
技术图片
技术图片
如果继续又满了,那没办法,只能借助sda的剩余空间来进行vg空间扩展了。
添加sda7,分配5G空间,调整分区标识为8e,然后就是pvcreate vgextend lvextend 扩展成功。

fdisk /dev/sda
n
回车
+5G
t
7
8e
w
partprobe
pvcreate /dev/sda7
vgextend vg0 /dev/sda7
lvextend -r -L +5g /dev/vg0/mysql
技术图片

7,如何进行缩减lv呢?首先需要umount,然后考虑内部文件占用大小,数据有丢失风险,不建议缩减lv ,卸载后先检查文件系统,然后再进行缩减。缩减成功后再挂载上即可。
umount /mnt/mysql
e2fsck /dev/vg0/mysql
lvreduce -L -5G /dev/vg0/mysql
技术图片

以上是关于Linux之逻辑卷的管理与创建(记不住就多敲几次)的主要内容,如果未能解决你的问题,请参考以下文章

KMP模板

GNU/Linux下LVM配置管理以及快照卷物理卷卷组逻辑卷的创建和删除

Linux系统LVM逻辑卷的创建与扩容(命令详解,图文并茂)

Linux磁盘管理,使用LVM逻辑卷来管理我们的磁盘

Linux 逻辑卷逻辑卷的创建,扩展,缩减

磁盘管理之逻辑卷