FreeNAS - Varför är datasetet större än volymen det ligger på?

Permalänk
Medlem

FreeNAS - Varför är datasetet större än volymen det ligger på?

Jag har en volym som jag skapade via ZFS Volume Manager. På den skapade jag sedan ett dataset, som jag delar ut via CIFS/SMB till Windows.

Bilden nedan illustrerar vad jag har. Det som ser konstigt ut för mig är att volymens storlek är mindre än storleken på datasetet. Det ligger ju på volymen? Vad har jag missat?

Permalänk
Medlem

Antagligen för att poolen är komprimerad, (lz4).

Visa signatur

Server: Fractal design Define 7 XL | AMD Ryzen 7 5800X 8/16 | ASUS ROG CROSSHAIR VIII DARK HERO | 64GB Corsair @ 3000MHz | ASUS Radeon RX 460 2GB | Samsung 960 PRO 512 GB M.2 | 2x 2TB Samsung 850 PRO SSD | 6x Seagate Ironwolf Pro 10TB
WS: Phantex Entoo Elite | AMD Ryzen Threadripper 1950X 16/32 | ASUS Zenith extreme | 128GB G.Skill @ 2400MHz | ASUS Radeon HD7970 | 3x 2TB Samsung 960PRO M.2 | 6x Seagate Ironwolf Pro 10 TB
NEC PA301W 30" @ 2560x1600 | Linux Mint 21.3 Cinnamon

Permalänk
Medlem
Skrivet av OldComputer:

Antagligen för att poolen är komprimerad, (lz4).

Vad menar du? Den har compression level lz4, men jag tror inte det är grejen. Size minskar ju i takt med att jag lägger till mer data. Den speglar Available på volymen och datasetet hela tiden. Är Available 8.3TiB så är Size på volymen också 8.3TiB

Permalänk
Medlem

Om det är så att varje post är som en image så skulle det kunna vara maxstorleken för "hårddisken" men att den bara är så stor som den är utnyttjad, vilket stämmer bra för Windowsavbilden.

Vet att man med vissa diskavbildningsprogram kan skapa partitionsavbilder där man anger största storlek men att den allokeras dynamiskt vart efter den utnyttjas, vilket innebär att man i princip kan skapa en partition på hur många TB som helst, men imagefilen är bara några KB så länge man bara sparar några textfiler.

Så antagligen har du reserverat mer utrymme än dina hårddiskar klarar, men du har helt enkelt inte utnytjat det ännu. Summan för size är ~45TiB men du har bara använt 3,5 TiB + några MiB vilket är 0,3% för dom anda posterna tillsammans.

Visa signatur

Server: Fractal design Define 7 XL | AMD Ryzen 7 5800X 8/16 | ASUS ROG CROSSHAIR VIII DARK HERO | 64GB Corsair @ 3000MHz | ASUS Radeon RX 460 2GB | Samsung 960 PRO 512 GB M.2 | 2x 2TB Samsung 850 PRO SSD | 6x Seagate Ironwolf Pro 10TB
WS: Phantex Entoo Elite | AMD Ryzen Threadripper 1950X 16/32 | ASUS Zenith extreme | 128GB G.Skill @ 2400MHz | ASUS Radeon HD7970 | 3x 2TB Samsung 960PRO M.2 | 6x Seagate Ironwolf Pro 10 TB
NEC PA301W 30" @ 2560x1600 | Linux Mint 21.3 Cinnamon

Permalänk
Medlem

"Available" verkar vara ledigt utrymme. Du har 8,8 TiB ledigt utrymme i din pool som alla dina filsystem gemensamt delar på. Totalt ser det ut som att du har ungefär 20 TiB utrymme (20.3 TiB står det ju på windows-dataset) varar filsystemet "windows-dataset" nu har använt 11,5 TiB av. De övriga filsystemen är näst intill tomma men har ändå samma mängd tillgängligt ledigt utrymme.

Det är så ZFS fungerar som default. Sedan kan man om man vill reservera ett minimalt utrymme till ett visst filsystem så att det blir låst till just detta filsystemet men då minskar samtidigt det lediga utrymmet för de övriga filsystemen. Man kan också sätta tak på max storlek på ett filsystem och då minskar det lediga utrymmet på just det filsystemet så att man bara kan fylla upp till sin valda gräns (men de övriga obegränsade filsystemen har forftarande lika mycket ledigt). Man kan också göra båda sakerna, sätta ett tak och reservera ett utrymme om man vill garantera att ingen annan tar utrymmet samtidigt som man inte fyller över taket. Man kan alltså fördela den totala poolen av utrymme efter de regler man själv bestämmer. Men bestämmer man inget så visas allt utrymme som tillgängligt för alla och den som först tar det (genom att spara filer) får det.

Det finns ju även snapshots i ZFS vilket är ögonblicksbilder av filsystemet som man sparar vid ett visst tillfälle. Dessa tar inget utrymme så länge som de ursprungliga filerna vid ögonblicksbilden fortfarande finns kvar i nuvarande filsystem men tar man bort filer så ligger de fortfarande och tar upp utrymme i gamla snapshots. Det är ett klassiskt "problem" i ZFS, man rensar och rensar utan att det blir mer ledigt utrymme. Men så kommer man ihåg att javisst ja, jag måste ju ta bort gamla snapshots för att frigöra utrymmet och vips så får man massa ledigt utrymme. Å andra sidan kan snapshots rädda en om man råkar ta bort något av misstag för då kan man hämta filen i en äldre version i en snapshot.

Permalänk
Medlem
Skrivet av OldComputer:

Antagligen för att poolen är komprimerad, (lz4).

Nej, det är inte det. hur mycket man "tjänat" på lz4 ser man där det står 1.00x

Visa signatur

MODERMODEM: Asus ROG Strix Z270E Gaming | i7 7700K | Corsair Hydro H110 | Kingston HyperX Savage 32GB DDR4 RAM | Asus GeForce RTX 3060 Ti TUF OC | Crucial BX100 500GB SSD | Phanteks Enthoo EVOLV | SilverStone Strider Evolution 1200W |

Permalänk
Medlem
Skrivet av ronnylov:

"Available" verkar vara ledigt utrymme. Du har 8,8 TiB ledigt utrymme i din pool som alla dina filsystem gemensamt delar på. Totalt ser det ut som att du har ungefär 20 TiB utrymme (20.3 TiB står det ju på windows-dataset) varar filsystemet "windows-dataset" nu har använt 11,5 TiB av. De övriga filsystemen är näst intill tomma men har ändå samma mängd tillgängligt ledigt utrymme.

Det är så ZFS fungerar som default. Sedan kan man om man vill reservera ett minimalt utrymme till ett visst filsystem så att det blir låst till just detta filsystemet men då minskar samtidigt det lediga utrymmet för de övriga filsystemen. Man kan också sätta tak på max storlek på ett filsystem och då minskar det lediga utrymmet på just det filsystemet så att man bara kan fylla upp till sin valda gräns (men de övriga obegränsade filsystemen har forftarande lika mycket ledigt). Man kan också göra båda sakerna, sätta ett tak och reservera ett utrymme om man vill garantera att ingen annan tar utrymmet samtidigt som man inte fyller över taket. Man kan alltså fördela den totala poolen av utrymme efter de regler man själv bestämmer. Men bestämmer man inget så visas allt utrymme som tillgängligt för alla och den som först tar det (genom att spara filer) får det.

Det finns ju även snapshots i ZFS vilket är ögonblicksbilder av filsystemet som man sparar vid ett visst tillfälle. Dessa tar inget utrymme så länge som de ursprungliga filerna vid ögonblicksbilden fortfarande finns kvar i nuvarande filsystem men tar man bort filer så ligger de fortfarande och tar upp utrymme i gamla snapshots. Det är ett klassiskt "problem" i ZFS, man rensar och rensar utan att det blir mer ledigt utrymme. Men så kommer man ihåg att javisst ja, jag måste ju ta bort gamla snapshots för att frigöra utrymmet och vips så får man massa ledigt utrymme. Å andra sidan kan snapshots rädda en om man råkar ta bort något av misstag för då kan man hämta filen i en äldre version i en snapshot.

Suveränt svar! Äntligen föll polletten ner