【Linux】LVM的创建及使用

网友投稿 662 2022-05-28

文章目录

1. 创建LVM的基本步骤

2. LVM常用命令

3. 创建使用LVM逻辑卷

1) 创建PV

a. 我们已经添加了一个sdb磁盘

b. 接下来我们创建4个分区:

c. 查看分好的分区:

d. 设定分区号代码

e. 创建pv

f. 查看物理卷信息

g. 创建vg卷组

h. 创建LV

3. 格式化与挂载

lv扩容

总结

1. 创建LVM的基本步骤

物理磁盘被格式化为PV,(空间被划分为一个个的PE) #PV包含PE

不同的PV加入到同一个VG中,(不同PV的PE全部进入到了VG的PE池内) #VG包含PV

在VG中创建LV逻辑卷,基于PE创建,(组成LV的PE可能来自不同的物理磁盘) #LV基于PE创建

LV直接可以格式化后挂载使用 #格式化挂载使用

LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据

2. LVM常用命令

与查看相关的命令:

3. 创建使用LVM逻辑卷

[root@gaosh-64 ~]# ll /dev/sd* brw-rw---- 1 root disk 8, 0 7月 23 10:28 /dev/sda brw-rw---- 1 root disk 8, 1 7月 23 10:28 /dev/sda1 brw-rw---- 1 root disk 8, 2 7月 23 10:28 /dev/sda2 brw-rw---- 1 root disk 8, 16 7月 23 10:28 /dev/sdb

1

2

【Linux】LVM的创建及使用

3

4

5

[root@gaosh-64 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0xdeb5566d 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1):1 起始 扇区 (2048-41943039,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G 分区 1 已设置为 Linux 类型,大小设为 5 GiB 按照步骤四个主分区

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

[root@gaosh-64 ~]# ll /dev/sdb* brw-rw---- 1 root disk 8, 16 7月 23 12:47 /dev/sdb brw-rw---- 1 root disk 8, 17 7月 23 12:47 /dev/sdb1 brw-rw---- 1 root disk 8, 18 7月 23 12:47 /dev/sdb2 brw-rw---- 1 root disk 8, 19 7月 23 12:47 /dev/sdb3 brw-rw---- 1 root disk 8, 20 7月 23 12:47 /dev/sdb4

1

2

3

4

5

6

注意: 操作系统中直接使用默认的83分区,也是可以创建PV的,以前一般都是选择8e

[root@gaosh-64 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 命令(输入 m 获取帮助):t 分区号 (1-4,默认 4):1 Hex 代码(输入 L 列出所有代码):l 0 空 24 NEC DOS 81 Minix / 旧 Linu bf Solaris 1 FAT12 27 隐藏的 NTFS Win 82 Linux 交换 / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 隐藏的 C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux 扩展 c7 Syrinx 5 扩展 41 PPC PReP Boot 86 NTFS 卷集 da 非文件系统数据 6 FAT16 42 SFS 87 NTFS 卷集 db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux 纯文本 de Dell 工具 8 AIX 4e QNX4.x 第2部分 8e Linux LVM df BootIt 9 AIX 可启动 4f QNX4.x 第3部分 93 Amoeba e1 DOS 访问 a OS/2 启动管理器 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad 休 eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 扩展 (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC 11 隐藏的 FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq 诊断 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 隐藏的 FAT16 <3 61 SpeedStor ab Darwin 启动 f2 DOS 次要 16 隐藏的 FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 隐藏的 HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST 智能睡眠 65 Novell Netware b8 BSDI swap fd Linux raid 自动 1b 隐藏的 W95 FAT3 70 DiskSecure 多启 bb Boot Wizard 隐 fe LANstep 1c 隐藏的 W95 FAT3 75 PC/IX be Solaris 启动 ff BBT 1e 隐藏的 W95 FAT1 80 旧 Minix Hex 代码(输入 L 列出所有代码):8e 已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):t 分区号 (1-4,默认 4):2 Hex 代码(输入 L 列出所有代码):8e 已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):t 分区号 (1-4,默认 4):3 Hex 代码(输入 L 列出所有代码):8e 已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):t 分区号 (1-4,默认 4):4 Hex 代码(输入 L 列出所有代码):8e 已将分区“Linux”的类型更改为“Linux LVM” 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 [root@gaosh-64 ~]#

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

53

54

55

56

57

58

59

60

61

[root@gaosh-64 ~]# pvcreate /dev/sdb{1,2,3,4} Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdb2" successfully created. Physical volume "/dev/sdb3" successfully created. Physical volume "/dev/sdb4" successfully created. [root@gaosh-64 ~]#

1

2

3

4

5

6

[root@gaosh-64 ~]# pvdisplay /dev/sdb1 "/dev/sdb1" is a new physical volume of "5.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 5.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID 7VIumv-EEJe-mcWK-Gt0G-euqy-bky0-LAnwny [root@gaosh-64 ~]#

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

语法: vgcreate vg名字 pv的名字 可以跟多个pv

[root@gaosh-64 ~]# vgcreate vg01 /dev/sdb1 Volume group "vg01" successfully created [root@gaosh-64 ~]# vgs VG #PV #LV #SN Attr VSize VFree centos_zmedu-17 1 2 0 wz--n- <19.00g 0 vg01 1 0 0 wz--n- <5.00g <5.00g [root@gaosh-64 ~]# vgdisplay vg01 --- Volume group --- VG Name vg01 System ID Format lvm2 Metadata Areas 1 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 1 Act PV 1 VG Size <5.00 GiB PE Size 4.00 MiB Total PE 1279 Alloc PE / Size 0 / 0 Free PE / Size 1279 / <5.00 GiB VG UUID MC3TGi-k52K-Oeq9-gxTW-DiL0-zy0n-5fOsjP [root@gaosh-64 ~]#

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

lvcreate -n 指定新逻辑卷的名称 -L指定lv大小的SIZE(M,G) (-l:小l 指定LE的数量) vgname

[root@gaosh-64 ~]# lvcreate -n lv01 -l 20M vg01 Invalid argument for --extents: 20M Error during parsing of command line. [root@gaosh-64 ~]# lvcreate -n lv01 -L 20M vg01 Logical volume "lv01" created. [root@gaosh-64 ~]# lvcreate -n lv02 -l 10 vg01 Logical volume "lv02" created. [root@gaosh-64 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos_zmedu-17 -wi-ao---- <17.00g swap centos_zmedu-17 -wi-ao---- 2.00g lv01 vg01 -wi-a----- 20.00m lv02 vg01 -wi-a----- 40.00m [root@gaosh-64 ~]#

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

[root@gaosh-64 ~]# pvdisplay /dev/sdb1 --- Physical volume --- PV Name /dev/sdb1 VG Name vg01 PV Size 5.00 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 1279 Free PE 1264 Allocated PE 15 # 已经使用了15个PE =60M PV UUID 7VIumv-EEJe-mcWK-Gt0G-euqy-bky0-LAnwny [root@gaosh-64 ~]#

1

2

3

4

5

6

7

8

9

10

11

12

13

14

[root@gaosh-64 ~]# vgdisplay vg01 --- Volume group --- VG Name vg01 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size <5.00 GiB PE Size 4.00 MiB Total PE 1279 Alloc PE / Size 15 / 60.00 MiB Free PE / Size 1264 / <4.94 GiB VG UUID MC3TGi-k52K-Oeq9-gxTW-DiL0-zy0n-5fOsjP [root@gaosh-64 ~]#

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

[root@gaosh-64 ~]# mkdir /lv01 #创建挂载目录 [root@gaosh-64 ~]# ls /dev/vg01/ ## 查看逻辑卷位置 lv01 lv02 [root@gaosh-64 ~]# mkfs.xfs /dev/vg01/lv01 格式化为XFS系统 meta-data=/dev/vg01/lv01 isize=512 agcount=1, agsize=5120 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5120, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=855, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@gaosh-64 ~]#

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

挂载:

[root@gaosh-64 ~]# mount /dev/vg01/lv01 /lv01 [root@gaosh-64 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 13M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos_zmedu--17-root 17G 4.8G 13G 29% / /dev/sda1 1014M 238M 777M 24% /boot tmpfs 378M 12K 378M 1% /run/user/42 tmpfs 378M 0 378M 0% /run/user/0 /dev/mapper/vg01-lv01 17M 1.1M 16M 7% /lv01 [root@gaosh-64 ~]#

1

2

3

4

5

6

7

8

9

10

11

12

13

14

扩容前确认下是否有可扩容空间,空间是从VG创建的。

[root@gaosh-64 ~]# vgs VG #PV #LV #SN Attr VSize VFree centos_zmedu-17 1 2 0 wz--n- <19.00g 0 vg01 1 2 0 wz--n- <5.00g <4.94g

1

2

3

4

5

扩容命令是: extend vgextend lvgextend

lvs

扩容逻辑卷

[root@gaosh-64 ~]# lvextend -L +30m /dev/vg01/lv01 Rounding size to boundary between physical extents: 32.00 MiB. Size of logical volume vg01/lv01 changed from 20.00 MiB (5 extents) to 52.00 MiB (13 extents). Logical volume vg01/lv01 successfully resized. [root@gaosh-64 ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos_zmedu-17 -wi-ao---- <17.00g swap centos_zmedu-17 -wi-ao---- 2.00g lv01 vg01 -wi-ao---- 52.00m lv02 vg01 -wi-a----- 40.00m [root@gaosh-64 ~]#

1

2

3

4

5

6

7

8

9

10

11

12

[root@gaosh-64 ~]# df -Th /lv01 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/vg01-lv01 xfs 17M 1.1M 16M 7% /lv01 [root@gaosh-64 ~]#

1

2

3

4

5

[root@gaosh-64 ~]# xfs_growfs /dev/vg01/lv01 meta-data=/dev/mapper/vg01-lv01 isize=512 agcount=1, agsize=5120 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=5120, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=855, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 5120 to 13312 [root@gaosh-64 ~]#

1

2

3

4

5

6

7

8

9

10

11

12

13

[root@gaosh-64 ~]# df -Th /lv01 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/vg01-lv01 xfs 49M 1.2M 48M 3% /lv01 [root@gaosh-64 ~]#

1

2

3

4

5

VG扩容

[root@gaosh-64 ~]# vgs VG #PV #LV #SN Attr VSize VFree centos_zmedu-17 1 2 0 wz--n- <19.00g 0 vg01 1 2 0 wz--n- <5.00g <4.91g [root@gaosh-64 ~]# pvcreate /dev/sdb3 Physical volume "/dev/sdb3" successfully created. [root@gaosh-64 ~]# vgextend vg01 /dev/sdb3 Volume group "vg01" successfully extended [root@gaosh-64 ~]# vgs VG #PV #LV #SN Attr VSize VFree centos_zmedu-17 1 2 0 wz--n- <19.00g 0 vg01 2 2 0 wz--n- 8.99g 8.90g [root@gaosh-64 ~]#

1

2

3

4

5

6

7

8

9

10

11

12

13

14

LVM不难,难的是命令超多,容易把自己绕晕, 所以建议在本子上多写几遍,哪个命令用来做啥的。

Linux

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:我用370行代码写了一个wxPython的任务托盘程序:实用的屏幕录像机
下一篇:Mysql分表和分区的区别、分库和分表区别
相关文章