linux(ubuntu/centos/debian等)磁盘扩容教程

内容目录

本方法 甲骨文云 阿里云 谷歌云 AWS 各linux版本在线扩容也适用

案例1 vmware安装ubuntu24.04

默认根目录19G 扩容到sda3的38G

root@nginx:~# df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              193M  1.3M  191M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   19G  4.3G   14G  25% /
tmpfs                              960M     0  960M   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G   95M  1.7G   6% /boot
tmpfs                              192M   12K  192M   1% /run/user/1000
root@nginx:~# lsblk
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0   40G  0 disk 
├─sda1                      8:1    0    1M  0 part 
├─sda2                      8:2    0    2G  0 part /boot
└─sda3                      8:3    0   38G  0 part 
  └─ubuntu--vg-ubuntu--lv 252:0    0   19G  0 lvm  /
sr0                        11:0    1 1024M  0 rom  

你可以通过以下步骤来扩展根目录挂载的逻辑卷 /dev/mapper/ubuntu--vg-ubuntu--lvsda3 的最大可用容量:

  1. 查看磁盘空间:
    确认 sda3 上的逻辑卷所在卷组有足够的空间来扩展。你可以使用 vgdisplay 命令来检查卷组的信息,例如剩余的物理空间。

    vgdisplay ubuntu-vg
  2. 扩展逻辑卷:
    假设你的卷组 ubuntu-vg 有足够的空闲空间,你可以使用以下命令将逻辑卷扩展到最大容量:

    lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

    这会将逻辑卷 ubuntu--lv 扩展至所有可用空间。

  3. 扩展文件系统:
    扩展逻辑卷后,你需要扩展文件系统以使用新的空间。对于大多数现代系统,根文件系统通常是 ext4,你可以使用以下命令扩展它:

    resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

    这个命令会自动调整文件系统的大小以适应扩展后的逻辑卷。

  4. 检查扩容结果:
    完成后,你可以通过 df -h 检查根目录是否成功扩展到新空间。

以上步骤假设你在使用 LVM(逻辑卷管理)。如果一切正常,根目录的可用空间应该会增加。

案例2 ubuntu20.04 data目录扩容

root@eucnxia-nux003:~# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0                       7:0    0   104M  1 loop /snap/core/16928
loop1                       7:1    0  55.4M  1 loop /snap/core18/2846
loop2                       7:2    0  63.7M  1 loop /snap/core20/2434
loop3                       7:3    0  55.4M  1 loop /snap/core18/2855
loop4                       7:4    0  46.9M  1 loop /snap/git-repo/18
loop5                       7:5    0  73.9M  1 loop /snap/core22/1748
loop6                       7:6    0 104.2M  1 loop /snap/core/17200
loop7                       7:7    0  63.8M  1 loop /snap/core20/2496
loop8                       7:8    0  73.9M  1 loop /snap/core22/1722
loop9                       7:9    0  91.9M  1 loop /snap/lxd/29619
loop10                      7:10   0  44.5M  1 loop /snap/snapd/23771
loop11                      7:11   0  44.4M  1 loop /snap/snapd/23545
loop12                      7:12   0  91.9M  1 loop /snap/lxd/24061
sda                         8:0    0    60G  0 disk 
├─sda1                      8:1    0     1M  0 part 
├─sda2                      8:2    0     1G  0 part /boot
└─sda3                      8:3    0    59G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:1    0    59G  0 lvm  /
sdb                         8:16   0   1.3T  0 disk 
└─sdb1                      8:17   0   1.3T  0 part 
  └─data--vg-data--lv     253:0    0  1024G  0 lvm  /data
sr0                        11:0    1  1024M  0 rom 
root@eucnxia-nux003:~# vgdisplay data-vg
  --- Volume group ---
  VG Name               data-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               1.29 TiB
  PE Size               4.00 MiB
  Total PE              338943
  Alloc PE / Size       262143 / <1024.00 GiB
  Free  PE / Size       76800 / 300.00 GiB
  VG UUID               sKIk2S-hGcT-5AcS-72tj-a8TU-2nFM-XPPJDH

root@eucnxia-nux003:~# lvextend -l +100%FREE /dev/data-vg/data-lv
  Size of logical volume data-vg/data-lv changed from <1024.00 GiB (262143 extents) to 1.29 TiB (338943 extents).
  Logical volume data-vg/data-lv successfully resized.
root@eucnxia-nux003:~# resize2fs /dev/data-vg/data-lv
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/data-vg/data-lv is mounted on /data; on-line resizing required
old_desc_blocks = 128, new_desc_blocks = 166
The filesystem on /dev/data-vg/data-lv is now 347077632 (4k) blocks long.

root@eucnxia-nux003:~# df -h /data
Filesystem                     Size  Used Avail Use% Mounted on

命令解析

/data 目录挂载在 data--vg-data--lv 这个 LVM 逻辑卷上,而你的 sdb 硬盘有 1.3T 空间,但目前 data--vg-data--lv 只分配了 1024G(1T)。可以通过 LVM 扩容来增加 /data 目录的空间。以下是步骤:

1. 检查当前 LVM 逻辑卷和空闲空间

先确认 data-vg 卷组是否还有空闲空间:

vgdisplay data-vg

如果 Free PE / Size 还有剩余空间,则可以直接扩展逻辑卷。如果没有,则需要扩展卷组(假设 sdb1 没有完全分配)。

2. 扩展逻辑卷

假设 data-vg 还有空闲空间,比如 300G,你可以运行:

lvextend -L+300G /dev/data-vg/data-lv

如果想用完所有可用空间:

lvextend -l +100%FREE /dev/data-vg/data-lv

3. 扩展文件系统

如果 /data 使用的是 ext4,运行:

resize2fs /dev/data-vg/data-lv

如果使用的是 xfsdf -T /data 查看),运行:

xfs_growfs /data

4. 确认扩容成功

df -h /data

检查是否增加了 /data 目录的容量。

如果 data-vg 没有足够的空闲空间,可以先扩展 sdb1 分区,然后运行:

pvresize /dev/sdb1

再按照上面的步骤扩展逻辑卷和文件系统。

参考https://cloud.tencent.com/developer/article/1987531

原文

甲骨文创建实例时候,引导卷默认是49G。

按照甲骨文最近的免费规则,引导卷200GB免费,那么我们将49G引导卷扩容

找到:计算—实例—你的当前实例—-引导卷—分离—-编辑 设置大小为上限

提示需要重建分区表才能识别大小
 甲骨文给了文档

官方文档: https://docs.oracle.com/de-de/iaas/Content/Block/Tasks/extendingbootpartition.htm

文档看着一头雾水,索性放弃,根据MJJ的教程走一波

重建分区表
 安装所需软件
 Debian/Ubuntu
 apt -y install cloud-guest-utils gdisk
 Centos/Oracle
 yum install cloud-guest-utils gdisk

 调整分区表
 不一定是 3,df -hl 看下容量最多的区是多少就写几,例如:/dev/sda2 ,就是growpart /dev/sda 2
 growpart /dev/sda 3
 如果报错: unexpected output in sfdisk –version [sfdisk,来自 util-linux 2.23.2]
 执行下面这句修复,之后再执行 growpart /dev/sda 3
 LANG=en_US.UTF-8

 扩展文件系统
如果使用的是 ext4 文件系统:
 resize2fs /dev/sda3
如果使用的是 xfs 文件系统:
 xfs_growfs /

 查看是否生效
 df -h

 

发表回复

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