Solaris Volume Manager 管理指南

Procedure如何取消镜像无法挂载的文件系统

使用此任务,可以取消镜像在正常系统运行过程中无法取消挂载的文件系统,包括根 (/) 文件系统、/usr 文件系统、/opt 文件系统和 swap 文件系统。

  1. 确保您具有超级用户权限,并且拥有所有数据的最新备份。

  2. 验证是否至少有一个子镜像处于 Okay(正常)状态。


    # metastat mirror
    
  3. 拆离将继续用于文件系统的子镜像。


    # metadetach mirror submirror
    

    有关更多信息,请参见 metadetach(1M) 手册页。

  4. 根据要取消镜像的文件系统,使用以下命令之一:

    • 对于 /usr/optswap 文件系统,更改 /etc/vfstab 文件中与各文件系统相对应的项,使其使用非Solaris Volume Manager 设备(片)。

    • 仅限根 (/) 文件系统:运行 metaroot 命令。


      # metaroot rootslice
      

      有关更多信息,请参见 metaroot(1M) 手册页。

  5. 重新引导系统。


    # reboot
    
  6. 清除剩余的镜像和子镜像。


    # metaclear -r mirror
    

    有关更多信息,请参见 metaclear(1M) 手册页。


示例 11–21 取消镜像根 (/) 文件系统


# metastat d0

d0: Mirror

    Submirror 0: d10

      State: Okay        

    Submirror 1: d20

      State: Okay        

    Pass: 1

    Read option: roundrobin (default)

    Write option: parallel (default)

    Size: 2100735 blocks (1.0 GB)



d10: Submirror of d0

    State: Okay         

    Size: 2100735 blocks (1.0 GB)

    Stripe 0:

        Device     Start Block  Dbase        State Reloc Hot Spare

        c0t3d0s0          0     No            Okay   Yes 





d20: Submirror of d0

    State: Okay         

    Size: 2100735 blocks (1.0 GB)

    Stripe 0:

        Device     Start Block  Dbase        State Reloc Hot Spare

        c1t3d0s0          0     No            Okay   Yes 





# metadetach d0 d20

d0: submirror d20 is detached

# metaroot /dev/dsk/c0t3d0s0

# reboot

...

# metaclear -r d0

d0: Mirror is cleared

d10: Concat/Stripe is cleared

# metaclear d20

d20: Concat/Stripe is cleared

在本示例中,根 (/) 文件系统是双向镜像 d0。该镜像的子镜像为 d10d20。子镜像由片 /dev/dsk/c0t3d0s0/dev/dsk/c1t3d0s0 组成。metastat 命令会确认是否至少有一个子镜像处于“Okay(正常)”状态。(必须首先修复其子镜像都不处于“Okay(正常)”状态的镜像。)将拆离子镜像 d20,使 d0 成为单向镜像。

rootslice 是包含根 (/) 文件系统的片。metaroot 命令会使用要从中引导系统的 rootslice 来运行。此命令会编辑 /etc/system/etc/vfstab 文件。此命令会删除用来指定对根 (/) 文件系统进行镜像的信息。

系统重新引导之后,metaclear -r 命令会删除该镜像和另一个子镜像 d10。最后一个 metaclear 命令会清除子镜像 d20



示例 11–22 取消镜像 swap 文件系统


# metastat d1

d1: Mirror

    Submirror 0: d11

      State: Okay        

    Submirror 1: d21

      State: Okay        

...

# metadetach d1 d21

d1: submirror d21 is detached

(编辑 /etc/vfstab 文件以将与 swap 对应的项从 metadevice 更改为片名称)

# reboot

...

# metaclear -r d1

d1: Mirror is cleared

d11: Concat/Stripe is cleared

# metaclear d21

d21: Concat/stripe is cleared

在本示例中,swap 文件系统由双向镜像 d1 组成。该镜像的子镜像为 d11d21。子镜像由片 /dev/dsk/c0t3d0s1/dev/dsk/c1t3d0s1 组成。metastat 命令会确认是否至少有一个子镜像处于“Okay(正常)”状态。(必须首先修复其子镜像都不处于“Okay(正常)”状态的镜像。)将拆离子镜像 d21,使 d1 成为单向镜像。接下来,会编辑 /etc/vfstab 文件,以更改与 swap 相对应的项,使其引用子镜像 d21 中的片。

在本示例中,/etc/vfstab file 包含 swap 文件系统的以下项:


/dev/md/dsk/d4  /dev/md/rdsk/d4  /opt ufs  2  yes -

/dev/md/dsk/d1 - - swap - no -

请更改该项,使其显示为:


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

系统重新引导之后,metaclear -r 命令会删除该镜像和另一个子镜像 d11。最后一个 metaclear 命令会清除子镜像 d21