如何在 Linux 中创建/配置 LVM(逻辑卷管理)
创始人
2024-03-02 05:53:52
0

逻辑卷管理 Logical Volume Management (LVM)在 Linux 系统中扮演着重要的角色,它可以提高可用性、磁盘 I/O、性能和磁盘管理的能力。

LVM 是一种被广泛使用的技术,对于磁盘管理来说,它是非常灵活的。

它在物理磁盘和文件系统之间增加了一个额外的层,允许你创建一个逻辑卷而不是物理磁盘。

LVM 允许你在需要的时候轻松地调整、扩展和减少逻辑卷的大小。

如何创建 LVM 物理卷?

你可以使用任何磁盘、RAID 阵列、SAN 磁盘或分区作为 LVM 物理卷 Physical Volume (PV)。

让我们想象一下,你已经添加了三个磁盘,它们是 /dev/sdb/dev/sdc/dev/sdd

运行以下命令来发现 Linux 中新添加的 LUN 或磁盘

# ls /sys/class/scsi_host
host0
# echo "- - -" > /sys/class/scsi_host/host0/scan
# fdisk -l

创建物理卷 (pvcreate) 的一般语法:

pvcreate [物理卷名]

当在系统中检测到磁盘,使用 pvcreate 命令初始化 LVM PV:

# pvcreate /dev/sdb /dev/sdc /dev/sdd
Physical volume "/dev/sdb" successfully created
Physical volume "/dev/sdc" successfully created
Physical volume "/dev/sdd" successfully created

请注意:

  • 上面的命令将删除给定磁盘 /dev/sdb/dev/sdc/dev/sdd 上的所有数据。
  • 物理磁盘可以直接添加到 LVM PV 中,而不必是磁盘分区。

使用 pvdisplaypvs 命令来显示你创建的 PV。pvs 命令显示的是摘要输出,pvdisplay 显示的是 PV 的详细输出:

# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb lvm2 a-- 15.00g 15.00g
/dev/sdc lvm2 a-- 15.00g 15.00g
/dev/sdd lvm2 a-- 15.00g 15.00g
# pvdisplay

"/dev/sdb" is a new physical volume of "15.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/sdb
VG Name
PV Size               15.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               69d9dd18-36be-4631-9ebb-78f05fe3217f

"/dev/sdc" is a new physical volume of "15.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/sdc
VG Name
PV Size               15.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               a2092b92-af29-4760-8e68-7a201922573b

"/dev/sdd" is a new physical volume of "15.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/sdd
VG Name
PV Size               15.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               d92fa769-e00f-4fd7-b6ed-ecf7224af7faS

如何创建一个卷组

卷组 Volume Group (VG)是 LVM 结构中的另一层。基本上,卷组由你创建的 LVM 物理卷组成,你可以将物理卷添加到现有的卷组中,或者根据需要为物理卷创建新的卷组。

创建卷组 (vgcreate) 的一般语法:

vgcreate [卷组名] [物理卷名]

使用以下命令将一个新的物理卷添加到新的卷组中:

# vgcreate vg01 /dev/sdb /dev/sdc /dev/sdd
Volume group "vg01" successfully created

**请注意:**默认情况下,它使用 4MB 的 物理范围 Physical Extent (PE),但你可以根据你的需要改变它。

使用 vgsvgdisplay 命令来显示你创建的 VG 的信息:

# vgs vg01
VG #PV #LV #SN Attr VSize VFree
vg01 3 0 0 wz--n- 44.99g 44.99g
# vgdisplay vg01
--- Volume group ---
VG Name              vg01
System ID
Format               lvm2
Metadata Areas       3
Metadata Sequence No 1
VG Access            read/write
VG Status            resizable
MAX LV               0
Cur LV               0
Open LV              0
Max PV               0
Cur PV               3
Act PV               3
VG Size              44.99 GiB
PE Size              4.00 MiB
Total PE             11511
Alloc PE / Size      0 / 0
Free PE / Size       11511 / 44.99 GiB
VG UUID              d17e3c31-e2c9-4f11-809c-94a549bc43b7

如何扩展卷组

如果 VG 没有空间,请使用以下命令将新的物理卷添加到现有卷组中。

卷组扩展 (vgextend)的一般语法:

vgextend [已有卷组名] [物理卷名]
# vgextend vg01 /dev/sde
    Volume group "vg01" successfully extended

如何以 GB 为单位创建逻辑卷?

逻辑卷 Logical Volume (LV)是 LVM 结构中的顶层。逻辑卷是由卷组创建的块设备。它作为一个虚拟磁盘分区,可以使用 LVM 命令轻松管理。

你可以使用 lvcreate 命令创建一个新的逻辑卷。

创建逻辑卷(lvcreate) 的一般语法:

lvcreate –n [逻辑卷名] –L [逻辑卷大小] [要创建的 LV 所在的卷组名称]

运行下面的命令,创建一个大小为 10GB 的逻辑卷 lv001

# lvcreate -n lv001 -L 10G vg01
Logical volume "lv001" created

使用 lvslvdisplay 命令来显示你所创建的 LV 的信息:

# lvs /dev/vg01/lvol01
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert
lv001 vg01 mwi-a-m-- 10.00g lv001_mlog 100.00
# lvdisplay /dev/vg01/lv001
--- Logical volume ---
LV Path                /dev/vg01/lv001
LV Name                lv001
VG Name                vg01
LV UUID                ca307aa4-0866-49b1-8184-004025789e63
LV Write Access        read/write
LV Creation host, time localhost.localdomain, 2020-09-10 11:43:05 -0700
LV Status              available
# open                 0
LV Size                10.00 GiB
Current LE             2560
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:4

如何以 PE 大小创建逻辑卷?

或者,你可以使用物理范围(PE)大小创建逻辑卷。

如何计算 PE 值?

很简单,例如,如果你有一个 10GB 的卷组,那么 PE 大小是多少?

默认情况下,它使用 4MB 的物理范围,但可以通过运行 vgdisplay 命令来检查正确的 PE 大小,因为这可以根据需求进行更改。

10GB = 10240MB / 4MB (PE 大小) = 2560 PE

用 PE 大小创建逻辑卷 (lvcreate) 的一般语法:

lvcreate –n [逻辑卷名] –l [物理扩展 (PE) 大小] [要创建的 LV 所在的卷组名称]

要使用 PE 大小创建 10GB 的逻辑卷,命令如下:

# lvcreate -n lv001 -l 2560 vg01

如何创建文件系统

在创建有效的文件系统之前,你不能使用逻辑卷。

创建文件系统的一般语法:

mkfs –t [文件系统类型] /dev/[LV 所在的卷组名称]/[LV 名称]

使用以下命令将逻辑卷 lv001 格式化为 ext4 文件系统:

# mkfs -t ext4 /dev/vg01/lv001

对于 xfs 文件系统:

# mkfs -t xfs /dev/vg01/lv001

挂载逻辑卷

最后,你需要挂载逻辑卷来使用它。确保在 /etc/fstab 中添加一个条目,以便系统启动时自动加载。

创建一个目录来挂载逻辑卷:

# mkdir /lvmtest

使用挂载命令挂载逻辑卷

# mount /dev/vg01/lv001 /lvmtest

/etc/fstab 文件中添加新的逻辑卷详细信息,以便系统启动时自动挂载:

# vi /etc/fstab
/dev/vg01/lv001 /lvmtest xfs defaults 0 0

使用 df 命令检查新挂载的卷:

# df -h /lvmtest
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg01-lv001 15360M 34M 15326M 4% /lvmtest

via: https://www.2daygeek.com/create-lvm-storage-logical-volume-manager-in-linux/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:geekpi 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出

LVM

相关内容

Proxmox VE 9....
IT之家 8 月 5 日消息,正值 Proxmox 开发商创立 2...
2025-08-06 06:43:13
不支持在MSVC上生成li...
在MSVC上生成libLLVM可能会遇到一些问题,因为LLVM主要...
2025-01-12 00:32:14
BuildingSprin...
使用-GraalVM本机图像编译器,可以构建SpringBoot应...
2024-12-25 14:00:50
BuildaPathofL...
LLVM基本块路径表示函数执行期间的一系列基本块。以下是如何在LL...
2024-12-25 11:30:12
比较LLVM值的类型
要比较LLVM值的类型,可以使用LLVM的Type类以及Value...
2024-12-14 23:00:44
编译最新的Pixel 3X...
这个错误是由于编译Android 10内核时缺少LLVMgold....
2024-12-09 08:01:00

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...