欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > 【k8s学习之CSI】理解 LVM 存储概念和相关操作

【k8s学习之CSI】理解 LVM 存储概念和相关操作

2025/4/15 6:53:31 来源:https://blog.csdn.net/qq_24433609/article/details/147040224  浏览:    关键词:【k8s学习之CSI】理解 LVM 存储概念和相关操作
  • 鸟哥的 Linux 私房菜 – Quota, Software RAID, LVM, iSCSI

0 | 理解 vg 相关概念

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Linux LVM(逻辑卷管理) 中,以下是 partition(分区)、PV(物理卷)、VG(卷组)、LV(逻辑卷)、PE(物理块) 之间的关系:


LVM 结构层次

+-------------------------------+
|  文件系统(ext4 / xfs)        |  ⬅ 用户存储数据
+-------------------------------+
|  逻辑卷(LV,Logical Volume)  |  ⬅ 提供类似 /dev/sda1 的设备
+-------------------------------+
|  卷组(VG,Volume Group)      |  ⬅ 由多个 PV 组成的存储池
+-------------------------------+
|  物理卷(PV,Physical Volume) |  ⬅ 磁盘或分区
+-------------------------------+
|  磁盘分区(Partition)         |  ⬅ 硬盘 /dev/sdX
+-------------------------------+
|  物理磁盘(HDD/SSD/RAID)     |
+-------------------------------+

1. Partition(分区)

作用:

  • 硬盘可以被分为多个 分区,每个分区可以用作不同用途(如 /boot、swap、LVM 等)。
  • 分区工具:fdisk / parted / gparted

示例:

# 8e 是 Linux 系统中表示 LVM(Logical Volume Manager)物理卷 的分区类型代码。
# 设置这个类型可以让系统识别这是 LVM 用途的分区。
fdisk /dev/sdb           # 创建分区(比如 /dev/sdb1),设置类型为 8e
partprobe /dev/sdb       # 让内核刷新分区表
pvcreate /dev/sdb1       # 创建物理卷

创建 LVM 兼容的分区时,建议使用 分区类型 8e(Linux LVM)


2. PV(物理卷,Physical Volume)

作用:

  • LVM 的最底层单位,可以是整个硬盘 /dev/sdb,也可以是一个分区 /dev/sdb1
  • 相当于 LVM 的“原材料”,多个 PV 组成一个 VG(卷组)。

创建 PV:

sudo pvcreate /dev/sdb1

查看 PV 信息:

sudo pvdisplay

3. VG(卷组,Volume Group)

作用:

  • 多个 PV 组成一个 VG,相当于一个存储池,可以动态扩展和管理存储。
  • VG 里可以创建多个 LV(逻辑卷)

创建 VG:

sudo vgcreate my_vg /dev/sdb1 /dev/sdc1

查看 VG 信息:

sudo vgdisplay

4. PE(物理块,Physical Extent)

作用:

  • LVM 以 PE(物理块)为单位分配空间(默认 4MB)。
  • VG 内的所有 PE 大小相同,LV 由 PE 组成。

查看 PE 信息:

sudo vgdisplay my_vg | grep "PE"

5. LV(逻辑卷,Logical Volume)

作用:

  • LV 相当于“动态分区”,可以自由创建、扩展、缩小(不像传统分区那样固定大小)。
  • 在 VG 里划分 PE 创建 LV,可以格式化为 ext4/xfs 并挂载使用。

创建 LV:

sudo lvcreate -L 10G -n my_lv my_vg

格式化:

sudo mkfs.ext4 /dev/my_vg/my_lv

挂载:

sudo mount /dev/my_vg/my_lv /mnt/data

总结

概念作用命令
Partition(分区)硬盘分区fdisk /dev/sdb
PV(物理卷)LVM 的最底层单元pvcreate /dev/sdb1
VG(卷组)由多个 PV 组成的存储池vgcreate my_vg /dev/sdb1
PE(物理块)LVM 分配存储的基本单位`vgdisplay my_vg
LV(逻辑卷)在 VG 里划分的存储空间lvcreate -L 10G -n my_lv my_vg

实战示例

如果你有 两块磁盘 /dev/sdb/dev/sdc,想要创建一个 100GB 的逻辑卷

# 1. 创建 LVM 分区
sudo fdisk /dev/sdb   # 创建 LVM 分区(类型 8e)
sudo fdisk /dev/sdc   # 创建 LVM 分区(类型 8e)# 2. 创建物理卷 PV
sudo pvcreate /dev/sdb1 /dev/sdc1# 3. 创建卷组 VG
sudo vgcreate my_vg /dev/sdb1 /dev/sdc1# 4. 创建逻辑卷 LV
sudo lvcreate -L 100G -n my_lv my_vg# 5. 格式化
sudo mkfs.ext4 /dev/my_vg/my_lv# 6. 挂载
sudo mount /dev/my_vg/my_lv /mnt/data

开机自动挂载:

echo "/dev/my_vg/my_lv /mnt/data ext4 defaults 0 2" | sudo tee -a /etc/fstab

LVM 的优势

可以动态调整大小(不像传统分区那样固定)。
多个磁盘可以合并成一个大存储池(VG)
支持快照(Snapshot),适合备份恢复。
支持条带化(striping),提高性能

LVM 适合 服务器、大型存储系统、RAID 方案等,如果你有具体需求,可以告诉我,我帮你设计最佳方案!🚀

1 | 整体流程梳理

好的,下面是一个完整的命令列表,涵盖了分区、创建 PV、PE、VG、LV,及扩容 VG 和 LV的完整操作流程。


🛠️ 完整命令列表:从分区、PV、VG、LV 到扩容

1. 分区操作(使用 fdisk
# 启动 fdisk 创建分区
sudo fdisk /dev/sdb# 在 fdisk 内部,按以下步骤操作
n   # 创建新分区
p   # 选择主分区(primary)
1   # 分区号(通常是 1)
[Enter]  # 使用默认起始扇区
[Enter]  # 使用默认结束扇区(即分区使用整盘空间)
t   # 更改分区类型
8e  # 设置为 LVM 类型
w   # 保存并退出

2. 更新内核分区表
sudo partprobe /dev/sdb

3. 创建物理卷(PV)
sudo pvcreate /dev/sdb1

4. 创建卷组(VG)
# 创建一个新的卷组(假设名称为 vg0)
sudo vgcreate vg0 /dev/sdb1

5. 创建逻辑卷(LV)
# 创建一个 10G 的逻辑卷(假设名称为 my_lv)
sudo lvcreate -L 10G -n my_lv vg0
  • 或者,如果想使用卷组中所有空闲空间:
sudo lvcreate -l 100%FREE -n my_lv vg0

6. 格式化逻辑卷
# 使用 ext4 格式化逻辑卷
sudo mkfs.ext4 /dev/vg0/my_lv
  • 或者,如果使用 xfs 文件系统:
sudo mkfs.xfs /dev/vg0/my_lv

7. 挂载逻辑卷
# 创建挂载点
sudo mkdir /mnt/my_lv# 挂载逻辑卷
sudo mount /dev/vg0/my_lv /mnt/my_lv

🧑‍💻 扩容操作

8. 扩展卷组(VG)

如果现有 VG 空间不足,可以通过 vgextend 向卷组添加更多的物理卷。

# 创建新物理卷
sudo pvcreate /dev/sdc1# 将新物理卷添加到现有卷组 vg0
sudo vgextend vg0 /dev/sdc1

9. 扩容逻辑卷(LV)

如果需要将新增加的空间分配给某个逻辑卷,可以使用 lvextend

# 将逻辑卷 my_lv 扩展到 20G
sudo lvextend -L 20G /dev/vg0/my_lv# 或者将剩余的所有空闲空间分配给 my_lv
sudo lvextend -l +100%FREE /dev/vg0/my_lv

10. 扩展文件系统

扩展了逻辑卷之后,还需要扩展文件系统,以便能够使用新增的空间。

  • 对于 ext4 文件系统:
sudo resize2fs /dev/vg0/my_lv
  • 对于 xfs 文件系统:
sudo xfs_growfs /mnt/my_lv

📊 验证操作

  • 查看物理卷状态:
sudo pvdisplay
  • 查看卷组状态:
sudo vgdisplay
  • 查看逻辑卷状态:
sudo lvdisplay
  • 查看挂载的文件系统空间:
df -h

⚠️ 注意事项

  • VG 扩容:在添加新的物理卷后,通过 vgextend 将其添加到现有的卷组。确保新的磁盘或分区已正确初始化为 LVM 类型。
  • 扩容 LV:使用 lvextend 来将额外的空间分配给逻辑卷。记得扩展文件系统来利用这些新增的空间。
  • 文件系统扩展:不同的文件系统需要不同的扩展命令。确保你选择了合适的命令(resize2fs 用于 ext4xfs_growfs 用于 xfs)。

总结

  1. 分区操作:使用 fdisk 创建新分区并设置为 LVM 类型 8e
  2. 创建 PV:使用 pvcreate 创建物理卷。
  3. 创建 VG:使用 vgcreate 创建卷组。
  4. 创建 LV:使用 lvcreate 创建逻辑卷。
  5. 扩容 VG:使用 vgextend 向卷组添加物理卷。
  6. 扩容 LV:使用 lvextend 扩展逻辑卷。
  7. 扩展文件系统:使用 resize2fsxfs_growfs 扩展文件系统。

这些命令可以根据你的需求定制化,比如自动化脚本或批量操作。如果需要进一步帮助,随时告诉我!

2 | lv 扩容

在 Linux 系统中使用 LVM(Logical Volume Manager)扩容逻辑卷(lv)一般分为以下几个步骤:


🌟 举个例子:

我们以逻辑卷 /dev/vg0/my_lv 扩容 10G 为例。


1. 查看当前磁盘和逻辑卷信息

# 查看物理卷(PV)
pvs# 查看卷组(VG)
vgs# 查看逻辑卷(LV)
lvs
lvdisplay /dev/vg0/my_lv

2. (可选)为 VG 添加新的物理卷

如果卷组空间不足,可以添加新的磁盘并初始化为 PV,然后加入 VG:

# 把新磁盘 /dev/sdb 初始化为 PV
pvcreate /dev/sdb# 加入已有的卷组 vg0
vgextend vg0 /dev/sdb

3. 扩容逻辑卷

比如扩容 10G:

lvextend -L +10G /dev/vg0/my_lv

或者扩容到 VG 所有剩余空间:

lvextend -l +100%FREE /dev/vg0/my_lv

4. 扩容文件系统

这个步骤根据你使用的文件系统类型不同而略有差别:

如果是 ext4:
resize2fs /dev/vg0/my_lv
如果是 xfs:
xfs_growfs /mount/point

⚠️ 注意:xfs 的扩容需要你指定挂载点,而不是设备文件!


5. 验证

df -h

需要我帮你写一个脚本来自动扩容吗?或者你现在的设备名、VG、LV 是什么样的,我可以帮你具体看下。

3 | 理解扩容参数

好问题!

lvextend 命令的 -L-l扩容逻辑卷大小的两种不同方式,区别如下:


-L(大写 L)——以字节为单位的绝对或相对容量

  • 单位支持:K, M, G, T
  • 用于指定 具体容量大小 或者 增加多少容量
示例:
# 扩展到 20G(绝对值)
lvextend -L 20G /dev/vg0/my_lv# 在当前基础上增加 10G(相对值)
lvextend -L +10G /dev/vg0/my_lv

-l(小写 L)——以扩展块(PE,Physical Extents)为单位

  • 每个卷组(VG)由若干个 PE 构成(默认一个 PE 是 4MB)
  • 更偏向底层,适用于需要更精细控制或自动扩满整个卷组空间
示例:
# 扩展到 1000 个 PE 的大小(绝对)
lvextend -l 1000 /dev/vg0/my_lv# 增加 500 个 PE(相对)
lvextend -l +500 /dev/vg0/my_lv# 使用所有可用空间(常见写法)
lvextend -l +100%FREE /dev/vg0/my_lv

🔍 那我该用哪一个?

用法场景推荐参数
想要加 10G 空间-L +10G
想要用光 VG 的剩余空间-l +100%FREE
做自动化脚本或精确控制-l(PE 级别)

如果你输入 vgdisplay 可以看到 PE 大小和 VG 中总共多少 PE 可用。


需要我帮你把你当前的 VG/LV 状态分析一下选哪个更合适吗?你可以贴一下 vgslvs 输出。

4 | PE 大小的设置

是的,PE(Physical Extent)大小是可以设置的,但只能在 创建卷组(VG)的时候指定,一旦 VG 创建完成,PE 大小就不能更改了。


🔧 设置 PE 大小的方法

在创建 VG 时使用 vgcreate 命令加 -s 选项:

vgcreate -s 16M vg0 /dev/sdX

这个命令会创建一个名为 vg0 的卷组,PE 大小设置为 16MB


📌 支持的单位

常见单位:k, m, g(不区分大小写)

  • 一般默认是 4MB,这对大多数应用是足够的
  • 最大支持 16GB

🧠 为什么关心 PE 大小?

  1. 空间粒度:PE 越小,空间利用更精细;PE 越大,适合大容量分配但有可能浪费小空间。
  2. LV 大小限制:逻辑卷大小 = PE大小 × PE数量。如果你计划使用非常大的磁盘,就可能要调大 PE。
  3. 性能无明显区别:这主要是空间管理单位,不直接影响性能。

🔍 如何查看已有 VG 的 PE 大小?

vgdisplay vg0

输出中你会看到类似:

PE Size               4.00 MiB

❗ 一旦 VG 创建好了,PE 大小就固定了,不能更改

如果你非要修改,只能:

  1. 备份数据
  2. 删除 VG
  3. 重新创建 VG(设置新的 PE 大小)
  4. 恢复数据

想看看你当前的 VG 设置吗?可以发一下 vgdisplay 输出,我帮你解释下。

5 | 创建分区注意事项

是的,通常你需要先分区,才能创建 PV(Physical Volume),不过其实 并不是强制的——你也可以直接对整个磁盘创建 PV,而不分区。


✅ 两种方式对比如下:

方式是否分区设备路径是否推荐
推荐做法✅ 是/dev/sdb1✅ 推荐(兼容性好)
直接用整块磁盘做 PV❌ 否/dev/sdb✅ 可以,但要小心

🔧 示例 1:标准流程(先分区)

fdisk /dev/sdb           # 创建分区(比如 /dev/sdb1),设置类型为 8e
partprobe /dev/sdb       # 让内核刷新分区表
pvcreate /dev/sdb1       # 创建物理卷

⚡ 示例 2:直接用整盘(不分区)

pvcreate /dev/sdb        # 直接对整块磁盘操作

❗ 整盘创建 PV 的注意事项:

  1. 不需要分区表,也不会有 /dev/sdb1 这种分区设备。
  2. 某些旧版本的操作系统、安装器或工具(特别是系统恢复工具)可能不太支持裸盘做 PV
  3. 如果将来这块盘要做别的用途,比如多分区使用、挂载普通文件系统等,直接用裸盘就不太方便了

🧠 总结建议:

  • 💡 生产环境 推荐用标准方式:先分区 ➜ pvcreate /dev/sdXN
  • 🧪 测试环境 / 临时用途 可以直接用整盘 ➜ pvcreate /dev/sdX

你是打算长期用这块盘作为 LVM 存储吗?我可以根据你的使用场景建议最合适的方式。

6 | 理解 fdisk 创建分区设置为 8e 类型

理解fdisk

fdisk 作用

fdiskLinux 的磁盘分区管理工具,用于查看、创建、删除和修改磁盘分区。

它主要用于 MBR(主引导记录)分区表,而对于 GPT(GUID 分区表),推荐使用 partedgdisk


fdisk 主要功能

功能命令
查看磁盘分区sudo fdisk -l
进入分区管理sudo fdisk /dev/sdX
创建新分区n
删除分区d
修改分区类型t
查看分区表p
写入分区表并退出w
退出不保存q

fdisk 实战:创建 LVM 分区

假设你要在 /dev/sdb/dev/sdc 上创建 LVM 分区,步骤如下:

1. 进入 fdisk 进行分区

sudo fdisk /dev/sdb

按以下步骤操作:

  1. 输入 n新建分区
  2. 选择 p主分区
  3. 选择 分区号(默认即可)
  4. 选择 起始扇区(默认即可)
  5. 选择 结束扇区(默认使用整个磁盘)
  6. 输入 t修改分区类型
  7. 选择 8eLinux LVM
  8. 输入 w写入并退出

2. 再次执行 fdisk 处理 /dev/sdc

sudo fdisk /dev/sdc

重复 1-8 步骤


3. 查看分区是否创建成功

sudo fdisk -l /dev/sdb /dev/sdc

你应该会看到类似:

Device     Boot Start       End   Sectors   Size Id Type
/dev/sdb1        2048 1953525167 1953523120 931.5G 8e Linux LVM
/dev/sdc1        2048 1953525167 1953523120 931.5G 8e Linux LVM

4. 创建 LVM 物理卷

sudo pvcreate /dev/sdb1 /dev/sdc1

之后可以继续创建 VG(卷组)LV(逻辑卷),管理 LVM 存储。


总结

🔹 fdisk 是一个 磁盘分区管理工具,适用于 MBR 磁盘。
🔹 fdisk 可用于 创建 LVM 分区(类型 8e)
🔹 fdisk -l 可用于 查看磁盘分区信息
🔹 GPT 分区建议使用 partedgdisk

你现在是要在 新磁盘上配置 LVM 吗?如果有具体需求,可以告诉我,我帮你设计方案! 🚀

7 | 线性模式或交错模式写入

在 LVM 中,线性模式(Linear Volume)交错模式(Striped Volume) 是两种不同的逻辑卷(LV)创建方式,它们的创建方式和数据布局策略不同。下面是对这两种模式的详细解释,以及如何在这两种模式下创建逻辑卷。


1. 线性模式(Linear Volume)

线性模式是 LVM 的默认模式。在线性模式下,LVM 会将多个物理卷(PV)上的空间按顺序组合在一起,形成一个连续的逻辑卷。换句话说,数据会按照物理卷的顺序存储,不进行任何交错操作。

特点:
  • 数据在物理卷之间按顺序分布。
  • 不涉及并行读写,因此没有性能的提升。
  • 适合于空间的简单扩展,尤其是当需要跨多个磁盘使用空间时。
创建线性逻辑卷(默认方式):

如果你没有指定 --type striped 参数,LVM 默认会创建一个线性逻辑卷。

命令示例

# 手动指定要使用的物理卷(磁盘分区)
sudo lvcreate -L 20G -n my_linear_lv vg0 /dev/sdb1 /dev/sdc1
# 可以写为如下模式,直接采用 vg0 的存储空间,分配的物理卷(磁盘分区)由系统指定
sudo lvcreate -L 20G -n my_linear_lv vg0
  • -L 20G:指定逻辑卷的大小为 20GB。
  • -n my_linear_lv:指定逻辑卷的名称为 my_linear_lv
  • vg0:指定逻辑卷所在的卷组(VG)。
  • /dev/sdb1 /dev/sdc1:指定多个物理卷(PV),LVM 会按顺序在这些物理卷中分配空间。
数据布局:
  • 数据会按顺序写入 /dev/sdb1,直到其空间用尽,然后再写入 /dev/sdc1,以此类推。

2. 交错模式(Striped Volume)

交错模式是 LVM 提供的另一种逻辑卷类型。在交错模式下,LVM 会将数据分割成多个条带(stripes),并将这些条带分布到不同的物理卷上。这样,读写操作会并行进行,通常会提高磁盘 I/O 性能,尤其是在多个物理卷之间进行并行读写时。

特点:
  • 数据被划分为多个条带(stripes),分布在不同的物理卷上。
  • 适用于需要提高性能的场景,尤其是在多个磁盘之间进行并行读写时。
  • 写入性能得到提升,但如果某个磁盘发生故障,可能会导致数据丢失。
创建交错逻辑卷:

要创建交错模式的逻辑卷,需要在 lvcreate 命令中明确指定 --type striped 参数。

命令示例

# 手动指定要使用的物理卷(磁盘分区)
sudo lvcreate --type striped -L 20G -n my_striped_lv vg0 /dev/sdb1 /dev/sdc1
# 可以写为如下模式,直接采用 vg0 的存储空间,分配的物理卷(磁盘分区)由系统指定
sudo lvcreate --type striped -L 20G -n my_striped_lv vg0
  • --type striped:指定创建交错模式的逻辑卷。
  • -L 20G:指定逻辑卷的大小为 20GB。
  • -n my_striped_lv:指定逻辑卷的名称为 my_striped_lv
  • vg0:指定逻辑卷所在的卷组(VG)。
  • /dev/sdb1 /dev/sdc1:指定多个物理卷(PV)。
数据布局:
  • 在交错模式下,LVM 会将数据划分为多个条带(stripes),并将它们交替分布到 /dev/sdb1/dev/sdc1 上。例如:
    • 数据的第一个条带会写入 /dev/sdb1,第二个条带写入 /dev/sdc1,第三个条带写入 /dev/sdb1,以此类推。
  • 这种方式可以显著提高磁盘的并行读写性能。

总结

模式描述性能优势创建命令
线性模式将物理卷按顺序组合在一起,数据按顺序写入不涉及并行读写,性能较低sudo lvcreate -L 20G -n my_linear_lv vg0 /dev/sdb1 /dev/sdc1
交错模式数据被划分为条带并分布到多个物理卷上并行读写,提高磁盘 I/O 性能sudo lvcreate --type striped -L 20G -n my_striped_lv vg0 /dev/sdb1 /dev/sdc1

关键点:

  • 线性模式:数据按物理卷的顺序存储,适合于简单的空间扩展。
  • 交错模式:数据被分为条带并分布到多个物理卷,适合需要提高磁盘 I/O 性能的场景,但也伴随更高的故障风险。

根据需求的不同,你可以选择使用线性模式或交错模式来创建逻辑卷。

8 | lvcreate 参数配置

LVM 创建逻辑卷(LV)时的物理卷指定方法总结

在使用 LVM(Logical Volume Manager)时,创建逻辑卷(LV)时可以选择是否指定物理卷(PV)。下面是两种方式的总结以及相关的注意事项。


1. 不指定物理卷参数

在不指定物理卷参数时,LVM 会自动从卷组(VG)中的所有可用物理卷中选择空间来创建逻辑卷。通常,这种方式非常简单,适用于卷组中有足够空间的情况。

命令示例:
sudo lvcreate -L 20G -n my_lv vg0
  • -L 20G:指定逻辑卷的大小为 20GB。
  • -n my_lv:指定逻辑卷的名称为 my_lv
  • vg0:指定逻辑卷所在的卷组(VG)。LVM 会从该卷组中的所有物理卷中选择空间。

注意事项

  • 卷组中的空间必须足够:如果卷组 vg0 中没有足够的空间来创建 20GB 的逻辑卷,命令将失败。
  • 自动选择物理卷:LVM 会自动选择卷组中的所有物理卷来分配空间,无需手动指定。

2. 指定物理卷参数

在创建逻辑卷时,你也可以明确指定物理卷,这意味着 LVM 将仅从你指定的物理卷中选择空间来创建逻辑卷。你可以使用这种方式控制数据存储的位置。

命令示例:
sudo lvcreate -L 20G -n my_lv vg0 /dev/sdb1 /dev/sdc1
  • -L 20G:指定逻辑卷的大小为 20GB。
  • -n my_lv:指定逻辑卷的名称为 my_lv
  • vg0:指定逻辑卷所在的卷组(VG)。
  • /dev/sdb1/dev/sdc1:指定要用于创建逻辑卷的物理卷。LVM 会从这些物理卷中选择空间来创建逻辑卷。

注意事项

  • 物理卷需要提前初始化为 PV:在你使用物理卷(如 /dev/sdb1/dev/sdc1)之前,必须通过 pvcreate 命令将它们初始化为物理卷。

    sudo pvcreate /dev/sdb1
    sudo pvcreate /dev/sdc1
    
  • 物理卷需要加入到卷组(VG)中:物理卷必须先被添加到卷组中,才能用于创建逻辑卷。可以使用 vgextend 命令将物理卷加入现有的卷组。

    sudo vgextend vg0 /dev/sdb1
    sudo vgextend vg0 /dev/sdc1
    
  • 空间分配:如果指定了多个物理卷,LVM 会在这些物理卷中分配空间,按照一定的策略(如线性或交错模式)将空间划分到逻辑卷中。


3. 创建逻辑卷时的步骤总结

无论是否指定物理卷,在创建逻辑卷时,通常需要遵循以下步骤:

不指定物理卷:
  1. 确保卷组(VG)中有足够的可用空间。
  2. 使用 lvcreate 创建逻辑卷,LVM 会自动从卷组中选择物理卷进行空间分配。
指定物理卷:
  1. 初始化物理卷:使用 pvcreate 命令将硬盘或分区初始化为物理卷(PV)。

    sudo pvcreate /dev/sdb1
    sudo pvcreate /dev/sdc1
    
  2. 将物理卷加入卷组:使用 vgextend 命令将物理卷添加到卷组(VG)中。

    sudo vgextend vg0 /dev/sdb1
    sudo vgextend vg0 /dev/sdc1
    
  3. 创建逻辑卷:使用 lvcreate 命令创建逻辑卷,并指定物理卷。

    sudo lvcreate -L 20G -n my_lv vg0 /dev/sdb1 /dev/sdc1
    

4. 常见问题与注意事项

  • 没有足够的空间:在不指定物理卷时,如果卷组中的空间不足,lvcreate 命令会失败。指定物理卷时,需要确保这些物理卷有足够的空间。
  • 物理卷的初始化和添加:如果指定的物理卷没有被初始化为 PV 或没有加入到卷组中,LVM 会报错,无法创建逻辑卷。
  • 空间分配策略:当指定多个物理卷时,LVM 会根据逻辑卷的类型(线性或交错)分配空间。交错模式会提高性能,但需要小心数据丢失的风险。

总结

  • 不指定物理卷:LVM 会自动从卷组中的所有物理卷中选择空间,适用于卷组中空间充足的情况。
  • 指定物理卷:你可以控制逻辑卷的存储位置,前提是物理卷已经初始化为 PV,并加入到卷组中。

通过了解这些方法和注意事项,你可以灵活地在 LVM 中创建逻辑卷,并根据需求选择是否指定物理卷。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词