虚拟磁盘扩容

一、

要扩展 /dev/mapper/cl - root 所在磁盘空间,以下是一般步骤:

确认可扩展的磁盘空间

如果是虚拟机,先在虚拟机设置中增加磁盘大小;如果是云服务器,通过云平台的控制台增加磁盘容量。

查看分区和逻辑卷信息

  • 使用 fdisk -l 命令查看分区情况,确认新增的磁盘设备名称,比如可能是 /dev/sdb 等。
  • 执行 lvs 命令查看当前的逻辑卷信息,明确 cl - root 所在的逻辑卷情况。

二、

创建物理卷

使用 pvcreate 命令将新增的分区创建成一个物理卷。例如,如果新增分区是 /dev/sdb,则执行 pvcreate /dev/sdb

扩展卷组

执行 vgextend 命令将新建的物理卷追加到名为 cl 的卷组(VG)上,命令为 vgextend cl /dev/sdb

扩展逻辑卷

使用 lvextend 命令扩展 /dev/mapper/cl - root 逻辑卷。可以指定具体扩展的大小,如 lvextend -L +10G /dev/mapper/cl - root 表示增加10G空间;也可以使用 lvextend -l +100%free /dev/mapper/cl - root 表示使用卷组中的所有剩余空间来扩展。

调整文件系统

如果文件系统是 XFS,执行 xfs_growfs /dev/mapper/cl - root 通知系统文件系统扩容;如果是 EXT 系列文件系统,使用 resize2fs /dev/mapper/cl - root 命令。

检查磁盘空间

使用 df -h 命令查看根目录磁盘容量是否已扩展成功。

在操作过程中,请确保对系统和数据有足够的了解,并提前备份重要数据,以免操作失误导致数据丢失。如果是在生产环境中,建议在操作前咨询专业人员或进行充分的测试。

扩展磁盘空间步骤

根据您提供的磁盘信息,您的系统使用了LVM(逻辑卷管理器),并且根分区(/dev/mapper/cl-root)已满(92%)。要扩展它,需要执行以下步骤:

1. 确认磁盘可用空间

您的磁盘总容量为40GB,但目前只使用了20GB(1GB引导分区 + 19GB LVM分区),说明有20GB未分配空间。

2. 创建新分区

使用fdisk为未分配的20GB空间创建新分区:

sudo fdisk /dev/nvme0n1

fdisk交互界面中:

  1. 输入n创建新分区
  2. 选择默认选项(分区号3,起始扇区41943040,结束扇区83886079)
  3. 输入t修改分区类型
  4. 选择分区3

您已经进入了 fdisk 的交互界面,并且输入了 n 命令来创建新分区。根据提示,您需要选择分区类型:

  1. 选择分区类型
    输入 p 创建主分区(Primary),因为您的系统目前有2个主分区(1个引导分区和1个LVM分区),还可以创建2个主分区。

  2. 设置分区编号
    fdisk 会提示您输入分区编号,默认是3(因为前两个分区已被占用),直接按回车接受默认值。

  3. 设置起始扇区
    按回车接受默认的起始扇区值(通常是41943040,这是您未分配空间的起始位置)。

  4. 设置结束扇区
    可以直接按回车接受默认值(使用所有剩余空间),或者指定具体大小,例如:

    • +10G:创建一个10GB的分区
    • +20G:创建一个20GB的分区(使用全部剩余空间)

完成后,您应该会看到类似这样的输出:

Created a new partition 3 of type 'Linux' and of size 20 GiB.

接下来,您需要将这个新分区的类型修改为 LVM:

Command (m for help): t
Partition number (1-3, default 3): 3
Hex code or alias (type L to list all): 8e
Changed type of partition 'Linux' to 'Linux LVM'.

最后,保存更改并退出:

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

完成这些步骤后,您可以继续执行后续的命令来创建物理卷、扩展卷组和逻辑卷。

三、
刷新表分区:

继续扩展LVM分区

完成分区创建后,继续执行以下命令来扩展LVM分区:

1. 刷新分区表

sudo partprobe /dev/nvme0n1

2. 创建物理卷(PV)

sudo pvcreate /dev/nvme0n1p3

输出示例:

Physical volume "/dev/nvme0n1p3" successfully created.

3. 扩展卷组(VG)

sudo vgextend cl /dev/nvme0n1p3

输出示例:

Volume group "cl" successfully extended

4. 查看卷组可用空间

sudo vgs

输出示例:

  VG   #PV #LV #SN Attr   VSize   VFree  
  cl     2   2   0 wz--n- <39.00g <20.00g

5. 扩展逻辑卷(LV)

将所有可用空间添加到cl-root

sudo lvextend -l +100%FREE /dev/mapper/cl-root

或指定具体大小(例如10GB):

sudo lvextend -L +10G /dev/mapper/cl-root

输出示例:

Size of logical volume cl/root changed from <17.00 GiB (4351 extents) to <37.00 GiB (9471 extents).
Logical volume cl/root successfully resized.

6. 调整文件系统大小

首先确认文件系统类型:

df -T /

如果是 XFS 文件系统(CentOS 7/8默认):

sudo xfs_growfs /dev/mapper/cl-root

如果是 EXT4 文件系统:

sudo resize2fs /dev/mapper/cl-root

输出示例(XFS):

meta-data=/dev/mapper/cl-root isize=512    agcount=4, agsize=1113856 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=4455424, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4455424 to 9693184

7. 验证扩容结果

df -h /

输出示例:

Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/cl-root      37G   16G   21G  44% /

8. 可选:调整SWAP分区(如果需要)

如果想将部分空间分配给SWAP:

# 查看当前SWAP
sudo swapon -s

# 关闭当前SWAP
sudo swapoff /dev/mapper/cl-swap

# 扩展SWAP逻辑卷(例如增加2GB)
sudo lvextend -L +2G /dev/mapper/cl-swap

# 重新格式化SWAP
sudo mkswap /dev/mapper/cl-swap

# 启用SWAP
sudo swapon /dev/mapper/cl-swap

# 验证
free -h

注意事项

  • 重启系统:如果遇到文件系统无法扩容的问题,尝试重启后再执行 xfs_growfs
  • 备份数据:操作前务必备份重要数据。
  • LVM快照(高级):生产环境可先创建逻辑卷快照,以防意外。

完成后,您的系统根分区应该已成功从17GB扩展到37GB左右,解决了空间不足的问题。

posted @ 2025-06-13 18:39  kisshappyboy  阅读(159)  评论(0)    收藏  举报