Varning: Långt inlägg.
Finns en fråga till bzzz längst ner, så läs det i alla fall bzzz är du snäll
saddam:
Länk till tråden om cifs/nfs och sub-filsystems problemet: http://opensolaris.org/jive/thread.jspa?messageID=434581&tsta...
Strukturen såg ut så här (allt zfs filsystem):
# zfs list
tank 707M 8.01T 49.4K /tank
tank/backup 267K 8.01T 49.4K /tank/backup
tank/backup/crashplan 42.6K 8.01T 42.6K /tank/backup/crashplan
tank/backup/marvin 87.5K 8.01T 44.9K /tank/backup/marvin
tank/backup/marvin/tm 42.6K 8.01T 42.6K /tank/backup/marvin/tm // För Time Machine
tank/backup/zarquon 87.5K 8.01T 44.9K /tank/backup/zarquon
tank/backup/zarquon/tm 42.6K 8.01T 42.6K /tank/backup/zarquon/tm // För Time Machine
tank/home 132K 8.01T 47.1K /tank/home
tank/home/[users] 42.6K 8.01T 42.6K /tank/home/...
tank/storage 895K 8.01T 58.3K /tank/storage
tank/storage/applications 267K 8.01T 53.9K /tank/storage/applications
tank/storage/applications/bsd 42.6K 8.01T 42.6K /tank/storage/applications/bsd
tank/storage/applications/linux 42.6K 8.01T 42.6K /tank/storage/applications/linux
tank/storage/applications/mac 42.6K 8.01T 42.6K /tank/storage/applications/mac
tank/storage/applications/solaris 42.6K 8.01T 42.6K /tank/storage/applications/solaris
tank/storage/applications/windows 42.6K 8.01T 42.6K /tank/storage/applications/windows
tank/storage/games 132K 8.01T 47.1K /tank/storage/games
tank/storage/games/mac 42.6K 8.01T 42.6K /tank/storage/games/mac
tank/storage/games/windows 42.6K 8.01T 42.6K /tank/storage/games/windows
tank/storage/misc 42.6K 8.01T 42.6K /tank/storage/misc
tank/storage/movies 42.6K 8.01T 42.6K /tank/storage/movies
tank/storage/music 42.6K 8.01T 42.6K /tank/storage/music
tank/storage/os 267K 8.01T 53.9K /tank/storage/os
tank/storage/os/bsd 42.6K 8.01T 42.6K /tank/storage/os/bsd
tank/storage/os/linux 42.6K 8.01T 42.6K /tank/storage/os/linux
tank/storage/os/mac 42.6K 8.01T 42.6K /tank/storage/os/mac
tank/storage/os/solaris 42.6K 8.01T 42.6K /tank/storage/os/solaris
tank/storage/os/windows 42.6K 8.01T 42.6K /tank/storage/os/windows
tank/storage/series 42.6K 8.01T 42.6K /tank/storage/series
Men jag kommer att vara tvungen att ta bort alla sub-filsystem under tank/storage då jag bara vill ha en enda utdelning som jag måste montera och ersätta dem med vanliga mappar. Anledningen till att jag vill ha varje subgrupp som ett eget filsystem är för att ha möjlighet att sätta specifika egenskaper på dem beroende på deras uppgift. Samt att lätt kunna se hur mycket disk de nyttja då så klart. Skyddar dessutom mot oavsiktliga "rm -fr /tank/storage/movies" incidenter
En nackdel med att ha sub-filsystem är att mv och cp mellan två zfs-filsystem (annat sub eller en sub:s förälder) är att det är som att flytta/kopiera mellan två vanliga partitioner. Kommer upp i ungefär 125 MiB/s mellan zfs-filsystem (inom samma vdev).
Det kommer nog att tillkomma ett sub-filsystem för virtuella maskiner också. Men först efter att jag installerat 2009.06.
Följande switchar har jag använt vid skapandet av:
För tank/home och tank/backup
* compression=on // Sätter på compression, med algoritmen lzjb
* aclinherit=passthrough // Gör så att ACL:erna ärvs av alla filer
* aclmode=passthrough // Gör också något så att ACL:erna ärvs ordentligt
För tank/storage, tank/backup/crashplan och tank/backup/*/tm:
* casesensitivity=mixed // Bra förklaring(*)
* aclinherit=passthrough // Se ovan
* aclmode=passthrough // Se ovan
(*)Av saddam: "Unix skiljer på stora/små bokstäver: foo, FOO, FoO - är tre olika filer. Windowsklienten skiljer inte, och listar endast en fil. Detta property tvingar Windows skilja på små/stora bokstäver, och visar nu alla tre filerna".
En annan sak jag precis lärde mig är att ifall man ska köra med Mac-klienter (och säkerligen andra) mot osol+zfs så är det rekommenderat att sätta på "normalization" (måste göras vid zfs create). Vilken normalization man väljer spelar ingen roll, bara man väljer en. Att sätta till "formD" verkar dock vara "rekommenderat". Detta gäller om man aktiverar "utf8only" egenskapen.
http://www.mail-archive.com/zfs-discuss@opensolaris.org/msg28...
Sammanfattning av "utf8only" av saddam: "utf8only: Windowsklienten kan inte lista filnamn med konstiga tecken. Detta property förbjuder alla konstiga filnamn i zpoolen".
Mina ACL:er ser ut på följande vis (en tabell över vad alla flaggor finns i Solaris ZFS Admin Guide, pdf:en, sidan 200-201):
Endast tillåta läsning (alla)
/usr/sun/bin/chmod A=\
owner@:r-x---aAR-c--s:-d-----:allow,\ // Tillåter endast att visa mappens* innehåll samt dess attribut
owner@:r-----aAR-c--s:f------:allow,\ // Tillåter endast att läsa filen** samt dess attribut
group@:r-x---aAR-c---:-d-----:allow,\ // Samma som ovan (mapp)
group@:r-----aAR-c---:f------:allow,\ // Samma som ovan (fil)
everyone@:r-x---aAR-c---:-d-----:allow,\ // Samma som ovan (mapp)
everyone@:r-----aAR-c---:f------:allow \ // Samma som ovan (fil)
/tank/{storage,storage/applications,\
storage/games,storage/os,backup,home}
*: Det är [...]:-d-----:[...] som säger att det är mappar som ärver denna regeln.
**: Det är [...]:f------:[...] som säger att det endast är filer som ärver denna regeln.
Allt utom ~"farligt" (tror jag. Alla, förutom ägare som tillåts allt):
/usr/sun/bin/chmod A=\
owner@:rwxpdDaARWcCos:-d-----:allow,\ // Tillåt allt för ägaren av mappen
owner@:rw-pdDaARWcCos:f------:allow,\ // Tillåt allt för ägaren av filen
group@:rwxpdDaARWc---:-d-----:allow,\ // Tillåt allt utom att ändra ACL, ägare och synkronisera för gruppmedlemmar av mappen
group@:rw-pdDaARWc---:f------:allow,\ // Tillåt allt utom att ändra ACL, ägare och synkronisera för gruppmedlemmar av filen
everyone@:rwxpdDaARWc---:-d-----:allow,\ // Samma som för grupp (mapp)
everyone@:rw-pdDaARWc---:f------:allow \ // Samma som för grupp (fil)
/tank/storage/{misc,movies,series,music,\
games/windows,games/mac,applications/mac,\
applications/bsd,applications/linux,\
applications/windows,applications/solaris,\
os/mac,os/windows,os/linux,os/solaris,os/bsd}
Läsa (alla) och skriva (ägare och grupp):
/usr/sun/bin/chmod A=\
owner@:rwxpdDaARWcCos:-d-----:allow,\ // Tillåt allt för ägaren av mappen
owner@:rw-pdDaARWcCos:f------:allow,\ // Tillåt allt för ägaren av filen
group@:rwxpdDaARWc---:-d-----:allow,\ // Tillåt allt utom att ändra ACL, ägare och synkronisera för gruppmedlemmar av mappen
group@:rw-pdDaARWc---:f------:allow,\ // Tillåt allt utom att ändra ACL, ägare och synkronisera för gruppmedlemmar av filen
everyone@:r-x---aAR-c---:-d-----:allow,\ // Tillåt alla andra att visa mappens innehåll samt dess attribut
everyone@:r-----aAR-c---:f------:allow \ // Tillåt alla andra att läsa filen samt dess attribut
/tank/{backup/marvin,backup/marvin/tm,\
backup/zarquon,backup/zarquon/tm}
Edit: Uppdaterade nedanstående 2009-12-04:
Allt (ägare), läsa (grupp) och inget (alla andra):
chmod A=\
owner@:rwxpdDaARWcCos:-d-----:allow,\ // Tillåt allt för ägaren av mappen
owner@:rw-pdDaARWcCos:f------:allow,\ // Tillåt allt för ägaren av filen
group@:r-x---a-R-c---:-d-----:allow,\ // Tillåt grupp att läsa
group@:r-----a-R-c---:f------:allow,\ // Tillåt grupp att läsa
everyone@:------a-R-c---:-d-----:allow \ // Tillåt alla andra att se mappen och dess attribut, utökade attribut och ACL.
/tank/{home/*,backup/crashplan}
De är inte perfekta men jag tror att de duger för tillfället i alla fall.
Sen så fick jag ut i genomsnitt lite mer än 100 MiB/s mellan zpool:erna. Båda anslutna till samma dator, nya poolen till det nya SAS-kortet (AOC-USAS-L8i, som för övrigt stödjer fördröjd spin-up och S.M.A.R.T. om någon undrar) och gamla poolen till den integrerade kontrollern samt två på ett kontrollerkort på PCI-bussen. När alla filer är på plats (är ungefär 1.5 TiB kvar som nu måste flyttas från sub-filsystem till vanliga mappar) ska jag testa att föra över över nätverket samt bencha. Återkommer med resultat samt även bilder så klart!
bzzz:
Även jag kör just nu 9 diskar i mitt Antec P180 chassi. 4 diskar där nere, 4 diskar där uppe (i 4-in-3 adapter) samt en i mitten. Skall expandera till två diskar i mitten. Funkar fin fint. Dock har jag fel typ av fläkt i 4-in-3 adaptern så de diskarna blir just nu lite för varma. Ska dock byta till en med lite mer flås.
Vilken version av zfs kör du? För precis det du skriver om samba (zfs property sharesmb tänker du då på antar jag?) fungerar inte för mig. Jag kör ZFSv14, b104, kanske är för gammalt?
Om jag gör
# zfs set sharesmb=on tank/storage
# zfs set sharesmb=off tank/storage/series
Och därefter monterar den cifs/smb-utdelade "enheten" "tank_storage" så ser jag en "mapp" som heter "series". Klickar jag på den så är den tom. Klickar jag däremot på en annan vanlig mapp (med samma ACL och ägare) så kommer filer och under-mappar upp.