LVM基本应用,扩展及缩减实现!

LVM概述

  【百度百科】 LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

LVM架构

 LVM创建

 1 // 磁盘分区,模拟创建物理磁盘过程
 2 [root@cdcjtx-centos-001 ~]# fdisk /dev/sdb
 3 欢迎使用 fdisk (util-linux 2.23.2)。
 4 
 5 更改将停留在内存中,直到您决定将更改写入磁盘。
 6 使用写入命令前请三思。
 7 
 8 
 9 命令(输入 m 获取帮助):n
10 Partition type:
11    p   primary (0 primary, 0 extended, 4 free)
12    e   extended
13 Select (default p):
14 Using default response p
15 分区号 (1-4,默认 1):
16 起始 扇区 (2048-41943039,默认为 2048):
17 将使用默认值 2048
18 Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+3G
19 分区 1 已设置为 Linux 类型,大小设为 3 GiB
20 
21 命令(输入 m 获取帮助):n
22 Partition type:
23    p   primary (1 primary, 0 extended, 3 free)
24    e   extended
25 Select (default p):
26 Using default response p
27 分区号 (2-4,默认 2):
28 起始 扇区 (6293504-41943039,默认为 6293504):
29 将使用默认值 6293504
30 Last 扇区, +扇区 or +size{K,M,G} (6293504-41943039,默认为 41943039):+4G
31 分区 2 已设置为 Linux 类型,大小设为 4 GiB
32 
33 命令(输入 m 获取帮助):n
34 Partition type:
35    p   primary (2 primary, 0 extended, 2 free)
36    e   extended
37 Select (default p):
38 Using default response p
39 分区号 (3,4,默认 3):
40 起始 扇区 (14682112-41943039,默认为 14682112):
41 将使用默认值 14682112
42 Last 扇区, +扇区 or +size{K,M,G} (14682112-41943039,默认为 41943039):+2G
43 分区 3 已设置为 Linux 类型,大小设为 2 GiB
44 
45 命令(输入 m 获取帮助):t
46 分区号 (1-3,默认 3):
47 Hex 代码(输入 L 列出所有代码):8e
48 已将分区“Linux”的类型更改为“Linux LVM”
49 
50 命令(输入 m 获取帮助):t
51 分区号 (1-3,默认 3):2
52 Hex 代码(输入 L 列出所有代码):8e
53 已将分区“Linux”的类型更改为“Linux LVM”
54 
55 命令(输入 m 获取帮助):t
56 分区号 (1-3,默认 3):1
57 Hex 代码(输入 L 列出所有代码):8e
58 已将分区“Linux”的类型更改为“Linux LVM”
59 
60 命令(输入 m 获取帮助):w
61 The partition table has been altered!
62 
63 Calling ioctl() to re-read partition table.
64 正在同步磁盘。
65 [root@cdcjtx-centos-001 ~]# fdisk /dev/sdb
66 欢迎使用 fdisk (util-linux 2.23.2)。
67 
68 更改将停留在内存中,直到您决定将更改写入磁盘。
69 使用写入命令前请三思。
70 
71 
72 命令(输入 m 获取帮助):p
73 
74 磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
75 Units = 扇区 of 1 * 512 = 512 bytes
76 扇区大小(逻辑/物理):512 字节 / 512 字节
77 I/O 大小(最小/最佳):512 字节 / 512 字节
78 磁盘标签类型:dos
79 磁盘标识符:0xc950dffb
80 
81    设备 Boot      Start         End      Blocks   Id  System
82 /dev/sdb1            2048     6293503     3145728   8e  Linux LVM
83 /dev/sdb2         6293504    14682111     4194304   8e  Linux LVM
84 /dev/sdb3        14682112    18876415     2097152   8e  Linux LVM
85 
86 命令(输入 m 获取帮助):q
 1 // 创建PV
 2 [root@cdcjtx-centos-001 ~]# pvcreate /dev/sdb1
 3   Physical volume "/dev/sdb1" successfully created.
 4 [root@cdcjtx-centos-001 ~]# pvcreate /dev/sdb2
 5   Physical volume "/dev/sdb2" successfully created.
 6 [root@cdcjtx-centos-001 ~]# pvcreate /dev/sdb3
 7   Physical volume "/dev/sdb3" successfully created.
 8 [root@cdcjtx-centos-001 ~]# pvs
 9   PV         VG     Fmt  Attr PSize   PFree
10   /dev/sda2  centos lvm2 a--  <19.00g    0
11   /dev/sdb1         lvm2 ---    3.00g 3.00g
12   /dev/sdb2         lvm2 ---    4.00g 4.00g
13   /dev/sdb3         lvm2 ---    2.00g 2.00g
1 // 创建PE大小为12M,名称为TESTvg的逻辑卷组
2 [root@cdcjtx-centos-001 ~]# vgcreate -s 12M TESTvg /dev/sdb1 /dev/sdb2 /dev/sdb3
3   Volume group "TESTvg" successfully created
4 [root@cdcjtx-centos-001 ~]# vgs
5   VG     #PV #LV #SN Attr   VSize   VFree
6   TESTvg   3   0   0 wz--n-  <8.98g <8.98g
7   centos   1   2   0 wz--n- <19.00g     0
1 // 创建大小为4G,名为TESTlv的逻辑分区
2 [root@cdcjtx-centos-001 ~]# lvcreate -L 4G -n TESTlv TESTvg
3   Rounding up size to full physical extent <4.01 GiB
4   Logical volume "TESTlv" created.
5 [root@cdcjtx-centos-001 ~]# lvs
6   LV     VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
7   TESTlv TESTvg -wi-a-----  <4.01g
8   root   centos -wi-ao---- <17.00g
9   swap   centos -wi-ao----   2.00g

  格式化分区和数据准备,准备数据便于后面的数据完整性测试

 1 // 格式化分区为ext4类型,并挂载到/users目录下,将目录/etc/pam.d 复制到/users目录下
 2 [root@cdcjtx-centos-001 ~]# mkfs.ext4 /dev/TESTvg/TESTlv
 3 mke2fs 1.42.9 (28-Dec-2013)
 4 文件系统标签=
 5 OS type: Linux
 6 块大小=4096 (log=2)
 7 分块大小=4096 (log=2)
 8 Stride=0 blocks, Stripe width=0 blocks
 9 263472 inodes, 1053696 blocks
10 52684 blocks (5.00%) reserved for the super user
11 第一个数据块=0
12 Maximum filesystem blocks=1080033280
13 33 block groups
14 32768 blocks per group, 32768 fragments per group
15 7984 inodes per group
16 Superblock backups stored on blocks:
17         32768, 98304, 163840, 229376, 294912, 819200, 884736
18 
19 Allocating group tables: 完成
20 正在写入inode表: 完成
21 Creating journal (32768 blocks): 完成
22 Writing superblocks and filesystem accounting information: 完成
23 
24 [root@cdcjtx-centos-001 ~]# partprobe // 在不重新启动机器的情况下系统能够识别这些分区
25 [root@cdcjtx-centos-001 ~]# mount /dev/TESTvg/TESTlv /users/
26 [root@cdcjtx-centos-001 ~]# cp -R /etc/pam.d/ /users/
27 [root@cdcjtx-centos-001 ~]# ls -l /users/
28 总用量 20
29 drwx------ 2 root root 16384 5月  13 16:27 lost+found
30 drwxr-xr-x 2 root root  4096 5月  13 16:29 pam.d

LVM扩展

 1 // 为TESTlv新增加2G容量,并验证数据完整度
 2 
 3 [root@cdcjtx-centos-001 ~]# lvextend -L +2G /dev/TESTvg/TESTlv // 扩展物理边界
 4   Rounding size to boundary between physical extents: 2.00 GiB.
 5   Size of logical volume TESTvg/TESTlv changed from <4.02 GiB (343 extents) to 6.02 GiB (514 extents).
 6   Logical volume TESTvg/TESTlv successfully resized.
 7 
 8 [root@cdcjtx-centos-001 ~]# resize2fs /dev/TESTvg/TESTlv // 扩展逻辑边界
 9 resize2fs 1.42.9 (28-Dec-2013)
10 Filesystem at /dev/TESTvg/TESTlv is mounted on /users; on-line resizing required
11 old_desc_blocks = 1, new_desc_blocks = 1
12 The filesystem on /dev/TESTvg/TESTlv is now 1579008 blocks long.
13 
14 [root@cdcjtx-centos-001 ~]# ls -l /users/ //数据校验
15 总用量 20
16 drwx------ 2 root root 16384 5月  13 16:27 lost+found
17 drwxr-xr-x 2 root root  4096 5月  13 16:29 pam.d

LVM缩减

 1 // 将TESTlv缩减到2G大小,并校验数据完整性!
 2 // 这里采用ext4作为文件系统类型
 3 // 先卸载物理文件系统->文件系统的强制检测和修复->缩减逻辑边界->缩减物理边界->重新挂载
 4 
 5 [root@cdcjtx-centos-001 ~]# umount /dev/TESTvg/TESTlv // 卸载物理文件系统
 6 
 7 [root@cdcjtx-centos-001 ~]# e2fsck -f /dev/TESTvg/TESTlv // 文件系统的强制检测和修复
 8 e2fsck 1.42.9 (28-Dec-2013)
 9 第一步: 检查inode,块,和大小
10 第二步: 检查目录结构
11 第3步: 检查目录连接性
12 Pass 4: Checking reference counts
13 第5步: 检查簇概要信息
14 /dev/TESTvg/TESTlv: 67/391216 files (0.0% non-contiguous), 61501/1579008 blocks
15 
16 [root@cdcjtx-centos-001 ~]# resize2fs /dev/TESTvg/TESTlv 2G // 缩减逻辑边界为2G大小
17 resize2fs 1.42.9 (28-Dec-2013)
18 Resizing the filesystem on /dev/TESTvg/TESTlv to 524288 (4k) blocks.
19 The filesystem on /dev/TESTvg/TESTlv is now 524288 blocks long.
20 
21 [root@cdcjtx-centos-001 ~]# lvreduce -L 2G /dev/TESTvg/TESTlv // 缩减物理边界为2G大小
22   Rounding size to boundary between physical extents: 2.00 GiB.
23   WARNING: Reducing active logical volume to 2.00 GiB.
24   THIS MAY DESTROY YOUR DATA (filesystem etc.)
25 Do you really want to reduce TESTvg/TESTlv? [y/n]: y // 确认执行,注意风险性
26   Size of logical volume TESTvg/TESTlv changed from 6.02 GiB (514 extents) to 2.00 GiB (171 extents).
27   Logical volume TESTvg/TESTlv successfully resized.
28 
29 [root@cdcjtx-centos-001 ~]# mount /dev/TESTvg/TESTlv /users/ //重新挂载
30 
31 [root@cdcjtx-centos-001 ~]# ls -l /users/ //数据查看
32 总用量 20
33 drwx------ 2 root root 16384 5月  13 16:27 lost+found
34 drwxr-xr-x 2 root root  4096 5月  13 16:29 pam.d

删除LVM卷案例

 1 [root@cdcjtx-centos-001 ~]# umount /users/
 2 
 3 [root@cdcjtx-centos-001 ~]# lvremove /dev/TESTvg/TESTlv
 4 Do you really want to remove active logical volume TESTvg/TESTlv? [y/n]: y
 5   Logical volume "TESTlv" successfully removed
 6 
 7 [root@cdcjtx-centos-001 ~]# vgremove TESTvg
 8   Volume group "TESTvg" successfully removed
 9 
10 [root@cdcjtx-centos-001 ~]# pvremove /dev/sdb1
11   Labels on physical volume "/dev/sdb1" successfully wiped.
12 
13 [root@cdcjtx-centos-001 ~]# pvremove /dev/sdb2
14   Labels on physical volume "/dev/sdb2" successfully wiped.
15 
16 [root@cdcjtx-centos-001 ~]# pvremove /dev/sdb3
17   Labels on physical volume "/dev/sdb3" successfully wiped.
18 
19 [root@cdcjtx-centos-001 ~]# pvs
20   PV         VG     Fmt  Attr PSize   PFree
21   /dev/sda2  centos lvm2 a--  <19.00g    0
22 
23 [root@cdcjtx-centos-001 ~]# vgs
24   VG     #PV #LV #SN Attr   VSize   VFree
25   centos   1   2   0 wz--n- <19.00g    0
26 
27 [root@cdcjtx-centos-001 ~]# lvs
28   LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
29   root centos -wi-ao---- <17.00g
30   swap centos -wi-ao----   2.00g

  

猜你喜欢

转载自www.cnblogs.com/wybaron/p/9032423.html
今日推荐