物理卷、卷组、逻辑卷配置

1.物理卷

物理磁盘 分区 每个分区大小
Sdb sdb1 10G
sdb2 10G
Sdc sdc1 10G
sdc2 10G
Sdd sdd1 10G
sdd2 10G

三个新添加磁盘先分为6个主分区,每个10G,以下命令重复即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[root@localhost ~]# fdisk /dev/sdd

欢迎使用 fdisk (util-linux 2.35.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

设备不包含可识别的分区表。
创建了一个磁盘标识符为 0xdf4b2c2d 的新 DOS 磁盘标签。

命令(输入 m 获取帮助):n
分区类型
p 主分区 (0 primary, 0 extended, 4 free)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (1-4, 默认 1):
第一个扇区 (2048-41943039, 默认 2048):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-41943039, 默认 41943039): +10G

创建了一个新分区 1,类型为“Linux”,大小为 10 GiB。

命令(输入 m 获取帮助):n
分区类型
p 主分区 (1 primary, 0 extended, 3 free)
e 扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (2-4, 默认 2):
第一个扇区 (20973568-41943039, 默认 20973568):
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (20973568-41943039, 默认 41943039):

创建了一个新分区 2,类型为“Linux”,大小为 10 GiB。

命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

然后将6个主分区全部设为物理卷

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
[root@localhost ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created.
[root@localhost ~]# pvcreate /dev/sdc2
Physical volume "/dev/sdc2" successfully created.
[root@localhost ~]# pvcreate /dev/sdd1
Physical volume "/dev/sdd1" successfully created.
[root@localhost ~]# pvcreate /dev/sdd2
Physical volume "/dev/sdd2" successfully created.

2.卷组

创建两个卷组

1
2
3
4
[root@localhost ~]# vgcreate vg_1 /dev/sdb1 /dev/sdc1
Volume group "vg_1" successfully created
[root@localhost ~]# vgcreate vg_2 /dev/sdb2 /dev/sdc2 /dev/sdd1 /dev/sdd2
Volume group "vg_2" successfully created

3.逻辑卷

创建两个逻辑卷

lv_name 卷组来源 大小
lv_vg_1 vg_1 5G
lv_vg_2 vg_2 10G

4.检查命令

参数说明:
-l 是按PE的数量计算大小,也就是物理块数量,一个卷组有多少个块可以划分,可以在vgdisplay的Free PE一项中查看;
-L 是按照Size的大小划分,也就是K、M、G、T等
-n 是要创建的逻辑卷的名称;

1
2
3
4
[root@localhost ~]# lvcreate -n lv_vg_1 -L 5G vg_1
Logical volume "lv_vg_1" created.
[root@localhost ~]# lvcreate -n lv_vg_2 -L 10G vg_2
Logical volume "lv_vg_2" created.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
查看命令:
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 uos lvm2 a-- <39.00g 0
/dev/sdb1 vg_1 lvm2 a-- <10.00g <5.00g
/dev/sdb2 vg_2 lvm2 a-- <10.00g 0
/dev/sdc1 vg_1 lvm2 a-- <10.00g <10.00g
/dev/sdc2 vg_2 lvm2 a-- <10.00g 9.99g
/dev/sdd1 vg_2 lvm2 a-- <10.00g <10.00g
/dev/sdd2 vg_2 lvm2 a-- <10.00g <10.00g

[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
uos 1 2 0 wz--n- <39.00g 0
vg_1 2 1 0 wz--n- 19.99g 14.99g
vg_2 4 1 0 wz--n- 39.98g 29.98g

[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root uos -wi-ao---- <35.00g
swap uos -wi-ao---- 4.00g
lv_vg_1 vg_1 -wi-a----- 5.00g
lv_vg_2 vg_2 -wi-a----- 10.00g

单个查询:
pvdisplay /dev/sdb1
lvdisplay /dev/vg_name1/lv_name1

此处需要注意的是,如何找到自己创建的逻辑卷名。
传统名称:/dev/卷组名/逻辑卷名
内核映射:/dev/mapper/卷组名-逻辑卷名

lsblk:查看层级结构
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 39G 0 part
├─uos-root 253:0 0 35G 0 lvm /
└─uos-swap 253:1 0 4G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 10G 0 part
│ └─vg_1-lv_vg_1 253:2 0 5G 0 lvm /mnt/vg_1_data
└─sdb2 8:18 0 10G 0 part
└─vg_2-lv_vg_2 253:3 0 10G 0 lvm /mnt/vg_2_data
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 10G 0 part
└─sdc2 8:34 0 10G 0 part
└─vg_2-lv_vg_2 253:3 0 10G 0 lvm /mnt/vg_2_data
sdd 8:48 0 20G 0 disk
├─sdd1 8:49 0 10G 0 part
└─sdd2 8:50 0 10G 0 part
sr0 11:0 1 7.4G 0 rom

5.创建文件系统并挂载文件

5.1格式化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@localhost ~]# mkfs.xfs /dev/vg_1/lv_vg_1
meta-data=/dev/vg_1/lv_vg_1 isize=512 agcount=4, agsize=327680 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=1310720, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mkfs.xfs /dev/vg_2/lv_vg_2
meta-data=/dev/vg_2/lv_vg_2 isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

5.2创建挂载点目录

1
2
[root@192 /]# mkdir -p /mnt/vg_1_data
[root@192 /]# mkdir -p /mnt/vg_2_data

5.3将挂载信息写入配置(永久挂载)

1
2
3
4
[root@192 /]# vim /etc/fstab
将这两行写进去
/dev/vg_1/lv_vg_1 /mnt/vg_1_data xfs defaults 0 0
/dev/vg_2/lv_vg_2 /mnt/vg_2_data xfs defaults 0 0

5.4挂载全部

1
[root@192 /]# mount -a

5.5查看是否成功

1
2
3
4
5
6
7
8
9
10
11
12
[root@192 /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.9G 12K 3.9G 1% /dev/shm
tmpfs 3.9G 17M 3.8G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/uos-root 35G 4.6G 31G 14% /
tmpfs 3.9G 16K 3.9G 1% /tmp
/dev/sda1 1014M 238M 777M 24% /boot
tmpfs 779M 0 779M 0% /run/user/0
/dev/mapper/vg_1-lv_vg_1 5.0G 68M 5.0G 2% /mnt/vg_1_data
/dev/mapper/vg_2-lv_vg_2 10G 104M 9.9G 2% /mnt/vg_2_data

后续会在本文章内继续更新扩展卷组等内容


物理卷、卷组、逻辑卷配置
https://bote798.top/2025/04/02/物理卷、卷组、逻辑卷配置/
作者
bote798
发布于
2025年4月2日
许可协议