четверг, 14 июля 2016 г.

HP-UX. Замена диска в зеркале LVM

1. Определяем сбойный диск.

# ioscan -fnNC disk
disk     62  64000/0xfa00/0xd    esdisk  NO_HW       DEVICE       offline  HP 36.4GST336753LC
2/0/0/2/0.0x6.0x0
/dev/disk/disk62      /dev/disk/disk62_p2   /dev/rdisk/disk62     /dev/rdisk/disk62_p2
/dev/disk/disk62_p1   /dev/disk/disk62_p3   /dev/rdisk/disk62_p1  /dev/rdisk/disk62_p3 

2. Определяем LV в VG со сбойным диском.

# lvdisplay -v -k /dev/vg00/*

3. Выводим LV из зеркала.

# lvreduce -m 0 -A n -k /dev/vg00/lvol1 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol2 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol3 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol4 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol5 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol6 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol7 0

4.Удаляем сбойный диск из VG.

# vgreduce /dev/vg00 /dev/disk/disk62_p2

В случае если система отказывается удалять.

# vgreduce –f /dev/vg00 /dev/disk/disk62_p2
# vgscan –f /dev/vg00 

5. Проверяем.

# vgdisplay -v vg00

6. До замены диска выполняем.

#  scsimgr replace_wwid –D /dev/rdisk/disk62


7. После замены подготавливаем новый диск.

# echo "3" > /tmp/partitionfile
# echo "EFI 500MB" >> /tmp/partitionfile
# echo "HPUX 100%" >> /tmp/partitionfile
# echo "HPSP 400MB" >> /tmp/partitionfile
# idisk -wf /tmp/partitionfile /dev/rdisk/disk219
# ioscan -fnNC disk
# insf -e -C disk

8. Переносим DSF на новый диск.

# io_redirect_dsf -d /dev/disk/disk62 -n /dev/disk/disk219

9. Создаем bootable и проверяем EFI.

# mkboot -e -l /dev/rdisk/disk62
# efi_ls -d /dev/rdisk/disk62_p1
# lifls -l /dev/rdisk/disk62_p2
# mkboot -a "boot vmunix -lq" /dev/disk/disk62
# efi_cp -d /dev/rdisk/disk62_p1 -u /EFI/HPUX/AUTO /dev/tty

10. Создаем PV, вводим в VG и зеркалируем.

# pvcreate -f -B /dev/rdisk/disk62_p2
# vgextend /dev/vg00 /dev/disk/disk62_p2
# lvextend -m 1 /dev/vg00/lvol1 /dev/disk/disk62_p2
# lvextend -m 1 /dev/vg00/lvol2 /dev/disk/disk62_p2
# lvextend -m 1 /dev/vg00/lvol3 /dev/disk/disk62_p2
# lvextend -m 1 /dev/vg00/lvol4 /dev/disk/disk62_p2
# lvextend -m 1 /dev/vg00/lvol5 /dev/disk/disk62_p2
# lvextend -m 1 /dev/vg00/lvol6 /dev/disk/disk62_p2
# lvextend -m 1 /dev/vg00/lvol7 /dev/disk/disk62_p2

11. Boot.

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

12. Проверяем.

# vgdisplay -v vg00
# setboot -v

Если старый диск в системе определился как два диска и появляются сообщения вида "/etc/lvmtab is out of date with the running kernel:Kernel indicates 3 disks for "/dev/vg00"; /etc/lvmtab has 2 disks"

13. Проводим все вышеперечисленные действия на новый диск, затем выводим из зеркала второй диск(который определяется как два).

# lvreduce -m 0 -A n -k /dev/vg00/lvol1 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol2 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol3 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol4 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol5 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol6 0
# lvreduce -m 0 -A n -k /dev/vg00/lvol7 0
# vgreduce /dev/vg00 /dev/disk/disk3_p2

14. Удаляем дублирующие записи диска.

# rm /dev/disk/disk3
# rm /dev/disk/disk3_p1
# rm /dev/disk/disk3_p2
...
# rm /dev/rdisk/disk3
# rm /dev/rdisk/disk3_p1
# rm /dev/rdisk/disk3_p2
...
# rm /dev/disk/disk0
# rm /dev/disk/disk0_p1
# rm /dev/disk/disk0_p2
...
# rm /dev/rdisk/disk0
# rm /dev/rdisk/disk0_p1
# rm /dev/rdisk/disk0_p2

15. Пересоздаем DSF и проверяем.

# insf -e
# ioscan -fnNC disk

16. Пересоздаем VG и проверяем, делаем резервную копию.

# vgreduce -f vg00   
# vgscan
# vgcfgbackup vg00

17. Проделываем пункты 7,9,10,11,12 с переопределившимся диском.

18. Делаем резервную копию.

# vgcfgbackup vg00