LVM磁盘扩容实战
前言
企业真实场景由于硬盘常年大量读写,由于磁盘空间不足,需添加调整硬盘空间或者新硬盘,新添加的硬盘需要经过格式化、分区才能被Linux系统所使用,虚拟机CentOS 7 Linux模拟LVM调整/根分区的容量大小的方法。不需要关机。
LVM扩容方法,是通过添加新的磁盘或者磁盘分区来建立新的PV,再将PV(Physical Volume)加入到VG(Volume group)中,从而扩大VG空间,再对相关的LV(Logical volume逻辑卷)进行扩容,最后增加文件系统空间完成整个扩容工作。这种方法比较适合使用本地存储的物理机,因为磁盘空间都是固定的,只能通过增加硬盘来增加磁盘空间,这种方法可以在线完成,无需停机重启。
查看Linux系统磁盘分区信息,df -h发现根分区才10GB,需要扩容到20GB,可以将/data分区压缩10G给/根分区使用,如图所示
执行df -Th查看磁盘分区文件系统格式,/和/data/均为XFS文件系统,如图所示:
XFS文件系统磁盘扩容,采用传统resize2fs指令压缩/data/分区空间,执行如下命令:resize2fs -p /dev/mapper/centos-data 60G,将其空间压缩成60GB,报错信息如下:(原因是XFS不支持直接动态Resize2FS缩容)
如果要缩小/data/目录空间,就需要对/data/分区重新格式化、重做,那么提前备份/data/目录数据,然后删除/data/ LVM信息。指令如下:
mkdir -p /tmp/`date +%F`
\cp -a /data/* /tmp/`date +%F`
umount /dev/mapper/centos-data
lvremove /dev/mapper/centos-data
释放了/data/分区的空间之后,此时可以直接给/根分区扩容了,直接设置为40GB和刷新空间,命令操作如下:
lvextend -L 20G /dev/mapper/centos-root
xfs_growfs /dev/mapper/centos-root
然后将剩余的空间继续划分给/data/分区,同时格式化,操作的方法和指令如下:
lvcreate -l +100%free -n data centos
mkfs.xfs /dev/mapper/centos-data
mount /dev/mapper/centos-data /data/
\cp -a /data/* /tmp/`date +%F`/* /data/
根据如上所有的方法和指令,根分区/空间扩容成功,执行df -h命令,如图所示:
1.1 LVM分区Linux磁盘扩容实战二
企业真实场景由于硬盘常年大量读写,由于磁盘空间不足,需添加调整硬盘空间或者新硬盘,新添加的硬盘需要经过格式化、分区才能被Linux系统所使用,虚拟机CentOS 7 Linux模拟LVM增加/根分区的容量大小的方法。不需要关机。
LVM扩容方法,是通过添加新的磁盘或者磁盘分区来建立新的PV,再将PV加入到VG中,从而扩大VG空间,再对相关的LV进行扩容,最后增加文件系统空间完成整个扩容工作。这种方法比较适合使用本地存储的物理机,因为磁盘空间都是固定的,只能通过增加硬盘来增加磁盘空间,这种方法可以在线完成,无需停机重启。
查看Linux系统磁盘分区信息,df -h发现根分区才40GB,需要扩容到60GB,可以将新添加的硬盘(20GB)空间给/根分区,如图所示:
执行df -Th查看磁盘分区文件系统格式,/根分区为XFS文件系统,如图所示:
添加完新硬盘之后,通过fdisk -l查看不到,需要执行如下指令,然后发现新硬盘设备名称为:/dev/sdb。
echo "- - -"> /sys/class/scsi_host/host0/scan
echo "- - -"> /sys/class/scsi_host/host0/scan
创建PV卷,命令操作如下:
pvcreate /dev/sdb
显示原Linux系统磁盘VG卷组,操作的方法和指令如下:
vgdisplay
将新的PV扩展进VG centos,命令操作如下,如图所示:
vgextend centos /dev/sdb
vgs
vgscan
将centos卷组上的root逻辑卷增加容量,命令操作如下,如图所示:
lvextend -l +100%free /dev/centos/root
xfs_growfs /dev/mapper/centos-root
根据如上所有方法和步骤,根分区/扩容完成,成功扩容到60GB,执行df -h指令,如图所示:
1.1LVM分区Linux磁盘扩容实战三
企业真实场景由于硬盘常年大量读写,由于磁盘空间不足,需添加调整硬盘空间或者新硬盘,新添加的硬盘需要经过格式化、分区才能被Linux系统所使用,虚拟机CentOS 7 Linux模拟LVM调整/根分区的容量大小的方法。不需要关机。
LVM扩容方法,是通过添加新的磁盘或者磁盘分区来建立新的PV,再将PV加入到VG中,从而扩大VG空间,再对相关的LV进行扩容,最后增加文件系统空间完成整个扩容工作。这种方法比较适合使用本地存储的物理机,因为磁盘空间都是固定的,只能通过增加硬盘来增加磁盘空间,这种方法可以在线完成,无需停机重启。
查看Linux系统磁盘分区信息,df -h发现根分区才20GB,需要扩容到40GB,可以将/data分区压缩20G给/根分区使用,如图所示:
执行df -Th查看磁盘分区文件系统格式,/和/data/均为EXT4文件系统,如图所示:
EXT4文件系统磁盘扩容,采用传统resize2fs指令压缩/data/分区空间,执行如下命令,将其空间压缩成60GB,如图所示:
umount /data/
e2fsck -f /dev/mapper/centos-data
resize2fs -p /dev/mapper/centos-data 60G
释放了/data/分区的空间之后,此时可以直接给/根分区扩容了,直接设置为40GB和刷新空间,命令操作如下:
lvreduce -L 60G /dev/mapper/centos-data
lvextend -l +100%free /dev/centos/root
resize2fs /dev/mapper/centos-root
根据如上所有的方法和指令,根分区/空间扩容成功,执行df -h命令,如图所示:
1.1LVM分区Linux磁盘扩容实战四
企业真实场景由于硬盘常年大量读写,由于磁盘空间不足,需添加调整硬盘空间或者新硬盘,新添加的硬盘需要经过格式化、分区才能被Linux系统所使用,虚拟机CentOS 7 Linux模拟LVM增加/根分区的容量大小的方法。不需要关机。
LVM扩容方法,是通过添加新的磁盘或者磁盘分区来建立新的PV,再将PV加入到VG中,从而扩大VG空间,再对相关的LV进行扩容,最后增加文件系统空间完成整个扩容工作。这种方法比较适合使用本地存储的物理机,因为磁盘空间都是固定的,只能通过增加硬盘来增加磁盘空间,这种方法可以在线完成,无需停机重启。
查看Linux系统磁盘分区信息,df -h发现根分区才40GB,需要扩容到60GB,可以将新添加的硬盘(20GB)空间给/根分区,如图所示:
执行df -Th查看磁盘分区文件系统格式,/根分区为EXT4文件系统,如图所示:
添加完新硬盘之后,通过fdisk -l查看不到,需要执行如下指令,然后发现新硬盘设备名称为:/dev/sdb。
echo "- - -"> /sys/class/scsi_host/host0/scan
echo "- - -"> /sys/class/scsi_host/host0/scan
创建PV卷,命令操作如下:
pvcreate /dev/sdb
显示原Linux系统磁盘VG卷组,操作的方法和指令如下:
vgdisplay
将新的PV扩展进VG centos,命令操作如下,如图所示:
vgextend centos /dev/sdb
vgs
vgscan
将centos卷组上的root逻辑卷增加容量,命令操作如下,如图所示:
lvextend -l +100%free /dev/centos/root
resize2fs /dev/mapper/centos-root
根据如上所有方法和步骤,根分区/扩容完成,成功扩容到60GB,执行df -h指令,如图所示:
1.1基于GPT格式磁盘分区
MBR分区标准决定了MBR只支持在2TB以下的硬盘,为了支持能使用大于2T硬盘空间,需使用GPT格式进行分区。创建大于2TB的分区,需使用parted工具。
在企业真实环境中,通常一台服务器有多块硬盘,整个硬盘容量为10T,需要基于GTP格式对10T硬盘进行分区,操作步骤如下:
如图7-12所示,假设/dev/sdb 为10T硬盘,使用GPT格式来格式化磁盘:
图7-12 假设/dev/sdb为10T设备
执行命令:parted -s /dev/sdb mklabel gpt,如图7-13所示:
图7-13 设置/dev/sdb为GPT格式磁盘
基于mkfs.ext3 /dev/sdb格式化磁盘,如图7-14所示:
图7-14 格式/dev/sdb磁盘
parted命令行也可以进行分区,如图7-15(a)、7-15(b)、7-15(c)所示:
图7-15(a)parted工具执行GPT格式分区
图7-15(b)parted工具执行GPT格式分区
图7-15(c) parted工具执行GPT格式分区
免责声明
本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本平台和发布者不为此承担任何责任。