conversie naar ext4

Pagina: 1
Acties:

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Topicstarter
Ik wil graag mijn bestandssystemen converteren naar het fourth extended filesystem (ext4).

Momenteel heb ik 3 ext3 partities (van 110GB, 12GB en 10GB) op een harde schijf.
Verder heb ik een ext2 partitie van 128Mb op die schijf en een ext2 partitie van 4GB op een flashdisk.

Nu is het dus zaak om veel schrijfacties op de flashschijf te voorkomen, journaling is daar dus geen optie.

Nu kun je voor zover ik weet gewoon met tune2fs de 'juiste' featureflags zetten. Dat zijn standaard bij mijn distro:
ext2: ext_attr resize_inode dir_index filetype sparse_super large_file
ext3: has_journal ext_attr resize_inode dir_index filetype sparse_super large_file
ext4: has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

Nu lijkt huge_file me gezien de afmetingen van mijn partities bijvoorbeeld al grote onzin. bij de partitie op de flashdisk zou ik has_journal weglaten/geen journal aanmaken. flex_bg is welicht ook niet echt nodig, en levert meen ik soms nog problemen op (bijvoorbeeld met e4defrag).

De features die ik op mijn ext2 partities zou zetten ter conversie zijn dus:
extent uninit_bg dir_nlink extra_isize
waarbij ik op de 128MB partitie dir _nlink en large_file weg zou laten.

Mijn vragen nu: is niet-journaling ext4 met die flags geschikt voor een flashdrive (natuurlijk ook met noatime als mountoptie)? Is het algemeen mogelijk zo naar ext4 te converteren? Kan zonder problemen non-journaling ext4-partities mounten?

Voor zover ik nu weet kan het, maar ik wil het graag zeker weten (gegevens overigens wel al gebackupt ;) )

  • gertvdijk
  • Registratie: November 2003
  • Laatst online: 08:03
begintmeta schreef op zaterdag 24 januari 2009 @ 14:14:
is niet-journaling ext4 met die flags geschikt voor een flashdrive (natuurlijk ook met noatime als mountoptie)?
Even uitzoomend op je keuze voor ext4: misschien kan voor flashdrives beter UBIFS voor gebruiken. Sinds 2.6.27 in de kernel.

Kia e-Niro 2021 64kWh DynamicPlusLine. 3x Victron MP-II op 15kWh US5000 3f thuisbatterij met 3x25A→3x40A PowerAssist, Victron EVCS, 3200Wp HoyMiles zp. my GitHub, my blog


  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Topicstarter
gertvandijk, dank je voor de tip, ik zal er eens naar kijken. Mijn keuze voor ext4 ligt nu vooral bij het gebruik van slechts 1 filesystem (voor de overzichtelijkheid), en vanwege de iets hogere prestaties dan ext2 (op roterende media dan althans). In principe heeft mijn flash-schijf ook een eigen blockallocatiemechanisme, dus een echt fs dat meer voor raw-flash-access is heb ik niet nodig. Het optimale fs voor mij gebruikt zo min mogelijk writes, en is daarbij zo snel mogelijk mn mbt de reads.
begintmeta schreef op zaterdag 24 januari 2009 @ 14:14:
... zonder problemen non-journaling ext4-partities mounten? ...
Hier lijkt een probleem in te zitten (ik had ook wat beter moeten researchen, maar het kan de moeite waard zijn), ik krijg het niet voor elkaar een ext4-partitie (rootpartitie in dit geval trouwens) te mounten als de filesystemfeature has_journal niet is gezet. Met is geen probleem, maar dat is geen optie in mijn geval. Hier wordt wel gewag gemaakt van de mogelijkheid een 'no journaling' mode te gebruiken, maar bij mij levert het niet hebben van de feature alleen niet-gevonden rootpartities of kernelpanics op. Geen zin om te patchen, dus (voorlopig) terug naar ext2! Of heeft iemand een ander geschikt bestandssysteem als suggestie.

[ Voor 23% gewijzigd door begintmeta op 24-01-2009 19:00 ]


  • Elijan9
  • Registratie: Februari 2004
  • Laatst online: 12:12
gertvdijk schreef op zaterdag 24 januari 2009 @ 17:46:
[...]

Even uitzoomend op je keuze voor ext4: misschien kan voor flashdrives beter UBIFS voor gebruiken. Sinds 2.6.27 in de kernel.
UBIFS is bedoeld voor raw access flash, dat heb je vooral bij embedded systemen. Deze is niet geschikt voor situaties waar er al een hele stuk abstractie zit tussen de daadwerkelijke flash chips en de databus (USB, compact flash, SD, SATA, IDE).

Ext4 zonder journalling lijkt me een prima keuze in dat geval, maar toch denk ik niet dat je er veel mee wint t.o.v. Ext2 met dir_index en noatime...

War is when the young and stupid are tricked by the old and bitter into killing each other. - Niko Bellic


  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Topicstarter
Idd Elijan9. Ook is Ext4 zonder journaling is helaas nog niet (echt) beschikbaar..., het zou een beetje schelen..

Uit een van de eerdere links:
[small]                     ext2        ext4, default   ext4, no journal
  initial writes   13.0 MB/s        15.4 MB/s          15.7 MB/s
  rewrites         13.1 MB/s        15.6 MB/s          15.9 MB/s
  reads            15.2 MB/s        16.9 MB/s          17.2 MB/s
  re-reads         15.3 MB/s        16.9 MB/s          17.2 MB/s
  random readers    5.6 MB/s         5.6 MB/s           5.7 MB/s
  random writers    5.1 MB/s         5.3 MB/s           5.4 MB/s [/small]

Inmiddels zit ik weer terug op ext2. Als de ext4, no journal ondersteuning af is stap ik over.

  • jelly
  • Registratie: Mei 2006
  • Laatst online: 28-11-2025

jelly

Arch Linux

Even voor de duidelijkheid, wat wil je precies op de flashschrijf zetten: root, home, boot . Home & boot lijken mij geen probleem die worden volgens mij niet echt vaak beschreven. Maar root en dan vooral /var/log etc. word natuurlijk wel om de zoveel tijd beschreven dus misschien wel ext4 erop zetten en dan ervoor kiezen om je home erop te zetten of /var apart.

Keep it simple stupid


  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Topicstarter
jelly schreef op zondag 25 januari 2009 @ 10:44:
Even voor de duidelijkheid, wat wil je precies op de flashschrijf zetten: root, home, boot . Home & boot lijken mij geen probleem die worden volgens mij niet echt vaak beschreven. Maar root en dan vooral /var/log etc. word natuurlijk wel om de zoveel tijd beschreven dus misschien wel ext4 erop zetten en dan ervoor kiezen om je home erop te zetten of /var apart.
Ik heb / op de flashschijf staan, de andere partities zijn /var, /tmp /boot en /home (en swap) zitten op de schijf. In principe verandert niet zo veel op / (wel iets natuurlijk mtab, ivm dhcp reslov.conf en nog wat bestandjes, maar daar zou wel wat aan te doen zijn). Ext4 heeft als voordeel natuurlijk ook dat een fsck wat sneller gaat (al is dat niet vaak nodig...).

Ik laat het voorlopig toch maar bij ext4, tot de mogelijkheid 'ext2' met ext4 te mounten er is gekomen.

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 09:10
begintmeta schreef op zaterdag 24 januari 2009 @ 21:36:
Idd Elijan9. Ook is Ext4 zonder journaling is helaas nog niet (echt) beschikbaar..., het zou een beetje schelen.. [..]
[small]                     ext2        ext4, default   ext4, no journal
  initial writes   13.0 MB/s        15.4 MB/s          15.7 MB/s
  rewrites         13.1 MB/s        15.6 MB/s          15.9 MB/s
  reads            15.2 MB/s        16.9 MB/s          17.2 MB/s
  re-reads         15.3 MB/s        16.9 MB/s          17.2 MB/s
  random readers    5.6 MB/s         5.6 MB/s           5.7 MB/s
  random writers    5.1 MB/s         5.3 MB/s           5.4 MB/s [/small]
Waarom zijn ook de leessnelheden hoger met ext4? Dat vind ik niet logisch omdat de disk structuur hetzelfde zou moeten zijn; alleen schrijven zou (iets) efficiënter moeten zijn omdat (meta)data niet dubbel weggeschreven hoeft te worden.

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Topicstarter
geen idee Soultaker (ik weet ook niet hoe betrouwbaar dat linkje is, zal zelf eens benchmarken misschien) misschien dat de ext4-driver efficienter is dan de ext2 (is een van de weinige variabelen neem ik aan), waarbij dan wellicht later mogelijk voordelige zaken worden gebackport naar de ext2-driver?

  • maleadt
  • Registratie: Januari 2006
  • Laatst online: 26-01 20:38
Afbeeldingslocatie: http://www.phoronix.com/data/img/results/ubuntu_ext4/4.png
Bron: Phoronix

Afbeeldingslocatie: http://www.phoronix.com/data/img/results/ubuntu_ext4/5.png
Bron: Phoronix

Read performance ligt dus niet hoger (4% is statistisch irrelevant bij slechts 5 tests).

Als je ext4 toch wilt gebruiken vanwege de write-speeds (waar je niet veel zal van merken aangezien je root weinig schrijfoperaties ondergaat), kan je het volgende proberen:
quote: man mkfs.ext4
device=external-journal
Attach the filesystem to the journal block device
located on external-journal. The external journal
must already have been created using the command
mke2fs -O journal_dev external-journal
Note that external-journal must have been created
with the same block size as the new filesystem.
Gl ;)

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Topicstarter
Ext2 hebben is niet gebenchmarkt zie ik. Maar vermoedelijk zal dat niet veel schelen ;)

Had ik ook al gedacht an een extern journal, maar geen zin in dergelijke constructies (er zijn ook mensen die dan het journal op /dev/null willen plaatsen ;) )

  • maleadt
  • Registratie: Januari 2006
  • Laatst online: 26-01 20:38
En inderdaad, wordt dus wachten op 2.6.29 (of welke kernel draai je?)

  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Topicstarter
INderaad ff wachten, ik draai .28

  • laurencevde
  • Registratie: November 2001
  • Laatst online: 02-10-2025
Je kunt ook udf, nilfs, of btrfs op die flash zetten, of een willekeurig bestandssyteem ro-mounten(en rw voor updates ed).
Btrfs komt experimental in 2.6.29, is copy-on-write, en heeft een flash-mode
Nilfs moet je je kernel voor patchen/als module installeren(en dan met root erop een initrd), is log-structured(je kunt ook een eerdere staat ro mounten), en werkt goed op een flash-drive.
Udf is een volwaardig bestandssysteem, stabiel, met eigenschappen die een flash-drive ook wel liggen(log-structured-achtig).

Ext2,3,4 reiserfs is niet echt een goed idee iig. Zelfs al zet je de journalling uit. Ik heb een linux-kernel-devver op z'n blog een melding zien maken dat flash-sticks vaak slechte wear-leveling, soms zo erg als per 12 erase-blokken, aan boord hebben.( hier ) Dat betekent dat klassieke bestandssystemen die regelmatig op dezelfde plekken schrijven de schijf alsnog kapot maken...

Have a taste of freedom. It is sometimes a bitter pill. To me though, this is the sweetness of the GPL


  • begintmeta
  • Registratie: November 2001
  • Niet online

begintmeta

Moderator General Chat
Topicstarter
een beetje offtopic, maar goed:
1: ik heb voorlopig maar gewoon ext3 gebruikt zoals ik hierboven al had aangegeven
2: in kernel .29 komt de (experimentele) btrfs en squashfs, ik zal overwegen dan gewoon de server opnieuw op te zetten
3: er zijn schijnbaar problemen met ext4, waardoor bij crashes dataverlies kan optreden. ook xfs en btrfs lijken hierdoor geraakt.

[ Voor 14% gewijzigd door begintmeta op 10-03-2009 23:49 ]

Pagina: 1