Anlegen und Booten von einer Emergency-Disk


Im folgenden wird die Diskgroup-Option –g osdg weggelassen.


  1. Erzeugen Sie einen dritten Spiegel der OS-Disk auf der zukünftigen Emergency-Disk (vxmirror … funktioniert nicht, da es nur nicht-redundante Volumes spiegelt).
    # vxdisksetup –i c#t#d# format=sliced
    # vxdg adddisk osdg03=c#t#d#
    # for Vol in `vxprint -vn`; do
    > vxassist mirror $Vol osdg03; done
    # vxbootsetup osdg03
  2. Vergewissern Sie sich vor dem Reboot, daß Sie eine Version der Datei /etc/system ohne VxVM-Einträge auf dem System haben (z.B. /etc/system.preencap).
  3. Schalten Sie alle Plexes (außer zum Swap-Volume) der Emergency-Disk auf OFFLINE.
    # vxmend off \
    > `vxprint –pne ´pl_sd.sd_dmname=”osdg03” && assoc!="swapvol"´`
  4. Bereinigen Sie die Filesysteme der offline gesetzten Plexes über ihren Partitionstreiber:
    # fsck –y /dev/rdsk/c#t#d#s#
  5. Bringen Sie das System in den OpenBoot-Prom:
    # init 0 oder # halt
  6. Booten Sie über die Emergency-Disk mit der Datei /etc/system.preencap (zur Not /dev/null), d.h. verhindern Sie, daß das vxio-Kernelmodul während der ersten Bootphase auf die /-Partition zugreift, und verhindern Sie die Ausführung der RC-Skripte:
    ok boot vx-osdg03 –ab
    ...
    etc/system.preencap
    ...
  7. Geben Sie im Single-User-Runlevel das root-Paßwort ein, um eine Shell zu erhalten. Laden Sie die korrekte Tastatur-Tabelle:
    # loadkeys
  8. Vertauschen Sie die Plex-Zustände (swapvol muß ausgelassen werden, was aber unproblematisch ist).
    # vxconfigd –m boot –x cleartempdir
    # for Plex in \
    > `vxprint –pne ´pl_sd.sd_dmname!="osdg03" && assoc!="swapvol"´`; do
    > vxmend off $Plex; done
    # for Plex in \
    > `vxprint –pne ´pl_sd.sd_dmname="osdg03" && assoc!="swapvol"´`; do
    > vxmend on $Plex; vxmend fix clean $Plex; done
  9. Rebooten Sie jetzt von der Emergency-Disk.
    # reboot vx-osdg03
  10. Sollen evtl. von den anderen OS-Disks Daten gerettet werden, können die Partitionen temporär zum Kopieren gemounted werden (ggf. zuvor fsck):
    # mount /dev/dsk/c#t#d#s# /mnt
    Kopieren von Dateien
    # umount /mnt
  11. Die Synchronisierung der anderen Plexes wird folgendermaßen gestartet:
    # for Plex in \
    > `vxprint –pne ´pl_sd.sd_dmname!="osdg03" && assoc!="swapvol"´`; do
    > vxmend on $Plex; done
    # vxrecover [-b]
  12. Schließlich werden die Plexes auf der Emergency-Disk wieder offline gesetzt (s.o. 3) und per fsck bereinigt (s.o. 4).