Ubuntu配置LVM

面是从零开始在 Ubuntu 上使用全新硬盘配置 LVM 的完整步骤指南,涵盖物理卷(PV)创建、卷组(VG)创建、逻辑卷(LV)创建、文件系统格式化到挂载使用的全过程。

目标: 将一块全新的物理硬盘(例如 /dev/sdb)通过 LVM 管理,创建一个逻辑卷,格式化为 ext4 文件系统,并挂载到 /data 目录使用。

前提:

  1. 已安装 lvm2 软件包(Ubuntu 通常默认安装)。

  2. 已连接一块未使用的新硬盘到系统。

  3. 重要! 使用 lsblk 或 sudo fdisk -l 确认新硬盘的设备名(如 /dev/sdb/dev/nvme0n2)。务必确认无误,操作错误设备会导致数据丢失!


步骤 1:识别新硬盘

sudo lsblk -f
sudo fdisk -l
  • 找到目标新硬盘,它应该没有分区表或文件系统。例如:

NAME        FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
...
sdb

这里 /dev/sdb 就是我们要操作的新硬盘。


步骤 2:在硬盘上创建物理卷(PV)

LVM 可以直接使用整个硬盘作为物理卷,无需预先分区(推荐此方式,简单高效)。如果你想先分区再使用,也可以(将分区类型改为 Linux LVM (8e)),但直接使用硬盘更常见。

选项 A:直接使用整个硬盘创建 PV (推荐)

sudo pvcreate /dev/sdb   # 将 /dev/sdb 替换为你的新硬盘设备名

选项 B:先创建分区再创建 PV (较少用)

1、使用 fdisk 或 gparted 创建分区:

sudo fdisk /dev/sdb

1、n (新建分区)

2、选择分区类型 (p 主分区)

3、分区号 (1)

4、起始扇区 (默认)

5、结束扇区 (默认,使用整个硬盘)

6、t (更改分区类型)

7、输入 8e (设置类型为 Linux LVM)

8、w (写入分区表并退出)

 2、在分区上创建 PV:

sudo pvcreate /dev/sdb1   # 在刚创建的分区上创建 PV

验证 PV 创建成功:

sudo pvdisplay
sudo pvs

输出应显示你创建的 PV (/dev/sdb 或 /dev/sdb1),状态为 allocatable


步骤 3:创建卷组(VG)

卷组(VG)是物理卷(PV)的集合,它像一个大的存储池。

sudo vgcreate myvg /dev/sdb   # 将 'myvg' 替换为你想要的卷组名,'/dev/sdb' 替换为你的 PV
  • myvg:这是你为卷组起的名字(例如 data-vgstorage-vg)。选择一个有意义的名字。

  • /dev/sdb:指定要加入这个新卷组的物理卷。

验证 VG 创建成功:

sudo vgdisplay myvg   # 显示 myvg 的详细信息
sudo vgs              # 简要列出所有 VG

输出应显示你的 VG (myvg),包含你添加的 PV,并显示总大小和可用空间。


步骤 4:在卷组(VG)中创建逻辑卷(LV)

逻辑卷(LV)是从卷组(VG)中划分出来的空间块,它最终会被格式化成文件系统并挂载使用。

sudo lvcreate -n mylv -L 100G myvg   # 创建一个名为 'mylv' 大小为 100G 的 LV,从 'myvg' VG 中分配
  • -n mylv:指定逻辑卷的名称(例如 data-lvhome-lv)。

  • -L 100G:指定逻辑卷的大小(例如 50G1T)。注意: 大小不能超过 VG 的可用空间。使用 vgdisplay myvg 查看 Free PE / Size

  • myvg:指定从哪个卷组分配空间。

创建 LV 的其他常用选项:

  • 使用 VG 的全部剩余空间:

sudo lvcreate -n mylv -l 100%FREE myvg
  • 指定使用所有可用空间 (-l 100%FREE) 是创建 LV 时最常用的方式之一。

验证 LV 创建成功:

sudo lvdisplay /dev/myvg/mylv   # 显示 mylv 的详细信息 (使用完整路径)
sudo lvs                        # 简要列出所有 LV

输出应显示你的 LV (mylv),位于 VG (myvg) 下,大小符合预期。记住 LV 的完整设备路径:/dev/myvg/mylv,下一步格式化要用。


步骤 5:在逻辑卷(LV)上创建文件系统

现在 /dev/myvg/mylv 就像一个普通的分区,需要在其上创建文件系统(格式化)才能存储文件。

选择文件系统类型:

  • ext4 (推荐,通用稳定):

sudo mkfs -t ext4 /dev/myvg/mylv
  • xfs (高性能,适合大文件):

sudo mkfs -t xfs /dev/myvg/mylv
  • btrfs (高级特性如快照、压缩):

sudo mkfs -t btrfs /dev/myvg/mylv

验证格式化:

sudo blkid /dev/myvg/mylv

输出应显示该 LV 的设备路径、UUID 和文件系统类型(如 TYPE="ext4")。


步骤 6:挂载逻辑卷(LV)

创建挂载点目录: 选择一个目录作为该逻辑卷的访问入口。

sudo mkdir /data   # 创建一个名为 /data 的目录,你可以选择其他路径如 /mnt/mydata

临时挂载(测试): 

    sudo mount /dev/myvg/mylv /data

    验证挂载: 

      df -hT /data      # 查看 /data 的空间使用和文件系统类型
      lsblk -f          # 查看块设备树,确认 LV 已挂载到 /data
      1. 你应该看到 /data 对应的设备是 /dev/mapper/myvg-mylv,大小、文件系统类型正确,并且有可用的空间。

      2. 永久挂载(修改 /etc/fstab): 让系统每次启动自动挂载。

        • 获取 LV 的 UUID (推荐) 或设备路径:

          sudo blkid /dev/myvg/mylv

          复制输出的 UUID 值(一长串字符)。

        • 编辑 /etc/fstab

          sudo nano /etc/fstab
        • 在文件末尾添加一行: (以 ext4 为例)

          UUID=你的LV的UUID  /data  ext4  defaults  0  2
          • UUID=... 替换为上一步复制的 UUID。强烈推荐使用 UUID! 因为 /dev/mapper/myvg-mylv 路径虽然稳定,但使用 UUID 是绝对可靠的。

          • /data 你的挂载点目录。

          • ext4 你的文件系统类型(如果是 xfs 或 btrfs 则替换)。

          • defaults 标准的挂载选项(包含读写、允许执行等)。你可以根据需求调整(如添加 noatime 提升性能)。

          • 0 dump 工具忽略此文件系统。

          • 2 开机时 fsck 磁盘检查的顺序(根 / 是 1,其他非根文件系统通常是 2)。

        • 保存并退出编辑器。

      3. 测试 fstab 配置:

        sudo umount /data        # 先卸载
        sudo mount -a            # 根据 fstab 重新挂载所有文件系统
        • 如果这条命令没有报错信息,并且 df -hT 显示 /data 已成功挂载,则配置正确。

        • 如果有任何错误,立即检查 /etc/fstab 中的拼写、UUID、路径和选项! 错误的 fstab 可能导致系统无法启动。


      步骤 7:设置目录权限(可选)

      默认情况下,只有 root 用户能在 /data 下创建文件。如果你想让普通用户也能读写:

      sudo chown -R yourusername:yourgroup /data   # 将 /data 及其内容的所有权给指定用户和组
      sudo chmod -R 775 /data                      # 设置权限 (rwxrwxr-x),允许所有者和组读写执行,其他人读执行
      • 将 yourusername 和 yourgroup 替换为实际的用户名和组名(通常用户名和主组名相同)。可以使用 id 命令查看你的用户和组信息。


      最终验证与使用

      1. 检查整体状态:

        sudo pvs    # 查看物理卷状态
        sudo vgs    # 查看卷组状态
        sudo lvs    # 查看逻辑卷状态
        df -hT      # 查看文件系统挂载和使用情况
      2. 在 /data 下创建测试文件:

        touch /data/testfile
        ls -l /data

        确认文件能正常创建。


      总结:从头开始 LVM 流程 (一张表搞定)

      步骤作用核心命令关键参数/说明验证命令
      1识别硬盘sudo lsblksudo fdisk -l确认 /dev/sdX (新硬盘)
      2创建物理卷 (PV)sudo pvcreate /dev/sdX使用整个硬盘 (推荐)sudo pvdisplay
      3创建卷组 (VG)sudo vgcreate myvg /dev/sdXmyvg (自定义 VG 名)sudo vgdisplay
      4创建逻辑卷 (LV)sudo lvcreate -n mylv -l 100%FREE myvg-n mylv (LV名), -l 100%FREE (用光空间)sudo lvdisplay
      5格式化 LVsudo mkfs -t ext4 /dev/myvg/mylvext4/xfs/btrfs (文件系统类型)sudo blkid
      6创建挂载点sudo mkdir /data/data (自定义挂载路径)
      临时挂载 & 测试sudo mount /dev/myvg/mylv /datadf -hTlsblk
      永久挂载 (fstab)编辑 /etc/fstab添加行:UUID=... /data ext4 defaults 0 2sudo mount -a
      7设置权限 (可选)sudo chownsudo chmod让普通用户可读写ls -ld /data

      核心要点:

      • PV -> VG -> LV: 理解 LVM 的三层结构是核心。

      • 100%FREE 创建 LV 时常用此选项利用全部 VG 空间。

      • UUID in fstab: 在 /etc/fstab 中务必使用 UUID 来标识 LV,确保挂载可靠性。

      • mount -a 修改 /etc/fstab 后必须执行此命令测试,无错误才重启。

      • 确认设备名: /dev/sdX 必须是你新添加的、目标硬盘,操作前反复用 lsblk 确认!

       以上内容均来自互联网或ai生成只作为学习参考,有任何侵权行为请联系删除

      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值