Search This Blog

Friday, July 11, 2014

Replacing a Boot Mirrored SAS Disk in HP-UX 11.31 (11i v3)

Overview
SAS controllers use a different addressing scheme than parallel SCSI like U320 or SCSI-2.Where SCSI ID and therefore disk slot numbers were important, SAS uses a unique address of the disks themselves to identify the disks as part of a LUN (logical unit) or an HP-UX special device file like /dev/dsk/c0t0d0.  You can take a disk out of one slot (referred to as bays) and put it in a different slot or bay.  The controller finds it and presents the disk to the O/S with the same special device file.  This does complicate the procedure needed for replacing a failed disk. !

When a disk fails, and a new disk is put into the same bay that the failed disk came out of,the SAS controller knows it is a different disk by its SAS address.  The O/S driver assigns the next available target for the hardware path (viewed with ioscan) and special device file if insf -e is executed. 

If the customer used a legacy devicefile (e.g. /dev/dsk/c2t2d0) in his LVM configuration, you have to make sure that the new disk will get the old legacy file again.
This can be done by sasmgr(http://wtec.cup.hp.com/~cpuhw/storage/sas/sasmgr_man.htm  with the “replace_tgt” option. Even this will result in an Error that the file is still busy, a consecutive “io_redirect_dsf” on the corresponding persisten file will round up the move, and result in the old legacy/persisten name pair as before.

If the customer used a persistent devicefile (e.g. /dev/disk/disk5) in his LVM config, you have to make sure that the new disk uses the same persistent devicefile again. Ich you don´t care about the new created legacy dsf and only use the persistent one, just only use  “io_redirect_dsf(1M).

Both methods, sasmgr replace_tgt  and io_redirect_dsf, are very simple as long as there are no I/O's pending or no I/O drivers that have the special device file open for reading/writing.  This is rarely the case however, and LVM will continue to try to access that special device file waiting for the failed disk to return.

You must stop all access to the special device file first by executing “pvchange –a N” to deactivate that physical volume. 

Once the new disk is inserted, create the EFI partitions, and vgcfgrestore the LVM information.

As an alternative, you can unmirror the volume group and vgreduce the bad disk from the volume group.  Following is the procedure using pvchange and vgcfgrestore to replace a mirrored boot disk in vg00.

1.  Check which disk has failed and which devicefiles are in use

# vgdisplay -v vg00
--- Volume groups ---
VG Name                     /dev/vg00
VG Write Access             read/write
VG Status                   available
………
   --- Logical volumes ---
   LV Name                     /dev/vg00/lvol1
   LV Status                   available/stale
       ………
   LV Name                     /dev/vg00/lvol8
   LV Status                   available/stale
   LV Size (Mbytes)            5696
   Current LE                  712
   Allocated PE                712
   Used PV                     2
   --- Physical volumes ---
   PV Name                     /dev/dsk/disk2_p2
   PV Status                   available
   Total PE                    4228
   Free PE                     1224
   Autoswitch                  On

   PV Name                     /dev/dsk/disk3_p2
   PV Status                   unavailable
   Total PE                    4228
   Free PE                     1224
   Autoswitch                  On


In this case, the disk using the persistent device file /dev/dsk/disk3_p2  is unavailable.

# ioscan -m lun
Class     I  Lun H/W Path  Driver  S/W State   H/W Type     Health  Description
======================================================================
disk      2  64000/0xfa00/0x0   esdisk  CLAIMED     DEVICE       online  HP    
             0/2/1/0.0x5000c50008210fa5.0x0
                      /dev/disk/disk2      /dev/rdisk/disk2  
                      /dev/disk/disk2_p1   /dev/rdisk/disk2_p1
                      /dev/disk/disk2_p2   /dev/rdisk/disk2_p2
                      /dev/disk/disk2_p3   /dev/rdisk/disk2_p3
disk      3  64000/0xfa00/0x1   esdisk  NO_HW     DEVICE       online  HP    
             0/2/1/0.0x5000c5000820ee41.0x0
                      /dev/disk/disk3      /dev/rdisk/disk3
                      /dev/disk/disk3_p1   /dev/rdisk/disk3_p1
                      /dev/disk/disk3_p2   /dev/rdisk/disk3_p2
                      /dev/disk/disk3_p3   /dev/rdisk/disk3_p3

But also make a note of the failed legacy device files,. You will need them for sasmgr commands.

# ioscan -fnH 0/2
Class        I  H/W Path       Driver    S/W State   H/W Type     Description
==============================================================================
ba           2  0/2            lba         CLAIMED     BUS_NEXUS    Local PCI-X)
escsi_ctlr   0  0/2/1/0        sasd        CLAIMED     INTERFACE    HP  PCI/PCIr
                              /dev/sasd0
ext_bus      0  0/2/1/0.0.0    sasd_vbus   CLAIMED     INTERFACE    SAS Device e
target       0  0/2/1/0.0.0.0  tgt         CLAIMED     DEVICE      
disk         4  0/2/1/0.0.0.0.0  sdisk       CLAIMED     DEVICE       HP      D4
                              /dev/dsk/c0t0d0     /dev/rdsk/c0t0d0 
                              /dev/dsk/c0t0d0s1   /dev/rdsk/c0t0d0s1
                              /dev/dsk/c0t0d0s2   /dev/rdsk/c0t0d0s2
                              /dev/dsk/c0t0d0s3   /dev/rdsk/c0t0d0s3
target       1  0/2/1/0.0.0.1  tgt         NO_HW       DEVICE      
disk         0  0/2/1/0.0.0.1.0  sdisk       NO_HW       DEVICE       HP      D4
                              /dev/dsk/c0t1d0     /dev/rdsk/c0t1d0 
                              /dev/dsk/c0t1d0s1   /dev/rdsk/c0t1d0s1
                              /dev/dsk/c0t1d0s2   /dev/rdsk/c0t1d0s2
                              /dev/dsk/c0t1d0s3   /dev/rdsk/c0t1d0s3

Is the disk c0t1d0  alias  disk3 an IR Volume or a JBOD ? (look for a disk WWID ending with …..ee41)

# sasmgr get_info -D /dev/sasd0 -q raid
Thu Dec 14 14:59:28 2006
---------- PHYSICAL DRIVES ----------
LUN dsf              SAS Address          Enclosure    Bay      Size(MB)

/dev/rdsk/c0t0d0     0x5000c50008210fa5     1            1      140014   
/dev/rdsk/c0t1d0     0x5000c5000820ee41     1            2      140014   
 

The SAS controller still sees the disk and has no Raids configured. We have a JBOD disk that, when replaced with a new one, surely will result in new legacy and persistent devicefiles


Failed disk
New disk
Type
SAS-JBOD
SAS-JBOD
HW Path
0/2/1/0.0.0.1.0
T.B.D.
LunPath
0/2/1/0.0x5000c5000820ee41.0x0
T.B.D.
Legacy Devicefile
/dev/dsk/c0t1d0
T.B.D.
Persistent Devicefile
/dev/disk/disk3
T.B.D.

2.  Halt LVM access to the defective disk: (be sure to use “capital N” with pvchange )

# pvchange -a N /dev/disk/disk3_p2
Warning: Detaching a physical volume reduces the availability of data
within the logical volumes residing on that disk.
Prior to detaching a physical volume or the last available path to it,
verify that there are alternate copies of the data
available on other disks in the volume group.
If necessary, use pvchange(1M) to reverse this operation.
Physical volume "/dev/disk/disk3_p2" has been successfully changed.

3. Turn on the disk's locator LED of disk Bay 2 to ensure the correct disk is removed:
# sasmgr set_attr -D /dev/sasd0 -q lun=/dev/rdisk/disk3 -q locate_led=on
Locate LED set to ON.
# sasmgr get_info -D /dev/sasd0 -q lun=all -q lun_locate
/dev/rdsk/c0t0d0          0/2/1/0.0.0.0.0           1     1     OFF
/dev/rdsk/c0t1d0          0/2/1/0.0.0.1.0           1     2     ON
 
4. Replace the Disk
At this point the disk in bay 2 is pulled out of the server.
A new disk is inserted in the same bay.  The server should not be rebooted or taken down between the time the disk fails and the time the new disk is inserted
Failed disk highlighted in red    (State NO_HW)
mirror of that disk in blue       (still operating, CLAIMED and untouched)
New replacement disk is in green.  (Got a new target ID “2” by SAS Controller!!!!)
5. Check for new created devicefiles
In this case the customer uses persistent devicefiles, so we don't care about the new legacy devicefile, but instead check whick new persistent device the system has created for it:
# ioscan -fnH 0/2
Class        I  H/W Path       Driver    S/W State   H/W Type     Description
==============================================================================
ba           2  0/2            lba         CLAIMED     BUS_NEXUS    Local PCI-X
Bus Adapter (122e)
escsi_ctlr   0  0/2/1/0        sasd        CLAIMED     INTERFACE    HP  PCI/PCI-
X SAS MPT Adapter
                              /dev/sasd0
ext_bus      0  0/2/1/0.0.0    sasd_vbus   CLAIMED     INTERFACE    SAS Device I
nterface
target       1  0/2/1/0.0.0.0  tgt         CLAIMED     DEVICE      
disk         1  0/2/1/0.0.0.0.0  sdisk       CLAIMED     DEVICE       HP      DG
146ABAB4
                              /dev/dsk/c0t0d0     /dev/rdsk/c0t0d0 
                              /dev/dsk/c0t0d0s1   /dev/rdsk/c0t0d0s1
                              /dev/dsk/c0t0d0s2   /dev/rdsk/c0t0d0s2
                              /dev/dsk/c0t0d0s3   /dev/rdsk/c0t0d0s3
target       0  0/2/1/0.0.0.1    tgt         NO_HW     DEVICE      
disk         0  0/2/1/0.0.0.1.0  sdisk       NO_HW     DEVICE       HP      DG
146ABAB4
                              /dev/dsk/c0t1d0     /dev/rdsk/c0t1d0 
                              /dev/dsk/c0t1d0s1   /dev/rdsk/c0t1d0s1
                              /dev/dsk/c0t1d0s2   /dev/rdsk/c0t1d0s2
                              /dev/dsk/c0t1d0s3   /dev/rdsk/c0t1d0s3
target       1  0/2/1/0.0.2.0    tgt         CLAIMED     DEVICE      
disk         1  0/2/1/0.0.2.0.0  sdisk       CLAIMED     DEVICE       HP      DG
146ABAB4
                              /dev/dsk/c0t2d0     /dev/rdsk/c0t2d0 

# sasmgr get_info -D /dev/sasd0 -q raid
Thu Dec 14 14:59:28 2006
---------- PHYSICAL DRIVES ----------
LUN dsf              SAS Address          Enclosure    Bay      Size(MB)

/dev/rdsk/c0t0d0     0x5000c50008210fa5     1            1      140014   
/dev/rdsk/c0t2d0     0x5000cca000101799     1            2      140014   



# ioscan -m dsf
Persistent DSF           Legacy DSF(s)
========================================
/dev/rdisk/disk2         /dev/rdsk/c0t0d0
/dev/rdisk/disk2_p1      /dev/rdsk/c0t0d0s1
/dev/rdisk/disk2_p2      /dev/rdsk/c0t0d0s2
/dev/rdisk/disk2_p3      /dev/rdsk/c0t0d0s3
/dev/rdisk/disk3         /dev/rdsk/c0t1d0
/dev/rdisk/disk3_p1      /dev/rdsk/c0t1d0s1
/dev/rdisk/disk3_p2      /dev/rdsk/c0t1d0s2
/dev/rdisk/disk3_p3      /dev/rdsk/c0t1d0s3
/dev/rdisk/disk5         /dev/rdsk/c0t2d0       <-  new disk !

#
ioscan -m lun
Class     I  Lun H/W Path  Driver  S/W State   H/W Type     Health  Description
======================================================================
disk      2  64000/0xfa00/0x0   esdisk  CLAIMED   DEVICE       online  HP    
             0/2/1/0.0x5000c50008210fa5.0x0
                      /dev/disk/disk2      /dev/rdisk/disk2  
                      /dev/disk/disk2_p1   /dev/rdisk/disk2_p1
                      /dev/disk/disk2_p2   /dev/rdisk/disk2_p2
                      /dev/disk/disk2_p3   /dev/rdisk/disk2_p3
disk      3  64000/0xfa00/0x1   esdisk  NO_HW     DEVICE       online  HP    
             0/2/1/0.0x5000c5000820ee41.0x0
                      /dev/disk/disk3      /dev/rdisk/disk3  
                      /dev/disk/disk3_p1   /dev/rdisk/disk3_p1
                      /dev/disk/disk3_p2   /dev/rdisk/disk3_p2
                      /dev/disk/disk3_p3   /dev/rdisk/disk3_p3
disk      5  64000/0xfa00/0x2   esdisk  CLAIMED   DEVICE       online  HP    
             0/2/1/0.
0x5000cca000101799.0x0
                      /dev/disk/disk5      /dev/rdisk/disk5  

# diskinfo /dev/disk/disk5
diskinfo: Character device required
# diskinfo /dev/rdisk/disk3
SCSI describe of /dev/rdisk/disk3:
             vendor: HP     
         product id: DG146ABAB4     
               type: direct access
               size: 143374744 Kbytes
   bytes per sector: 512

Collect your data now :

Failed disk
New disk
Type
SAS-JBOD
SAS-JBOD
HW Path
0/2/1/0.0.0.1.0
0/2/1/0.0.0.2.0
LunPath
0/2/1/0.0x5000c5000820ee41.0x0
0/2/1/0. 0x5000cca000101799.0x0
Legacy Devicefile
/dev/dsk/c0t1d0
/dev/dsk/c0t2d0
Persistent Devicefile
/dev/disk/disk3
/dev/disk/disk5

6. Stop the LED (now using the new legacy devicefile)
# sasmgr get_info -D /dev/sasd0 -q lun=all -q lun_locate
/dev/rdsk/c0t0d0          0/2/1/0.0.0.0.0           1     1     OFF
/dev/rdsk/c0t2d0          0/2/1/0.0.0.2.0           1     2     ON 
# sasmgr set_attr -D /dev/sasd0 -q lun=/dev/rdsk/c0t2d0 -q locate_led=off

7. Restore the IA64 Partitioning Scheme of the new boot disk
Note: As the tools to retain the old defvcefiles after disk replacement do only allow replacement of disks with identical number of devicefiles, You have to make sure now that the new disk has the same partitioning scheme as the failed one.
If you would try to move the disk5 to the old disk3 name, you will get an Error Message:
Example:
# io_redirect_dsf -d /dev/rdisk/disk3 -n /dev/rdisk/disk5
Number of old DSFs=8.
Number of new DSFs=2.
The number of old and new DSFs must be the same.
Be aware that you use the new created devicefiles at this time.
- Create a partition description file:

# vi /tmp/partitionfile
3
EFI 500MB
HPUX 100%
HPSP 400MB

Use idisk(1M) command to partition the disk according to this file: \

# idisk -wf /tmp/partitionfile /dev/rdisk/disk5
idisk version: 1.2
********************** WARNING ***********************
If you continue you may destroy all data on this disk.
Do you wish to continue(yes/no)? yes

Create the new device files for the new partitions (disk3_p1,_p2_p3)

# insf -e –Cdisk
# ioscan -m lun
Class     I  Lun H/W Path  Driver  S/W State   H/W Type     Health  Description
======================================================================
disk      2  64000/0xfa00/0x0   esdisk  CLAIMED   DEVICE       online  HP    
             0/2/1/0.0x5000c50008210fa5.0x0
                      /dev/disk/disk2      /dev/rdisk/disk2  
                      /dev/disk/disk2_p1   /dev/rdisk/disk2_p1
                      /dev/disk/disk2_p2   /dev/rdisk/disk2_p2
                      /dev/disk/disk2_p3   /dev/rdisk/disk2_p3
disk      3  64000/0xfa00/0x1   esdisk  NO_HW     DEVICE       online  HP    
             0/2/1/0.0x5000c5000820ee41.0x0
                      /dev/disk/disk3      /dev/rdisk/disk3  
                      /dev/disk/disk3_p1   /dev/rdisk/disk3_p1
                      /dev/disk/disk3_p2   /dev/rdisk/disk3_p2
                      /dev/disk/disk3_p3   /dev/rdisk/disk3_p3
disk      5  64000/0xfa00/0x2   esdisk  CLAIMED   DEVICE       online  HP    
            
0/2/1/0. 0x5000cca000101799.0x0
                      /dev/disk/disk5      /dev/rdisk/disk5  
                      /dev/disk/disk5_p1   /dev/rdisk/disk5_p1
                      /dev/disk/disk5_p2   /dev/rdisk/disk5_p2
                      /dev/disk/disk5_p3   /dev/rdisk/disk5_p3
# ioscan -fnH 0/2
Class        I  H/W Path       Driver    S/W State   H/W Type     Description
==============================================================================
ba           2  0/2            lba         CLAIMED     BUS_NEXUS    Local PCI-X
escsi_ctlr   0  0/2/1/0        sasd        CLAIMED     INTERFACE    HP  PCI/PCI-X SAS MPT Adapter
                              /dev/sasd0
ext_bus      0  0/2/1/0.0.0    sasd_vbus   CLAIMED     INTERFACE    SAS Device I
nterface
target       1  0/2/1/0.0.0.0  tgt         CLAIMED     DEVICE      
disk         1  0/2/1/0.0.0.0.0  sdisk       CLAIMED     DEVICE       HP      DG
146ABAB4
                              /dev/dsk/c0t0d0     /dev/rdsk/c0t0d0 
                              /dev/dsk/c0t0d0s1   /dev/rdsk/c0t0d0s1
                              /dev/dsk/c0t0d0s2   /dev/rdsk/c0t0d0s2
                              /dev/dsk/c0t0d0s3   /dev/rdsk/c0t0d0s3
target       0  0/2/1/0.0.0.1    tgt         NO_HW     DEVICE      
disk         0  0/2/1/0.0.0.1.0  sdisk       NO_HW     DEVICE       HP      DG
146ABAB4
                              /dev/dsk/c0t1d0     /dev/rdsk/c0t1d0 
                              /dev/dsk/c0t1d0s1   /dev/rdsk/c0t1d0s1
                              /dev/dsk/c0t1d0s2   /dev/rdsk/c0t1d0s2
                              /dev/dsk/c0t1d0s3   /dev/rdsk/c0t1d0s3
target       1  0/2/1/0.0.2.0    tgt         CLAIMED     DEVICE      
disk         1  0/2/1/0.0.2.0.0  sdisk       CLAIMED     DEVICE       HP      DG
146ABAB4
                              /dev/dsk/c0t2d0     /dev/rdsk/c0t2d0 
                              /dev/dsk/c0t2d0s1   /dev/rdsk/c0t2d0s1
                              /dev/dsk/c0t2d0s2   /dev/rdsk/c0t2d0s2
                              /dev/dsk/c0t2d0s3   /dev/rdsk/c0t2d0s3

# ioscan -m dsf
Persistent DSF           Legacy DSF(s)
========================================
/dev/rdisk/disk2         /dev/rdsk/c0t0d0
/dev/rdisk/disk2_p1      /dev/rdsk/c0t0d0s1
/dev/rdisk/disk2_p2      /dev/rdsk/c0t0d0s2
/dev/rdisk/disk2_p3      /dev/rdsk/c0t0d0s3
/dev/rdisk/disk3         /dev/rdsk/ c0t1d0       <-  failed disk !
/dev/rdisk/disk3_p1      /dev/rdsk/c0t1d0s1
/dev/rdisk/disk3_p2      /dev/rdsk/c0t1d0s2
/dev/rdisk/disk3_p3      /dev/rdsk/c0t1d0s3
/dev/rdisk/disk5         /dev/rdsk/c0t2d0       <-  new disk !
/dev/rdisk/disk5_p1      /dev/rdsk/c0t2d0s1
/dev/rdisk/disk5_p2      /dev/rdsk/c0t2d0s2
/dev/rdisk/disk5_p3      /dev/rdsk/c0t2d0s3


1.  Redirect the IO from the new Device to the old Devicefile for the legacy devicefile:

# sasmgr replace_tgt -D /dev/sasd0 -q old_dev=/dev/dsk/c0t1d0
–q
new_tgt_hwpath=0/2/1/0.0.0.2.0

WARNING: This is a DESTRUCTIVE operation.
No CRA is done by the driver for this command.
Please ensure that there are no outstanding I/O requests
on the old_dev and the LUN's attached to the
new_tgt_hwpath before proceeding with this command.
Do you want to continue ?(y/n) [n]...
ERROR: Unable to remove mapping of the persistent LUN with the legacy dsf.
Possibly the LUN is open. Please execute scsimgr replace_leg_dsf command
Please see the scsimgr(1M) manpage for more details.
What happened ? Since there is still an active mapping from “c0t2d0” to the persistent dsf “disk5”, the system complains that you renamed one part of it. But, it alteady deleted the new legacy dsf´s:
# ioscan -fnH 0/2
Class        I  H/W Path       Driver    S/W State   H/W Type     Description
==============================================================================
ba           2  0/2            lba         CLAIMED     BUS_NEXUS    Local PCI-X
escsi_ctlr   0  0/2/1/0        sasd        CLAIMED     INTERFACE    HP  PCI/PCI-X SAS MPT Adapter
                              /dev/sasd0
ext_bus      0  0/2/1/0.0.0    sasd_vbus   CLAIMED     INTERFACE    SAS Device I
nterface
target       1  0/2/1/0.0.0.0  tgt         CLAIMED     DEVICE      
disk         1  0/2/1/0.0.0.0.0  sdisk       CLAIMED     DEVICE       HP      DG
146ABAB4
                              /dev/dsk/c0t0d0     /dev/rdsk/c0t0d0 
                              /dev/dsk/c0t0d0s1   /dev/rdsk/c0t0d0s1
                              /dev/dsk/c0t0d0s2   /dev/rdsk/c0t0d0s2
                              /dev/dsk/c0t0d0s3   /dev/rdsk/c0t0d0s3
target       0  0/2/1/0.0.0.1    tgt         NO_HW     DEVICE      
disk         0  0/2/1/0.0.0.1.0  sdisk       NO_HW     DEVICE       HP      DG
146ABAB4
                              /dev/dsk/c0t1d0     /dev/rdsk/c0t1d0 
                              /dev/dsk/c0t1d0s1   /dev/rdsk/c0t1d0s1
                              /dev/dsk/c0t1d0s2   /dev/rdsk/c0t1d0s2
                              /dev/dsk/c0t1d0s3   /dev/rdsk/c0t1d0s3
target       1  0/2/1/0.0.2.0    tgt         NO_HW       DEVICE   deleted !
Now, let´s re-animate the persisten devicefile also:
for the persisten devicefile:
# io_redirect_dsf –d /dev/disk/disk3 –n /dev/disk/disk5
- Verify it:
# ioscan -m lun
Class     I  Lun H/W Path  Driver  S/W State   H/W Type     Health  Description
======================================================================
disk      2  64000/0xfa00/0x0   esdisk  CLAIMED     DEVICE       online  HP    
             0/2/1/0.0x5000c50008210fa5.0x0
                      /dev/disk/disk2      /dev/rdisk/disk2  
                      /dev/disk/disk2_p1   /dev/rdisk/disk2_p1
                      /dev/disk/disk2_p2   /dev/rdisk/disk2_p2
                      /dev/disk/disk2_p3   /dev/rdisk/disk2_p3
disk      5  64000/0xfa00/0x2   esdisk  CLAIMED   DEVICE       online  HP    
            
0/2/1/0. 0x5000cca000101799.0x0
                      /dev/disk/disk3      /dev/rdisk/disk3  
                      /dev/disk/disk3_p1   /dev/rdisk/disk3_p1
                      /dev/disk/disk3_p2   /dev/rdisk/disk3_p2
                      /dev/disk/disk3_p3   /dev/rdisk/disk3_p3
# ioscan -fnH 0/2
Class        I  H/W Path       Driver    S/W State   H/W Type     Description
==============================================================================
ba           2  0/2            lba         CLAIMED     BUS_NEXUS    Local PCI-X
escsi_ctlr   0  0/2/1/0        sasd        CLAIMED     INTERFACE    HP  PCI/PCI-X SAS MPT Adapter
                              /dev/sasd0
ext_bus      0  0/2/1/0.0.0    sasd_vbus   CLAIMED     INTERFACE    SAS Device I
nterface
target       1  0/2/1/0.0.0.0  tgt         CLAIMED     DEVICE      
disk         1  0/2/1/0.0.0.0.0  sdisk       CLAIMED     DEVICE       HP      DG
146ABAB4
                              /dev/dsk/c0t0d0     /dev/rdsk/c0t0d0 
                              /dev/dsk/c0t0d0s1   /dev/rdsk/c0t0d0s1
                              /dev/dsk/c0t0d0s2   /dev/rdsk/c0t0d0s2
                              /dev/dsk/c0t0d0s3   /dev/rdsk/c0t0d0s3
target       0  0/2/1/0.0.0.1    tgt         CLAIMED     DEVICE      
disk         0  0/2/1/0.0.0.1.0  sdisk       CLAIMED     DEVICE       HP      DG
146ABAB4
                              /dev/dsk/c0t1d0     /dev/rdsk/c0t1d0 
                              /dev/dsk/c0t1d0s1   /dev/rdsk/c0t1d0s1
                              /dev/dsk/c0t1d0s2   /dev/rdsk/c0t1d0s2
                              /dev/dsk/c0t1d0s3   /dev/rdsk/c0t1d0s3
target       1  0/2/1/0.0.2.0    tgt         NO_HW       DEVICE   deleted !
# ioscan -m dsf
Persistent DSF           Legacy DSF(s)
========================================
/dev/rdisk/disk2         /dev/rdsk/c0t0d0
/dev/rdisk/disk2_p1      /dev/rdsk/c0t0d0s1
/dev/rdisk/disk2_p2      /dev/rdsk/c0t0d0s2
/dev/rdisk/disk2_p3      /dev/rdsk/c0t0d0s3
/dev/rdisk/disk3         /dev/rdsk/ c0t1d0
/dev/rdisk/disk3_p1      /dev/rdsk/c0t1d0s1
/dev/rdisk/disk3_p2      /dev/rdsk/c0t1d0s2
/dev/rdisk/disk3_p3      /dev/rdsk/c0t1d0s3

Bingo ! The old dsf´s  “c0t0d0 and “disk3” are operational again !  

9. Initialize the EFI FAT Partition and fill boot areas:

Use efi_fsinit(1M) to initialize the FAT filesystem on the EFI partition:

# efi_fsinit -d /dev/rdisk/disk3_p1

NOTE: This step is not neccessary if it can be guaranteed that the mirror disk does not contain a valid EFI filesystem. In this case efi_fsinit(1M) will be done automatically by the subsequent mkboot(1M) command. But if you take e.g. an old UX 11.22 boot disk as mirror disk, mkboot will not automatically run efi_fsinit. As a result only 100MB of the 500MB EFI partition (s1) can be used.

Use mkboot(1M) to format the EFI partition (s1) and populate it with the EFI files   below /usr/lib/efi/ and to format the LIF volume (part of s2) and populate it with the LIF files (ISL, AUTO, HPUX, LABEL) below /usr/lib/uxbootlf:

# mkboot -e -l /dev/rdisk/disk3
# efi_ls -d /dev/rdisk/disk3_p1       (to check EFI)

FileName      Last Modified        Size
EFI/          11/ 5/2003           0
STARTUP.NSH 11/ 5/2003            296
total space 523251712 bytes,
free space 520073216 bytes

# lifls -l /dev/rdisk/disk3_p2 (to check LIF)
volume ISL10 data size 7984 directory size 8 07/01/10 17:13:32
filename   type   start   size     implement  created
===============================================================
ISL        -12800 584     242      0          07/01/10 17:13:32
AUTO       -12289 832     1        0          07/01/10 17:13:32
HPUX       -12928 840     1024     0          07/01/10 17:13:32
PAD        -12290 1864    1468     0          07/01/10 17:13:33
LABEL      BIN    3336    8        0          08/08/26 20:07:24

Check the content of AUTO file on the original Bootdisks EFI partition:

# efi_cp -d /dev/rdisk/disk2_p1 -u /EFI/HPUX/AUTO /tmp/x
# cat /tmp/x
boot vmunix

NOTE: Specify the -lq option if prefer that your system boots up without interruption in case of a disk failure:

on the original boot disk:

# mkboot -a "boot vmunix -lq" /dev/rdisk/disk2

and on the replaced new mirror disk:

# mkboot -a "boot vmunix -lq" /dev/rdisk/disk3

Copy the HP service partition (skip this, if you don't have a service partition)

# dd if=/dev/rdisk/disk2_p3 of=/dev/rdisk/disk3_p3 bs=1024k

10. Restore LVM Configuration
Now the new disk is partitioned and equipped with boot headers, you can restore the LVM data to the OS partition “p2”:

# vgcfgrestore -n /dev/vg00 /dev/rdisk/disk3_p2
Restore LVM access to the disk.
If you did not reboot the system in Step 2http://docs.hp.com/en/5992-3385/ch04s08.html, reattach the disk as follows:
# pvchange –a y /dev/disk/disk3_p2
If you did reboot the system, reattach the disk by reactivating the volume group as follows:
# vgchange -a y /dev/vg00
NOTE: The vgchange command with the -a y option can be run on a volume group that is deactivated or already activated. It attaches all paths for all disks in the volume group and resumes automatically recovering any disks in the volume group that had been offline or any disks in the volume group that were replaced. Therefore, run vgchange only after all work has been completed on all disks and paths in the volume group, and it is necessary to attach them all.
        
Syncronize volume group data (only if sync does not start automatically):

# cd /tmp
# nohup vgsync /dev/vg00 &      (output see /tmp/nohup.out)
Initialize/check  boot information on the disk.
Check if content of LABEL file (i.e. root, boot, swap and dump device definition) has been initialized (done by lvextend) on the mirror disk:

# lvlnboot -v
Boot Definitions for Volume Group /dev/vg00:
Physical Volumes belonging in Root Volume Group:
        /dev/disk/disk2_p2 -- Boot Disk
        /dev/disk/disk3_p2 -- Boot Disk
Boot: lvol1     on:     /dev/disk/disk2_p2
                        /dev/disk/disk3_p2
Root: lvol3     on:     /dev/disk/disk2_p2
                        /dev/disk/disk3_p2
Swap: lvol2     on:     /dev/disk/disk2_p2
                        /dev/disk/disk3_p2
Dump: lvol2     on:     /dev/disk/disk2_p2, 0

If not, then set it:

# lvlnboot -r /dev/vg00/lvol3
# lvlnboot -b /dev/vg00/lvol1
# lvlnboot -s /dev/vg00/lvol2
# lvlnboot -d /dev/vg00/lvol2

update EFI Boot Configuration to recognize the new Disk ID:

# # setboot
Primary bootpath      : 0/2/1/0.0x5000c50008210fa5.0x0 (/dev/rdisk/disk2)
HA Alternate bootpath : 0/1/1/1 (LAN Interface)
Alternate bootpath    : 0/1/1/1 (LAN Interface)

Autoboot is ON (enabled)
Hyperthreading : ON
               : ON (next boot)
# setboot –h /dev/disk/disk3     (HA-alternate)
# setboot –a /dev/disk/disk3     (alternate )
# setboot (to check it)
# setboot
Primary bootpath      : 0/2/1/0.0x5000c50008210fa5.0x0 (/dev/rdisk/disk2)
HA Alternate bootpath : 0/2/1/0. 0x5000cca000101799.0x0 (/dev/rdisk/disk3)
Alternate bootpath    : 0/2/1/0. 0x5000cca000101799.0x0 (/dev/rdisk/disk3)

Autoboot is ON (enabled)
Hyperthreading : ON
               : ON (next boot)

This will write new Entries into the EFI Boot Menu in the order:

       - Primary Path
       - HAAlternate Path
       - Alternate Path

1 comment:

  1. Unix Journey Of Indrajit: Replacing A Boot Mirrored Sas Disk In Hp-Ux 11.31 (11I V3) >>>>> Download Now

    >>>>> Download Full

    Unix Journey Of Indrajit: Replacing A Boot Mirrored Sas Disk In Hp-Ux 11.31 (11I V3) >>>>> Download LINK

    >>>>> Download Now

    Unix Journey Of Indrajit: Replacing A Boot Mirrored Sas Disk In Hp-Ux 11.31 (11I V3) >>>>> Download Full

    >>>>> Download LINK

    ReplyDelete