📌 简介

这篇文章记录了我在 Ubuntu 服务器上的一次硬盘初始化与分区扩容过程,包括使用 LVM 扩容根分区、初始化新磁盘、创建独立 VG/LV、格式化并挂载到指定目录,以及配置 fstab 以防止因磁盘故障导致系统无法启动。内容完整可复现,适用于生产环境中常见的磁盘管理场景。


📚 一、背景说明

服务器原有系统盘 /dev/sda 已使用 LVM,但根分区只分配了 100G,其余约 198G 未被使用。同时新增了一块 1TB 的磁盘 /dev/sdb,计划单独用作上传附件的存储,并挂载到 /opt/upFiles。

本文记录了完整的磁盘操作过程,便于未来复用或给遇到类似需求的朋友做参考。


🧱 二、查看磁盘现状

root@ubuntu:~# lsblk 
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0  63.3M  1 loop /snap/core20/1822
loop1                       7:1    0 111.9M  1 loop /snap/lxd/24322
loop2                       7:2    0  49.8M  1 loop /snap/snapd/18357
loop3                       7:3    0  50.9M  1 loop /snap/snapd/25577
loop4                       7:4    0  91.4M  1 loop /snap/lxd/36918
loop5                       7:5    0  63.8M  1 loop /snap/core20/2682
sda                         8:0    0   300G  0 disk 
├─sda1                      8:1    0     1M  0 part 
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0   298G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0   100G  0 lvm  /
sdb                         8:16   0     1T  0 disk 
sr0                        11:0    1   1.8G  0 rom

可以看到:

  • /dev/sda3 → LVM PV,属于 ubuntu-vg
  • /dev/ubuntu-vg/ubuntu-lv → 根分区,目前仅 100G
  • ubuntu-vg 中有 198G 空闲空间
  • /dev/sdb → 新增 1TB 空磁盘

检查VG:

root@ubuntu:~# 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               <298.00 GiB
  PE Size               4.00 MiB
  Total PE              76287
  Alloc PE / Size       25600 / 100.00 GiB
  Free  PE / Size       50687 / <198.00 GiB
  VG UUID               lNdHOw-JsW2-KQh4-Wydt-FBc0-vDSV-68V6D2

输出类似:

Free  PE / Size       50687 / <198.00 GiB

说明根 VG 还有 198G 可用。


🛠 三、扩容根分区(/)

根文件系统使用的是 ext4,因此可以在线扩容,无需卸载或重启。


  1. 扩展 LV 到剩余全部空间

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

  1. 扩展 ext4 文件系统

    resize2fs /dev/ubuntu-vg/ubuntu-lv

    检查结果:

    root@ubuntu:~# df -Th
    Filesystem                        Type   Size  Used Avail Use% Mounted on
    tmpfs                             tmpfs  1.6G  1.3M  1.6G   1% /run
    /dev/mapper/ubuntu--vg-ubuntu--lv ext4   293G  8.0G  272G   3% /
    tmpfs                             tmpfs  7.9G     0  7.9G   0% /dev/shm
    tmpfs                             tmpfs  5.0M     0  5.0M   0% /run/lock
    /dev/sda2                         ext4   2.0G  251M  1.6G  14% /boot
    tmpfs                             tmpfs  1.6G  4.0K  1.6G   1% /run/user/1000

    根分区应扩至完整的 298GB。


💽 四、初始化新增磁盘 /dev/sdb


  1. 创建 PV

    pvcreate /dev/sdb

  1. 创建独立 VG(例如 data-vg)

    vgcreate data-vg /dev/sdb

  1. 创建 LV(使用全部空间)

    lvcreate -l 100%FREE -n upFiles-lv data-vg

  1. 格式化为 ext4

    mkfs.ext4 /dev/data-vg/upFiles-lv

📂 五、挂载到 /opt/upFiles

创建挂载目录:

mkdir -p /opt/upFiles

挂载:

mount /dev/data-vg/upFiles-lv /opt/upFiles

检查:

root@ubuntu:~# df -Th
Filesystem                        Type   Size  Used Avail Use% Mounted on
tmpfs                             tmpfs  1.6G  1.3M  1.6G   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4   293G  8.0G  272G   3% /
tmpfs                             tmpfs  7.9G     0  7.9G   0% /dev/shm
tmpfs                             tmpfs  5.0M     0  5.0M   0% /run/lock
/dev/sda2                         ext4   2.0G  251M  1.6G  14% /boot
tmpfs                             tmpfs  1.6G  4.0K  1.6G   1% /run/user/1000
/dev/mapper/data--vg-upFiles--lv  ext4  1007G   28K  956G   1% /opt/upFiles

🔒 六、配置 fstab(确保磁盘故障不影响开机)

查看 UUID:

blkid /dev/data-vg/upFiles-lv

假设得到:

UUID="3f4be1a6-c104-4a47-a6ce-0d2cfdbce3db"

编辑 /etc/fstab

vim /etc/fstab

添加这一行:

UUID=3f4be1a6-c104-4a47-a6ce-0d2cfdbce3db   /opt/upFiles   ext4   defaults,nofail,x-systemd.device-timeout=0   0   2

测试:

mount -a

无报错即成功。

参数说明:

选项作用
nofail磁盘不存在不会导致开机失败
x-systemd.device-timeout=0不等待设备,提高开机速度
defaultsext4 默认挂载参数
最后修改:2025 年 12 月 08 日
如果觉得我的文章对你有用,请点赞