解决linux磁盘扩容大全:新增磁盘原磁盘扩容home分区root分区扩容(代码片段)

太阳花先生可爱多 太阳花先生可爱多     2023-04-08     570

关键词:

一、背景

        linux使用中经常遇到磁盘空间不足,需要对磁盘进行扩容。根据自己的经验进行归纳整理,多种场景,帮助需要者和备查

本文执行的命令,均在centos7 环境下运行的,其他环境思路和相似,命令基本一致。

分区情况说明:

sda是单独的一块磁盘总大小50G,sda1、sda2是两个分区,sda2下面有三个逻辑分区centos-root 、centos-home、centos-swap (df命令时可以看到的挂载点); 

centos-root 对应的挂载点是 根目录

centos-home对应的挂载点是 /home

卷组名称为centos (通过pvdisplay查看

[root@vm-210 templates]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   50G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   49G  0 part 
  ├─centos-root 253:0    0   40G  0 lvm  /
  ├─centos-home 253:1    0    7G  0 lvm  /home
  └─centos-swap 253:2    0    2G  0 lvm  [SWAP]
[root@vm-210 templates]# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda2
  #卷组名称  
  VG Name               centos
  PV Size               <49.00 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              12543
  Free PE               1
  Allocated PE          12542
  PV UUID               1Fpioh-HkxD-f4Pd-78An-on4A-vGS1-B9UXr4

二、场景

出现以下问题参考文章:http://t.csdn.cn/cbViW

扩容磁盘不显示扩容后的磁盘或者磁盘大小两种情况:
                情况一:修改原来磁盘大小
                情况二:新增磁盘

场景一:将centos-home分区移动到根分区centos-root

        由于分区时,centos-home分区空间非常大,centos-root分区非常小,需要删除centos-home分区,扩容到centos-root分区

操作思路括号中是用到的命令):

  1. 先备份/home下文件
  2. 卸载(umount) /home (注意:卸载不掉时,请将所有使用/home的进程关闭  参考http://t.csdn.cn/cbViW
  3. 从逻辑卷中删除(lvremove)  home 分区
  4. 扩展:将腾出的空间扩展(lvextend)到 centos-root分区下
  5. 使扩展生效(xfs_growfs
  6. 注释掉fstab中的启动挂载项
  7. 恢复备份数据到/home 下

详细代码如下:

#!/bin/bash
#【功能】 将centos-home分区的空间移动到根centos-root分区下

#1.先备份 /home下文件: 将/home下的所有内容备份到/backup下,下面的命令自动创建/backup目录
mkdir /backup && mv /home/*  /backup

# 2.卸载 centos-home 
umount /home 
   ##  如提示失败则用下面的命令终止/home 分区下的进程 再进行卸载
   ##  fuser 安装方法  yum install -y psmisc
   ##  fuser -m -v -i -k /home
   ##  判断是哪个进程占用了此目录,请kill掉那个进程也可以

# 3.从逻辑卷中删除(lvremove)  centos-home 分区
echo y|lvremove /dev/mapper/centos-home 

# 4.扩展:将腾出的空间扩展(lvextend)到 centos-root分区下
lvextend -l+100%FREE /dev/mapper/centos-root 

# 5.使扩展生效(xfs_growfs)
xfs_growfs /dev/mapper/centos-root 

# 6.注释掉fstab中的启动挂载项
sed -i 's;/dev/mapper/centos-home;#/dev/mapper/centos-home;g' /etc/fstab 

# 7.恢复 原来home下的数据 并删除/backup
mv /backup/* /home  && rm -rf /backup

# 8.查看
df -H

说明:

        思路是一样的,如果是其他分区,请修改里面的分区目录即可

场景二:新增磁盘扩容到根目录或者home下

        磁盘空间不足,新增加了一块硬盘的场景。此处举例新增的一块磁盘名称为/dev/sdb

操作思路括号中是用到的命令):

  1. 查看磁盘情况(lsblk、fdisk -l、pvdisplay)
  2. 创建物理卷(pvcreate
  3. 将磁盘扩展到卷组(vgextend
  4. 扩展逻辑分区(lvextend
  5. 使扩展生效(xfs_growfs
  6. 查看(df -H
# 1.查看磁盘情况(lsblk、fdisk -l、pvdisplay)
lsblk

# 2.创建物理卷(pvcreate)
pvcreate /dev/sdb

# 3.将磁盘扩展到卷组(vgextend)
vgextend centos /dev/sdb

# 4.扩展逻辑分区(lvextend)
#   根据自己的情况选择扩容到centos-root
#                      还是centos-home逻辑分区,请修改注释
# 100%是将所有的磁盘空间扩容到指定分区,也可以根据需要进行调整比例
#      也支持指定大小比如10G等等(指定固定值时参数-l需要修改为-L)
lvextend -l+100%FREE /dev/mapper/centos-root
#lvextend -l+100%FREE /dev/mapper/centos-home

# 5.使扩展生效(xfs_growfs)根据扩容的分区进行选择使用
# xfs_growfs /dev/mapper/centos-home
xfs_growfs /dev/mapper/centos-root

# 6.查看(df -H)
df -H

    场景三:在原始磁盘上增加空间(常在虚拟化环境中)

        虚拟化或者超融合环境中、或者VMware虚拟机中;磁盘空间不足,增加了已有磁盘的大小的场景,把增加的空间扩容到根目录或者centos-home下。

操作思路括号中是用到的命令):

方法一:fdisk进行分区,操作步骤与场景二基本一样,多了一步分区

  1. 查看磁盘情况(lsblk、fdisk -l、pvdisplay)
  2. 创建分区(fdisk 磁盘名称)
  3. 创建物理卷(pvcreate
  4. 将磁盘扩展到卷组(vgextend
  5. 扩展逻辑分区(lvextend
  6. 使扩展生效(xfs_growfs
  7. 查看(df -H

方法二:用parted命令调整大小

  1. 查看磁盘情况(parted /dev/sda  print free)
  2. 分配剩余的可用空间(parted /dev/sda resizepart 2 100%
  3. 刷新物理卷(pvresize /dev/sda2
  4. 扩展逻辑分区(lvextend
  5. 使扩展生效(xfs_growfs
  6. 查看(df -H

 方法一:fdisk进行分区,操作步骤与场景二基本一样,多了一步分区

# 1.创建分区(fdisk)
fdisk  /dev/sda
#在进入命令环境中,按n键  一路按回车,最后一步按w键保存,最后按q键退出

# 2.创建物理卷(pvcreate) sda3根据第一步中创建的分区名称进行替换
pvcreate /dev/sda3

# 3.将磁盘扩展到卷组(vgextend)  sda3根据第一步中创建的分区名称进行替换
vgextend centos /dev/sda3

# 4.扩展逻辑分区(lvextend)
#   根据自己的情况选择扩容到centos-root
#                      还是centos-home逻辑分区,请修改注释
# 100%是将所有的磁盘空间扩容到指定分区,也可以根据需要进行调整比例
#      也支持指定大小比如10G等等(指定固定值时参数-l需要修改为-L)
lvextend -l+100%FREE /dev/mapper/centos-root
#lvextend -l+100%FREE /dev/mapper/centos-home

# 5.使扩展生效(xfs_growfs)根据扩容的分区进行选择使用
# xfs_growfs /dev/mapper/centos-home
xfs_growfs /dev/mapper/centos-root

# 6.查看(df -H)
df -H

   方法二:用parted命令调整大小

举例:系统只有一个磁盘,2个分区:需要将新扩容的磁盘空间扩容到分区2上,下图中number 为2的,实际上对应的是/dev/sda2

[root@vm-210 templates]# parted /dev/sda  print free
Model: ATA QEMU HARDDISK (scsi)
Disk /dev/sda: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
        32.3kB  1049kB  1016kB           Free Space
 1      1049kB  1075MB  1074MB  primary  xfs          boot
 2      1075MB  53.7GB  52.6GB  primary               lvm
方法二:用parted命令进行操作

#1. 查看磁盘情况:打印可用空间
parted /dev/sda  print free

#2.分配剩余的可用空间
#将剩余的可用空间分配到 /dev/sda2,根据实际修改磁盘
# resizepart 中的2 只的是第二个分区即:/dev/sda2 
#             100% 将所有的空闲空间分配给/dev/sda2,也可以用单位和百分比
parted /dev/sda resizepart 2 100%

# 3.刷新物理卷
#分区的空间修改了,也要刷新一下pv物理卷的大小,这样pv才能识别变动的空间
pvresize /dev/sda2

# 4.查看物理卷是否变化
#查看pv中free 项中是否显示了可用的空间
pvdisplay

# 5.扩展逻辑分区
#开始增加到逻辑卷中
lvextend -l+100%FREE /dev/mapper/centos-root

# 6.使扩展生效(xfs_growfs)
xfs_growfs /dev/mapper/centos-root

# 7.查看(df -H)
df -H

三、总结

        自己在工作中遇到磁盘扩容的问题进行了汇总。按照我的命令可以一步一步执行,如果还想进行了解更深,需要了解什么是物理卷(pv)、逻辑卷、逻辑分组、逻辑分区等等。
       

linux操作系统系列:通过新增磁盘对lvm文件系统扩容

...成以后进行了模板转换,在安装的时候默认规划了150GB的磁盘空间,但是现在业务系统需要500GB左右的磁盘空间,经过查看发现原来的文件系统为LVM,这样扩容起来就比较方便了,操作系统版本查看如下:扩容步骤:通过模板部... 查看详情

linux扩容/磁盘不能在同一块盘上吗

参考技术ALinux磁盘扩容三种方式Linux在使用过程中由于数据量不断增大,导致磁盘空间不足,需要增加磁盘空间,主要有以下三种方式1、直接给/分区(或者某一分区)扩容,直接在原有磁盘上增大空间2、给虚拟机新增一块磁盘... 查看详情

linux下非逻辑卷扩容之新增盘扩容(代码片段)

...上有数据的时候,如何扩容呢?因为扩容只能是磁盘type为逻辑卷lvm才可以。新增数据盘创建逻辑卷分区后在将原分区创建逻辑卷之后再合并。我们今天就来测试一下。添加硬盘添加两块磁盘查看分区情况我们看到新添加... 查看详情

linux挂载磁盘以及扩容主分区(代码片段)

...化,就需要通过购买新的硬盘来进行挂载和扩容主分区以解决问题。本文主要介绍linux系统磁盘分区、挂载以及扩容主分区的具体操作步骤。linux挂载磁盘以及扩容主分区*:first-childmargin-top:0!important;body>*:last-child 查看详情

linux磁盘挂载和扩容。

扩容:1、磁盘分区[[email protected]~]#fdisk/dev/vdaWARNING:DOS-compatiblemodeisdeprecated.It‘sstronglyrecommendedtoswitchoffthemode(command‘c‘)andchangedisplayunitstosectors(command‘u‘).Command(mforhelp) 查看详情

linux扩容磁盘分区容量

...考技术A环境:centos7一、首先在vmwareESXI管理界面扩容主机磁盘容量,原来是500G库容至700G,扩容后需要重启系统,否则认不到磁盘容量;二、查看当前分区情况,卸载当前挂载目录三、用fidsk-l删除分区表、重建分区;四、扩容系... 查看详情

qcow2磁盘在线扩容方法

qcow2磁盘在线扩容方法-zlzlnet-博客园qcow2磁盘在线扩容方法直接扩展现有qcow2格式磁盘大小的方法注:对应虚拟机的分区为vda,虚拟机系统为centos71.查看磁盘文件信息,进行扩展新增磁盘容量大小20G对比后发现https://www.cnblogs... 查看详情

kvm之xfs磁盘扩容(代码片段)

1、前言根据目前我们使用的需求,以前规划的100G磁盘空间不够,这里将演示XFS文件系统的扩容,因为我使用的是KVM所以也会演示KVM的扩容方式。2、KVM磁盘扩容扩容前一定要先备份,或者做快照,不要造成数据的损坏。[[email ... 查看详情

centos7xfs磁盘管理(格式化在线扩容)

centos7xfs磁盘管理(格式化、在线扩容)环境:centos7新增测试磁盘sdb:5G新增测试磁盘sdb:10G注意:分区新磁盘如果大于2T磁盘使用parted工具,并且使用xfs不支持缩减查看当前磁盘:#fdisk-l[[email protected] ~]# fdisk -l磁盘 ... 查看详情

vmwarecentos新增&amp;amp;扩容磁盘指导

参考技术AvMwareCentOS新增新磁盘磁盘常用命令:lvdisplay命令之后,可以得到以下2个lv信息:root和swap,一般扩容工作也就针对这两个lv卷。名字会因系统而不同,这里供参考:/dev/VolGroup/lv_root/dev/VolGroup/lv_swap>>扫描磁盘命令1)echo"--... 查看详情

windowsserver2019磁盘无法扩容

...新启动计算机,完成磁盘扩容。希望以上内容能够帮助您解决问题,谢谢!参考技术A近期做使用Windows系统作为备份的情况越来越多,但是显示无法扩容,提示如下原因是我们在初始创建磁盘的时候,选择默认分配单元大小(又... 查看详情

linux磁盘扩容-根目录

一、查看新添加的磁盘  二、分区  查看分区结果  创建物理卷  将添加新的物理卷,加载到centos卷组,使用vgextendcentos/dev/sdb1命令  增加/dev/mapper/centos-root大小,增加100G。使用lvresize-L+100G/dev/ma... 查看详情

阿里云磁盘扩容

进入ECS 控制台选择全部磁盘页或者本实例磁盘页在每一个磁盘条目的最后选择“更多”选择“磁盘扩容”,即可进入磁盘扩容操作页输入你希望扩容的目标大小(我输入40G)提交扩容订单,按量付费的磁盘在下一个计价单位... 查看详情

虚拟机ubuntu磁盘扩容(代码片段)

前言:        虚拟机Ubuntu使用过程中发现磁盘空间不足,需要对原有的虚拟硬盘进行扩容。        系统:Ubuntu16.04        原硬盘空间:80G        扩容后的空间:200G1.快照清除        右键ÿ... 查看详情

linux系统扩容根目录磁盘空间的操作方法(代码片段)

Linux系统扩容根目录磁盘空间的操作方法一、使用背景Linux根目录磁盘空间不够用了,当修改了虚拟机模版增加磁盘大小或者插入了一块新硬盘,但是发现系统里的大小还是没改变。产生的原因是没有给磁盘格式化,... 查看详情

超大磁盘在线扩容

超大磁盘在线扩容泸州老窖数据中心2018年11月目录1概述32配置要点33详细配置步骤配置要点33.1添加磁盘33.2建立磁盘分区33.3查看分区结果43.4创建物理卷43.5扩容到卷组53.6扩容逻辑卷53.7同步文件系统53.8确认扩容结果61概述通过使用... 查看详情

linux磁盘挂载和扩容(1)

参考技术A本章我们先介绍Linux服务器磁盘挂载,下期介绍Linux磁盘扩容问题。Linux磁盘挂载有两种情况1.小于2T磁盘挂载2.大于2T磁盘挂载下面我们分别介绍两种情况的挂载方式以下磁盘名称都以/dev/sdc为例挂载小于2T的磁盘也分两... 查看详情

lvm磁盘分区扩容

               ESXI添加硬盘并免重启扩展Linux虚拟机LVM手动在vCenter中将要扩充空间的Linux虚拟机添加一块50G的硬盘,过程略。接下来是在Linux中操作步骤:1、  查看SCSI... 查看详情