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 配置
关键命令速查表
| 操作 | 命令示例 |
|---|---|
| 查看块设备 | lsblk、fdisk -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
注意事项
- 数据备份:操作磁盘前务必备份重要数据。
- 分区类型:确保分区类型为
Linux LVM(Hex 代码8e)。 - 在线扩展:LVM 支持在线扩展,但缩减需谨慎且可能需卸载文件系统。
- 文件系统兼容性:调整逻辑卷大小后需同步调整文件系统(如
resize2fs)。
通过上述步骤,您可以灵活管理存储空间,满足动态调整需求。
浙公网安备 33010602011771号