Artikelkategori: 9
Skriven av mdkdio 2018-03-17 16:16
url: 

Att skapa ett ext4 filsystem (eller konvertera ext2/3 till ext4)

Beta version 0.1

Att skapa ett nytt ext4 filsystem:

mke2fs -t ext4 /dev/DEV (t.ex. mke2fs -t /dev/sdb1)

Eller:

mkfs.ext4 /dev/DEV (t.ex. mkfs.ext4 /dev/sdb1)

När filsystemet är skapat, kan du montera (mount) det på följande vis:

mount -t ext4 /dev/DEV /wherever (t.ex. mount -t ext4 /dev/sdb1 /mount/disk2)

Om du har ett relativt nytt system (läs version), så ska inte "-t ext4" behövas.

Konvertera ett filsystem till ext4 (ext2,ext3):

Den rekommenderade metoden för att konvertera/uppgradera ett ext2 filsystem till ext4
är att först ta en backup av HELA volumen, formatera om hårddisken med ext4,
och återställa hela volumen till det nya filsystemet.
Detta har effekten av defragmentering av alla filer, formatering med större 'inodes',
lägga till mapp index, och snabba upp både e2fsck och metadata accessen genom
att klustra ihop metadatan. Dessutom kommer filerna få större gräns för filstorlek
och bättre egenskaper än tidigare.

ext4 filsystem kan formateras med '-O ^journal' för att dekativera journal.
Detta är dock INTE rekommenderat i vanliga fall!

Sedan Slackware Linux 14.2 kommer med e2fsprogs 1.43.1 så har en nyformaterad enhet
också 64-bit stöd och metadata kontrollsummering (checksumming)

e2fsck version 1.43.x har också andra fördelar rel till klustrad data.

Men, det är också möjligt att montera (mount) ext2 filsystem med ext4.ko modulen
OBS! Du är rekommenderad att använda uppgraderings proceduren enligt ovan.

Notera att det är möjligt att montera (mount) både ext3 (och ext2, i 2.6.28 ellersenare kärna)
filsystem direkt via ext4 filsystems drivrutin.
Att montera ett ext3 (eller ext2) filsystem med en modern (2.6.27+) version av ext4 kommer
inte att göra ändringar i strukturen på hårddisken, och det är möjligt att återgå till
ext3 (eller ext2) drivrutinen om något problem skulle uppstå med ext4 vid uppstart
från en ext2/ext3 partition, och om du kompilerar din kärna utan ext2/ext3 drivare.
Du kan behöva ange 'rootfstype=ext4' till kärnans kommandolinje.

Om du helt enkelt inte kan formatera om och återställa enligt ovan,
så är det möjligt att aktivera en del av ext4's funktioner.
Men gör inte detta före du är helt säker på att stegen ovan inte kan följas i ditt fall.
Genom att följa denna procedur i stället, går du miste om bl.a. 'metadata locality'
vilket du skulle få med ett nytt formaterat ext4 system. Det är dock möjligt att
aktivera 'journalling, directory indexes' och 'uninitialized block groups' för en
blygsamt ökning av hastighet.

Först och främst, se till att din e2fsprogs version är uppdterad.
Nyare versioner har m'ngder med buggfixar!

Fördet andra, se till så att ditt filsystem fungerar felfritt.

umount /dev/DEV (t.ex. umount /dev/sdb1)
e2fsck -fy /dev/DEV (t.ex. e2fsck -fy /dev/sdb1)

Nästa steg, för att konvertera ett ext2 filsystem till ext3 (aktivera journal funktionen):

tune2fs -j /dev/DEV (t.ex. tune2fs -j /dev/sdb1)

För att aktivera ext4's funktioner i ett existerande ext3 filsystem:

tune2fs -O extents,uninit_bg,dir_index /dev/DEV
(t.ex. tune2fs -O extents,uninit_bg,dir_index /dev/sdb1)

VARNING!!!
När du väl kör detta kommando, kommer inte ditt filsystem att kunna monteras (mount) genom
att använda ext2 eller ext3 drivrutiner!

Efter att du har kört detta kommando (speciellt, efter att ha angett uninit_bg parametern),
MÅSTE du köra fsck för att fixa en del on-disk strukturer som tune2fs har modifierat.

e2fsck -fDCO /dev/DEV (t.ex. e2fsck -fDCO /dev/sdb1)

Slutligen, redigera /etc/fstab och byt filsystem till ext4

Notera:
Att köra fsck kommer att klaga på "One or more block group descriptor checksums are invalid"
- detta är väntat och en av anledningarna till varför tune2fs begär fsck.

Vid aktivering av extents funktionen, kommer nya filer att skapas i 'extents format', men detta
konverterar inte existernade filer att använda extents. Icke extents filer kan transparant läsas
(be transparently read) och skrivas av ext4.
Du kan konvertera filerna till 'extent format' genom att köra e2fsck med -E bmap2extent -fy
för att göra denna konvertering.

Om du konverterar ditt root filsystem (/) till ext4 och använder GRUB 'boot loader', måste du installera en GRUB version som förstår ext4.
Ditt system kanske startar ok första gången, men när kärnan uppdateras, kommer ditt system inte
att kunna starta (press Alt+F+F to check the filesystem).

Om du konverterar root fs på ett aktivt system (live system), måste du starta om för att fsck ska kunna köras riktigt/stabilt.
Du kanske till och med måste lägga till 'rootfstype=ext4' i kärnans kommando linje så att inte partitionen monteras som ext3.

VARNING!
Det är INTE rekommenderat att ändra storlek på inodes via resize2fs med e2fsprogs 1.41.0 eller senare, sedan det är känt att detta
gör vissa filsystem korrupta.

Om du använder 'uninit_bg' i tunefs kommandot, kan du skippa fsck steget.

×