Board logo

标题: 逻辑卷管理(3)扩展卷 管理卷 [打印本页]

作者: look_w    时间: 2018-6-14 16:45     标题: 逻辑卷管理(3)扩展卷 管理卷

扩展卷是非常容易的。如果卷组中有足够的空闲空间,那么只需使用 lvextend 来扩展卷,不需要卸载它。然后,还要扩展逻辑卷中的文件系统(请记住,它们是两回事儿)。根据所用文件系统的不同,也可以进行在线扩展(即在挂载状态下进行扩展)。
如果 VG 中没有足够的空间,那么首先需要添加更多的物理磁盘。步骤如下:
还可以同时创建或添加多个物理磁盘:
1
2
pvcreate /dev/hda2 /dev/hda3 /dev/hda5
vgextend test-volume /dev/hda2 /dev/hda3 /dev/hda5




添加了 PV 之后,就有了足以扩展逻辑卷的空间,就可以使用 lvextend 扩展逻辑卷了:lvextend -L 8G /dev/test-volume/data。这个命令将 /dev/test-volume/data LV 的大小扩展到 8GB。
lvextend 有一些有用的参数:
细节参见 lvextend(8)。
在扩展 LV 之后,不要忘记扩展文件系统(这样才能实际使用增加的空间)。根据文件系统类型,这个操作可以在文件系统挂载状态下在线执行。
清单 10 是一个用 resize_reiserfs 重新设置 LV 大小的示例(随便说一句,可以在挂载的文件系统上使用这个命令):resize_reiserfs /dev/test-volume/data。
管理卷为了管理卷,需要知道如何减小 LV 和删除 PV。
减小逻辑卷
可以按照扩展 LV 的方式使用 lvreduce 命令减小 LV。从 LVM 的角度来说,这个操作可以在卷在线的情况下执行;但是,大多数文件系统不支持缩小在线文件系统。清单 10 给出这个过程的示例:
清单 10. 减小 LV
1
2
3
4
5
6
#unmount LV
umount /path/to/mounted-volume
#shrink filesystem to 4G
resize_reiserfs -s 4G /dev/test-volume/data
#reduce LV
lvreduce -L 4G /dev/vg00/test




请注意大小和单位:文件系统不应该比 LV 大!
删除物理卷
假设出现了以下情况:一个卷组包含两个 80GB 的磁盘,希望将它们替换为 160GB 的磁盘。在使用 LVM 时,可以按照添加 PV 的方式从 VG 中删除 PV(即在在线情况下执行删除)。但是注意,不能删除 LV 中正在使用的 PV。对于这些情况,可以使用 pvmove,它可以释放在线的 PV,这样就可以轻松地替换它们。在热交换环境中,甚至可以交换所有磁盘,而根本不需要停机!
pvmove 的惟一要求是,VG 中连续空闲区段的数量必须等于要从 PV 中删除的区段数量。没有直接判断连续空闲 PE 的最大数量的简便方法,但是可以使用 pvdisplay -m 显示 PV 分配图:
清单 11. 显示 PV 分配图
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
#shows the allocation map
pvdisplay -m
  --- Physical volume ---
  PV Name               /dev/hda6
  VG Name               test-volume
  PV Size               4.91 GB / not usable 1.34 MB
  Allocatable           yes (but full)
  PE Size (KByte)       4096
  Total PE              1200
  Free PE               0
  Allocated PE          1200
  PV UUID               BA99ay-tOcn-Atmd-LTCZ-2KQr-b4Z0-CJ0FjO

  --- Physical Segments ---
  Physical extent 0 to 2367:
    Logical volume      /dev/test-volume/data
    Logical extents     5692 to 8059
  Physical extent 2368 to 2499:
    Logical volume      /dev/test-volume/data
    Logical extents     5560 to 5691

  --- Physical volume ---
  PV Name               /dev/hda7
  VG Name               test-volume
  PV Size               9.77 GB / not usable 1.37 MB
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              2500
  Free PE               1220
  Allocated PE          1280
  PV UUID               Es9jwb-IjiL-jtd5-TgBx-XSxK-Xshj-Wxnjni

  --- Physical Segments ---
  Physical extent 0 to 1279:
    Logical volume      /dev/test-volume/LV0
    Logical extents     0 to 1279
  Physical extent 1280 to 2499:
    FREE




清单 11 显示有 2,499-1,280 = 1,219 个连续空闲区段,这表示最多能够将 1,219 个区段从另一个 PV 转移到 /dev/hda7。
如果希望释放一个 PV 以便进行替换,那么最好禁止它的分配,这样就可以在从卷组中删除它之前确保它一直是空闲的。在转移数据之前,执行以下命令:
清单 12. 在释放之前禁止 PV 的分配
1
2
#Disable /dev/hda6 allocation
pvchange -xn /dev/hda6




释放之后,PV /dev/hda6 的大小为 1,200 个区段,没有空闲区段了。使用以下命令将数据转移出这个 PV:
清单 13. 从释放的 PV 移出数据
1
2
#Move allocated extents out of /dev/hda6
pvmove -i 10 /dev/hda6




清单 13 中的 -i 10 参数指示 pvmove 每 10 秒报告一次状态。根据要转移的数据量,这个操作可能要花费几分钟(甚至几小时)。还可以使用 -b 参数将这个操作转到后台执行。在后台执行的情况下,状态报告会发送到系统日志。
如果没有足以进行 pvmove 操作的连续空闲区段,那么可以在 VG 中添加 一个或多个磁盘/分区,从而形成 pvmove 所需的连续空间。
其他有用的 LVM 操作
关于下面这些 LVM 操作的细节,请查阅手册页:





欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0