Som vi noterade förra veckan har Ubuntu 19.10 officiellt anlänt och har med sig ett antal riktigt spännande funktioner. Även om majoriteten av dessa nya alternativ riktar sig till skrivbordsanvändare finns det en särskilt spännande funktion som kommer att gynna både skrivbords- och serveranvändare. Den funktionen är ZFS-stöd.
ZFS, som först utvecklades av Sun Microsystems för deras Unix-distribution Solaris, är en kombination av ett 128-bitars filsystem och en logisk volymhanterare som erbjuder följande funktioner:
- Är skalbart.
- Erbjuder stöd för hög lagringskapacitet och effektivare datakomprimering.
- Inkluderar ögonblicksbilder och rollbacks.
- Stöder copy-on-write-kloner.
- Gör kontinuerlig integritetskontroll och automatisk reparation.
- 128-bitars adressering
- Och mycket mer.
Fråga vilken administratör som helst och de kommer att hålla med om att tillägget av ZFS är en stor sak för Ubuntu. Varför? Bara funktionerna för ögonblicksbilder och rollback är värda inträdespriset (som för övrigt är gratis). Med den här funktionen kan administratörer rulla tillbaka sina system till ett fungerande tillstånd (eller ett tillstånd som innehöll oavsiktligt raderad data). Det är en ganska stor grej.
Som sagt, ögonblicksbilder och rollbacks är naturligtvis inte något nytt. Faktum är att många plattformar har inkluderat detta verktyg i flera år. Så kanske ligger Ubuntu lite efter i utvecklingen när det gäller detta. Men för alla som använder Ubuntu är detta ett fall av ”bättre sent än aldrig.”
Men hur fungerar ZFS på Ubuntu? Jag är glad att du frågade. Låt mig visa dig.
En varning
För att du ska dyka ner i detta ska du veta att ZFS-stödet i Ubuntu 19.10 är experimentellt. Även om jag har funnit att det är otroligt stabilt kan du fundera två gånger innan du använder det i en produktionsmiljö (tills det inte längre är listat som ”experimentellt”).
Och notera att ZFS-stödet för närvarande bara erbjuds under installationen av skrivbordsversionen. Det betyder inte att du inte kan lägga till stöd för filsystemet på serverversionen, men det är inte riktigt lika enkelt. På grund av detta kommer jag att demonstrera på skrivbordsversionen av Ubuntu 19.10.
Installation
Det första steget är att aktivera ZFS vid installationen av Ubuntu 19.10. Under installationen hittar du ett nytt alternativ i fasen Installationstyp (Figur 1).
Figur 1: Val av ZFS-alternativet under installationen.
När installationen är klar startar du om och loggar in.
Om du använder serverversionen av Ubuntu 19.10 kan du alltid installera ZFS-stödet med kommandot:
1
|
sudo apt-get install zfsutils-linux
|
Om du skulle gå den vägen måste du förstås ta några extra steg (t.ex. skapa dataset). Med skrivbordsinstallationen kommer du att upptäcka att hela din kataloghierarki består av ZFS-dataset, så det är mycket mindre arbete att göra.
Första stegen med ZFS
När du har loggat in på skrivbordet vill du öppna ett terminalfönster och få en lista över dina dataset. Med Ubuntu-installationer som inte använder ZFS arbetar du vanligtvis med katalogsökvägar som /home/jack eller /usr/local/. Så är inte fallet med ZFS-aktiverade system. Istället arbetar de med datamängder. En dataset är en typ av filsystem som delar en lagringspool (den mest grundläggande byggstenen i ZFS).
För att hitta dina dataset, gör du följande kommando:
1
|
zfs list
|
Som du kan se (i figur 2) finns varje katalog antingen i poolen bpool (boot) eller rpool (root).
Figur 2: Vår förteckning över datasetet.
Låt oss arbeta med en användares hemkatalog. I det här fallet datasetet rpool/USERDATA/jack_bwcn4u.
Skapa en ögonblicksbild
Det första vi ska göra är att skapa en ny ögonblicksbild av katalogen /home/jack (som, kom ihåg, är datasetetet rpool/USERDATA/jack_bwcn4u). Låt oss säga att vi vill skapa en ögonblicksbild som är taggad med dagens datum. Kommandot för detta skulle vara:
1
|
sudo zfs snapshot rpool/USERDATA/jack_bwcn4u@FRIDAY10-18-19
|
Of du skulle kunna inkludera datumkommandot så här:
1
|
sudo zfs rollback rpool/USERDATA/jack_bwcn4u@`date +%F`
|
För att verifiera att ögonblicksbilden togs, utför du kommandot:
1
|
zfs list -t snapshot
|
Du bör se en lista över alla aktuella ögonblicksbilder (Figur 3).
Figur 3: Vår nya ögonblicksbild har skapats.
Rulla tillbaka en ögonblicksbild
Vad sägs om att en katalog av någon anledning råkade tas bort från hemkatalogen. Vad gör du då? Som tur är har du tagit en ögonblicksbild och kan rulla tillbaka den ögonblicksbilden så att den borttagna katalogen återkommer.
Först tar vi bort katalogen ~/Documents med kommandot:
1
|
rm -rf /home/jack/Documents
|
Sätt igång kommandot ls och du kan se att dokumentkatalogen Documents är borta (Figur 4).
Vår dokumentkatalog har tagits bort.
Nu rullar vi tillbaka fredagens ögonblicksbild för att återställa den katalogen. Detta gör du genom att utfärda kommandot:
1
|
sudo zfs rollback rpool/USERDATA/jack_bwcn4u@FRIDAY10-18-19
|
När kommandot är slutfört, ls igen för att se att Documents har återvänt (figur 5).
Figur 5: Documents är tillbaka.
Destruering av ögonblicksbilder
Säg att du har skapat ett antal ögonblicksbilder, eller att en viss ögonblicksbild har antingen korrupta eller saknade data. Du kanske vill ta bort den ögonblicksbilden. Låt oss säga att vi vill ta bort ögonblicksbilden rpool/USERDATA/jack_bwcn4u@FRIDAY10-18-19. För att göra det skulle kommandot vara:
1
|
sudo zfs destroy rpool/USERDATA/jack_bwcn4u@FRIDAY10-18-19
|
När du har förstört en ögonblicksbild kan den inte hämtas, så använd det kommandot med försiktighet. Om du råkar ha en särskilt viktig ögonblicksbild som du inte vill ha förstörd kan du placera en spärr på den. För att placera en spärr på vår ögonblicksbild rpool/USERDATA/jack_bwcn4u@FRIDAY10-18-19 skulle du utfärda kommandot:
1
|
sudo zfs hold keep rpool/USERDATA/jack_bwcn4u@FRIDAY10-18-19-19
|
Om du nu försöker förstöra ögonblicksbilden, får du ett felmeddelande (figur 6).
Figur 6: Kan inte förstöra den här ögonblicksbilden.
För att förstöra en ögonblicksbild som hålls måste du lägga till alternativet -d på följande sätt:
1
|
<i>sudo zfs destroy -d rpool/USERDATA/jack_bwcn4u@FRIDAY10-18-19</i>
|
Det var allt, den kvarhållna ögonblicksbilden är borta.
Och det är grunderna för att skapa och förstöra ögonblicksbilder med den nyligen tillkomna ZFS-funktionen i Ubuntu 19.10. Prova detta i en testmiljö och se hur bra det fungerar. Hittills har jag bara upptäckt ett problem som gjorde att när jag försökte rulla tillbaka en ögonblicksbild var jag tvungen att starta om maskinen innan kommandot för återställning kunde köras framgångsrikt. Förutom detta enda problem har det varit en smidig resa med ZFS och Ubuntu 19.10.
.