Portál AbcLinuxu, 10. května 2025 00:17

Dotaz: Zurnal na ext4 a sifrovani

9.10.2014 20:15 petrfm
Zurnal na ext4 a sifrovani
Přečteno: 364×
Odpovědět | Admin

Ahoj, cirou nahodou jsem zjistil, ze existuje neco, jako zurnal, takze me obavy o rozbiti filesystemu pri tvrdem vypnuti serveru jsou zbytecne.

Zajimalo by mne, jak je to spolehlive a jestli tedy opravdu nemuze dojit k poskozeni dat.

Mam vytvoreny sifrovany souborovy system v souboru, pripojeny jako LOOP. Ten soubor ma nekolik set GB a lezi na hlavnim EXT4. Skutecne se nemuze stat, ze kdyz dojde k vypadku napajeni, tak se ten soubor nerozbije? Pak by se totiz zrejme poskodil cely sifrovany svazek, ktery je v tom souboru a prisel bych o vsechna data, proto, i kdyz mam vse zalohovane a dokonce pouzivam UPSku, z toho nemam klidne spani a zajima mne, zda je zurnal na EXT4 vselek a nemuze se stat, ze by se souborovy system kolapsem behem zapisu poskodil.

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Heron avatar 9.10.2014 21:25 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Zurnal na ext4 a sifrovani
Odpovědět | | Sbalit | Link | Blokovat | Admin

Journal u ext4, pokud se nenastaví jinak, NEZABRÁNÍ poškození dat, ale pouze poškození metadat. Journal zaručuje konzistenci FS, nikoliv souborů.

Odpověď na otázku: Skutecne se nemuze stat, ze kdyz dojde k vypadku napajeni, tak se ten soubor nerozbije? je ano, může se stát, že se ten soubor rozbije.

Jestli chcete mít o něco klidnější spaní, tak šifruje přímo blokové zařízení (a nikoliv soubor s fs na nějakém dalším fs) a ext4 v tom šifrovaném blokovém zařízení připojujte s volbou data=journal.

Sice ani potom nemáte zaručeno, že o svá data nepřijdete (to nemáte nikdy), ale riziko výrazně minimalizujete. Záloha je v každém případě nutná.

Heron
10.10.2014 10:29 Filip Jirsák
Rozbalit Rozbalit vše Re: Zurnal na ext4 a sifrovani
Předpokládám, že BTRFS by se v tomto směru choval lépe, protože pro zápis používá copy-on-write, takže nemůže nastat případ, že z jednoho zápisu bude polovina zapsaná a polovina ne. Ale pořád může nastat případ, že z nadřízeného systému (šifrovaného FS) přijdou požadavky na zápisy 1, 2, 3, provede se 1 a 3 ale dvojka se nestihne dokončit - a to na poškození toho šifrovaného systému bohatě stačí. Jinak na náhlé odpojení disku při zápisu je podle mne nejlepší lék UPS :-) Záloha přímo ten problém s odpojením neřeší, protože v záloze budou jen nějakou dobu stará data. Ale záloha samozřejmě je nutná, protože stačí jediná chyba a přijdete o celý šifrovaný oddíl. Pokud je ale záloha šifrovaná, v průběhu zálohování nemáte ani starou ani novou zálohu (stará už je zničená a nová ještě není). Takže by to chtělo zálohovat na střídačku na dvě různá místa.
Heron avatar 10.10.2014 10:46 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Zurnal na ext4 a sifrovani
Předpokládám, že BTRFS by se v tomto směru choval lépe, protože pro zápis používá copy-on-write, takže nemůže nastat případ, že z jednoho zápisu bude polovina zapsaná a polovina ne.

Ano, choval by se lépe, ale ani BTRFS neumí transakce. Tedy ano, data po fsyncu (a výpadku energie) se buď spolehlivě zapíší nebo spolehlivě nezapíší, ale nikde není zaručeno, že před tím vynuceným fsyncem nedošlo k zápisu například z důvodu plné dirty page cache nebo třeba commit timeoutu.

Ale pořád může nastat případ, že z nadřízeného systému (šifrovaného FS) přijdou požadavky na zápisy 1, 2, 3, provede se 1 a 3 ale dvojka se nestihne dokončit - a to na poškození toho šifrovaného systému bohatě stačí.

Také bych to tak viděl. Nečekal bych, že přes loop budou správně fungovat zápisové bariéry, právě proto nedoporučuji používat šifrovaný fs přes loop blokové zařízení ze souboru na jiném fs. (To by níže položený fs musel umět pracovat nejen s klasickým f(data)sync (s čímž měla ext3 jisté problémy), ale dokonce i s pořadím operací (což se rozhodně nezachovává už jen z toho důvodu, že změna pořadí operací je jedna z hlavních optimalizací při práci s blokovým zařízením -- pochopitelně s přihlédnutím k bariérám)

9.10.2014 21:29 chrono
Rozbalit Rozbalit vše Re: Zurnal na ext4 a sifrovani
Odpovědět | | Sbalit | Link | Blokovat | Admin
Štandardne sa, pri ext4, do žurnálu ukladajú len metadáta, takže sa o údaje dá prísť. Je možné povoliť aj ukladanie samotných dát, bude to ale pomalšie (plus sú tam ešte aj iné obmedzenia).
9.10.2014 23:46 petrfm
Rozbalit Rozbalit vše Re: Zurnal na ext4 a sifrovani
Prepacte, ale nevim, co jsou metadata (zjistim si to jak dopisu tenhle dotaz). To znamena, ze standartne tedy, kdyz probiha zapis do souboru a vypnu ten stroj, tak se poskodi jen dany soubor, ale konzistence filesystemu zustane zachovana, je to tak?
Heron avatar 10.10.2014 08:04 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Zurnal na ext4 a sifrovani

Metadata jsou "data o datech". Pro uživatele tedy věci jako jménou souboru, umístění souboru do určitého adresáře, časy, práva. Dále jsou to interní věci daného FS jako je seznam inodů, bitmapa volného místa a tak dále.

To znamena, ze standartne tedy, kdyz probiha zapis do souboru a vypnu ten stroj, tak se poskodi jen dany soubor, ale konzistence filesystemu zustane zachovana, je to tak?

V podstatě ano. Ten soubor nemusí být jen jeden, což je asi jasné.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.