Sun Microsystems, Inc.  Oracle System Handbook - ISO 7.0 May 2018 Internal/Partner Edition
   Home | Current Systems | Former STK Products | EOL Systems | Components | General Info | Search | Feedback

Asset ID: 1-71-2328288.1
Update Date:2018-05-22
Keywords:

Solution Type  Technical Instruction Sure

Solution  2328288.1 :   How to Replace a Disk in a ZFS rpool for a Sparc Solaris System  


Related Items
  • Solaris Operating System
  •  
  • Sun Fire V240 Server
  •  
  • Sun Fire T2000 Server
  •  
Related Categories
  • PLA-Support>Sun Systems>SPARC>Enterprise>SN-SPARC: Mx000
  •  


iostat -En return c0t1d0 Soft Errors: 0 Hard Errors: xxx Transport Errors: xxxxxx

In this Document
Goal
Solution
References


Applies to:

Solaris Operating System - Version 10 1/13 U11 to 11.3 [Release 10.0 to 11.0]
Sun Fire V240 Server
Sun Fire T2000 Server
Information in this document applies to any platform.

Goal

Assuming c0t0d0s0 and c0t1d0s0 are mirrored in the ZFS rpool, and c0t1d0s0 need to be replaced in a sparc system.

Solution

1. Assuming c0t0d0 and c0t1d0 are mirrored in the rpool, and c0t1d0 need to be replaced in a Sparc system.

# iostat -En
<---snip--->
c0t1d0           Soft Errors: 0 Hard Errors: 35 Transport Errors: 137630
Vendor: SEAGATE  Product: ST914602SSUN146G Revision: 0400 Serial No: 071791R032
Size: 146.81GB <146810535936 bytes>
<---snip--->

# zpool status -v
<---snip--->
  c0t1d0s0  FAULTED      3 6.71K     0  too many errors
<---snip--->

2. Remove disk from ZFS control.

# zpool detach rpool c0t1d0s0   <<< in Sparc Solaris it is always required to specify a slice if the label is SMI

3. Perform physical replacement as follows:

# cfgadm -al
<---snip--->
c0::dsk/c0t1d0                 disk         connected    configured   unknown
<---snip--->
# cfgadm -c unconfigure c0::dsk/c0t1d0
CAUTION for any hardware requirement: Physically replace the drive
# cfgadm -c configure c0::dsk/c0t1d0

 

NOTE for possible issue when "unconfigure" did not work.

# cfgadm -c unconfigure c0::dsk/c0t1d0
Return error -> Device Busy
# fuser /dev/rdsk/c0t1d0s0
# kill -9 <PID>
# cfgadm -c unconfigure c0::dsk/c0t1d0
Still return error  -> Device Busy

In this case physically remove the drive (do not replace the drive in this step, the "cfgadm -c configure c0::dsk/c0t1d0" will return an I/O Error.

# cfgadm -c unconfigure c0::dsk/c0t1d0

Check if there are some remaining device.

# ls -l /dev/dsk/c0t1d0s0

If yes clean the device tree with.

# devfsadm -Cv

insert the drive. The Solaris disk configuration should be automatically done.

# cfgadm -al
# echo | format

4. Verify replaced drive is visible to Solaris (via format/prtvtoc/iostat -En, etc ...)

5. Label new disk with label and format -e (choose "SMI label" under "label" entry)

#
# format -e c0t1d0
format> label
[0] SMI Label
[1] EFI Label
Specify Label type[0]:0
# format -e c0t1d0
format> label
...

Then change the label if needed.

# format -e c0t1d0
format> label
[0] SMI Label
[1] EFI Label
Specify Label type[0]:

6. Create partitioning.

# prtvtoc  /dev/dsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2
The above command is, of course, when the source disk and the target have equal size. If the target disk is larger please use format instead.

7. Re-attach the sub-mirror

# zpool attach rpool c0t0d0s0 c0t1d0s0  <<< If you do not specify a slice you will get a efi warning

8. Let ZFS resilver the newly attached mirror.

# zpool status -v

9. Install the boot loader in the replaced disk

# installboot -F zfs /usr/platform/'uname -i'/lib/fs/zfs/bootblk /dev/rdsk/c0t1d0s0

NOTE: For the general procedure please also read the Oracle Solaris ZFS Administration Guide from http://docs.oracle.com
Chapter 5 : Installing and Booting an Oracle Solaris ZFS Boot File System
                 Recovering the ZFS root Pool or Root Pool
                 How to replace a Disk in the ZFS Root Pool

References

<NOTE:2328288.1> - How to Replace a Disk in a ZFS rpool for a Sparc Solaris System
<NOTE:1010753.1> - Solaris Volume Manager (SVM) How to Replace Internal System FC-AL Disks in 280R, V480, V490, V880, V890, and E3500 Servers
<NOTE:1362952.1> - How to Replace a Disk in a rpool for an x86 System

Attachments
This solution has no attachment
  Copyright © 2018 Oracle, Inc.  All rights reserved.
 Feedback