Včera se mi stala takove nemilá věc. Najednou mi začaly padat služby na počítači. Velmi brzo jsem objevil, že za to mohla hláška „No space left on device“, která byla ve všech log souborech a na konzoli. Jenže na disku byla tuna místa:
Filesystem Size Used Avail Use% Mounted on
/dev/md0 148G 112G 29G 80% /
Čím to teda bylo?! Chvíli jsem si myslel, že tam mám až moc rezervovaných bloků, pak že mám nějaké vytuhlé semafory. Až tento příkaz mi to ozřejmil:
#df -ih
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/md0 18M 18M 0 100% /
Já jsem normálně vyčerpal všechny dostupné inody! Pak jsem zjistil, že počet inodů se stanovuje při formátování disku a nejde rozumně změnit za běhu. Tak teď kopíruji mraky malých souborů na jiný disk a zjišťuji, že to jde bolestně pomalu.
Příště musím lépe vážit parametry mkfs!
Tak zkuste tomu NTFS nacpat do adresare par tisic souboru a uvidite, jak je "self tuning" ;-)
S tema inodama je to na ext3 neprijemne, ale s trochou planovani to neni problem. Za normalnich okolnosti se to neprojevi, pouze pokud se na disk dava opravdu hodne malych souboru.
Pro spoustu malych souboru je pod linuxem nejlepsi
Reiser4 (ale, bohuzel zda se, ze tento vynikajici filesystem
speje ke svemu konci - patche do jader jsou vydavany velmi
opozdene ... ). Pokud pouzivate opravdu *velmi hodne* malych souboru - doporucuji prejit na OpenSolaris na ZFS.
ZFS Vas uchvati ;-)
18M inodov? Uf, tak to je hodne.
Ext2/3/4 prealokuje inody pri vytvarani; FS ako xfs, reiserfs, reiser4, jfs ich vytvaraju priebezne podla potreby, takze sa minu az ked sa minie miesto na disku. Na tento typ pouzitia by sa hodil najskor reiserfs/reiser4.
BTW z hladiska vykonu neni moc dobre mat disk/particiu plnsiu nez cca 90-92% (nezavisle od pouziteho fs) alebo pocet pouzitych inodov nad 90% v pripade ext2/3/4. Jednak alokovanie novych struktur pre subory je pomalsie a zaroven alokatory uz nie su take efektivne - normalne sa snazia drzat "pribuzne" bloky (data a metadata, subory v jednom adresari) nejak "blizko" seba, aby sa minimalizoval presun hlav disku.
[3] Na Linuxu bych samozřejmě nejel NTFS. Je ale zajímavé pozorovat, že na Linuxu máte jeden FS, který funguje, další který má žurnál, jiný který má ACL, další umí kompresi, jiný lze použít i pro NFS, další zase umí quoty, některé si poradí s velkým množstvím malých souborů. Bohužel ale nemáte jeden, který byl měl rozumnou většinu features, a zároveň fungoval.
[5] Na NTFS mívám i desítky tisíc souborů v jednom adresáři. Kde má jako být problém? Zřejmě v tom, že Explorer je pak dost pomalý. To je fakt, ale s NTFS to nemá nic společného.
[6] Ano, při poškození struktur NTFS může dojít ke kontrole FS po restartu. Otázkou je, jak a proč k poškození došlo. Jako proti-příklad bych uvedl svojí bývalou testovací instalaci Linuxu, která skončila na tom, že FS nešel přimontovat, s tím že je corrupted, a přitom fsck tvrdil, že je clean. Vůbec nástroje k FS jsou na Linuxu občas v divném stavu.
[7] ZFS uchvátí vás, i vaše zdroje. Ovšem Sun má bod za to, že místo předpotopního UFS implementoval ZFS. Ad patche do jádra - ano, to je fakt "roztomilý" způsob, jak přidat další FS :(. Naštěstí tohle ve Windows není třeba (když pominu, že zpravidla není třeba ani psát další FS).
Ano diky K2 mame vsichni touhu prejit na windows :-D
add 3) na windowsech jich taky neni malo (umi po nainstalovani windowsy Ext3? ne? tak nic ...)
add 5) takze NTFS je k nicemu kdyz je Explorer takova brzda
add 6) ... no to ses spis ty v divnem stavu kdyz dokazes spatlat takovou ...
add 7) ... aha tak jak teda instalujes do windows novy ovladac FS? ... a skutecne neni treba psat nejaky novy FS pro win...
http://msdn2.microsoft.com/en-us/library/aa480687.aspx
ps: to zamestnanci MS nemaji co na praci :-D
[12] Otázka zní, proč mít spoustu FS, kde každý umí něco (jeden ACL, druhý žurnál, třetí quoty a žurnál atd), a ne jeden dobrý, který umí všechno. ZFS je v principu dobrý, jen kdyby nebyl pomalý.
Ad Explorer - mě stačilo, když jsem si na svém starém Mandrake vlezl v nějakém GUI toolu do /etc. GUI prostě nejsou stavěná na veliké množství objektů na jednom stupni hiearchie (nakonec listbox s tisíci objektů se také bude stavět dlouho). S FS to ale nemá nic společného.
Ad spatlat - FS může být clean, nebo může mít problém. Pokud nastane situace, kdy nejde přimontovat, ale je údajně v pořádku, je poněkud nesmyslné nadávat na uživatele :). Je to problém kvality daného FS (a jeho nástrojů), to nelze popřít.
Ad jak instalovat nový ovladač FS ve Windows - nornálně, je to driver jako každý jiný. Ad nový FS pro Windows - WinFS je (byl) nadstavba nad NTFS.
Ad zaměstnanci MS - nevím, zeptejte se jich.
Povedal y som, ze nazatial vam pomoze subory zabalit cez tar. Takto si vytvorite volne iNody. Par suborov asi budete musiet presunut inde. Samozrejme ze treba zabalit iba subory, ktore nepotrebujete. Takto sa s tym da este chvilku existovat, ale odporucam to naozaj preformatovat...
[14] Já a jehovista? Co jsou potom vaši kolegové, kteří spamují státní instituce "otevřenými dopisy" s texty stylu "je doporučeno místo Windows a MS Office používat Linux a OpenOffice; jak to, že to neděláte"?
[16] Co je ještě pomalé? Ad symlinky - to je asi jako ptát se, jestli Linux má konečně Registry. V podstatě nemá, protože to není jeho koncept. Ovšem na druhé straně konfigurační servis se zápisem do DB existuje... Podobně NTFS má hard links (pro POSIX compatibility), junctions, a nyní i symlinky. Vyjma toho má ale spoustu dalších zajímavých věcí, jako třeba log změn na FS. Ten oceníte při inkrementálním zálohování těch malých souborů, kdy nebudete muset skenovat FS na změny, protože v logu budou změny vypsané. Plus komprese, šifrování atd.
[19] zas takova blbost to neni:)
http://en.wikipedia.org/wiki/NTFS_symbolic_link
[19] Clovece, dyt vy o linuxu vubec nic nevite. Kdybyste vedel co je symlink, budete take vedet, ze to neni nic proti koncepci widli. inotify vam take rekne k jakym zmenam v souborech doslo. Je to nezavisle na FS, takze to jde provozovat i nad FATkou, zkuste to nad FATkou ve widlich...
Registry jsou spise jednou z nejvetsich bolesti widli, zatimco symlinky jsou jednou z nejvetsich vychytavek unixovych systemu, takze s ejedna o velmi nesrovnatelne veci. Ne linux mit registry mimo produkty z dilem MozillaRedmondFoundation nebude, protoze by se z toho administratori zblaznili.
[21] Ehm, symlinky jsou ve Windows stejně exotické, jako třeba case sensitivity. inotify je OK, pokud se sleduje celý disk (běží na to deamon), a dále pokud událost odchytíte (totéž File Change Events), což ale nemusíte stihnout. Právě proto je tu NTFS change log. To je pak inkrementální záloha jiné kafe. Pak je tu samozřejmě zálohovací API, které příslušným uživatelům dovolí obejít permissions FS, a provést dump dat v RAW formátu (například data zašifrovaná na úrovni FS se zálohují zašifrovaná, totéž s kompresí). Vyjma toho má NTFS nově ACID transakční zracování (třeba transakce typu zapiš soubor A, vytvoř soubor B, zapiš do DB, proveď commit/rollback). Jinými slovy NTFS je s features někde o generaci jinde, než většina unixových FS.
Registry jsou bolest? Neřekl bych. Konfigurace na jednom místě, s jedním způsobem přístupu, registrace komponent (ano, komponent, na unixech novinka) na jednom místě... Na Linuxu se místo registry používají konfiguráky, které zabírají spoustu místa (velikost souboru typicky kvantovaná po bloku), typicky nemají ACL (jen historický rwx), a jsou ve velké řadě různých formátů (což je fakt lahůdka). Nemluvě o faktu, že se komentované konfiguráky používají místo konfiguračního interface, což je příšerné (obtížné k použití, není problém nastavit odporující si parametry, jenom se to jednodušeji píše). Odpovědí je třeba GConf, který je v podstatě Windows Registry na Linuxu.
Přečteno 9 681×
Přečteno 7 473×
Přečteno 7 201×
Přečteno 7 128×
Přečteno 6 529×