2019年(65)
分类:
2019-07-23 16:22:21
原文地址:Veritas volume manager之(管理磁盘组) 作者:风之幻想
曾经某一个时刻,幻想着会有一份真正属于自己的爱情,幻想着和自己心爱的人一起象风一样飞舞在这个美丽的世界上。然而,幻想永远是幻想。在茫茫人海中没有等待到自己心爱的人出现,而每一次出现的序曲总是带来短暂的快乐而伴随着深深的伤痛,永远在我的心房徘徊。也许是我的名字风之幻想,这个名字也许真的不是很好。象风一样的幻想,意味着永远不会有结果出现,唯一不同的是风会来了又去了,周而复始的出现。而感情呢?永远不会有循环,永远不会有回头。总是试着想去把握一份属于自己的,就好似想在秋风中去抓住那仅有的一片绿叶。却突然发现在风中落下的永远是美丽的黄叶。而绿叶会慢慢的消失,伴随着最后那美好的秋风。因为冬天即将到来。万物都将熟睡。就象我的感情一样在寒冷的冬天守望。守望春天的到来。也许,春天永远都不会出现。但是,总是怀揣着对春的憧憬。希望春天不会太遥远! 言归正传,继续上回的磁盘管理。我们现在来了解一下磁盘组的管理。 将磁盘添加到磁盘组时,系统会给它指定一个名称(例如:disk01).此名称标示磁盘以用于卷操作,卷创建和景象。此名称与物理磁盘直接相关。将物理磁盘移动到不同的目标地址或不同的控制器时,名称disk01仍继续引用该物理磁盘。可以更换磁盘,方法是先将一个不同的物理磁盘与要更换的磁盘名称关联。然后(从景象或备份副本)恢复存储在原磁盘上的任何卷数据。 拥有大磁盘组可能导致添满专用区域。对于较大的磁盘组,其中的磁盘应设置为具有较大的专用区域。专用区域的主要部分为磁盘组配置数据库提供空间,此数据库包含该磁盘组中每个VXVM对象的记录。因为每个配置记录占用256个字节(或半个块),所以,可在磁盘组中创建的记录数是配置数据库副本大小的2倍副本大小可以从命令vxdg list diskgroup的输出中获得。即以config开头的行中len字段的值。 在对磁盘组进行更改之前,请使用vxprint –hrm和vxdisk list命令来记录当前配置。 显示磁盘组信息 若要显示关于现有磁盘组的信息,使用: vxdg list 显示关于特定磁盘组的更多详细信息使用: vxdg list fsdg 若要验证与特定磁盘关联的磁盘组ID和名称,使用: vxdisk –s list devicename 显示磁盘组中的空闲空间 在向系统田加卷和文件系统之前,请确保有足够的空闲磁盘空间来满足需求。 若要显示系统中的空闲空间,使用: vxdg free 若要显示磁盘组的空闲空间,使用: vxdg –g diskgroup free 创建磁盘组 可能需要使与一组特定应用程序或一组特定用户相关的数据在其他系统上也可以被访问。 具体示例包括: 系统发生故障,必须将该系统中的数据移动到其他系统。 必须在许多系统之间平衡工作负荷。 在一组可识别的磁盘中定位与特定应用程序或用户相关的数据很重要。当需要移动这些磁盘时,这使您可以只移动那些应移动的应用程序或用户数据。 磁盘组必须至少有一个与起关联的磁盘。使用vxdiskadm命令的1(添加或初始化一个或多个磁盘)将磁盘添加到VXVM控制中,就可以创建新的磁盘组。 也可以使用vxdiskadd命令来创建磁盘。比如: vxdiskadd c0t0d0s2 这里c0t0d0s2是当前尚未分配给磁盘组的磁盘设备名。 使用vxdg init来建立磁盘组。 Vxdg init diskgroup diskname=devicename 比如:在设备c0t0d0s2上创建fsdg的磁盘组: vxdg init fsdg fsdg01= c0t0d0s2 设备名c0t0d0s2的磁盘必须已经用vxdiskadd或vxdiskadm初始化。同时当前不能属于任何一个磁盘组。 向磁盘组添加磁盘 向现在磁盘组添加磁盘,使用vxdiskadm的1 也可以使用vxdiskadd来添加 比如:vxdiskadd c0t0d0s2 这是,c0t0d0s2是当前未分配给磁盘组的磁盘的设备名。 从磁盘组中删除磁盘 可以使用下面的命令将不包含子磁盘的磁盘从磁盘组中删除: vxdg [-g groupname] rmdisk diskname 如果,删除的磁盘含有子磁盘,就会报错的。 同时,vxdg 也可以使用-k参数来删除包含子磁盘的磁盘。 将磁盘从其磁盘组中删除后,可以将它从VXVM控制中完全删除: vxdisk rm devicename。 也可以使用vxdiskadm的菜单3。 逐出磁盘组。 逐出磁盘组将禁止存去当前由系统起用(导入)的磁盘组。如果要将磁盘组中的磁盘移动到另一个系统,则逐出磁盘组。同样,如果想把磁盘组中所有剩余的磁盘另作他用。则也需要逐出磁盘组。 逐出磁盘组的过程: 1、 停止应用程序对在要逐出的磁盘组中配置卷执行的所有活动。卸载文件系统并关闭卷上配置的数据库。 2、 vxvol –g diskgroup stopall(停止卷) 3、 从vxdiskadm菜单中选择9(禁止访问(逐出)磁盘组) 4、 或者使用命令:vxdg deport diskgroup 导入磁盘组 导入磁盘组将允许系统访问磁盘组。若要将磁盘组从一个系统移动到另一个系统,首先,禁用(逐出)原系统上的磁盘组,然后在系统间移动磁盘并起用(导入)磁盘组。 导入磁盘组的过程: 1、 使用此命令以确保被逐出的磁盘组中的磁盘是联机的: vxdisk –s list 2、 使用vxdiskadm菜单8(允许访问(导入)磁盘组) 3、 或者使用:vxdg import diskgroup 重命名磁盘组 每个系统只能有一个给定名称的磁盘组。不能导入或逐出在目标系统中已经有同名磁盘组的磁盘组。为避免这个问题。VXVM允许在导入或逐出过程中重新命名磁盘组。 若要在导入过程中重新命名磁盘组使用命令: vxdg [-t] –n newdg import diskgroup 如果使用-t选项,则导入将是临时的。经过重新启动后将不存在。这样情况下,磁盘组的存储名称在其原始主机上保持不变。但导入主机将该磁盘组认作newdg。如果未使用-t选项,则名称更改将是永久性的。 若要在逐出过程中重新命名磁盘组,使用命令: vxdg [-h hostname] –n newdg deport diskgroup 在逐出过程中重新命名时,可以指定-h hostname选项将锁分配给备用主机。这样可以确保当备用主机重新启动的时候自动导入磁盘组。 在磁盘组之间移动磁盘 若要在磁盘组之间移动磁盘。请将磁盘从一个磁盘组中删除,然后将其添加到另一个磁盘组中。例如,若要从磁盘组rootdg中移动物理磁盘c0t3d0(用磁盘disk04挂接)并将其添加到磁盘组mkdg,使用: vxdg rmdisk disk04 vxdg –g mkdg adddisk mkdg02=c0t3d0 在系统间移动磁盘组 磁盘组的一个重要功能是它们能够在系统间移动。如果将磁盘组中的所有硬盘从一个系统移动到另一个系统,则该磁盘组即可由第2个系统使用。不需要重新指定配置。 在系统间移动磁盘组的步骤: 1、 vxdg deport diskgroup 2、 将所有磁盘移动到第2个系统中,并执行必要的步骤(与系统相关),使第2个系统和VXVM识别新的磁盘。 该过程可能要求重新启动,重新启动时,vxconfigd后台驻留程序重新启动并识别新磁盘。如果不重新启动,用命令vxdctl enable重新启动vxconfigd程序,这样vxvm也能识别磁盘。 3、 vxdg import diskgroup(注意磁盘组中的所有磁盘都必须移动到其他系统,如果不移动,导入将失败) 4、 vxrecover –g diskgroup –sb 还可以从已崩溃的系统中移出磁盘。这种情况下,无法将磁盘组从第一个系统中逐出。当在系统上创建或导入磁盘组时,系统会锁定磁盘组中的所有磁盘。(锁定的目的是确保两个系统不会同时使用双端口磁盘(可由两个系统同时存取的磁盘)如果两个系统试图同时管理相同的磁盘,将破坏存储在磁盘上的配置信息。磁盘及其所包含的数据将不可用) 如果从系统移出磁盘时系统已经崩溃或在磁盘移动前未能检测到磁盘组,那么存储在磁盘上的锁仍保留着,必须清除这些锁。 若要清除一组指定设备上的锁。命令为: vxdisk clearimport devicename…. 若要在导入期间清除锁,命令为: vxdg –C import diskgroup (如果系统上有双端口磁盘,在使用以上2个命令时要小心。清除锁将使多台主机可以同时存取这些磁盘,并可能导致数据的破坏) 如果磁盘组中有部分磁盘发生故障,使用下面命令强制导入磁盘组 vxdg –f import diskgroup 在使用-f参数时必须小心,它可能导致从不同的磁盘集中两次导入同一个磁盘组,从而使该磁盘组不一致。 为磁盘组保留次要编号 设备次要编号向控制设备的设备驱动器唯一的标示该设备的某些特性。它常被用来标示单个设备的某些特性模式,或标示处于单个控制器控制之下的所有单个设备。VXVM将唯一设备次要编号分配给它控制的每个对象(卷,plex,子磁盘,磁盘或磁盘组) 在系统间移动磁盘组时,该磁盘组在其以前系统上使用的次要编号可能与新系统上的VXVM所知道的对象的次要编号相重合(或冲突)。为了避免可能发生这样的问题,可以为每个磁盘组分配不同范围的次要编号。当VXVM从磁盘组中的磁盘创建卷对象时,它将使用指定范围的次要编号。这样可以确保每个卷经过重新启动或重新配置后仍有相同的次要编号。磁盘组可以在个计算机系统间移动,不会造成设备编号冲突的问题。 使用命令: vxdg init diskgroup minor=base_minor devicename base_minor的范围在0-131071之间。所产生的范围是1000个设备编号。所选择的编号也不应与任何当前导入的磁盘组的1000个编号范围内的编号重叠,并且也不应与任何当前已分配的卷设备编号重叠。 列出可能受移动影响的对象 若要显示指定对象列表中要移动的VXVM对象。使用命令: vxdg [-o expand] listmove sourcedg targetdg object 比如列出在将卷vol1从磁盘组dg1移动到mkdg时将影响的对象: vxdg listmove dg1 mkdg vol1 但是,下面的命令却因为卷vol1只有一部分配置在disk01上而产生错误: vxdg listmove dg1 mkdg disk01 会产生错误信息,指定-o expand选项可确保对象列表包括其他那些包含vol1中子磁盘的磁盘。 如果使用vsassist命令或者VMSA创建卷,或者在卷上起用保留式快速再同步(DCO日志),则DCO日志plex被自动放置在与父卷的数据plex相同的磁盘上。将父卷(如快照卷)移动到另一个磁盘组时,这可以确保DCO日志卷自动的与父卷一同移动。如果使用vxmake,vxdco命令设置DCO日志,必须确保包含DCO日志卷plex的磁盘在移动过程中与其父卷一同移动。对卷使用vxprint命令以检查与其关联的DCO日志卷的配置。 在磁盘组之间移动对象 若要将自包含的VXVM对象集从导入的源磁盘组移动到导入的目标磁盘组,使用命令: vxdg [-o expand] [-o override|verify] move sourcedg targetdg object…… -o expand选项确保实际移动的对象包含所有其他包含子磁盘的磁盘。 -o override 选项使得在移动时不执行任何EMC检查。 -o verify 选项返回要移动但尚未移动的磁盘的存取名。 分割磁盘组 若要将自包含的VXVM对象集从导入的源磁盘组移动到导入的目标磁盘组,使用命令: vxdg [-o expand] [-o override|verify] split sourcedg targetdg object…… -o expand选项确保实际移动的对象包含所有其他包含子磁盘的磁盘。 -o override 选项使得在移动时不执行任何EMC检查。 -o verify 选项返回要移动但尚未移动的磁盘的存取名。 结合磁盘组 若要将自包含的VXVM对象集从导入的源磁盘组移动到导入的目标磁盘组,使用命令: vxdg [-o override|verify] join sourcedg targetdg -o override 选项使得在移动时不执行任何EMC检查。 -o verify 选项返回要移动但尚未移动的磁盘的存取名。 禁用磁盘组 若要禁用磁盘组,应卸载并停止磁盘组中的所有卷,使用命令: vxdg deport diskgroup 消除磁盘组 将磁盘组从系统中删除,并释放该磁盘组中磁盘以便进行重新初始化。 Vxdg destroy diskgroup 升级磁盘组 若要使用任何一个新功能,必须运行vxdg upgrade命令将磁盘组显示升级到支持这些功能的版本。 升级磁盘组到当前运行的VXVM版本所支持的最高版本,可以使用命令: vxdg upgrade dgname 管理VXVM中的配置后台驻留程序 VXVM配置后台驻留程序(vxconfigd)提供VXVM命令和内核设备驱动程序之间的接口。Vxconfigd处理VXVM使用程序的配置更改要求,将更改要求传递给VXVM内核,并修改存储在磁盘上的配置信息。Vxconfigd还在系统启动时初始化vxvm。 Vxdctl命令是vxconfigd后台驻留程序的接口。 可以使用vxdctl: 控制vxconfigd后台驻留程序的操作。 管理磁盘组配置的初始化。 处理volboot文件的内容,该文件包含磁盘组配置数据库的磁盘的列表。 如果系统配置为使用动态多径(DMP),则还可使用vxdctl: 重新配置DMP数据库以包含刚刚挂接到系统或从系统中删除的磁盘设备 在目录/dev/vx/dmp和/dev/vx/rdmp中创建DMP设备节点 随着主动/被动磁盘阵列的路径类型的更改还更新DMP数据库。使用磁盘阵列供应商提供的使用程序在主路径和次路径之间更改路径类型。 |