Vad sjutton är XFS? Jo, det är ett ”journalfört” högpresterande filsystem speciellt anpassat för hantering av stora, eller väldigt många filer, vilket är ganska vanligt när man jobbar med GIS.
I detta inlägg tittar jag lite närmare på XFS och tar en ytlig jämförelse med andra system som FAT, NTFS, HFS och EXT4.
XFS är från början utvecklat av SGI och används framför allt i kritiska IRIX system. Det är inte ett nytt filsystem och redan 2000 släpptes det som Open Source och portades till Linux.
Idag är det standard i RedHat Enterprice Linux (RHEL) och går att välja i väldigt många Linuxdistributioner.
Olika filsystem har olika för och nackdelar. Jag påstår inte att XFS är ”bättre” generellt än något annat, det är annorlunda…
De flesta USB minnen har filsystemet FAT (eller FAT32) vilket kan hanteras av alla operativsystem. Det är inte speciellt bra eller robust på något vis, men enkelt och okomplicerat. Det finns dock en anledning att Windowsoperativsystem har övergått till NTFS. FAT32 kan nämligen bara hantera filer upp till 4 Gb. Det har heller inte möjlighet att hantera exempelvis filsäkerhet på samma sätt som NTFS.
Det finns en variant av FAT kallad exFAT, som egentligen bara uppdaterat möjligheten att hantera större filstorlekar, och partitioner större än 8 Gb, vilket är en annan begränsning med FAT32.
NTFS är som sagt Windows standard, vilket även är ett bekymmer i en miljö med flera operativsystem. Både Mac och Linux kan läsa NTFS, men Mac kan inte skriva till filsystemet. För Linux så kan man lägga till stöd för att skriva till NTFS partitioner, men det är inte standard.
På Mac användes tidigare HFS/HFS+, vilket kallats ”complete and utter crap”, men är nu helt ersatt med APFS från och med… nu! Exakt vad APFS är och vilka fördelar det har vet jag inte, men det är också ett Apple ägt filsystem och därmed ganska ointressant.
Över till Linux. Det vanligaste filsystemet är nog EXT4 (eller varianter), vilket inte är ett dåligt system! Det är något bättre på vanlig filsystemhantering än XFS, medan XFS är överlägset om det är väldigt många samtidiga filsystemoperationer som pågår. XFS kan teoretiskt hantera filsystem upp till 8 EB ( 1 EB ~ 1 000 000 TB ), vilket jag bedömer kommer att räcka för de flesta tillämpningarna.
Om man använder Ubuntu så väljer man ”Något annat” som Installationstyp. På andra operativsystem gör man motsvarande.
Nu får man själv skapa partitioner, vilket inte är så krångligt. Det skall finnas en swap med ungefär samma storlek som mängden RAM. Sedan skall det minst finnas en root-partition för operativsystemet, som man kan välja XFS för. Om man vill så kan man även avdela del av utrymmet till en /home katalog, som man också kan sätta till XFS. Det är sannolikt mer motiverat att använda XFS på /home än root. Jag kan till och med sträcka mig till att det troligtvis är lämpligare att ha EXT4 på root och kanske välja XFS på /home om man skall hantera många och stora filer (GIS/Videoredigering/Foto/…).
Märker jag någon skillnad?
Det har jag inte testat mig fram till, i alla fall. Någon direkt påtaglig skillnad är det inte vad jag märkt, men jag antar att man skulle kunna göra ett testprotokoll där man provar vanliga, men omfattande arbetsuppgifter, och tar tid på dessa i ett system med EXT4 och ett med XFS.
Swap-partitionen bör vara lite större än RAM om en vill låta datorn gå ned i sovläge.
Det kan även vara lämpligt att ha ett separat /home-filsystem, förutom / (root), eftersom det underlättar ev ominstallation, där en kan välja att återanvända /home, utan att formatera om den. Mycket praktiskt.
Lägg gärna även separata /var och /srv-partitioner. Detta för att det hindrar exempelvis loggfiler i /var att växa sig för stora och äta upp allt ledigt minne. Samt att lägga datafiler, exempelvis för webbserver och qserver i en katalog under /srv. Ungefär av samma anledning som /home.
Notera att program/servrar normalt lägger datafiler under /var, men den raderas vid ominstallation. Då är det säkrare att gå in och konfigurera servrar, som webb och databaser, att istället använda /srv för att lagra data. Enklare vid ominstallation och säkerhetskopiering.
Vill en öka säkerhet och flexibilitet ännu ett steg, så skapa en RAID5 eller RAID6 partition, då kan en respektive två diskar gå sönder utan att det förloras data. Men då kommer utrymmet på en resp två diskar att användas för att lagra extra data för att göra det möhligt.
Sedan så skapar en då logiskt disk/partitionssystem (LVM2) ovanpå raiden för att lätt skapa/ta bort logiska partitioner, samt även ändra storlek.
Då fungerar XFS/JFS/ext4 så att den kan öka filsystemets storlek under drift, om det finns ledigt utrymme i det logiska disksystemet LVM2 (ext4 kan även minska storlek, vilket inte de andra två klarar).
Men det sista är överkurs. 😉
/Anders Jackson