对于可以在系统运行时取消挂载的文件系统,可以使用此过程对其取消镜像。要取消镜像根 (/) 文件系统、/var 文件系统、/usr 文件系统、swap 文件系统或者在系统运行时无法取消挂载的其他任何文件系统,请参见如何取消镜像无法挂载的文件系统。
请阅读创建和维护 RAID-1 卷。
确保您具有超级用户权限,并且拥有所有数据的最新备份。
验证是否至少有一个子镜像处于 Okay(正常)状态。
# metastat mirror |
取消挂载文件系统。
# umount /file-system |
# metadetach mirror submirror |
有关更多信息,请参见 metadetach(1M) 手册页。
# metaclear -r mirror |
有关更多信息,请参见 metaclear(1M) 手册页。
如有必要,请编辑 /etc/vfstab 文件,使其使用在 步骤 4 中拆离的组件。
重新挂载文件系统。
# mount /file-system |
# metastat d4 d4: Mirror Submirror 0: d2 State: Okay Submirror 1: d3 State: Okay Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Size: 2100735 blocks (1.0 GB) d2: Submirror of d4 State: Okay Size: 2100735 blocks (1.0 GB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c0t0d0s0 0 No Okay Yes d3: Submirror of d4 State: Okay Size: 2100735 blocks (1.0 GB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c1t0d0s0 0 No Okay Yes ... # umount /opt # metadetach d4 d2 d4: submirror d2 is detached # metaclear -r d4 d4: Mirror is cleared d3: Concat/Stripe is cleared (编辑 /etc/vfstab 文件使与 /opt 对应的项从 d4 更改为该基础片或卷) # mount /opt |
在本示例中,/opt 文件系统由双向镜像 d4 组成。该镜像的子镜像为 d2 和 d3。子镜像由片 /dev/dsk/c0t0d0s0 和 /dev/dsk/c1t0d0s0 组成。metastat 命令会确认是否至少有一个子镜像处于“Okay(正常)”状态。(必须首先修复其子镜像都不处于“Okay(正常)”状态的镜像。)文件系统将会取消挂载。然后,将拆离子镜像 d2。metaclear- r 命令会删除该镜像和另一个子镜像 d3。
接下来,会更改 /etc/vfstab 文件中与 /opt 相对应的项,使其引用基础片。
在本示例中,/etc/vfstab file 包含 /opt 文件系统的以下项:
/dev/md/dsk/d4 /dev/md/rdsk/d4 /opt ufs 2 yes - |
请更改该项,使其显示为:
/dev/md/dsk/d2 /dev/md/rdsk/d2 /opt ufs 2 yes - |
使用子镜像名称,可以使文件系统继续挂载在卷上。最后,将重新挂载 /opt 文件系统。
在 /etc/vfstab 文件中使用 d2 而不是 d4,可以取消镜像。由于 d2 由一个片组成,因此,如果不希望设备支持卷,则可以在该片(其名称为 /dev/dsk/c0t0d0s0)上挂载文件系统。
使用此任务,可以取消镜像在正常系统运行过程中无法取消挂载的文件系统,包括根 (/) 文件系统、/usr 文件系统、/opt 文件系统和 swap 文件系统。
确保您具有超级用户权限,并且拥有所有数据的最新备份。
验证是否至少有一个子镜像处于 Okay(正常)状态。
# metastat mirror |
拆离将继续用于文件系统的子镜像。
# metadetach mirror submirror |
有关更多信息,请参见 metadetach(1M) 手册页。
根据要取消镜像的文件系统,使用以下命令之一:
对于 /usr、/opt 或 swap 文件系统,更改 /etc/vfstab 文件中与各文件系统相对应的项,使其使用非Solaris Volume Manager 设备(片)。
仅限根 (/) 文件系统:运行 metaroot 命令。
# metaroot rootslice |
有关更多信息,请参见 metaroot(1M) 手册页。
重新引导系统。
# reboot |
清除剩余的镜像和子镜像。
# metaclear -r mirror |
有关更多信息,请参见 metaclear(1M) 手册页。
# 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。该镜像的子镜像为 d10 和 d20。子镜像由片 /dev/dsk/c0t3d0s0 和 /dev/dsk/c1t3d0s0 组成。metastat 命令会确认是否至少有一个子镜像处于“Okay(正常)”状态。(必须首先修复其子镜像都不处于“Okay(正常)”状态的镜像。)将拆离子镜像 d20,使 d0 成为单向镜像。
rootslice 是包含根 (/) 文件系统的片。metaroot 命令会使用要从中引导系统的 rootslice 来运行。此命令会编辑 /etc/system 和 /etc/vfstab 文件。此命令会删除用来指定对根 (/) 文件系统进行镜像的信息。
系统重新引导之后,metaclear -r 命令会删除该镜像和另一个子镜像 d10。最后一个 metaclear 命令会清除子镜像 d20。
# 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 组成。该镜像的子镜像为 d11 和 d21。子镜像由片 /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。