对于可以在系统运行时取消挂载的文件系统,可以使用此过程对其取消镜像。要取消镜像根 (/) 文件系统、/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。