- 论坛徽章:
- 0
|
这个帖子和上一个是一对\r\n在VxVM下替换失败的系统盘\r\n\r\n环境:\r\nSolaris2.X\r\nVxVM 3.2\r\nfailed bootdisk(c0t0d0\r\nmirror disk(c0t1d0)\r\n\r\n系统盘c0t0d0硬件故障失败,但系统有一个用VxVM做的镜象盘c0t1d0。\r\n\r\n\r\n下面是替换和恢复系统的过程:\r\n\r\n1 从镜象盘引导系统\r\n系统无法正常引导时,我们可以让系统进入硬件维护状态,使用devalias找到镜象盘:\r\nok devalias\r\nvx-mirror /pci@1f,4000/scsi@3/disk@1,0\r\nvx-root /pci@1f,4000/scsi@3/disk@0,0\r\nnet /pci@1f,4000/network@1,1\r\ndisk /pci@1f,4000/scsi@3/disk@0,0\r\ncdrom /pci@1f,4000/scsi@3/disk@6,0:f\r\n...\r\n\r\n然后从镜象盘引导:\r\n\r\nok boot vx-mirror\r\n\r\nBoot device: /pci@1f,4000/scsi@3/disk@1,0:a File and args: \r\nSunOS Release 5.8 Version Generic_108528-15 64-bit\r\nCopyright 1983-2001 Sun Microsystems, Inc. All rights reserved.\r\nStarting VxVM restore daemon...\r\nVxVM starting in boot mode...\r\nvxvm:vxconfigd: WARNING: Detaching plex rootvol-01 from volume rootvol\r\nvxvm:vxconfigd: WARNING: Disk rootdisk in group rootdg: Disk device not found\r\nconfiguring IPv4 interfaces: hme0.\r\nHostname: app02\r\nVxVM starting special volumes ( swapvol rootvol var )...\r\nVxVM general startup...\r\ndumpadm: no swap devices could be configured as the dump device\r\nThe system is coming up. Please wait.\r\nstarting rpc services: rpcbind done.\r\nSetting netmask of hme0 to 255.255.255.0\r\nsyslog service starting.\r\nPrint services started.\r\nvolume management starting.\r\nThe system is ready.\r\napp02 console login:\r\n\r\n请注意以上过程中的vxconfigd的告警信息,它表示VxVM发现卷rootvol中的有一边的\r\nplex即rootvol-01是不可用的,所以它将这个plex从卷中“踢”了出去(detaching)。\r\n但是从镜象盘系统仍然可以正常的启动。\r\n\r\n\r\n2 检查系统状态\r\n进入系统后,使用vxdisk和vxprint命令来检查和确认失败的状态,是否和我们预计的\r\n一致,在这个例子中,我们的rootdg中有3个卷,rootvol,swapvol和var。我们发现\r\n这3个卷中都有1个plex是Disabled的,并且这3个被Disabled的卷正好是建在失败的原\r\n系统盘c0t0d0上的:\r\n\r\n# vxdisk list\r\nDEVICE TYPE DISK GROUP STATUS\r\nc0t1d0s2 sliced rootmirror rootdg online\r\n- - rootdisk rootdg failed was:c0t0d0s2\r\n\r\n# vxprint -ht\r\nDisk group: rootdg\r\n\r\nDG NAME NCONFIG NLOG MINORS GROUP-ID\r\nDM NAME DEVICE TYPE PRIVLEN PUBLEN STATE\r\nRV NAME RLINK_CNT KSTATE STATE PRIMARY DATAVOLS SRL\r\nRL NAME RVG KSTATE STATE REM_HOST REM_DG REM_RLNK\r\nV NAME RVG KSTATE STATE LENGTH READPOL PREFPLEX UTYPE\r\nPL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE\r\nSD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE\r\nSV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE\r\nDC NAME PARENTVOL LOGVOL\r\nSP NAME SNAPVOL DCO\r\n\r\ndg rootdg default default 0 1035555399.1025.pegasus\r\n\r\ndm rootdisk - - - - NODEVICE\r\ndm rootmirror c0t1d0s2 sliced 3359 17690400 -\r\n\r\nv rootvol - ENABLED ACTIVE 13423200 ROUND - root\r\npl rootvol-01 rootvol DISABLED NODEVICE 13423200 CONCAT - RW\r\nsd rootdisk-B0 rootvol-01 rootdisk 17690399 1 0 - NDEV\r\nsd rootdisk-02 rootvol-01 rootdisk 0 13423199 1 - NDEV\r\npl rootvol-02 rootvol ENABLED ACTIVE 13423200 CONCAT - RW\r\nsd rootmirror-01 rootvol-02 rootmirror 0 13423200 0 c0t1d0 ENA\r\n\r\nv swapvol - ENABLED ACTIVE 2100000 ROUND - swap\r\npl swapvol-01 swapvol DISABLED NODEVICE 2100000 CONCAT - WO\r\nsd rootdisk-01 swapvol-01 rootdisk 13423199 2100000 0 - NDEV\r\npl swapvol-02 swapvol ENABLED ACTIVE 2100000 CONCAT - RW\r\nsd rootmirror-02 swapvol-02 rootmirror 13423200 2100000 0 c0t1d0 ENA\r\n\r\nv var - ENABLED ACTIVE 2100000 ROUND - fsgen\r\npl var-01 var DISABLED NODEVICE 2100000 CONCAT - WO\r\nsd rootdisk-03 var-01 rootdisk 15523199 2100000 0 - NDEV\r\npl var-02 var ENABLED ACTIVE 2100000 CONCAT - RW\r\nsd rootmirror-03 var-02 rootmirror 15523200 2100000 0 c0t1d0 ENA\r\n\r\n3 替换失败的硬盘并恢复VxVM的配置\r\n\r\n拔掉坏盘插入新盘,首先要确定Solaris可以看到新的硬盘,你可以用format命令来确认,然后使用命令:\r\n\r\n# vxdctl enable\r\n\r\n这一步是让VxVM也读取新盘的信息,然后用vxdisk命令来检查:\r\n\r\n# vxdisk list\r\nDEVICE TYPE DISK GROUP STATUS\r\nc0t0d0s2 sliced - - error\r\nc0t1d0s2 sliced rootmirror rootdg online\r\n- - rootdisk rootdg failed was:c0t0d0s2\r\n\r\n可以看到VxVM已经看到新盘c0t0d0s2,但它的状态是error,这是正常的,因为VxVM还没有对它进行管理。\r\n\r\n接下来要做的就是将新插入的盘c0t0d0s2变回原来的rootdisk,这步工作可以用VxVM\r\n提供的菜单命令vxdiskadm来做,也可以用命令行来做。\r\n\r\n# vxdiskadm\r\n出现选项,先选4 - Remove a disk for replacement,\r\n它会问你要删除的\"disk name\",输入\"rootdisk\",回主菜单后\r\n再选5-Replace a failed or removed disk,它首先问你上一步\r\n删除的disk name,仍然输入\"rootdisk\",然后问你一个新的磁盘\r\n来进行初始化,你输入c0t0d0,后面你看提示打Y或N即可。\r\n\r\n推出vxdiskadm后,用上面提到的命令:\r\n# vxdisk list\r\nDEVICE TYPE DISK GROUP STATUS\r\nc0t0d0s2 sliced rootdisk rootdg online\r\nc0t1d0s2 sliced rootmirror rootdg online\r\n\r\n可以看到c0t0d0s2现在已经开始online了,再使用vxprint -ht命令观察,\r\n你会发现3个卷都在进行同步。另外还有一个命令vxtask list可以让你\r\n看到同步的进度。这里不再细说了。\r\n\r\n如果用命令行的话,可以这么做:\r\n# vxdg -k -g rootdg rmdisk rootdisk\r\n# vxdg -k -g rootdg adddisk rootdisk=c0t0d0s2\r\n# vxrecover -bs\r\n\r\n\r\n确认镜象同步完成后,重新启动系统。\r\n\r\n\r\n有问题可以发信给我:recommendedpatch@yahoo.com.cn |
|