在这种情况下,migratelp 命令是您最值得信赖的朋友。当遇到有故障的磁盘或者需要将数据从一个磁盘迁移到另一个磁盘时,可以使用 migratepv 令或创建一个镜像副本,并且您不会受限于一种方法。对于原始卷组 (VG),在向 VG 添加一个磁盘时,您可能遇到因数(">factoring)问题。但是,通过理解 VG 的特征,可以更改因数。在本文中,我们将用一些示例讨论这些常见的磁盘维护任务。
在谈到磁盘维护时,熟悉磁盘相关属性的一些常见缩略语很有好处,因为它可让谈话变得更简练。
VG:卷组 LV:逻辑卷 LP:逻辑分区 PP:物理分区 PV:物理卷(磁盘)
许多时候,您刚到达办公室,就会听到所有用户和支持人员开始抱怨系统运行缓慢。常规的快速检查包括:
处理器限制 内存限制 磁盘访问 网络 进程侵扰
执行一些性能测试后您可能得出结论,是磁盘访问、数据在磁盘上的分散性导致了访问阻塞。没有人喜欢这样。所以,让我们假设您已通过分析来自 filemon、topas、nmon 或 lvmstat 等工具的输出,识别了磁盘上的热点。您需要将该数据移动到另一个磁盘,以缓解阻塞。另一个磁盘可能是一个新磁盘,更有可能是 VG 中一个未装满数据的现有磁盘。让我们通过两个场景,看看如何将数据从一个磁盘移动到另一个。但是,在此之前,最好了解一些命令,这样在查看 LV 和 PV 时就会很方便。
最重要的磁盘相关命令
以下是我认为您在执行数据迁移任务之前获取正确的信息,所需要知道的所有命令。
从一个 PV 获取信息
所关注磁盘的大小(以 MB 为单位)始终是需要知道的信息。假设磁盘名为 hdisk4,使用 getconf 命令查找大小:
# getconf DISK_SIZE /dev/hdisk49216
使用 lspv 命令提取磁盘信息。
lspv -l <hdiskx>:
上面的命令列出 LV 和 LP,以及 PP 和文件系统的挂载点(如果适用)。
lspv -m <hdiskx>:
上面的命令列出 PV、PP 编号、LV 和 LP 编号。
从一个 VG 获取信息
使用 lsvg 命令获取一个(或多个)PV 所在的 VG 的布局。
lsvg <vg_name>:
上面的命令列出了有关 VG 属性的一般信息,主要是 PP 大小、总空间、空闲空间和已用空间。
lsvg -l <vg_name>:
上面的命令列出了文件系统的类型、LP 和 PV,以及 LV 状态(打开还是关闭)和文件系统挂载点(如果适用)。
lsvg -p <vg_name>:
上面的命令列出了属于该 VG 的 PV,以及总 PP 空间和空闲 PP 空间。
从 LV 获取信息
可使用 lslv 命令获取有关 LV 的信息。
lslv -l <lv_name>:
上面的命令列出了 LV 所在的 PV。
lslv -m <lv_name>:
上面的命令列出了 LP、分区编号和 PV,这些信息适用于 LV 所在的所有 PV。
上述命令的输出为您提供了充分的信息来确定是否适合使用以下迁移技术执行数据迁移:
migratelp migratepv 磁盘镜像
在此演示中,我创建了小型文件系统,即小型 LV,因为我需要让输出尽可能的少。在现实中,正常应用程序的 LV 会很大。因此,LV 的 LP 清单会很长。一个技巧是打印出 LV 清单,然后使用一个标记笔确定要移动的 LP。