Solaris Volume Manager 管理指南

Procedure从根 (/) RAID-1(镜像)卷中恢复

在以下示例中,根 (/) 文件系统是用双向镜像 d0 镜像的。/etc/vfstab 文件中的根 (/) 项由于某种原因而恢复到文件系统的原始片。但是,/etc/system 文件中的信息仍显示为从镜像 d0 引导。最有可能的原因就是,没有使用 metaroot 命令来维护 /etc/system/etc/vfstab 文件。另一个可能的原因就是,将 /etc/vfstab 文件的旧副本又重新复制到当前的 /etc/vfstab 文件中。

错误的 /etc/vfstab 文件与以下信息类似:


#device        device          mount          FS      fsck   mount    mount

#to mount      to fsck         point          type    pass   at boot  options

#

/dev/dsk/c0t3d0s0 /dev/rdsk/c0t3d0s0  /       ufs      1     no       -

/dev/dsk/c0t3d0s1 -                   -       swap     -     no       -

/dev/dsk/c0t3d0s6 /dev/rdsk/c0t3d0s6  /usr    ufs      2     no       -

#

/proc             -                  /proc    proc     -     no       -

swap              -                  /tmp     tmpfs    -     yes      -

由于出现错误,您将在系统引导时自动进入单用户模式:


ok boot

...

configuring network interfaces: hme0.

Hostname: host1

mount: /dev/dsk/c0t3d0s0 is not this fstype.

setmnt: Cannot open /etc/mnttab for writing



INIT: Cannot create /var/adm/utmp or /var/adm/utmpx



INIT: failed write of utmpx entry:"  "



INIT: failed write of utmpx entry:"  "



INIT: SINGLE USER MODE



Type Ctrl-d to proceed with normal startup,

(or give root password for system maintenance): <root-password>

此时,根 (/) 和 /usr 文件系统都以只读方式挂载。请按照以下步骤操作:

  1. 针对根 (/) 镜像运行 fsck 命令。


    注 –

    注意使用根 (/) 镜像的正确的卷。



    # fsck /dev/md/rdsk/d0
    
    ** /dev/md/rdsk/d0
    
    ** Currently Mounted on /
    
    ** Phase 1 - Check Blocks and Sizes
    
    ** Phase 2 - Check Pathnames
    
    ** Phase 3 - Check Connectivity
    
    ** Phase 4 - Check Reference Counts
    
    ** Phase 5 - Check Cyl groups
    
    2274 files, 11815 used, 10302 free (158 frags, 1268 blocks,
    
    0.7% fragmentation)
  2. 重新以读/写方式挂载根 (/) 文件系统,以便您可以编辑 /etc/vfstab 文件。


    # mount -o rw,remount /dev/md/dsk/d0 /
    
    mount: warning: cannot lock temp file </etc/.mnt.lock>
  3. 运行 metaroot 命令。


    # metaroot d0
    

    此命令会编辑 /etc/system/etc/vfstab 文件,以便指定根 (/) 文件系统现在位于 d0 卷上。

  4. 验证 /etc/vfstab 文件是否包含正确的卷项。

    /etc/vfstab 文件中的根 (/) 项应如下所示,从而使文件系统的项可以正确地引用 RAID-1 卷:

    #device           device              mount    FS      fsck   mount   mount
    
    #to mount         to fsck             point    type    pass   at boot options
    
    #
    
    /dev/md/dsk/d0    /dev/md/rdsk/d0     /        ufs     1      no      -
    
    /dev/dsk/c0t3d0s1 -                   -        swap    -      no      -
    
    /dev/dsk/c0t3d0s6 /dev/rdsk/c0t3d0s6  /usr     ufs     2      no      -
    
    #
    
    /proc             -                  /proc     proc    -      no      -
    
    swap              -                  /tmp      tmpfs   -      yes     -
  5. 重新引导系统。

    系统将恢复到正常的运行状态。