Följande filsystemsfel gäller Solaris 10.
ZFS har utformats för att vara ett POSIX-kompatibelt filsystem och i de flesta situationer är ZFS POSIX-kompatibelt. Det finns dock två fall då ZFS inte uppfyller POSIX-kompatibilitetstesten:
Uppdatering av kapacitetsstatistik för ZFS-filsystem.
Ändring av befintliga data med ett till 100 procent fullt filsystem.
Närliggande ändringsbegäranden:
6362314
6362156
6361650
6343113
6343039
När korrigeringsfiler för ZFS läggs till i ett Solaris 10 6/06-system visas överflödiga varningsmeddelanden från kommandot patchadd eftersom ZFS-paketen läggs till i systemet för första gången. Följande felmeddelande visas:
Följande begärda korrigeringsfiler har paket som inte har installerats på datorn: Paketet SUNWzfskr från katalogen SUNWzfskr i korrigeringsfil 122641-03 har inte installerats på datorn. Ändringar för paketet SUNWzfskr kommer inte att användas i systemet. |
Åtgärd:
Ignorera de överflödiga meddelandena från kommandot patchadd.
Verktyget ufsrestore genererar fel om ett UFS-arkiv med POSIX-skissade ACL:er återställs i ett ZFS-filsystem. Filerna återställs som de ska, men ACL-informationen ignoreras.
Under ufsrestore-åtgärden genereras följande felmeddelande:
setacl misslyckades: ogiltigt argument |
Åtgärd:
Använd något av följande ACL-medvetna kommandon om du vill överföra UFS-filer med ACL:er till ett ZFS-filsystem:
cp
mv
tar
cpio
rcp
De POSIX-skissade ACL:erna översätts till motsvarande ACL:er i NFSv4-format.
Om du använder kommandot fdisk -E för att ändra en disk som används av en ZFS-lagringspool, blir poolen oanvändbar och kan orsaka ett I/O-fel eller systempanik.
Åtgärd:
Använd inte kommandot fdisk när du vill ändra en disk som används av en ZFS-lagringspool. Om du måste ha tillgång till en disk som används av en ZFS-lagringspool använder du verktyget format. I allmänhet bör diskar som används av filsystemen inte ändras.
En Sun UltraTM 20-arbetsstation eller Sun FireTM X2100-server kan hänga sig efter omstart om diskar som anslutits till systemen innehåller en ZFS-lagringspool.
Följande BIOS-versioner kan uppvisa de här problemen:
Sun Ultra 20-arbetsstationer med en BIOS-version som är lägre än 2.2.3
Sun Fire X2100-servrar med en BIOS-version som är lägre än 1.1.1
Åtgärd:
Koppla bort de diskar som används av ZFS innan du startar om systemet (tills det går att installera den minsta BIOS-nivå som stöder ZFS på de här systemen).
Installera den minsta BIOS-version som stöder ZFS från tilläggs-cd:n för version 1.4.
Följande BIOS-versioner stöds:
BIOS version 2.2.3 för Sun Ultra 20-arbetsstationer.
BIOS version 1.1.1 för Sun Fire X2100-servrar.
Du kan även hämta avbildningen av tilläggs-cd:n för version 1.4 på följande platser:
Nedan följer problem med produkterna Veritas NetBackup och Sun StorEdgeTM Enterprise Backup Software (EMC och Legato NetWorker®).
Veritas NetBackup kan användas för att säkerhetskopiera ZFS-filer och den konfigurationen stöds. För närvarande stöds dock inte säkerhetskopiering och återställning av ASCL-information i NFSv4-format från ZFS-filer. Vanliga behörighetsbitar och andra filattribut säkerhetskopieras och återställs som de ska.
Om en användare försöker säkerhetskopiera eller återställa ZFS-filer, släpps ACL-informationen i NFSv4-format omärkligt från ZFS-filerna. Det visas inget felmeddelande som talar om att ACL-informationen har släppts från ZFS-filerna.
Stödet för ACL:er i ZFS/NFSv4-format är under utveckling och förväntas vara tillgängligt i nästa version av Veritas NetBackup.
Lösning 1:
Från och med Solaris 10 06/06 hanteras ZFS-filer med ACL:er i NFSv4-format korrekt av kommandona tar och cpio.
Använd tar med alternativet -p eller cpio med alternativet -P om du vill skriva ZFS-filer till en fil. Säkerhetskopiera sedan tar- eller cpio-arkivet med Veritas NetBackup.
Lösning 2:
Det går även att säkerhetskopiera ZFS-filer med ZFS-kommandona send och receive som ett alternativ till Veritas NetBackup. Med de här kommandona hanteras alla attribut för ZFS-filerna korrekt.
Det går för närvarande inte att använda Sun StorEdge Enterprise Backup Software för att säkerhetskopiera och återställa ZFS-filer.
Om en användare försöker säkerhetskopiera eller återställa ZFS-filer visas följande felmeddelande:
spara: det går inte att läsa ACL-information för "/sökväg": Åtgärden kan inte utföras |
Stödet för ACL:er i ZFS/NFSv4-format förväntas vara tillgängligt i den kommande versionen Sun StorEdge EBS 7.3 Service Update 1.
Åtgärd:
Montera ZFS-filsystemet genom att använda NFSv4 på ett annat system.
Säkerhetskopiera eller återställ ZFS-filerna från den NFSv4-monterade katalogen.
Om du lägger till paketet SUNWzfsg från en Solaris 10 6/06-version i ett system som kör en äldre version än Solaris 10 6/06, som saknar korrigeringsfilen embedded_su, fungerar inte guiderna för programmet ZFS Administration fullständigt.
Om du försöker köra programmet ZFS Administration på ett system utan korrigeringsfilen embedded_su kan du bara bläddra genom ZFS-konfigurationen. Följande felmeddelande visas:
/usr/lib/embedded_su: hittades inte |
Åtgärd:
Lägg till korrigeringsfilen embedded_su (119574-02) i systemet som kör en Solaris-version som är äldre än Solaris 10 6/06.
För virtuella RAID-Z-enheter rapporterar följande kommandon för stora värden för ”använt utrymme” och ”tillgängligt utrymme”:
du
df
zfs list
Den rapporterade utrymmesinformationen inkluderar utymmet som används för att lagra paritetsdata.
Om panik uppstår på en värd med filsystems-I/O mot ett mål som är ansluten med programvaruinitiatorn Solaris iSCSI, kan I/O kanske inte tömma eller synkronisera målenheten. Den här oförmågan att tömma och synkronisera kan orsaka att filsystemet skadas. Inget felmeddelande visas.
Åtgärd:
Använd journalfilsystemet som UFS. Från och med Solaris 10 är UFS-loggning aktiverad som standard. Mer information om UFS finns i What’s New in File Systems in the Solaris 10 Release? i System Administration Guide: Devices and File Systems.
Om en ZFS-ögonblicksbild skapas medan en scrub- eller resilver-dataåtgärd pågår, startas scrub- eller resilver-åtgärden om från början. Om ögonblicksbilder tas ofta kanske scrub- eller resilver-åtgärden aldrig blir färdig.
Åtgärd:
Ta inte ögonblicksbilder när scrub- eller resilver-åtgärder pågår.
När du har uppgraderat en NFSv4-server från 6/05 till Solaris Express 7/05 eller senare (inklusive alla Solaris 10-uppdateringar) kan programmen påträffa EACCES-fel. Dessutom kan kataloger felaktigt verka vara tomma.
Du undviker de här felen genom att avmontera och sedan montera om klientfilsystemen. Om det inte går att avmontera kan du behöva tvinga fram avmontering av filsystemet med kommandot umount -f. Du kan även starta om klienten.
ACL-funktioner (Access Control List) för NFSv4 kan fungera felaktigt om klienter och servrar i nätverket har olika äldre Solaris 10-versioner installerade. De ACL-funktioner som påverkas och de kommandoradsverktyg som använder de här funktionerna är dessa:
acl()
facl()
getfacl
setfacl
Mer information om de här funktionerna och verktygen finns i respektive direkthjälpsavsnitt.
Fel kan exempelvis observeras i nätverk som innehåller följande konfiguration:
En klient som kör Solaris 10 Beta
En server som kör Solaris 10
I följande tabell illustreras resultaten för ACL-funktioner i klient-serverkonfigurationers med olika Solaris 10-versioner.
Åtgärd |
Klient, operativsystemet S10 |
Server, operativsystemet S10 |
Resultat |
---|---|---|---|
get ACL |
S10 Beta |
operativsystemet S10 |
fabricerad ACL * |
get ACL |
operativsystemet S10 |
S10 Beta |
fungerar ok |
set ACL |
S10 Beta |
operativsystemet S10 |
fungerar ok |
set ACL |
operativsystemet S10 |
S10 Beta |
Fel: EOPNOTSUP |
Åtgärd: Gör en fullständig installation av OS för Solaris 10 på både servern och klienten för att ACL-funktionen för NFSv4 ska fungera ordentligt.
I den aktuella Solaris 10-versionen följer Solaris-implementeringen av ACL (Access Control Lists) för NFSv4 numera RFC 3530-specifikationerna. Fel inträffar dock för NFSv4-klienter som använder Solaris 10 Beta 1 och Beta 2. De här klienterna kan inte skapa filer på NFSv4-servrar som använder den aktuella Solaris 10-versionen. Följande felmeddelande visas:
NFS getacl misslyckades för servernamn: error 9 (RPC: Felaktigt program/version) |
Åtgärd: Ingen.
Kommandot mkfs kanske inte kan skapa ett filsystem på skivenheter som har en viss skivgeometri och är större än 8 GB. Den härledda cylindergruppen är alldeles för stor för fragment på 1 kB. Cylindergruppens storlek innebär att överflödiga metadata inte får plats i ett block.
Följande felmeddelande visas:
Med 15 625 sektorer per cylinder är minimiantalet cylindrar per grupp 16. Detta kräver att fragmentstorleken ändras från 1 024 till 4 096. Kör mkfs igen med korrekta parametrar. |
Åtgärd: Använd kommandot newfs i stället. Du kan också tilldela en större fragmentstorlek, exempelvis 4 096, när du använder kommandot mkfs.
Det kanske inte går att skapa ett UFS-filsystem med kommandot newfs under följande omständigheter:
Skivdelen är liten, strax under 4 MB.
Skivminnets storlek överstiger 8 GB.
Felet orsakas av det avsevärda storlekskravet på filsystem för metadata. Följande varningsmeddelande visas:
Varning! I-nod block/cylindergrupp (295) >= datablock (294) i sista gruppen. Detta tyder på att 4712 sektor(er) inte kan tilldelas. /dev/rdsk/c0t0d0s6: 0 sektorer i 0 cylindrar av 48 spår, 128 sektorer 0,0MB i 0 cylindergrupper (13 c/g, 39,00MB/g, 18624 i/g) super-block-backup (för fsck -F ufs -o b=#) vid: # |
Åtgärd: Utför någon av följande åtgärder som superanvändare:
Lösning 1: Ange antalet spår när du använder kommandot newfs. Följ de här stegen:
Ta reda på antalet spår som ska tilldelas med hjälp av formateringskommandot. Till exempel:
# format Söker efter skivminnen...klar TILLGÄNGLIGA SKIVMINNEN: 0. c0t0d0 <SUN18G cyl 7506 alt 2 hd 19 sek 248> /pci@1f,4000/scsi@3/sd@0,0 Specificera skivminne (ange dess nummer): |
I det här exemplet är antalet spår 19.
Tilldela antalet till det filsystem som du skapar med kommandot newfs. Till exempel:
# newfs -v -t 19 /dev/dsk/c0t0d0s6 newfs: vill du skapa ett nytt filsystem /dev/rdsk/c0t0d0s6: (j/n)? j mkfs -F ufs /dev/rdsk/c0t0d0s6 4712 -1 19 8192 1024 16 10 167 2048 t 0 -1 8 128 n mkfs: otillåtet värde för nsect: -1 måste vara mellan 1 OCH 32768 mkfs: nsect återställ till standard, 32 Varning! 152 sektor(er) i sista cylindern kan inte tilldelas /dev/rdsk/c0t0d0s6: 4712 sektorer i 8 cylindrar av 19 spår, 32 sektorer 2,3MB in 1 cylindergrupper (16 c/g, 4,75MB/g, 2304 i/g) super-block-backup (för fsck -F ufs -o b=#) vid: 32, # |
Lösning 2: Minska filsystemets I-noddensitet genom att ange antalet byte per I-nod (nbpi) i kommandot newfs. Till exempel:
# newfs -i 4096 /dev/dsk/c0t0d0s6 newfs: vill du skapa ett nytt filsystem /dev/rdsk/c0t0d0s6: (j/n)? j Varning! 1432 sektor(er) i sista cylindern kan inte tilldelas /dev/rdsk/c0t0d0s6: 4712 sektorer i 1 cylinder i 48 spår, 128 sektorer 2,3MB i 1 cylindergrupper (16 c/g, 48,00MB/g, 11648 i/g) super-block-backup (för fsck -F ufs -o b=#) vid: 32, # |
En NFSv4-klient vars filsystem nästan har uppnått full kapacitet felhanterar felkoder som returneras från servern. Klienten tar emot korrekt felkod (NFS4ERR_NOSPC) från servern. Klienten misslyckas dock med att överföra felkoden (ENOSPC) till programmet. Programmet tar inte emot felmeddelandena via normala systemfunktioner som write(), close() eller fsync(). Det innebär att programmets kontinuerliga försök att skriva eller ändra data kan orsaka att data går förlorade eller skadas.
Följande felmeddelande registreras i /var/adm/messages:
nfs: [ID 174370 kern.notice] NFS-skrivfel på värd värdnamn : Inget utrymme kvar på enheten. nfs: [ID 942943 kern.notice] Fil: userid=uid, groupid= gid nfs: [ID 983240 kern.notice] Användare: userid=uid, groupid= gid nfs: [ID 702911 kern.notice] (filhandtag: 86007000 2000000 a000000 6000000 32362e48 a000000 2000000 5c8fa257) |
Åtgärd: Utför inget arbete på ett klientsystem vars filsystem nästan är fullt.
Systemet kan inte generera minnesutskrifter på partitioner som är lika stora eller större än 1 TB. Om det finns en sådan enhet på systemet kan det här inträffa efter att systemet startats om efter en systemkrasch:
Systemet sparar inte minnesutskriften.
Följande meddelande visas:
0% done: 0 pages dumped, compression ratio 0.00, dump failed: error 6 |
Åtgärd: Konfigurera storleken för systemets minnesutskriftsenhet till mindre än 1 TB.
Om du använder kommandot smosservice för att lägga till operativsystemstjänster i ett UFS-filsystem, visas ett felmeddelande om otillräckligt diskutrymme. Det här felet är specifikt för UFS-filsystem på EFI-etiketterade diskar.
Åtgärd: Utför följande åtgärd:
Använd skivetiketten SMI VTOC.
Återskapa filsystemet.
Kör kommandot smosservice igen.