centos7 磁盘合并

centos7 磁盘合并在服务器维护中很少用到,如果操作失误,很容易造成数据丢失,所以建议在进行centos7 磁盘合并前,先备份数据到服务器之外的位置.

我的情况是系统盘只有10G,很快占满了.只能把数据盘合并到系统盘来使用.数据盘是挂载过的(相关文章<Centos7磁盘挂载>),需要取消挂载操作,再格式化一下,进行合并.

如果情况不一样,可以参考来看本文.

一. 先看一下整个过程的命令

df -Th
fdisk -l
fdisk /dev/xvdb
df -hal
df -Th
mkfs.ext3 /dev/xvdb1 

pvcreate /dev/xvdb1 
lvdisplay
vgextend centos /dev/xvdb1 
vgdisplay
lvresize -L +9.5G /dev/centos/root
resize2fs /dev/centos/root (或者xfs_growfs /dev/centos/root)
df -hal

 

二. 然后分命令进行说明.

2.1 基础命令

df -TH 查看磁盘大小

fdisk -l 查看机器所挂硬盘个数及分区情况

2.2 如果第二磁盘未进行分区就要进行分区格式化操作

fdisk /dev/xvdb对数据盘进行分区。根据提示,依次输入 n,p,1,两次回车,wq,分区就开始了。(下面附一张网上找来的图片)

df -hal查看详细磁盘空间使用情况
df -Th
mkfs.ext3 /dev/xvdb1 格式化分区

如果之前格式化过磁盘并挂载过,只需要取消挂载就行,不需要进行以上步骤.

附取消挂载方法

打开/etc/fstab 删除对应的挂载语句即可,然后reboot

2.3 然后我们把分区合并到磁盘,进行以下多步操作

pvcreate /dev/xvdb1 创建物理卷
lvdisplay 显示逻辑卷属性,记住这里看到的VG Name 和 LV Name
vgextend centos /dev/xvdb1 将创建的物理卷加入到准备合并的磁盘所在的VG Name的组中,这里是centos
vgdisplay 显示LVM卷组的信息(查看物理卷及空间情况)
lvresize -L +9.5G /dev/centos/root  调整逻辑卷空间大小,其中路径中的centos是VG Name,root是LV Name,上面lvdisplay命令获取到的信息,这里的9.5G大小是/dev/xvdb1的大小9.8G的一部分,不要全部用完.
resize2fs /dev/centos/root (或者xfs_growfs /dev/centos/root)  动态扩容分区大小,如果resize2fs命令失败,请使用xfs_growfs
df -hal

 

最后记得reboot

如果没出错,就可以看到磁盘合并的效果了.