Linux利用三块新硬盘在Linux中构建LVM

🛠️ 方案:用文件模拟三块新硬盘(最安全,不影响系统)

我们创建 3 个空文件,把它们伪装成 "新硬盘" 来做 LVM 实验。

1. 创建 3 个 2G 的虚拟磁盘文件

在终端执行:

bash

运行

复制代码
# 在主目录创建 3 个 2G 的空文件
fallocate -l 2G ~/disk1.img
fallocate -l 2G ~/disk2.img
fallocate -l 2G ~/disk3.img
2. 关联为 loop 设备(让系统识别为磁盘)

bash

运行

复制代码
# 关联为 /dev/loop0、/dev/loop1、/dev/loop2
sudo losetup /dev/loop0 ~/disk1.img
sudo losetup /dev/loop1 ~/disk2.img
sudo losetup /dev/loop2 ~/disk3.img

验证:lsblk 现在应该能看到 /dev/loop0/dev/loop1/dev/loop2 三个 "磁盘"。


🧩 开始按要求构建 LVM

现在我们把 /dev/loop0/dev/loop1/dev/loop2 当作三块新硬盘,继续之前的步骤:

1. 分区(每个虚拟硬盘分 2 个区)

/dev/loop0 为例(另外两个盘操作完全一样):

bash

运行

复制代码
# 对 /dev/loop0 分区
sudo fdisk /dev/loop0
# 依次输入:
# n → p → 1 → 回车 → +1G → t → 8e → n → p → 2 → 回车 → +1G → t → 2 → 8e → w

重复上面的 fdisk 命令,分别对 /dev/loop1/dev/loop2 分区,得到 6 个分区:

  • /dev/loop0p1/dev/loop0p2
  • /dev/loop1p1/dev/loop1p2
  • /dev/loop2p1/dev/loop2p2

刷新分区表:

bash

运行

复制代码
sudo partprobe /dev/loop0
sudo partprobe /dev/loop1
sudo partprobe /dev/loop2
2. 创建物理卷 (PV)

bash

运行

复制代码
sudo pvcreate /dev/loop0p1 /dev/loop0p2 /dev/loop1p1 /dev/loop1p2 /dev/loop2p1 /dev/loop2p2
3. 创建卷组 (VG)
  • VG1:包含 /dev/loop0p1(分区 1)和 /dev/loop1p1(分区 3)
  • VG2:包含 /dev/loop0p2(分区 2)、/dev/loop1p2(分区 4)、/dev/loop2p1(分区 5)、/dev/loop2p2(分区 6)

bash

运行

复制代码
sudo vgcreate vg01 /dev/loop0p1 /dev/loop1p1
sudo vgcreate vg02 /dev/loop0p2 /dev/loop1p2 /dev/loop2p1 /dev/loop2p2
4. 创建逻辑卷 (LV)

bash

运行

复制代码
# 在 vg01 上创建 1.5G 的 lv01
sudo lvcreate -L 1.5G -n lv01 vg01

# 在 vg02 上创建 2G 的 lv02
sudo lvcreate -L 2G -n lv02 vg02

# 在 vg02 上创建 1G 的 lv03
sudo lvcreate -L 1G -n lv03 vg02

✅ 验证与使用

  • 查看 PV:sudo pvs

  • 查看 VG:sudo vgs

  • 查看 LV:sudo lvs

  • 格式化并挂载(可选): bash

    运行

    复制代码
    sudo mkfs.ext4 /dev/vg01/lv01
    sudo mkdir -p /mnt/lv01
    sudo mount /dev/vg01/lv01 /mnt/lv01

⚠️ 实验结束后清理

实验完成后,记得释放资源:

bash

运行

复制代码
# 卸载逻辑卷
sudo umount /mnt/lv01

# 删除逻辑卷、卷组、物理卷
sudo lvremove /dev/vg01/lv01 /dev/vg02/lv02 /dev/vg02/lv03
sudo vgremove vg01 vg02
sudo pvremove /dev/loop0p1 /dev/loop0p2 /dev/loop1p1 /dev/loop1p2 /dev/loop2p1 /dev/loop2p2

# 分离 loop 设备
sudo losetup -d /dev/loop0 /dev/loop1 /dev/loop2

# 删除虚拟磁盘文件
rm ~/disk1.img ~/disk2.img ~/disk3.img
相关推荐
caimouse1 小时前
ReactOS 图形系统分析(3):显示驱动 DDI framebuf.dll
linux·运维·网络
TonyLee0172 小时前
Claude Code + DeepSeek:服务器安装与使用笔记
linux·服务器·deepseek·claude code
buhuizhiyuci2 小时前
【Linux 篇】数字世界的水流蓄水池 —— IO 缓冲区机制深度实战解析
linux·运维·服务器·c++
骇客野人2 小时前
Linux 服务器 Python 版 MCP 服务部署整体方案(适配 Claude/Cursor/自研Agent)
linux·服务器·python
天疆说3 小时前
04 稳定性与性能调优实录:OOM 崩溃、并发槽位、前缀缓存与 DSpark 调参
linux·运维·缓存
星卯教育tony3 小时前
NOI Linux 2.0 服务器多用户网页桌面部署方案(腾讯云轻量Ubuntu20.04专属版 CSP复赛比赛环境搭建免安装虚拟机 )
linux·服务器·腾讯云
Forever Nore4 小时前
LeetCode 14 最长公共前缀 - 纵向扫描
linux·服务器·leetcode
拂拉氏4 小时前
【知识讲解】 Linux权限相关知识讲解
linux·权限
Shadow(⊙o⊙)4 小时前
Linux网络部分——TCP协议服务端客户端交互接口,入门级硬核解析1.0
linux·网络·tcp/ip
桑榆4169 小时前
双系统(Windows + Ubuntu)安装流程
linux·windows·ubuntu