2019年(65)
分类:
2019-07-23 16:19:35
原文地址:veritas volume manager(管理卷-4) 作者:风之幻想
禁用快速再同步 使用vxvol命令可关闭现有卷的保留式或非保留式快速再同步,如下所示: # vxvol [-g diskgroup] set fastresync=off volume 关闭快速再同步将释放指定卷的全部跟踪映像。所有后续的重新挂接将不使用快速再同步工具,而是执行卷的完整再同步。即使以后打开快速再同步,这种情况也会发生。 本节描述的过程介绍如何在使用早于 3.2 版的 VxVM 创建的卷上启用快速再同步,该卷具有挂接的快照 plex 或者与一个或多个快照卷关联。 如果不执行本节介绍的重新配置则每次使用snapback将快照重新挂接到原始卷时都需要完整再同步。 据更改对象 (DCO) 和 DCO 日志卷添加到该卷之后对它执行snapstart操作时,无需执行此过程。 在包含任何快照 plex 或具有任何快照卷的现有卷上启用保留式快速再同步之前,必须创建数据更改对象 (DCO) 和 DCO 日志卷并将它们与该卷关联。需要在 DCO 日志卷中配置的plex 数由必须跟踪的数据和快照 plex 数决定。(卷的快照 plex 就是那些vxprint命令所显示的、状态设置为 SNAPDONE 的 plex。) 因为保留式快速再同步对原始卷和它的快照卷执行跟踪,因此还必须配置 DCO 和 DCO 日志卷并将它们与每个快照卷关联。仅当在卷上启用保留式快速再同步之前,才需要这样做。在卷上启用了保留式快速再同步之后 snapstart、snapshot和snapback操作将自动处理 DCO 和 DCO 日志卷的创建和管理。 DCO 日志 plex 需要可供快速再同步映像使用的永久存储空间。若要为 DCO 日志plex 提供空间,可能需要将额外的磁盘添加到磁盘组中,或者重新配置现有卷以释放磁盘组中的空间。增加磁盘空间的另一种方法是使用磁盘组移动功能从其它磁盘组中引入备用磁盘。 执行下列步骤可在具有挂接快照 plex 或关联快照卷的现有卷上启用保留式快速再同步: 1. 在执行本节介绍的过程的其余部分之前,请将包含现有卷的磁盘组升级到至少 90 版。 使用下面的命令检查磁盘组的版本: # vxdg list diskgroup 若要将磁盘组升级为最新版本,请使用如下命令 在具有关联快照的现有卷上启用保留式快速再同步 # vxdg upgrade diskgroup 2. 对于具有一个或多个关联快照卷的卷,建议使用下面的命令重新挂接和再同步每个快 照: # vxassist [-g diskgroup] snapback snapvol 如果在创建快照之前在卷上启用了非保留式快速再同步,则快照 plex 中的数据将快速从原始卷再同步。如果没有启用非保留式快速再同步,则执行完整再同步。 如果选择重新挂接全部快照,则只需要将 DCO 和 DCO 日志卷添加到原始卷。 如果选择不快照合并(snapback )快照卷,则必须将 DCO 和 DCO 日志卷添加到原始卷,并且分别添加到该原始卷的每个快照卷。此方法要求在启用了保留式快速再同步之后,对每个快照卷的第一个后续快照合并执行完整再同步。 3. 如果原始卷上当前启用了非保留式快速再同步,请使用下面的命令将其关闭: # vxvol [-g diskgroup] set fastresync=off volume 如果不能确定哪个卷启用了非保留式快速再同步,请使用下面的命令获得这些卷的列表 # vxprint [-g diskgroup] -F "%name" -e "v_fastresync=on && !v_hasdcolog” 4. 对原始卷和它的每个快照卷(如果有的话)使用下面的命令添加 DCO 和 DCO 日志 卷。 # vxassist [-g diskgroup] addlog volume logtype=dco dcologlen=loglen ndcolog=number [storage_attribute ...] 将ndcolog的值设置为等于卷中的数据和快照 plex 数。 ndcolog属性指定在 DCO 日志卷中创建的 DOC 日志 plex 数。建议配置与此卷中存在的数据 plex 数目相同的 DCO plex 。例如,当将 DCO 添加到 3 路镜像卷时,指定ndcolog=3。如果卷具有任何快照 plex,则还必须为每个这样的 plex 保留单独的DCO 日志 plex。这些 DCO 日志 plex 用于为后来从快照 plex 创建的任何快照卷设置DCO 日志卷。例如,为具有 3 个数据 plex 和 2 个快照 plex 的卷指定ndcolog=5。对于快照卷,将ndcolog 的值设置为卷中的 plex 数。 dcologlen 属性的值指定 DCO 日志 plex 的大小,并且必须是 33 个块的整数倍,范围从 33 到 2112 个块。默认值为 132 个块。值越大需要的磁盘空间越多,但快速再同步映像提供的粒度越细,则再同步的速度越快。 如果要将快照卷移到单独的磁盘组(使用磁盘组移动、分割和结合功能)中则必须 确保不将其 DCO 日志 plex 与要保留在原始磁盘组中的任何卷的 plex 设置在同一个物 理磁盘上。为确保这一点,请指定适当的存储属性来定义可以或不可以使用的磁盘。 例如,下面的命令将允许在磁盘disk03上设置卷SNAP-vol的 DCO 日志 plex,但 不允许在disk01或disk02上设置它: # vxassist -g egdg addlog SNAP-vol logtype=dco dcologlen=264 ndcolog=1 !disk01 !disk02 disk03 如果在也包含其它卷的 plex 的磁盘上配置快照卷的 DCO 日志 plex,则将阻止快照卷移到其它磁盘组。 5. 为每个快照卷和原始卷中的每个快照 plex 执行此步骤。此步骤对原始卷的数据 plex 是可选的。如果没有设置dco_plex_rid属性,或者该属性在快照卷中的 plex 上的设置不正确,则保留式快速再同步的配置将会不正确,并且需要在快照合并时执行完整再同步。如果在第 2 步中选择重新挂接全部快照卷,则可以省略此步骤。 对每个卷中的每个 plex ,使用下面的命令设置该 plex 的 dco_plex_rid 属性以引用DCO 日志卷中的相应 plex。 # vxedit [-g diskgroup] set dco_plex_rid=`vxprint -F"%rid" dcologplex` plex 例如,若要设置 plex SNAP-vol-01的dco_plex_rid属性以指向 DCO 日志 plex SNAP-vol_dcl-01,请使用此命令: # vxedit -g egdg set dco_plex_rid=`vxprint -F"%rid" SNAP-vol_dcl-01` SNAP-vol-01 可以任意选择与给定 plex 关联的 DCO 日志 plex,除非快照 plex 与快照卷一同移到其它磁盘组。这种情况下,DCO 日志 plex 必须与要保留在原始磁盘组中的任何卷的plex 在不同的物理磁盘上配置。如果在也包含其它卷的 plex 的磁盘上配置快照卷的DCO 日志 plex,则将阻止快照卷移到其它磁盘组。 6. 在任何快照卷以及原始卷上执行此步骤使用下面的命令在卷上启用保留式快速再同步 # vxvol [-g diskgroup] set fastresync=on volume 对卷进行联机备份 创建卷的备份拷贝很重要。这些拷贝提供了数据在备份时的副本。备份拷贝用于恢复因磁 盘故障而丢失的卷,或因人为错误而被破坏的数据。VxVM 允许在最小限度地中断用户使 用的情况下对卷进行联机备份。 如果卷已镜像则可通过使某个数据 plex 脱机一段时间来备份该卷。这样,就不必仅仅为了备份而增加额外的磁盘空间。但是,如果卷仅有两个数据 plex,这还会在备份操作所需的时间段内删除卷冗余。 可以使用以下步骤在活动系统上执行镜像卷的备份 1. 使用下面的命令分离卷的某个数据 plex (例如,vol01-01) # vxplex [-g diskgroup] dis plex 另外还可以在此期间停止用户活动以提高备份的一致性。 2. 使用下面的命令,创建使用分离 plex 的临时卷tempvol: # vxmake -g diskgroup -U gen vol tempvol plex=plex 3. 使用下面的命令启动临时卷: # vxvol [-g diskgroup] start tempvol 4. 使用fsck(或某些适合卷上运行的应用程序的实用程序清除临时卷的内容。例如, 可以使用此命令 # fsck -y /dev/vx/rdsk/tempvol 5. 使用临时卷执行适当的备份过程。 6. 使用下面的命令停止临时卷: # vxvol [-g diskgroup] stop tempvol 7. 使用下面的命令将备份 plex 从其临时卷中分离 # vxplex [-g diskgroup] dis plex 8. 使用下面的命令将备份 plex 与其原始卷重新关联以恢复卷冗余 # vxplex [-g diskgroup] att original_volume plex 9.使用下面的命令删除临时卷: # vxedit [-g diskgroup] rm tempvol 使用快照对卷进行联机备份 VxVM 使用vxassist和其它命令提供卷设备的快照映像。如果在包含 VERITAS File System (VxFS) 的卷上设置 fsgen 卷使用类型,则快照机制可确保备份的文件系统的内部一致性。对于ufs和s5文件系统类型,内存中的数据与快照映像中的数据之间可能不一致。 根据不同的卷内容完整性要求,存在各种执行备份的过程。这些过程需要一个足够大的plex 来存储卷的全部内容。该 plex 可以比所需要的大,但是如果使用的 plex 过小,将导致副本不完整。 从命令行或从脚本执行卷备份的建议方法是使用vxassist命令。vxassist的snapstart、snapwait和snapshot任务允许在最小限度地中断用户使用的情况下对卷进行联机备份。 vxassist snapshot 过程由两个步骤组成 1. 运行vxassistsnapstart创建快照镜像 2. 运行vxassistsnapshot创建快照卷 vxassistsnapstart步骤创建挂接到卷上并与卷同步的只写备份 plex。当与卷同步时备份 plex 随时准备用作快照镜像。当新的快照镜像将其状态更改为 SNAPDONE 时,表明更新过程已结束。此更改可由 vxassist snapwait任务跟踪,该任务一直等到至少其中一个镜像的状态更改为 SNAPDONE。如果挂接进程失败,则将删除快照镜像并释放其空间。 快照镜像同步后不断更新,一直到被分离。之后,可以选择在方便时创建一个快照卷作为现有卷的映像。也可以在执行snapshot所需的短暂时间内(一般不到一分钟),请用户暂时不要使用系统。与创建快照卷所花费的短暂时间相比,创建快照镜像所涉及的时间要长。 完成联机备份过程的方法是在具有 SNAPDONE 镜像的卷上运行vxassist snapshot 命令。该任务分离已完成的快照(它成为一个标准镜像),创建一个新的标准卷并将快照镜像挂接到快照卷。于是,快照成为一个发挥作用的标准镜像而且快照的状态设置为ACTIVE。 如果中断了snapshot过程,则当卷启动时将自动删除快照镜像。 若要用vxassist命令备份卷,请使用下面的过程: 1. 用下面的命令创建卷的快照镜像: # vxassist [-g diskgroup] [-b] snapstart volume 例如,若要创建名为voldef的卷的快照镜像,请使用此命令 # vxassist [-g diskgroup] snapstart voldef vxassistsnapstart 任务创建只写镜像,该镜像挂接到要备份的卷上并与该卷同步。 如果使用-b选项在后台启动vxassistsnapstart,则可以使用vxassist snapwait命令等待完成镜像的创建,如下所示: # vxassist [-g diskgroup] snapwait volume 如果vxassistsnapstart 没有在后台运行,则它直到镜像已与卷同步后才退出。该镜像然后可用作快照卷的 plex。在挂接到原始卷后,它的内容不断更新,直到创建快照为止。 为快照卷创建所需数量的快照镜像。对于备份,通常仅需要一个。 2. 选择适合创建快照的时间。尽量安排在用户对卷的存取尽可能少的时候创建快照。 3. 使用下面的命令创建快照卷: # vxassist [-g diskgroup] snapshot [nmirror=N] volume snapshot 如果需要,可使用nmirror属性指定快照卷中的镜像数 例如,若要创建voldef的快照,请使用此命令 # vxassist [-g diskgroup] snapshot voldef snapvol vxassistsnapshot 任务分离已完成的快照镜像,创建一个新卷,并将快照镜像挂 接到它上面。该步骤应只需几分钟。快照卷(它反映了创建快照时的原始卷)现在可 用于备份,而原始卷可继续用于应用程序和用户。 4. 使用fsck(或某些适合卷上运行的应用程序的实用程序)清除临时卷的内容。例如, 可以使用此命令 # fsck -y /dev/vx/rdsk/snapshot 5. 使用备份实用程序或操作系统命令将临时卷复制到磁带或其它一些适当的备份介质。快照卷与原始卷占用的空间一样多。为了避免浪费空间,在备份完成后请删除快照卷。用 下面的命令删除新卷: # vxedit [-g diskgroup] -rf rm snapshot 在某些情况下,您会发现将卷中的现有 plex 转换为快照 plex 要比运行vxassist snapstart更方便。例如,当创建快照 plex 所用的磁盘空间不充裕,并且要为其创建快照的卷包含两个以上的 plex 时,您可能会这样做。 建议在卷中至少保留两个 plex 以保持数据冗余。 若要为启用了保留式快速再同步的卷将现有 plex 转换为快照 plex,请使用此命令 # vxplex [-g diskgroup] dcoplex=dcologplex convert state=SNAPDONE plex dcologplex 是要与新快照 plex 关联的现有 DCO 日志 plex 的名称。可以使用vxprint命令查找 DCO 日志卷的名称 例如,若要由具有 3 个 plex 的卷trivol的 plex trivol-03创建快照 plex,可以使用此命令 # vxplex dcoplex=trivol_dcl-03 convert state=SNAPDONE trivol-03 这里,DCO 日志 plex trivol_dco_03被指定为新快照 plex 的 DCO 日志 plex。 若要为启用了非保留式快速再同步的卷将现有 plex 转换为 SNAPDONE 状态的快照 plex, 请使用此命令 # vxplex [-g diskgroup] convert state=SNAPDONE plex 转换的 plex 为 SNAPDONE 状态,可以立即用于创建快照卷。 卷中最后一个完整的常规 plex、不完整的常规 plex 或脏区日志 (DRL) 记录 plex 无法转换为快照 plex。 为了使同时创建多个卷的快照更容易snapshot 选项接受多个卷名作为其参数,例如: # vxassist [-g diskgroup] snapshot volume1 volume2 ... 默认情况下,会将每个复制卷命名为SNAPnumber-volume。这里,number 是唯一的序列号 volume 是为其创建快照的卷的名称。通过使用选项-o name=pattern 可以废弃此默认模式,详见 vxassist(1M) 帮助手册。例如模式SNAP%v-%d颠倒了名称中number 和volume 成分的顺序。 若要为单个磁盘组中的全部卷创建快照请指定vxassist的选项-oallvols: # vxassist -g diskgroup -o allvols snapshot 此操作要求卷上的全部snapstart操作都已完成。如果磁盘组中有任何卷没SNAPDONE 状态的完整快照 plex,则此操作将失败 快照合并将卷的快照拷贝与原始卷合并。快照 plex 与快照卷分离并挂接到原始卷上。然后,快照卷被删除。此任务再同步卷中的数据,以使 plex 保持一致。 为了提高镜像卷的快照合并操作的效率,在创建快照前请在卷上启用快速再同步。若要将快照与其原始卷合并请使用此命令 # vxassist snapback snapshot 其中的snapshot 是卷的快照副本。 默认情况下,原始 plex 中的数据用于更新合并的卷。相反,若要从复制卷复制数据,请使用此命令 # vxassist -o resyncfromreplica snapback snapshot 在使用resyncfromreplica选项之前,卸载对应于主卷的文件系统。 可以永久断开快照和其原始卷之间的链接,使快照卷成为一个独立的卷。 如果在原始卷上启用了非保留式快速再同步,使用下面的命令分离快照卷snapshot: # vxassist snapclear snapshot 如果启用了保留式快速再同步,并且快照卷和原始卷仍在同一磁盘组中,则使用下列任一命令在两个卷上停止对对方的快速再同步跟踪 # vxassist snapclear volume snap_object1 # vxassist snapclear snapshot snap_object2 这里,snap_object1是引用快照卷的原始卷中的 snap 对象,snap_object2是引用原始卷的快照卷中的 snap 对象。例如,如果myvol和SNAP-myvol在同一磁盘组mydg 中,则下列任一命令将同时停止跟踪myvol和SNAP-myvol: # vxassist -g mydg snapclear SNAP-myvol myvol_snp # vxassist -g mydg snapclear myvol SNAP-myvol_snp 如果将快照卷和原始卷分离或移到不同的磁盘组中,则必须在每个卷上分别运行snapclear,在卷中指定指向其它卷的 snap 对象: # vxassist snapclear volume snap_object 例如,如果myvol1和SNAP-myvol1分别在单独的磁盘组mydg1和mydg2中,则下列命令可在SNAP-myvol1上停止对myvol1的跟踪,在myvol1上停止对SNAP-myvol1 的跟踪 # vxassist -g mydg2 snapclear SNAP-myvol1 myvol1_snp # vxassist -g mydg1 snapclear myvol1 SNAP-myvol1_snp vxassistsnapprint 命令显示原始卷与它们各自的副本(快照拷贝)之间的关联: # vxassist snapprint [volume] 此命令的输出显示在下面的示例中: # vxassist -g mydg snapprint v1 # vxassist -g mydg snapprint v2 执行联机重新布局 可以使用vxassistrelayout命令重新配置卷的布局而不用使其脱机。此命令的一般格式是: # vxassist [-g diskgroup] relayout volume [layout=layout] [relayout_options] 例如,下面的命令将连续卷更改为条带卷,该条带卷具有默认的列数 2 和64k 条带单元大小 # vxassist relayout vol02 layout=stripe 可以指定一个或多个重新布局选项来更改默认布局配置。这些选项的示例是 ncol=number 指定列 ncol=+number 指定要添加的列 ncol=-number 指定要删除的列 stripeunit=size 指定条带宽 有关重新布局选项的更多信息请参见vxassist(1M) 帮助手册。 下面是一些使用 vxassist 更改磁盘组dbaseg中条带卷的条带宽度和列数的示例: # vxassist -g dbaseg relayout vol03 stripeunit=64k ncol= # vxassist -g dbaseg relayout vol03 ncol=+ # vxassist -g dbaseg relayout vol03 stripeunit=128k 下一个示例将连续卷更改为具有 4 列的 RAID-5 卷: # vxassist -g fsgrp relayout vol04 layout=raid5 ncol=4 如果磁盘组中有足够的磁盘和空间,则任何布局都可以更改为 RAID-5。如果将镜像卷转换为 RAID-5,则必须指定要转换的 plex。当转换完成后,所有其它 plex 都被删除,以释放它们的空间以作它用。如果将镜像卷转换为 RAID-5 以外的布局,则不会删除未转换的plex。可以通过用命名的 plex 代替卷来指定要转换的 plex: # vxassist relayout plex [layout=layout] [relayout_options] 如果要控制重新布局操作的进度(如暂停或回退),请使用vxassist的-t选项来指定将与该操作关联的任务标记。例如,此重新布局与标记myconv关联: # vxassist -g fsgrp -t myconv relayout vol04 layout=raid5 ncol=4 执行联机重新布局操作需要花一定的时间。可以使用vxrelayout命令获得有关重新布局操作状态的信息。例如,命令 # vxrelayout status vol04 有关此命令的更多信息请参见vxrelayout(1M) 帮助手册。 如果在启动重新布局时将任务标记指定给了vxassist,则可以将此标记与vxtask命令一起使用以监视重新布局的进度。例如,若要监视标记为myconv的任务,请输入 # vxtask monitor myconv 可以使用vxtask命令暂时停止 (pause) 重新布局,或者完全取消 (abort) 重新布局。如果在启动重新布局时将任务标记指定给了vxassist,则可以使用此标记将该任务指定给vxtask。例如,若要暂停标记为myconv的重新布局操作,请输入 # vxtask pause myconv 若要恢复操作请使用vxtask命令 # vxtask resume myconv 或者,将start关键字指定给vxrelayout,如下所示 # vxrelayout -o bg start vol04 -o bg选项可在后台重新启动重新布局。还可以指定slow和iosize选项修饰符来控制重新布局的速度和复制的每个区域的大小。例如,下面的命令在复制每个 64 千字节区域之间插入 1000 毫秒(1 秒)的延迟 # vxrelayout -o bg,slow=1000,iosize=64 start vol04 默认的延迟和区域大小的值分别是 250 毫秒和 32 千字节。 若要反转当前暂停的重新布局操作的方向,请将reverse关键字指定给vxrelayout,如下例所示: # vxrelayout -o bg reverse vol04 这将取消到目前为止对卷所做的更改,并将卷返回到它的原始布局。 如果使用vxtaskabort取消重新布局,则转换方向也将反转,并且卷返回到它的原始配置。 在分层卷和非分层卷之间转换 Vxassist convert命令在分层格式和非分层格式之间转换卷布局: # vxassist convert volume [layout=layout] [convert_options] 支持下面的转换布局 stripe-mirror 镜像条带到条带镜 mirror-stripe 条带镜像到镜像条 concat-mirror 镜像连续到连续镜 mirror-concat 连续镜像到镜像连 在执行联机重新布局之前或之后,可以使用卷转换完成大量变换(若不使用卷转换则不可能完成如此大量的变换)。在重新布局过程中,卷还可以转换为对所需布局来说是中间布局的布局。例如,若要将卷从 4 列镜像条带转换为 5 列镜像条带,请首先使用vxassist relayout将卷转换为 5 列条带镜像: # vxassist relayout vol1 ncol=5 当该重新布局完成后,使用vxassist convert命令将产生的分层条带镜像卷更改为非分层的镜像条带: # vxassist convert vol1 layout=mirror-stripe 如果在重新布局或转换期间系统崩溃,则当系统重新启动时,该过程会继续进行。但是,如果在两阶段重新布局和转换操作的第一阶段期间发生崩溃,则只会完成第一阶段。必须手动运行vxassist convert以完成该操作。 |