问题场景

Ubuntu Server系统上将新添加三块容量分别为2T、2T、8T的磁盘挂载到/home/titi/workspace/fdfs/目录,文件系统为ext4。

思考

同一目录无法重复挂载,后挂载的会覆盖之前挂载的磁盘,需要将三块硬盘合并到一个逻辑卷后挂载。

基本概念:

  • PE(Physical Extent)
    物理扩展单元,是LVM中最小的存储单元,默认大小为4MB。
  • PV(Physical Volume)
    物理卷在逻辑卷管理中处于最底层,它可以是物理硬盘的分区,也可以是整个物理硬盘,也可以是RAID设备。
  • VG(Volume Group)
    卷组建立在物理卷之上,一个卷组至少要包括一个物理卷,在卷组建立后可动态添加物理卷到卷组中。
  • LV(Logical Volume)
    逻辑卷建立在卷组之上,每个逻辑卷只能属于一个卷组。卷组中未分配的空间可以用于建立新的逻辑卷,
    逻辑卷建立后可以动态地扩展和缩小空间。系统中可以创建多个逻辑卷,它们可以属于同一个卷组,也可以属于不同的卷组。

解决方法

  1. 查看当前状态

    查看当前磁盘和分区信息:

    1
    2
    sudo fdisk -l
    sudo lsblk

    img_8.png
    img_9.png

  2. 创建物理卷(PV)

    在使用磁盘创建卷组之前,需要先将磁盘初始化为物理卷:

    1
    sudo pvcreate /dev/sda

    查看物理卷:

    1
    2
    sudo pvs
    sudo pvdisplay
  3. 创建卷组(VG)

    创建卷组的命令为vgcreate,此命令将物理卷创建为一个卷组。在物理卷/dev/sda上创建一个名为vgfdfs的卷组:

    1
    sudo vgcreate vgfdfs /dev/sda

    img.png

  4. 添加新的物理卷到卷组

    此步为将多块磁盘空间合为一体的关键步骤。当系统中新增了磁盘,需要先创建物理卷,然后将其添加到已有卷组时,使用vgextend命令:

    1
    2
    3
    4
    5
    6
    7
    # 先创建物理卷
    sudo pvcreate /dev/sdb
    sudo pvcreate /dev/sdc

    # 将物理卷添加到卷组
    sudo vgextend vgfdfs /dev/sdb
    sudo vgextend vgfdfs /dev/sdc

    img_1.png

    创建后查看卷组:

    1
    2
    sudo vgs
    sudo vgdisplay vgfdfs

    img_3.png

  5. 创建逻辑卷(LV)

    创建逻辑卷的命令为lvcreate,此命令在卷组上创建逻辑卷。在卷组vgfdfs上创建一个名为lvfdfs的逻辑卷,其大小为10.9T:

    1
    2
    3
    4
    5
    # 使用所有可用空间
    sudo lvcreate -l 100%FREE -n lvfdfs vgfdfs

    # 或指定具体大小
    # sudo lvcreate -L 10.9T -n lvfdfs vgfdfs

    img_2.png

    创建后查看逻辑卷:

    1
    2
    sudo lvscan
    sudo lvdisplay /dev/vgfdfs/lvfdfs

    img_4.png

  6. 格式化逻辑卷

    将创建的lvfdfs逻辑卷格式化为ext4文件系统:

    1
    sudo mkfs.ext4 /dev/vgfdfs/lvfdfs

    img_5.png

  7. 挂载逻辑卷到目录

    • 临时挂载

      1
      2
      3
      4
      5
      # 确保目标目录存在
      sudo mkdir -p /home/titi/workspace/fdfs/

      # 挂载逻辑卷
      sudo mount /dev/vgfdfs/lvfdfs /home/titi/workspace/fdfs/

      img_6.png

    • 开机自动挂载

      编辑/etc/fstab文件,添加以下内容:

      1
      sudo vim /etc/fstab

      添加一行:

      1
      /dev/vgfdfs/lvfdfs  /home/titi/workspace/fdfs/  ext4  defaults  0  2

      img_10.png

    • 查看挂载状态

      1
      2
      3
      df -h | grep fdfs
      # 或
      mount | grep fdfs

      img_7.png

总结

通过LVM(逻辑卷管理)技术,成功将三块独立的物理磁盘(2T+2T+8T)合并为一个12T的逻辑卷,并挂载到指定目录。LVM的优势在于:

  1. 灵活性: 可以动态调整逻辑卷大小,无需重新分区
  2. 扩展性: 可以随时向卷组添加新的物理磁盘
  3. 统一管理: 多块磁盘作为一个整体进行管理,简化运维

注意事项

  1. 在创建物理卷前,确保磁盘上没有重要数据,该操作会清空磁盘
  2. 修改/etc/fstab文件时要格外小心,配置错误可能导致系统无法启动
  3. 建议定期备份重要数据,即使使用了LVM也不能完全避免数据丢失风险
  4. 如需缩小逻辑卷,务必先卸载并备份数据,缩小操作有一定风险