| solstice 回复于:2003-05-12 10:18:30 |
| 指定configdb和log记录
当一个新的磁盘组第一次被创建时,你能够指定configdb和log记录的总体数量,它们将被分布到后来增加的所有磁盘中。初始化一个新的磁盘组并增第一块硬盘的命令格式是: # vxdg init group1 p001=c2t0d0 nconfig=20 nlog=20 在这个例子中,一个磁盘介质名:p001已经给定了磁盘,并且configdb 和log记录拷贝的数量设置为20,这个磁盘介质名可以在以后由许多VM命令使用,将其做为物理路径名的替代。 当多个磁盘增加到新创建的磁盘组中,必须要创建configdb和log记录的拷贝。 热设备 通过指派spare可以自动完成失败磁盘的替代,使用以下方式:l 一个旧的spare守护进程,vxsparecheckl 一个新的hot定位守护进程,vxrelocd 热设备 依赖于文件:/etc/rc2.d/S95vxvm-recover的配置,来决定启动老的hot spare守护进程---vxsparecheck,或是新的hot spare守护进程---vxrelocd。 这两个守护进程的功能是非常不同的,默认的,热定位(hot relocation)是被允许的。 Hot Spare概述 如果在启动时,hot spare守护进程---vxsparecheck被允许,检测并作用于全部磁盘介质的失败,通过移动失败磁盘的全部内容到磁盘组中的一个预定义的spare磁盘。如果VM不能访问一个或多个子磁盘并且不能访问磁盘的私有区域,那么,这个磁盘被考虑为完全失败。 Hot sparing是一个老的操作模式,但如果需要的话,仍然可以使用。 热定位概述(Hot Relocation) 热定位守护进程---vxrelocd,检测并作用于部分磁盘介质的失败,通过移动受到影响的子磁盘到组中的另一个磁盘的空闲空间。空闲空间可以在已经定义为热定位spare的有磁盘上发现,如果没有,由VM随机发现在一个磁盘组上的空闲空间。 热定位只可以由那些作为冗余卷的一部分的子磁盘所使用,如RAID 5或一个镜像卷。 默认的,允许热定位,当一个失败发生时,不需要管理员干涉就可以执行。 -------------------------------------------------------------------------------------------------- 注意----热定位可以由系统管理员在任何时候通过停止vxrelocd守护进程来临时禁用,但,这是不推荐的。 -------------------------------------------------------------------------------------------------- 如图4_6所示,当检测到一个子磁盘失败,子磁盘的内容将在分派的hot spare上进行结构重建,卷继续使用它最初的完全冗余来执行。 失败子磁盘的检测 热定位守护进程---relocd检测并作用于以下类型的失败。 l 磁盘失败(disk failure) 它最先从一个VM目标中检测到一个I/O失败,并试图修改这个错误。如果不能修改错误,VM试着访问磁盘私有区的配置信息,如果不能访问磁盘的私有区,那么,它认为这个磁盘失败。 l plex失败 一个不可修改的I/O错误在plex中被检测到,为了镜像这个卷,plex将被分离。 l RAID 5子磁盘失败 这将检测到一个不可修改的错误在RAID 5的子磁盘中,这个子磁盘将被分离。 热设备失败(Hot Devices Failures) 如果热定位是不可能的,将通知系统管理员,并且不会有更多的动作。如果发生下面的情况,热定位是不可能的。 l 子磁盘不属于一个镜像或RAID 5卷。 l 在spare磁盘上没有足够有效的空间或空闲空间。 l 在一个磁盘上,唯一有效的热定位空间包含镜像或RAID 5卷的一部分 l 一个有着脏区日志的镜像卷记录的子磁盘是它的数据plex的一部分。属于那个plex的子磁盘不能被热定位。 l 失败的是个日志plex,一个新的日志plex被创建,所以不能实际定位。(so it is not actually relocated) -------------------------------------------------------------------------------------------------- 注意----热定位可以创建一个启动磁盘的镜像如果它被封装或被镜像,必须有一个spare在rootdg中。 -------------------------------------------------------------------------------------------------- 热设备的管理 分配一个hot spare磁盘 你可以在一个磁盘组中分配一个或多个磁盘作为热定位spares来为热定位作准备。使用命令格式如下: # vxedit –g disk group set spare=on diskname 你可以通过使用命令:vxdisk list来校验当前spare磁盘状态,也可以通过使用命令:vxedit spare=off禁用磁盘的spare。 控制恢复时间 你可以减少恢复时对系统性能的影响,通过使用vxrelocd来增加一个卷的每个区域间的延时(vxrelocd –o slow=500 &)。变量slow传送给vxrecover,默认的变量值为250毫秒。 监视(Monitor) 默认的,vxrelocd发送错误的邮件通知给服务器的root用户。你可以在文件:/etc/rc2.d/S95vxvm-recover中的vxrelocd root &行来改变。 你也可以通过执行系统错误日志来显示磁盘问题,但,邮件通知通常就足够了。 允许hot spare功能 为了允许让老的hot spare功能代替新的hot relocation功能,修改文件:/etc/rc2.d/S95vxvm-recover注释行:vxrelocd root &,不注释#vxsparecheck root & 命令行状态 学会如何使用3种非常重要的工具来获得VM状态l vxprintl vxdiskl vxdg 命令行状态 使用vxprint 当分析卷的问题时,vxprint是一个很实质性的工具。不像VMSA图型用户接口,vxprint通过使用术语磁盘组(disk group),plex, 卷(volume)和子磁盘(sundisk)来显示所有信息。以下的例子显示了一个典型的连接卷在vxprint输出中是如何显示的。 # vxprint –g DGa –ht DG NAME NCONFIG NLOG MINORS GROUP-ID DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE V NAME USETYPE KSTATE STATE LENGTH READPOL REFPLEX PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID SD NAME PLEXDISK DISK OFFS LENGTH [COL/]OFF DEVICE dg Dga default default 87000 skydome dm c1t0d3 c1t0d3s2 sliced 2015 2050272 - dm c1t0d4 c1t0d4s2 sliced 2015 2050272 - v vol01 fsgen E ENABLED ACTIVE 4096512 ROUND - pl plex01 vol01 ENABLED ACTIVE 4096512 CONCAT - sd sd01 plex01 disk01 0 2048256 0 c1t0d3 sd sd02 plex01 disk02 0 2048256 2048256 c1t0d4 在这个例子的输出中,你可以决定以下细节: n 磁盘组被称为DGa, 它包含一个单一的卷。 n 卷被称为vol01,它包含一个单一的plex, 称为plex01 n plex是串联的,并且从VM磁盘中已经创建了2个子磁盘,称为disk01和disk02 n 每个子磁盘的大小,大约是1.02G。 n 这两个磁盘的设备路径分别是:c1t0d3和c1t0d4 n 卷和plex被允许,并被激活 -------------------------------------------------------------------------------------------------- 注意----通常,VM单元以磁盘块(block or sector)方式来显示大小。转换到MB字节的换算单位是2000,如果要精确划分的话,应该是2048。 -------------------------------------------------------------------------------------------------- 使用vxdisk vxdisk命令有着很多任务相关参数,但,用得最多的参数则是:list。命令:vxdisk list显示了一个快速的状态总结,和所有连接到系统的磁盘的属主。一个典型的vxdisk list输出如下: # vxdisk list DEVICE TYPE DISK GROUP STATUS c0t0d0s2 sliced - - error c2t33d0s2 sliced droot rootdg online c2t35d0s2 sliced disk01 DGa online c2t37d0s2 sliced - - online c2t50d0s2 sliced - - online c2t52d0s2 sliced - - error c3t1d0s2 sliced - - online c3t3d0s2 sliced - - error c3t5d0s2 sliced - - error c3t18d0s2 sliced disk02 DGa online c3t20d0s2 sliced - - error 通过执行上例vxdisk的输出,我们可以确定: n 所有带有error状态的设备不在VM控制之下 n 所有online状态的设备已被进行某种级别的初始化 如果一个设备没有磁盘名而且不是某个磁盘组的一部分,它们还没有被 完全初始化。它们只是被VM重新分配并且有一个空白的磁盘头。 -------------------------------------------------------------------------------------------------- 注意----如果一个显示失败状态的磁盘:c0t0d0,这意味着产生了一个主要失败,并且VM不能访问物理磁盘,但它知道失败以前的地址。你将会发现,失败的地址将不会在 vxprint –ht 的输出中显示。 -------------------------------------------------------------------------------------------------- 使用vxdg 命令:vxdg可以用来创建和维护磁盘组,它也可以提供在一个磁盘组中关于所有空闲磁盘空间非常重要的信息。当准备增加新的卷到一个磁盘组中,以下的参数:free的输出是非常有用的。 # vxdg –g DGa free DISK DEVICE TAG OFFSET LENGTH FLAGS disk01 c3t1d0s2 c3t1d0 1843647 206625 - disk02 c3t1d1s2 c3t1d1 2046240 4032 - disk03 c4t2d0s2 c4t2d0 0 2050272 - 字段 LENGTH显示了在磁盘组中的每个磁盘上的所有空闲空间。这个值以块或扇区数显示。你也可以通过除以2000来将它们转换成MB。 通过执行上例的vxdg输出,可以确定: l 磁盘组DGa有3个物理磁盘 l 其中的一块磁盘(disk03)处于不同的控制器上 l 所有有效的磁盘空间大约是1.1GB (206625+4032+2050272)/2000=1130.46Mbytes l 你可以创建一个100M的串联/镜像卷 l 你可以创建一个4M的RAID 5卷 命令行操作 通过使用命令行程序来实现如下的基本功能操作:l 在VM控制中移除一个磁盘(vxdiskunsetup or vxdisk)l 为VM初始化一个磁盘使用(vxdiskadm)l 增加一个磁盘到磁盘组(vxdiskadm or vxdg)l 从一个磁盘组中移除磁盘(vxdiskadm or vxdg)l 标识一个磁盘为hot spare(vxdiskadm or vxedit)l 更改VM磁盘名(vxedit) 命令行操作 虽然有很多Veritas命令行工具程序,对于大多数通常的操作,只需要很少的命令。本章讨论了以下命令的基本操作。 l vxdiskunsetup l vxdiskadm l vxdg l vxedit l vxdisk 使用命令:vxdiskunsetup 在存储阵列中校验或移除先前的VM配置记录。在VM软件的安装和初始化过程中,你将看到如下的出错信息: vxvm:vxconfigd: WARNING: Disk c3t35d0 in group hanfs: Disk device not found vxvm:vxconfigd: WARNING: Disk c2t18d0 in group hadbms: Disk device not found 这些错误通常表示,这些磁盘还包含着先前安装的VM配置记录。这些磁盘可以由命令:vxdiskunsetup清空并返回到一个非初始化状态。 # /etc/vx/bin/vxdiskunsetup –C c2t3d0 如果磁盘由其他一些主机导入(import),命令vxdiskunsetup将不会清空磁盘。如果磁盘上有老的配置记录,这将会发生。参数-C在这种情况下将强迫执行。 -------------------------------------------------------------------------------------------------- 注意----在使用命令:vxdiskunsetup时一定要小心。你可能会毁掉活动磁 盘上的数据。 -------------------------------------------------------------------------------------------------- 也有一个命令:vxdisksetup用来为VM初始化磁盘,但不能增加它们到磁盘组。它们保存在一个空闲的池,为将来VM所使用。一个典型的vxdisksetup命令: # vxdisksetup –i c2t0d0 如果不加任何参数,命令:vxdisksetup将只会重新分配指定磁盘到VM分区格式。使用参数 –i VM配置记录将被写入到私有区。 -------------------------------------------------------------------------------------------------- 注意----一般的,命令:vxdisksetup不会被直接使用,它由其它VM程序调用。 -------------------------------------------------------------------------------------------------- 使用命令:vxdiskadm单元 命令:vxdiskadm是一个基于菜单进行操作的shell程序。当vxdiskadm启动后,以下的菜单操作是有效的: 1 Add or initialize one or more disks 2 Encapsulate one or more disks 3 Remove a disk 4 Remove a disk for replacement 5 Replace a failed or removed disk 6 Mirror volumes on a disk 7 Move volumes from a disk 8 Enable aclearcase/" target="_blank" >ccess to (import) a disk group 9 Remove access to (deport) a disk group 10 Enable (online) a disk device 11 Disable (offline) a disk device 12 Mark a disk as a spare for a disk group 13 Turn off the spare flag on a disk 对于每一个菜单入口,都会有一个相对应的命令行操作来完成相同功能。基于菜单的操作易于使用,并提供了更多的相关信息。 在这里,我们要讨论的只有3个模块: 1 Add or initialize one or more disks 3 Remove a disk 12 Mark a disk as a spare for a disk group -------------------------------------------------------------------------------------------------- 注意----其他的关于命令:vxdiskadm的讨论将在以后适当的时候进行 -------------------------------------------------------------------------------------------------- 增加或初始化磁盘 当在VM控制下替换磁盘,有几个可能的级别: n 磁盘被重新分配给VM使用,但是它没有给定的名字也不属于任何磁盘组的一部分。它是空闲磁盘池的一部分。 n 磁盘被重新分配给VM使用,给定了一个名字,并被增加到一个新的磁盘组 n 磁盘被重新分配给VM使用,给定了一个名字,并被增加到一个已经存在的磁盘组 -------------------------------------------------------------------------------------------------- 注意----当增加一个磁盘到磁盘组时,它也可能被标识为磁盘组的hot spare -------------------------------------------------------------------------------------------------- 你要以使用vxdiskadm中的参数1来增加一个磁盘,你将得到如下提示: Select disk devices to add: c2t4d0 Which disk group?: disk_group_name or none Use a default disk name for the disk?: y Add disk as a spare disk? Encapsulate this device?: n Instead of encapsulating, initialize? y 你也可以使用以下的变量来处理多个磁盘: Select disk devices to add: all Select disk devices to add: c2 Select disk devices to add: c2t4d0 c3t4d0 c4t4d0 增加磁盘到已经存在的磁盘组的命令格式是: # vxdg –g group1 adddisk p002=c2t0d1 移除磁盘 你可以使用vxdiskadm的参数3来移除一个磁盘,有2个移除级别: n 从一个磁盘组中移除磁盘,将它初始化并置于空闲磁盘池中 n 移除VM控制下的磁盘,通过对它非初始化并将它返回到标准的UNIX分区。 在移除过程中,你可能会遇到以下提示: Enter disk name: disk05 -------------------------------------------------------------------------------------------------- 注意----移除一个磁盘与vxdiskadm中的参数4是不同的,移除一个磁盘并替代它。参数4通常用于在一个硬件失败时进行磁盘替代。 -------------------------------------------------------------------------------------------------- 通过使用vxdg和vxdisk命令可以更灵活的执行相同的过程: 从一个磁盘组中移除一个磁盘,但使其保存于一个空闲磁盘池: # vxdg rmdisk disk05 从一个VM控制中完全移除一个磁盘: # vxdisk rm c2t3d0s2 -------------------------------------------------------------------------------------------------- 注意----你可以使用命令:vxdisk list来发现VM磁盘的路径 -------------------------------------------------------------------------------------------------- 分配一个磁盘作为hot spare 通过使用vxdiskadm的参数12可以将一个磁盘标识为它的磁盘组中的hot spare,也可以通过vxdiskadm的参数13来将其标识为非hot spare。 不管是使用参数12或13,你将被提示输入磁盘名如下: Enter disk name: disk06 可以使用vxedit 来实现相同的功能: # vxedit set spare=on disk06 # vxedit set spare=off disk06 重命名一个VM磁盘 当初始化磁盘,并增加它们到磁盘组中,磁盘被给定为标准的VM名字如:disk01, disk02, disk03。你可能需要重命名磁盘组中的磁盘,赋予它们一个有意义的名字。 你可以使用vxedit命令来重命名VM磁盘: # vxedit rename disk01 dbdisk01 |
| X_X 回复于:2003-05-12 10:27:34 |
| 鼓掌!!!!!! |
| solstice 回复于:2003-05-12 10:57:07 |
| 呵呵,谢谢鼓励,
不过,楼上的,偶就没想明白, 泡妞干吗要被扁啊? 泡自己的妞不就得了, 别人的,就不要动了吧。。。 |
| 蓝冰 回复于:2003-05-12 11:07:32 |
| up |
| Bass3r 回复于:2003-05-12 11:38:15 |
| 好,UP |
| flyjon 回复于:2003-05-12 12:31:40 |
| 楼主真伟大 |
| twlogin 回复于:2003-05-12 13:19:00 |
| 楼主真是同道中人
虽然去年我也已经把这本书翻译完了 但和楼主比起来,还是有许多不妥之处 |
| 南非蜘蛛 回复于:2003-05-12 13:27:18 |
| 都是我偶像呀,佩服佩服 |
| solstice 回复于:2003-05-12 13:44:41 |
| [quote:c8d9b53a98="twlogin"]楼主真是同道中人
虽然去年我也已经把这本书翻译完了 但和楼主比起来,还是有许多不妥之处[/quote:c8d9b53a98] 其实,偶也觉得这东东有点老, 但,一时找不到更新的,只好,将就着翻了! 有错的地方,请各位大虾帮忙改下了! 吱猪啊,不要吓偶好吗? 偶还是喜欢你的牙刷。。。。 |
| sunsun2003 回复于:2003-05-14 08:57:23 |
| Thank a lot |