2024-05-14
温故知新
00

目录

简介
分区扩展
注意
查看当前磁盘占用
查看剩余空间
分配空间
扩展文件系统
磁盘挂载

简介

Ubuntu系统是如何管理硬盘的?

一般硬盘操作有两种:

  • 分区管理:分区增加或减少空间
  • 磁盘管理:挂载新磁盘

重要提醒:在进行分区/磁盘调整和扩展之前,请务必备份重要数据,以防出现意外情况。

分区扩展

当一个新安装的Ubuntu系统中,如果磁盘空间充足,一般会默认分配一部分硬盘空间给根目录 /,但并不会将全部空间分配出来,此时如果想要将全部空间都分配出来,则需要进行分区扩展相关操作。一般分区扩展有三步:

  1. 确定磁盘分区剩余空间
  2. 分配逻辑卷空间(重新分配分区)
  3. 扩展分区,使重新分配的空间生效

注意

  • 备份数据:在进行分区调整和扩展之前,请务必备份重要数据,以防出现意外情况。
  • 分区类型:确保您知道要调整的分区类型(例如,物理分区或 LVM 逻辑卷),并使用相应的工具。
  • 挂载状态:有些操作需要在分区未挂载的状态下进行,因此可能需要在单用户模式或从 Live CD/USB 启动系统进行操作。
  • 系统稳定性:在生产环境中进行此类操作时,请谨慎操作,并在维护窗口期内进行。

查看当前磁盘占用

这是一个磁盘维护常用操作,可以使用 df -h 命令查看当前硬盘分区及其占用情况:

bash
# 执行 df -h 输出如下 Filesystem Size Used Avail Use% Mounted on tmpfs 787M 2.5M 785M 1% /run efivarfs 100K 94K 1.5K 99% /sys/firmware/efi/efivars /dev/mapper/ubuntu--vg-ubuntu--lv 98G 13G 81G 14% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sda2 2.0G 96M 1.7G 6% /boot /dev/sda1 1.1G 6.2M 1.1G 1% /boot/efi tmpfs 787M 12K 787M 1% /run/user/1000

其中 /dev/mapper/ubuntu--vg-ubuntu--lv 即为一个安装系统时自动分配的一个分区,挂载在根目录 /

但是我的硬盘空间时 500G 左右,此时应该如何扩充这个分区呢?

如我的 /dev/mapper/ubuntu--vg-ubuntu--lv 分区,这一般是使用的 LVM(逻辑卷管理器)管理的分区。LVM 提供了一种灵活的硬盘分区管理方式,可以轻松调整分区大小、添加新分区等。在这个例子中:

  • ubuntu--vg 是卷组(Volume Group)的名称。
  • ubuntu--lv 是逻辑卷(Logical Volume)的名称。
  • /dev/mapper/ubuntu--vg-ubuntu--lv 是逻辑卷的设备文件。

查看剩余空间

一般Ubuntu管理磁盘使用的都是 LVM ,执行 sudo vgdisplay 即可查看逻辑卷分组情况:

bash
# 运行 sudo vgdisplay 输出如下信息 --- Volume group --- VG Name ubuntu-vg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 2 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 <444.08 GiB PE Size 4.00 MiB Total PE 113684 Alloc PE / Size 25600 / 100.00 GiB Free PE / Size 88084 / <344.08 GiB VG UUID vqm4ii-2T7p-OaZx-Soq3-nfjq-OW22-iE2u7r

可以看到我的硬盘还有 <344.08 GiB 的剩余空间,我想把全部剩余空间都给到 /dev/mapper/ubuntu--vg-buntu--lv 分区,应该如何操作?

分配空间

根据上面的输出信息可知,我的逻辑卷组名是 ubuntu-vg,则逻辑卷名是 ubuntu--lv,则运行如下命令分配全部剩余空间给 /dev/mapper/ubuntu--vg-ubuntu--lv 设备对应的逻辑卷

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

命令解析:这个命令用于扩展 LVM(逻辑卷管理器)中的逻辑卷。

sudo:以超级用户权限运行该命令。
lvextend:这是一个 LVM 命令,用于扩展逻辑卷。
-l +100%FREE:这是一个参数,指定将所有剩余的空闲空间分配给逻辑卷。
-l 表示扩展到指定的逻辑块数(extents),而不是直接指定大小。
+100%FREE 表示使用卷组(volume group)中所有可用的剩余空间,可以替换为确定的空间,如 +100G
/dev/ubuntu-vg/ubuntu-lv:这是要扩展的逻辑卷的路径。
ubuntu-vg 是卷组的名称。
ubuntu-lv 是逻辑卷的名称。

运行成功后输出:

Size of logical volume ubuntu-vg/ubuntu-lv changed from 100.00 GiB (25600 extents) to <444.08 GiB (113684 extents). Logical volume ubuntu-vg/ubuntu-lv successfully resized.

此时再次查磁盘容器卷情况,可以看到剩余空间归零了:

bash
# 运行 sudo vgdisplay --- Volume group --- VG Name ubuntu-vg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 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 <444.08 GiB PE Size 4.00 MiB Total PE 113684 Alloc PE / Size 113684 / <444.08 GiB Free PE / Size 0 / 0 VG UUID vqm4ii-2T7p-OaZx-Soq3-nfjq-OW22-iE2u7r

但此时并没有结束,如果此时使用 df -h 命令,你可以看到 /dev/mapper/ubuntu--vg-ubuntu--lv 空间并没有改变:

bash
# df -h Filesystem Size Used Avail Use% Mounted on tmpfs 787M 2.5M 785M 1% /run efivarfs 100K 94K 1.5K 99% /sys/firmware/efi/efivars /dev/mapper/ubuntu--vg-ubuntu--lv 98G 13G 81G 14% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sda2 2.0G 96M 1.7G 6% /boot /dev/sda1 1.1G 6.2M 1.1G 1% /boot/efi tmpfs 787M 12K 787M 1% /run/user/1000

这是因为还没有将空间拓展到改逻辑卷

扩展文件系统

无论使用哪种方法调整分区大小,都需要扩展文件系统以使用新分配的空间。

使用下面的命令扩展文件系统:

bash
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

命令解析:这个命令用于调整 ext4 文件系统的大小,以匹配逻辑卷的新大小。

sudo:以超级用户权限运行该命令。
resize2fs:这是一个命令,用于调整 ext2/ext3/ext4 文件系统的大小。
/dev/ubuntu-vg/ubuntu-lv:这是要调整大小的文件系统所在的设备路径。

执行该命令后,如果执行成功,将会输出如下信息:

resize2fs 1.47.0 (5-Feb-2023) Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required old_desc_blocks = 13, new_desc_blocks = 56 The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 116412416 (4k) blocks long.

此时再查看 df -h,可以发现空间已生效:

Filesystem Size Used Avail Use% Mounted on tmpfs 787M 2.5M 785M 1% /run efivarfs 100K 94K 1.5K 99% /sys/firmware/efi/efivars /dev/mapper/ubuntu--vg-ubuntu--lv 437G 13G 406G 3% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sda2 2.0G 96M 1.7G 6% /boot /dev/sda1 1.1G 6.2M 1.1G 1% /boot/efi tmpfs 787M 12K 787M 1% /run/user/1000

至此,分区扩展完成。

磁盘挂载

待续……

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:DingDangDog

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!