Oracle Solaris ZFS-Administrationshandbuch

ProcedureSo ersetzen Sie eine Festplatte im ZFS-Root-Pool

Das Ersetzen einer Festplatte im Root-Pool kann aus folgenden Gründen erforderlich sein:

In einer gespiegelten Root-Pool-Konfiguration können Sie versuchen, eine Festplatte zu ersetzen, ohne von einem alternativen Medium zu booten. Sie können eine ausgefallene Festplatte ersetzen, indem Sie den Befehl zpool replace verwenden. Wenn Sie über eine zusätzliche Festplatte verfügen, können Sie auch den Befehl zpool attach verwenden. In diesem Abschnitt finden Sie ein Beispiel für das Verfahren zum Einbinden einer zusätzlichen Festplatte und zum Entfernen einer Root-Pool-Festplatte.

Bei mancher Hardware müssen Sie eine Festplatte zunächst deaktivieren und dekonfigurieren, bevor Sie versuchen können, eine ausgefallene Festplatte mithilfe des Vorgangs zpool replace zu ersetzen. Beispiel:


# zpool offline rpool c1t0d0s0
# cfgadm -c unconfigure c1::dsk/c1t0d0
<Physically remove failed disk c1t0d0>
<Physically insert replacement disk c1t0d0>
# cfgadm -c configure c1::dsk/c1t0d0
# zpool replace rpool c1t0d0s0
# zpool online rpool c1t0d0s0
# zpool status rpool
<Let disk resilver before installing the boot blocks>
SPARC# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t0d0s0
x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t9d0s0

Bei mancher Hardware müssen Sie die Ersatzfestplatte, nachdem diese eingesetzt wurde, weder aktivieren noch neu konfigurieren.

Sie müssen die Pfadnamen des Boot-Geräts der aktuellen und der neuen Festplatte angeben, damit Sie das Booten von der Ersatzfestplatte testen und manuell von der vorhandenen Festplatte booten können, falls das Booten von der Ersatzfestplatte fehlschlägt. In dem Beispiel des folgenden Verfahrens lautet der Pfadname für die aktuelle Root-Pool-Festplatte c1t10d0s0:


/pci@8,700000/pci@3/scsi@5/sd@a,0

Der Pfadname für die Ersatzfestplatte zum Booten (c1t9d0s0) lautet:


/pci@8,700000/pci@3/scsi@5/sd@9,0
  1. Verbinden Sie die Ersatzfestplatte (bzw. die neue Festplatte) physisch.

  2. Vergewissern Sie sich, dass die neue Festplatte ein SMI-Label und den Bereich 0 hat.

    Informationen zum Umbenennen einer für den Root-Pool bestimmten Festplatte finden Sie auf:

    http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide

  3. Verbinden Sie die neue Festplatte mit dem Root-Pool.

    Beispiel:


    # zpool attach rpool c1t10d0s0 c1t9d0s0
    
  4. Überprüfen Sie den Status des Root-Pools.

    Beispiel:


    # zpool status rpool
      pool: rpool
     state: ONLINE
    status: One or more devices is currently being resilvered.  The pool will
            continue to function, possibly in a degraded state.
    action: Wait for the resilver to complete.
     scrub: resilver in progress, 25.47% done, 0h4m to go
    config:
    
            NAME           STATE     READ WRITE CKSUM
            rpool          ONLINE       0     0     0
              mirror-0     ONLINE       0     0     0
                c1t10d0s0  ONLINE       0     0     0
                c1t9d0s0   ONLINE       0     0     0
    
    errors: No known data errors
  5. Wenden Sie nach Abschluss des Resilvering die Boot-Blöcke auf die neue Festplatte an.

    Verwenden Sie eine Syntax wie die folgende:

    • SPARC:


      # installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t9d0s0
      
    • x86:


      # installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t9d0s0
      
  6. Überprüfen Sie, ob Sie von der neuen Festplatte booten können.

    Auf einem SPARC-System würden Sie eine Syntax wie die folgende verwenden:


    ok boot /pci@8,700000/pci@3/scsi@5/sd@9,0
    
  7. Wenn das System von der neuen Festplatte bootet, entfernen Sie die alte Festplatte.

    Beispiel:


    # zpool detach rpool c1t10d0s0
    
  8. Richten Sie das System zum automatischen Booten von der neuen Festplatte ein, indem Sie den Befehl eeprom, den Befehl setenv am SPARC-Boot-PROM verwenden, oder das PC-BIOS neu konfigurieren.