Linux系统根目录新增磁盘扩容

文章目录
  • 概述
  • 增加扩容硬盘
  • 配置分区
  • 开始扩容
  • 核对验证
  • 概述

    正好有时间记录一下怎么对 Linux 根分区进行扩容,此方式适用于目前大多数虚拟化环境,如VMware \ KVM \ PVE \ Citrix\ 新华三 \ 深信服 \ 华为 \ 天融信 。。。等各厂家的虚拟机,物理服务器亦是同样的原理。

    为了更加直观,这里我使用了中文语言的Linux系统。

    增加扩容硬盘

    通过命令 df -h 观察当前磁盘占用情况。

    本次记录演示扩容50G。

    先关闭虚拟机,然后在VMware Workstation Pro的设置中选择添加一块新的硬盘。

    当然也可以在不关机的情况下增加硬盘,添加好硬盘之后在操作系统内执行以下命令即可发现新增加的硬盘,同时建议使用 “精简置备” 硬盘模式。

    ls /sys/class/scsi_host/
    echo "- - -" > /sys/class/scsi_host/host0/scan 
    echo "- - -" > /sys/class/scsi_host/host1/scan 
    echo "- - -" > /sys/class/scsi_host/host2/scan
    
    ls /sys/class/scsi_device/
    echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan 
    echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan

    配置分区

    随后通过命令 lsblk 可以发现多了一个分区 sda(原来只有nvme0n1)

    sda进行分区操作

    
    [root@localhost ~]# fdisk /dev/sda 
    
    欢迎使用 fdisk (util-linux 2.37.4)。
    更改将停留在内存中,直到您决定将更改写入磁盘。
    使用写入命令前请三思。
    
    设备不包含可识别的分区表。
    创建了一个磁盘标识符为 0x02c33d3c 的新 DOS 磁盘标签。
    
    命令(输入 m 获取帮助):n
    分区类型
       p   主分区 (0 primary, 0 extended, 4 free)
       e   扩展分区 (逻辑分区容器)
    选择 (默认 p):p
    分区号 (1-4, 默认  1): 
    第一个扇区 (2048-104857599, 默认 2048): 
    最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-104857599, 默认 104857599): 
    
    创建了一个新分区 1,类型为“Linux”,大小为 50 GiB。
    
    命令(输入 m 获取帮助):p
    Disk /dev/sda:50 GiB,53687091200 字节,104857600 个扇区
    磁盘型号:VMware Virtual S
    单元:扇区 / 1 * 512 = 512 字节
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x02c33d3c
    
    设备       启动  起点      末尾      扇区 大小 Id 类型
    /dev/sda1        2048 104857599 104855552  50G 83 Linux
    
    命令(输入 m 获取帮助):w
    分区表已调整。
    将调用 ioctl() 来重新读分区表。
    正在同步磁盘。
    

    再次观察发现有了sda1分区

    查看根分区的文件系统类型

    [root@localhost ~]# parted -l
    型号:VMware, VMware Virtual S (scsi)
    磁盘 /dev/sda:53.7GB
    扇区大小 (逻辑/物理):512B/512B
    分区表:msdos
    磁盘标志:
    
    编号  起始点  结束点  大小    类型     文件系统  标志
     1    1049kB  53.7GB  53.7GB  primary
    
    
    型号:VMware Virtual NVMe Disk (nvme)
    磁盘 /dev/nvme0n1:107GB
    扇区大小 (逻辑/物理):512B/512B
    分区表:msdos
    磁盘标志:
    
    编号  起始点  结束点  大小    类型     文件系统  标志
     1    1049kB  1075MB  1074MB  primary  xfs       启动
     2    1075MB  107GB   106GB   primary            lvm

    格式化sda1

    [root@localhost ~]# mkfs.xfs /dev/sda1
    meta-data=/dev/sda1              isize=512    agcount=4, agsize=3276736 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=1, sparse=1, rmapbt=0
             =                       reflink=1    bigtime=1 inobtcount=1
    data     =                       bsize=4096   blocks=13106944, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=6399, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none

    查看卷组信息(记住LV Path 和 VG Name)

    开始扩容

    创建pv并加入卷组

    [root@localhost ~]# pvcreate /dev/sda1
    WARNING: xfs signature detected on /dev/sda1 at offset 0. Wipe it? [y/n]: y
      Wiping xfs signature on /dev/sda1.
      Physical volume "/dev/sda1" successfully created.
    [root@localhost ~]# 
    [root@localhost ~]# vgextend rhel /dev/sda1 
      Volume group "rhel" successfully extended
    

    查看卷组信息 (记住Free PE)

    把所有空间分配给根分区

    [root@localhost ~]# lvextend -l +12799 /dev/rhel/root
      Size of logical volume rhel/root changed from 61.24 GiB (15678 extents) to <111.24 GiB (28477 extents).
      Logical volume rhel/root successfully resized.
    

    最后是文件系统的扩容

    [root@localhost ~]# xfs_growfs /dev/rhel/root 
    meta-data=/dev/mapper/rhel-root  isize=512    agcount=4, agsize=4013568 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=1, sparse=1, rmapbt=0
             =                       reflink=1    bigtime=1 inobtcount=1
    data     =                       bsize=4096   blocks=16054272, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
    log      =internal log           bsize=4096   blocks=7839, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 16054272 to 29160448
    

    核对验证

    可以见到,从原来的57GB扩容到了现在的107GB,扩大了50GB至根目录。

    0

    1. This post has no comment yet

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注

    使用DLVM本地部署DeepSeek(补充)
    使用DLVM本地部署DeepSeek(补充)
    Linux 6 张图
    Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
    Error response from daemon: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
    Linux 2 张图
    MySQL 30周年庆 OCP 认证免费
    MySQL 30周年庆 OCP 认证免费
    Linux 5 张图
    使用Kubeadm在Ubuntu 20.04中部署Kubernetes
    使用Kubeadm在Ubuntu 20.04中部署Kubernetes
    Linux 24 张图
    在Linux上安装和配置Squid代理服务器
    在Linux上安装和配置Squid代理服务器
    Linux 10 张图
    Wifipumpkin3 安装记录
    Wifipumpkin3 安装记录
    Linux 1 张图
    © 2025 诺诺博客如有侵权请联系删除 | 网站地图 | 百度统计 | 又拍云CDN加速
    为了获得更好的浏览效果 建议您使用IE8.0及以上版本浏览器登陆本站点 · 服务器托管于腾讯云