AIX系统移动lv_第1页
AIX系统移动lv_第2页
AIX系统移动lv_第3页
AIX系统移动lv_第4页
AIX系统移动lv_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BatchDoc Word文档批量处理工具移动磁盘数据磁盘维护David Tansley, 系统管理员, Ace Europe简介: 磁盘上的数据维护是任何系统管理员的常见任务。根据我的经验,数据移动就是一项频繁执行的任务。数据移动可能由您磁盘上的热点所导致,一种快速修复方法是将一些逻辑卷转移到另一个磁盘上,以缓解阻塞。在这种情况下,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:上面的命令列出 LV 和 LP,以及 PP 和文件系统的挂载点(如果适用)。lspv -m:上面的命令列出 PV、PP 编号、LV 和 LP 编号。从一个 VG 获取信息使用 lsvg 命令获取一个(或多个)PV 所在的 VG 的布局。lsvg:上面的命令列出了有关 VG 属性的一般信息,主要是 PP 大小、总空间、空闲空间和已用空间。lsvg -l:上面的命令列出了文件系统的类型、LP 和 PV,以及 LV 状态(打开还是关闭)和文件系统挂载点(如果适用)。lsvg -p: 上面的命令列出了属于该 VG 的 PV,以及总 PP 空间和空闲 PP 空间。从 LV 获取信息可使用 lslv 命令获取有关 LV 的信息。lslv -l:上面的命令列出了 LV 所在的 PV。lslv -m:上面的命令列出了 LP、分区编号和 PV,这些信息适用于 LV 所在的所有 PV。上述命令的输出为您提供了充分的信息来确定是否适合使用以下迁移技术执行数据迁移: migratelp migratepv 磁盘镜像在此演示中,我创建了小型文件系统,即小型 LV,因为我需要让输出尽可能的少。在现实中,正常应用程序的 LV 会很大。因此,LV 的 LP 清单会很长。一个技巧是打印出 LV 清单,然后使用一个标记笔确定要移动的 LP。使用 migratelp 命令移动数据如果需要移动 LP,也就是要将 LV 的一个部分从一个磁盘移动到另一个磁盘,那么可以使用 migratelp。您可指定一个或多个 LV 分段中您希望移动到另一个磁盘的部分。LV 监视工具 lvmstat 的输出与您需要用于 migratelp 命令的输入格式很相似,这并不是巧合。对于本演示,migratelp 命令的格式为:migratelp可能您希望移动的 LV 已建立镜像。这没有问题,只需选择您希望移动的副本即可。假设我们拥有以下磁盘:# lspvhdisk1 00c23bed42b3afff Nonehdisk2 00525c6a888e32cd vg00 activehdisk3 00c23bed32883598 Nonehdisk0 00c23bed42b3aefe rootvg active我们认为 LV fslv00 的负担过重,这些负担可能源于磁盘读写。我们决定将另一个磁盘(也就是 VG vg00)放入该 LV 中,将 LV fslv00 的一部分迁移到新磁盘中,以缓解阻塞。首先,让我们看看磁盘 hdisk2,fslv00 目前位于其中:# lspv -l hdisk2hdisk2:LV NAME LPs PPs DISTRIBUTION MOUNT POINTfslv00 4 4 00.04.00.00.00 /devholdloglv00 1 1 00.01.00.00.00 N/Afslv01 4 4 00.04.00.00.00 /apps现在,让我们看看实际的 VG, vg00。#lsvg -l vg00vg00:LV NAME TYPE LPs PPs PVsLV STATE MOUNT POINTloglv00 jfs2log 1 1 1 open/syncd N/Afslv00 jfs2 4 4 1 open/syncd /devholdfslv01 jfs2 4 4 1 open/syncd /apps我们现在可以看到,该 LV fslv00 位于一个磁盘上。现在将另一个磁盘 hdisk3 添加到 VG 上:# extendvg vg00 hdisk3确认该磁盘已添加,我们知道已经添加了该磁盘,因为我们在扩展 VG 时未遇到任何错误:# lsvg -p vg00vg00:PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTIONhdisk2 active 542 533 09.99.108.108.109hdisk3 active 2187 2187 438.437.437.437.438现在,让我们看看我们的 LV 布局。同样的,我们可以看到所有 LP 都在位于 hdisk2 上的 LV fslv00 之上:#lslv -m fslv00fslv00:/devholdLP PP1PV1 PP2PV2 PP3PV300010111 hdisk200020112 hdisk200030113 hdisk200040114 hdisk2现在将前两个 LP(即 0001 和 0002)从 fslv00 移动到新磁盘 hdisk3。# migratelp fslv00/1 hdisk3migratelp: Mirror copy 1 of logical partition 1 of logical volume fslv00 migrated to physical partition 439 of hdisk3.# migratelp fslv00/2 hdisk3migratelp: Mirror copy 1 of logical partition 2 of logical volume fslv00 migrated to physical partition 440 of hdisk3.上述两个 migratelp 命令的运行很正常。现在通过再次查询 fslv00 确认这些 LP 已在新磁盘上:# lslv -m fslv00fslv00:/devholdLP PP1PV1 PP2PV2 PP3PV300010439 hdisk300020440 hdisk300030113 hdisk200040114 hdisk2和预期一样,该 LV 现在已分散在两个磁盘上:hdisk2 和 hdisk3。可以通过列出两个 hdisk 的内容来进一步确认这一点,如下所示:# lspv -l hdisk3hdisk3:LV NAME LPs PPs DISTRIBUTION MOUNT POINTfslv00 2 2 00.02.00.00.00 /devhold# lspv -l hdisk2hdisk2:LV NAME LPs PPs DISTRIBUTION MOUNT POINTfslv00 2 2 00.02.00.00.00 /devholdloglv00 1 1 00.01.00.00.00 N/Afslv01 4 4 00.04.00.00.00 /apps如果您在某一刻觉得迁移没有意义,不用担心,只需将它们迁移回来即可,如下所示:# migratelp fslv00/1 hdisk2migratelp: Mirror copy 1 of logical partition 1 of logical volume fslv00 migrated to physical partition 111 of hdisk2.# migratelp fslv00/2 hdisk2migratelp: Mirror copy 1 of logical partition 2 of logical volume fslv00 migrated to physical partition 112 of hdisk2.现在,如果我们查询 hdisk3,就会发现 hdisk3 上的部分中应该没有 LV:# lspv -l hdisk3没有返回输出,这表明该磁盘上没有数据。然而,对于 hdisk2,fslv00 的布局现在已完全还原到之前的状态:# lspv -l hdisk2hdisk2:LV NAME LPs PPs DISTRIBUTION MOUNT POINTfslv00 4 4 00.04.00.00.00 /devholdloglv00 1 1 00.01.00.00.00 N/Afslv01 4 4 00.04.00.00.00 /apps如果需要进一步确认,只需查询 LV 即可:# lslv -m fslv00fslv00:/devholdLP PP1PV1 PP2PV2 PP3PV300010111 hdisk200020112 hdisk200030113 hdisk200040114 hdisk2镜像迁移可通过许多方法移动数据。前面我们查看了 migratelp 命令。现在让我们看看磁盘镜像。在此演示中,想象我们有一个故障磁盘,需要将数据转移到新磁盘。我们装入了另一个磁盘,然后将 LV 镜像复制到新磁盘。完成镜像复制之后,将会删除原始副本。然后从 VG 中删除故障磁盘。我们假设已将一个磁盘装入 VG vg00 中。下一个任务是在新磁盘中创建这些 VG 的副本。首先,让我们检查一下 VG vg00 的布局:#lsvg -l vg00vg00:LV NAME TYPE LPs PPs PVsLV STATE MOUNT POINTloglv00 jfs2log 1 1 1 open/syncd N/Afslv00 jfs2 4 4 1 open/syncd /devholdfslv01 jfs2 4 4 1 open/syncd /apps假设新磁盘 hdisk3 已添加到 VG vg00 中。接下来,在新添加的磁盘上创建所有 LV 的副本。在本演示中,mklvcopy 命令的格式为:mklvcopy其中 copy_number 为 2,即 LV 的第二个(副本),destination_PV(在本演示中)为 hdisk3。# mklvcopy fslv00 2 hdisk3# mklvcopy fslv01 2 hdisk3# mklvcopy loglv00 2 hdisk3现在我们在新磁盘上已经有了 LV 的副本。接下来,我们需要使用 syncvg 命令同步/镜像 LV:# syncvg -l fslv00# syncvg -l fslv01# syncvg -l loglv00我们现在已完成到新磁盘 hdisk3 的镜像。这可以通过列出 VG 中的 LV 来确认。请注意,PP 列是每个 LV 的 LP 的两倍。这意味着这些 LV 已完成镜像:#lsvg -l vg00vg00:LV NAME TYPE LPs PPs PVsLV STATE MOUNT POINTloglv00 jfs2log 1 2 2 open/syncd N/Afslv00 jfs2 4 8 2 open/syncd /devholdfslv01 jfs2 4 8 2 open/syncd /apps现在我们的数据已放在一个好的磁盘上,可以删除原始副本,即故障磁盘 hdisk2 上的 LV。在本演示中,rmlvcopy 命令的格式为:rmlvcopy其中,在 LV 第一次出现时或者在您更喜欢原始 LV 的时候,copy_number 将为 1,在本演示中 PV_to_remove_copy 为 hdisk2现在将这些 LV 副本从故障磁盘 hdisk2 中删除:# rmlvcopy fslv00 1 hdisk2# rmlvcopy fslv01 1 hdisk2# rmlvcopy loglv00 1 hdisk2来自 hisk2 的所有副本现在已删除。hdisk2 不应再有任何数据,这可以通过查看 VG 来确认。在以下输出中,请注意,对于hdisk2,TOTAL PP 和 FREE PP 值是相同的,这意味着该磁盘是空的:# lsvg -p vg00vg00:PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTIONhdisk2 active 542 542 109.108.108.108. 109hdisk3 active 2187 2178 438.428.437.437. 438可以通过列出两个磁盘进一步确认这一点。hdisk2 应该没有数据,但 hdisk3 上应有 LV。# lspv -l hdisk2没有返回任何输出,这表明该磁盘上没有数据。# lspv -l hdisk3hdisk3:LV NAME LPs PPs DISTRIBUTION MOUNT POINTfslv00 4 4 00.04.00.00.00 /devholdloglv00 1 1 00.01.00.00.00 N/Afslv01 4 4 00.04.00.00.00 /apps现在,剩下的任务是从 VG 删除故障磁盘 hdisk2:# reducevg vg00 hdisk2要确认 VG 现在仅包含好的 hdisk3 磁盘,请执行以下命令:# lsvg -p vg00vg00:PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTIONhdisk3 active 2187 2178 438.428.437.437.438数据已成功从一个故障磁盘移动到 VG vg00 中的一个新磁盘。在某一时刻,故障磁盘与 VG 是没有关联的,应该在此时物理更换它。使用 migratepv 命令复制 LV 中的数据当有一个内容非常稠密的磁盘包含许多要迁移的 LV 时,有时使用 migratepv 命令复制数据很有效。您还可以使用此命令复制单独的 LV。假设我们需要将数据从 hdisk2 迁移到 hdisk3。目标磁盘的大小可能比来源磁盘更小,只要所有 LV 都能装入目标磁盘。在本演示中,migratepv 命令的格式为:migratepv migratepv -l其中是您希望迁移的 LV 的名称。在 VG vg00 的以下输出中,可以注意到 hdisk3 是空的。这可以通过查看 TOTAL PP 和 FREE PP 值来确认,这两个值是相同的。这意味着该磁盘上没有数据。# lsvg -p vg00vg00:PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTIONhdisk2 active 542 532 109.98.108.108.109hdisk3 active 2187 2187 438.437.437.437.438要进一步确认所有 LV 都在 hdisk2 上,可对每个 LV 运行 lslv 命令:# lslv -m fslv00fslv00:/appsLP PP1PV1 PP2PV2 PP3PV300010111 hdisk200020112 hdisk200030113 hdisk200040114 hdisk200050115 hdisk2# lslv -m fslv01fslv01:/devholdLP PP1PV1 PP2PV2 PP3PV300010116 hdisk200020117 hdisk200030118 hdisk200040119 hdisk2# lslv -m loglv00loglv00:N/ALP PP1PV1 PP2PV2 PP3PV300010110 hdisk2现在,让我们使用以下 migratepv 命令将 LV fslv00 从 hdisk2 迁移到 hdisk3:# migratepv -l fslv00 hdisk2 hdisk3通过查看 LV,我们可以确定 LV fslv00 现在位于 hdisk3 上:# lslv -m fslv00fslv00:/appsLP PP1PV1 PP2PV2 PP3PV300010439 hdisk300020440 hdisk300030441 hdisk300040442 hdisk300050443 hdisk3假设您现在需要将其他所有 LV(也就是来自 hdisk2 的所有数据)复制到 hdisk3 上,可运行以下命令:# migratepv hdisk2 hdisk3成功完成 migratepv 命令后,hdisk2 上将没有任何数据,所有数据现在都位于 hdisk3 上:# lspv -l hdisk2上面的命令不会返回任何输出,这表明该磁盘上没有任何数据。# lspv -l hdisk3hdisk3:LV NAME LPs PPs DISTRIBUTION MOUNT POINTfslv00 5 5 00.05.00.00.00 /appsloglv00 1 1 00.01.00.00.00 N/Afslv01 4 4 00.04.00.00.00 /devhold接下来,运行以下命令,确认该 VG 打开了这些 LV,并且没有出现任何问题。# lsvg -l vg00vg00:LV NAME TYPE LPs PPs PVsLV STATE MOUNT POINTloglv00 jfs2log 1 1 1 open/syncd N/Afslv00 jfs2 5 5 1 open/syncd /appsfslv01 jfs2 4 4 1 open/syncd /devhold设置卷组的分解因数当可伸缩的大型 VG 成为 IBM AIX 内的一个主要功能之前,VG 被创建为正常或原始的 VG。要识别您拥有的 VG 的类型,可以查询该 VG 并查找 MAX PV 值。作为一条经验规则,可以使用以下数据。 如果有 32 个 PV,那么它是一个原始 VG。 如果有 128 个 PV,那么它是一个大型 VG。 如果有 1024 个 PV,那么它是一个可伸缩 VG。但是,这里请注意,不是所有 VG 都返回了应有的值。这通常表明在创建原始 VG 后应该执行 VG 维护。在过去,旧 VG 是原始 VG,分配了一组已定义的 PP。PP 和 PV 值具有直接关联。如果将一个磁盘(大得多)放入一个 VG(也就是一个原始 VG,其中的所有磁盘都具有较小的 PP 和 PV),您会遇到因数问题。其他一些情形也有可能遇到因数问题。因数问题不是真正的大问题。如果您更改了因数,那么您的 VG 支持的磁盘将会更少。这是因为,通过增加因数大小,可以增加 PP 大小,这会减少您可以包含在 VG 中的磁盘数量。这真的是个问题吗?在我看来不算。所以这里您有两个选择: 当 VG 变化时,使用 chvg -B 命令转换为一个大 VG。 当 VG 变化时,使用 chvg -G 命令转换为一个可伸缩 VG。或者在未来,确保任何新 VG 创建为可伸缩的 VG,以防遇到因数问题。假设某种转换 VG 的情况并不可取,因为您不能让文件系统离线。要获得 VG 中的磁盘,则必须更改因数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论