LVM 创建流程总览

以下是 Linux 下创建 LVM(逻辑卷管理)的标准流程,适用于动态调整磁盘空间的场景:


LVM 创建流程总览

graph LR A[物理磁盘] --> B[创建分区] --> C[创建物理卷 PV] --> D[创建卷组 VG] --> E[创建逻辑卷 LV] --> F[格式化并挂载]

步骤包括:

\1. 确认当前磁盘和RAID状态。

\2. 创建RAID阵列(如果尚未创建)。

\3. 初始化物理卷(PV)。

\4. 创建卷组(VG)。

\5. 创建逻辑卷(LV)。

\6. 格式化和挂载。

\7. 后续扩容的步骤,包括扩展RAID阵列、扩展PV、VG、LV和文件系统。

详细步骤

1. 准备物理磁盘或分区

  • 查看可用磁盘

    lsblk                     # 列出所有块设备
    fdisk -l                  # 查看磁盘分区信息
    
  • 创建新分区(若使用整块磁盘可跳过):

    fdisk /dev/sdb            # 假设磁盘为 /dev/sdb
    # 在 fdisk 交互界面中:
    # 1. 输入 `n` 创建新分区
    # 2. 设置分区类型为 `Linux LVM`(输入 `t`,选择分区号,类型代码为 `8e`)
    # 3. 输入 `w` 保存并退出
    partprobe /dev/sdb        # 刷新分区表
    

    大容量硬盘 LVM 分区方案

    1. 使用 parted 工具(推荐)

    parted 支持 GPT 分区表(无 2TB 限制),更适合大容量磁盘操作。

    # 进入 parted 交互模式
    parted /dev/sdX
    
    # 创建 GPT 分区表
    (parted) mklabel gpt
    
    # 创建 LVM 类型的分区(分配全部空间)
    (parted) mkpart primary 0% 100%
    
    # 设置分区类型为 LVM
    (parted) set 1 lvm on
    
    # 查看分区信息
    (parted) print
    
    # 退出
    (parted) quit
    

2. 创建物理卷(PV)

  • 将磁盘或分区初始化为 PV

    pvcreate /dev/sdb1        # 使用分区 /dev/sdb1
    # 或直接使用整块磁盘(无需分区):
    pvcreate /dev/sdb
    
  • 验证 PV

    pvs                       # 查看物理卷列表
    pvdisplay                 # 显示物理卷详细信息
    

3. 创建卷组(VG)

  • 基于 PV 创建 VG

    vgcreate vg_data /dev/sdb1  # 创建名为 vg_data 的卷组
    
  • 验证 VG

    vgs                       # 查看卷组列表
    vgdisplay vg_data         # 显示卷组详细信息
    

4. 创建逻辑卷(LV)

  • 在 VG 中创建 LV

    lvcreate -n lv_storage -L 50G vg_data  # 创建名为 lv_storage 的 50G 逻辑卷
    # 或使用剩余全部空间:
    lvcreate -n lv_storage -l 100%FREE vg_data
    
  • 验证 LV

    lvs                       # 查看逻辑卷列表
    lvdisplay /dev/vg_data/lv_storage  # 显示逻辑卷详细信息
    

5. 格式化并挂载逻辑卷

  • 格式化 LV 为文件系统

    mkfs.ext4 /dev/vg_data/lv_storage  # 格式化为 ext4
    # 或使用 xfs:
    mkfs.xfs /dev/vg_data/lv_storage
    
  • 创建挂载点并挂载

    mkdir /mnt/storage
    mount /dev/vg_data/lv_storage /mnt/storage
    
  • 开机自动挂载

    echo "/dev/vg_data/lv_storage /mnt/storage ext4 defaults 0 0" >> /etc/fstab
    mount -a                  # 验证 fstab 配置
    

关键命令速查表

操作 命令示例
查看块设备 lsblkfdisk -l
创建物理卷 pvcreate /dev/sdb1
创建卷组 vgcreate vg_data /dev/sdb1
创建逻辑卷 lvcreate -n lv_storage -L 50G vg_data
格式化逻辑卷 mkfs.ext4 /dev/vg_data/lv_storage
扩展卷组(添加 PV) vgextend vg_data /dev/sdc1
扩展逻辑卷 lvextend -L +10G /dev/vg_data/lv_storage
resize2fs /dev/vg_data/lv_storage

扩展逻辑卷示例

完整操作示例(使用 parted)

假设新加一块 4TB 硬盘 /dev/sdc,需配置为 LVM:

# 1. 创建 GPT 分区表并划分分区
parted /dev/sdc --script mklabel gpt
parted /dev/sdc --script mkpart primary 0% 100%
parted /dev/sdc --script set 1 lvm on

# 2. 创建物理卷 (PV)
pvcreate /dev/sdc1

# 3. 扩展卷组 (VG)
vgextend vg_data /dev/sdc1

# 4. 扩展逻辑卷 (LV)
lvextend -l +100%FREE /dev/vg_data/lv_storage

# 5. 扩展文件系统(以 XFS 为例)
xfs_growfs /data

注意事项

  1. 数据备份:操作磁盘前务必备份重要数据。
  2. 分区类型:确保分区类型为 Linux LVM(Hex 代码 8e)。
  3. 在线扩展:LVM 支持在线扩展,但缩减需谨慎且可能需卸载文件系统。
  4. 文件系统兼容性:调整逻辑卷大小后需同步调整文件系统(如 resize2fs)。

通过上述步骤,您可以灵活管理存储空间,满足动态调整需求。

posted @ 2025-03-21 11:46  逃离这世界~  阅读(460)  评论(0)    收藏  举报