Folgende Dateisystemfehler treten unter Solaris 10 auf.
Wenn eine nicht-globale Zone anfänglich mit einem ZFS-Dateisystem zum Einhängen mithilfe des Unterbefehls `add fs konfiguriert und darin mountpoint=legacy angegeben wurde, schlägt die anschließende Installation fehl. Folgende Fehlermeldung wird angezeigt:
ERROR: No such file or directory: cannot mount </zones/path/root/usr/local> in non-global zone to install: the source block device or directory </path/local> cannot be accessed |
Problemumgehung: Der Zugriff auf ZFS-Dateisysteme darf erst nach der Installation nicht-globaler Zonen hinzugefügt werden.
ZFS ist ein POSIX-konformes Dateisystem, was auch in den meisten Fällen zutrifft. Es existieren jedoch zwei Randbedingungen, bei denen ZFS POSIX-Konformitätstests nicht besteht:
Aktualisieren von Kapazitätsstatistiken von ZFS-Dateisystemen
Ändern vorhandener Daten mit einem zu 100 Prozent belegten Dateisystem
Zugehörige CRs:
6362314
6362156
6361650
6343113
6343039
Bei Verwendung des Befehls fdisk -E zum Modifizieren einer Festplatte, die von einem ZFS-Speicherpool genutzt wird, wird das Pool unbrauchbar und kann einen E/A-Fehler bzw. eine Systempanik verursachen.
Problemumgehung:
Der Befehl fdisk darf nicht zum Modifizieren von Festplatten, die von einem ZFS-Speicherpool genutzt werden, verwendet werden. Wenn Sie Zugriff auf eine Festplatte, die von einem ZFS-Speicherpool genutzt wird, benötigen, sollten Sie dafür das Dienstprogramm format verwenden. Als allgemeine Faustregel gilt, dass Festplatten, die von Dateisystemen genutzt werden, nicht modifiziert werden dürfen.
Im Folgenden werden Probleme mit Veritas NetBackup und Brightstor ARCserve Backup beschrieben.
Veritas NetBackup kann zum Erstellen von Sicherungskopien von ZFS-Dateien verwendet werden und wird in dieser Konfiguration unterstützt. Gegenwärtig unterstützt diese Software jedoch nicht das Erstellen von Sicherungskopien bzw. Wiederherstellen von NFSv4-basierten Zugriffssteuerungslisteninformationen von ZFS-Dateien. Normalerweise werden von Berechtigungsbits und anderen Dateiattributen korrekte Sicherungskopien erstellt, und diese werden auch ordnungsgemäß wiederhergestellt .
Beim Anlegen von Sicherungskopien von ZFS-Dateien bzw. Wiederherstellen dieser Dateien werden die NFSv4-basierten Zugriffssteuerungslisteninformationen dieser ZFS-Dateien ohne Anzeige entsprechender Meldungen übergangen. Es wird keine Fehlermeldung angezeigt, die darauf hinweist, dass die Zugriffssteuerungslisteninformationen von ZFS-Dateien nicht mit kopiert werden.
An der Unterstützung für ZFS/NFSv4-basierte Zugriffssteuerungslisten wird gegenwärtig gearbeitet, und diese Funktionalität wird voraussichtlich im nächsten Release von Veritas NetBackup verfügbar sein.
Problemumgehung 1:
Ab Release Solaris 10 8/07 behandeln die Befehle tar und cpio ZFS-Dateien mit NFSv4-basierten Zugriffssteuerungslisten korrekt.
Verwenden Sie zum Kopieren einer ZFS-Datei in eine Datei den Befehl tar mit der Option -p bzw. den Befehl cpiomit der Option -P. Erstellen Sie dann mithilfe von Veritas NetBackup vom tar- bzw. cpio-Archiv eine Sicherungskopie.
Problemumgehung 2:
Als Alternative zur Verwendung von Veritas NetBackup können Sie zum Erstellen von Sicherungskopien von ZFS-Dateien auch die ZFS-Befehle send und receive nutzen. Diese Befehle behandeln alle Attribute von ZFS-Dateien ordnungsgemäß.
Der BrightStor ARCserve Backup (BAB) Client Agent für UNIX (Solaris) kann zum Erstellen von Sicherungskopien von ZFS-Dateien und Wiederherstellen dieser Dateien verwendet werden.
NFSv4-basierte ZFS-Zugriffssteuerungslisten werden beim Erstellen von Sicherungskopien jedoch nicht mitgesichert, sondern die herkömmlichen UNIX-Dateiberechtigungen und -Attribute beibehalten.
Problemumgehung: Wenn Sie Sicherungskopien von ZFS-Dateien mit NFSv4-Zugriffssteuerungslisten erstellen wollen, müssen Sie den Befehl tar mit der Option -p bzw. den Befehl cpio mit der Option -P verwenden. Anschließend können Sie mit BAB von diesem erstellten tar- bzw. cpio-Archiv eine Sicherungskopie anlegen.
Wenn Sie das Package SUNWzfsg aus dem Release Solaris 10 8/07 auf einem System installieren, auf dem eine Solaris-Version vor Release 10 6/06 ohne das Patch embedded_su läuft, sind die ZFS-Administrationsassistenten nicht vollständig funktionsfähig.
Bei Ausführung eines ZFS-Administrationsassistenten auf Systemen ohne das Patch embedded_su wird nur die ZFS-Konfiguration angezeigt. Daraufhin wird die folgende Fehlermeldung angezeigt:
/usr/lib/embedded_su: not found |
Problemumgehung:
Installieren Sie auf dem System, auf dem eine Solaris-Version vor 10 6/06 läuft, das Patch embedded_su patch (119574-02).
Triit auf einem Host eine Systempanik auf, wenn eine E/A-Operation des Dateisystems mit einem über den Solaris iSCSI Software Initiator angeschlossenen Zielgerät abläuft, kann es sein, dass die E/A-Operation den Datenpuffer zum Zielgerät nicht mehr leeren bzw. synchronisieren kann. Dadurch kann das Dateisystem beschädigt werden. Es wird keine Fehlermeldung angezeigt.
Problemumgehung:
Nutzen Sie ein Journaling-Dateisystem wie z. B. UFS. Ab Solaris 10 ist die UFS-Protokollierung standardmäßig aktiviert. Weitere Informationen zu UFS finden Sie im Abschnitt What’s New in File Systems? in System Administration Guide: Devices and File Systems.
Nach dem Upgrade eines NFSv4-Servers von 6/05 auf Solaris Express 7/05 oder neuere Versionen (einschließl. aller Solaris 10-Updates), können in Programmen EACCES-Fehler auftreten. Weiterhin werden Verzeichnisse möglicherweise fälschlicherweise als leer angezeigt.
Um diese Fehler zu vermeiden, hängen Sie die Client-Dateisysteme aus und wieder ein. Schlägt das Aushängen fehl, müssen Sie das Aushängen des Dateisystems möglicherweise durch Verwendung von umount -f erzwingen. Alternativ können Sie den Client auch neu starten.
Funktionen von NFSv4-Zugriffssteuerungslisten (ACL) funktionieren möglicherweise fehlerhaft, wenn Clients und Server im Netzwerk mit unterschiedlichen vorherigen Versionen von Solaris 10 installiert sind. Die betroffenen ACL-Funktionen und Befehlszeilendienstprogramme, die diese Funktionen verwenden, sind folgende:
acl()
facl()
getfacl
setfacl
Weitere Informationen über diese Funktionen und Dienstprogramme finden Sie in deren jeweiligen Man Pages.
Beispielsweise können in einem Netzwerk mit der folgenden Konfiguration möglicherweise Fehler beobachtet werden:
Ein Client, auf dem Solaris 10-Betasoftware ausgeführt wird
Ein Server, auf dem Solaris 10-Software ausgeführt wird
Die folgende Tabelle illustriert die Ergebnisse der ACL-Funktionen in Client/Server-Konfigurationen mit unterschiedlichen Solaris 10-Versionen.
Vorgang |
Client S10 BS |
Server S10 BS |
Ergebnis |
---|---|---|---|
get ACL |
S10 Beta |
S10 BS |
erzeugte ACL* |
get ACL |
S10 BS |
S10 Beta |
funktioniert einwandfrei |
set ACL |
S10 Beta |
S10 BS |
funktioniert einwandfrei |
set ACL |
S10 BS |
S10 Beta |
Fehler: EOPNOTSUP |
Problemumgehung: Damit die NFSv4-ACL-Funktionen ordnungsgemäß funktionieren, führen Sie auf Server und Client eine vollständige Installation von Solaris 10-BS durch.
In der aktuellen Solaris 10-Version ist die Solaris-Implementierung von NFSv4-ACLs jetzt mit den Spezifikationen von RFC 3530 konform. Es treten jedoch Fehler bei NFSv4-Clients auf, die die Beta 2- oder Beta1-Versionen von Solaris 10 verwenden. Diese Clients können auf den NFSv4-Servern, die die aktuelle Version von Solaris 10 verwenden, keine Dateien erstellen. Daraufhin wird die folgende Fehlermeldung angezeigt:
NFS getacl failed for Server_Name: error 9 (RPC: Program/version mismatch) |
Problemumgehung: Keine.
Auf Festplatten mit einer bestimmten Plattengeometrie, die größer als 8 GB sind, können unter Umständen keine Dateisysteme mit dem Befehl mkfs angelegt werden. Die abgeleitete Zylindergruppe ist zu groß für das 1-KB-Fragment. Die zusätzlichen Metadaten passen daher nicht mehr in einen Block.
Daraufhin wird die folgende Fehlermeldung angezeigt:
Bei 15625 Sektoren pro Zylinder beträgt die Mindestzahl an Zylindern pro Gruppe 16. Dafür muss die Fragmentgröße von 1024 in 4096 geändert werden. Führen Sie mkfs mit den korrekten Parametern erneut aus. |
Problemumgehung: Verwenden Sie stattdessen den Befehl newfs. Alternativ dazu können Sie auch mkfs mit einer höheren Fragmentgröße (z. B. 4096) verwenden.
Unter den folgenden Umständen können beim Versuch, mit dem Befehl newfs ein UFS-Dateisystem zu erstellen, Probleme auftreten:
Es handelt sich um ein kleines Slice (weniger als etwa 4 MB).
Die Festplatte ist größer als 8 GB.
Grund für den Fehler sind die Größenanforderungen des Dateisystems für Metadaten. Die folgende Warnmeldung wird angezeigt:
Warnung: inode-Blöcke/Zylindergruppe (295) >= Datenblöcke (294) in letzter Zylindergruppe. Das bedeutet, dass 4712 Sektor(en) nicht zugeordnet werden können. /dev/rdsk/c0t0d0s6: 0 Sektoren in 0 Zylindern von 48 Spuren, 128 Sektoren 0.0MB in 0 Zylindergruppen (13 c/g, 39.00MB/g, 18624 i/g) Superblock Backups (für fsck -F ufs -o b=#) bei: # |
Problemumgehung: Führen Sie als Superuser eine der folgenden Abhilfemaßnahmen durch:
Problemumgehung 1: Geben Sie die Anzahl der Spuren an, wenn Sie den Befehl newfs verwenden. Führen Sie die folgenden Schritte durch:
Ermitteln Sie mit dem Befehl format die Anzahl der Spuren. Beispiel:
# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0t0d0 <SUN18G cyl 7506 alt 2 hd 19 sec 248> /pci@1f,4000/scsi@3/sd@0,0 Specify disk (enter its number): |
In diesem Beispiel lautet die Anzahl der Spuren 19.
Weisen Sie diese Anzahl von Spuren dem Dateisystem zu, das Sie mit newfs erstellen. Beispiel:
# newfs -v -t 19 /dev/dsk/c0t0d0s6 newfs: Neues Dateisystem /dev/rdsk/c0t0d0s6 erstellen: (y/n)? y mkfs -F ufs /dev/rdsk/c0t0d0s6 4712 -1 19 8192 1024 16 10 167 2048 t 0 -1 8 128 n mkfs: falscher Wert für nsect: -1 muss zwischen 1 und 32768 liegen mkfs: nsect wird auf Standardwert 32 zurückgesetzt. Warnung: 152 Sektor(en) im letzten Zylinder nicht zugeordnet /dev/rdsk/c0t0d0s6: 4712 Sektoren in 8 Zylindern von 19 Spuren, 32 Sektoren 2.3MB in 1 Zylindergruppen (16 c/g, 4.75MB/g, 2304 i/g) Superblock Backups (für fsck -F ufs -o b=#) bei: 32, # |
Problemumgehung 2: Geben Sie zusammen mit dem Befehl newfs die Anzahl von Bytes pro Inode (nbpi) an, um die Inode-Dichte im Dateisystem zu verringern. Beispiel:
# newfs -i 4096 /dev/dsk/c0t0d0s6 newfs: Neues Dateisystem /dev/rdsk/c0t0d0s6 erstellen: (y/n)? y Warnung: 1432 Sektor(en) im letzten Zylinder nicht zugeordnet /dev/rdsk/c0t0d0s6: 4712 Sektoren in 1 Zylindern von 48 Spuren, 128 Sektoren 2.3MB in 1 Zylindergruppen (16 c/g, 48.00MB/g, 11648 i/g) Superblock Backups (für fsck -F ufs -o b=#) bei: 32, # |
Das System kann auf einer Partition, die 1 TB groß oder größer ist, keinen Speicherabzug erzeugen. Wenn sich solch ein Gerät in einem System befindet, tritt möglicherweise nach einem Systemstart nach einer vorausgegangenen Systempanik Folgendes auf:
Das System speichert den Speicherabzug nicht.
Die folgende Meldung wird angezeigt:
0% done: 0 pages dumped, compression ratio 0.00, dump failed: error 6 |
Problemumgehung: Konfigurieren Sie die Größe Ihres Speicherabzuggeräts auf unter 1 TB.
Wenn Sie den Befehl smosservice zum Hinzufügen von BS-Diensten zu einem UFS-Dateisystem verwenden, wird eine Meldung angezeigt, dass nicht genügend Festplattenspeicher zur Verfügung steht. Dieser Fehler tritt spezifisch bei UFS-Dateisystemen auf, die sich auf Festplatten mit EFI-Bezeichnung befinden.
Problemumgehung: Das Problem lässt sich wie folgt umgehen:
Verwenden Sie die SMI VTOC-Festplattenbezeichnung.
Erstellen sie das Dateisystem neu.
Führen Sie den Befehl smosservice erneut aus.