Các hệ thống file trong Linux

2 644 6
Các hệ thống file trong  Linux

Đang tải... (xem toàn văn)

Thông tin tài liệu

Các hệ thống file trong Linux

PC WORLD VIETNAM JULY 2 0 0 280ÛÁNG DNGúái sûå hònh thânh phất triïínca hïå àiïìu hânh Linux, giúâ àêychng ta cố rêët nhiïìu cấch trongviïåc chổn lûåa cấc hïå thưëng file(file system) cho tûâng loẩi ûángdng. Trong bâi viïët nây tưi mën giúáithiïåu cấc hïå thưëng file tiïn tiïën àûúåc sûãdng trong Linux nhû Ext3, Reiserfs, XFS,vâ JFS cố tđnh tin cêåy cao vâ cố khẫ nùngghi nhúá quấ trònh thao tấc trïn dûä liïåu(journaling).THÏË NÂO LÂ JOURNALING FILESYSTEM?Chng ta hậy tòm hiïíu sú lûúåc vïì cấchlâm viïåc mâ cấc hïå thưëng Unix nối chung,Linux nối riïng, thao tấc trïn hïå thưëng file.Khi àûúåc khúãi àưång hïå àiïìu hânh lnln dng mưåt chûúng trònh àïí kiïím tratđnh toân vển ca hïå thưëng file, àố lâ trònhfsck. Nïëu nố phất hiïån hïå thưëng file cố dêëuhiïåu bêët thûúâng hóåc chûa àûúåc unmount,do cấc ngun nhên nhû mêët àiïån hóåc hïåthưëng àûáng àưåt ngưåt trong khi àangchẩy, lc àố fsck sệ quết lẩi toân bưå hïåthưëng file àïí cưë gùỉng khưi phc lẩi dûä liïåu.Quấ trònh kiïím tra vâ khưi phc dûä liïåu(nïëu cố) nhanh hay chêåm ph thåc vâodung lûúång ca ưí cûáng, vâ vúái nhûäng hïåthưëng cố dung lûúång lûu trûä rêët lúán nhûhiïån nay (tûâ hâng chc àïën hâng trùmgigabyte) thò phẫi mêët hâng giúâ àïí quết lẩitoân bưå hïå thưëng ưí cûáng. Cấch lâm nâûúåc ấp dng trïn cấc hïå thưëng file Unixchín ufs (Sun & HP) hóåc ext2 mâ Linuxàang sûã dng.Nïëu hïå thưëng file cố khẫ nùng ghi lẩi(log) àûúåc cấc hoẩt àưång mâ hïå àiïìu hânhàậ àang thao tấc trïn dûä liïåu thò hïåthưëng xấc àõnh àûúåc ngay nhûäng file bõ sûåcưë mâ khưng cêìn phẫi quết lẩi toân bưå hïåthưëng file, gip quấ trònh phc hưìi dûä liïåutrúã nïn tin cêåy vâ nhanh chống hún. Hïåthưëng file nhû vêåy àûúåc gổi lâ journalingfile system.HÏÅ THƯËNG FILE EXT3Àûúåc xêy dûång dûåa trïn cú súã ca hïåthưëng file chín ext2 mâ Linux àang sûãdng, ext3 àûa vâo thïm chûác nùng múáivư cng quan trổng, journaling file system,gip thao tấc dûä liïåu an toân hún. Ext3 cônsûã dng chïë JBD (Journaling BlockDevice) àïí bẫo vïå thưng tin thao tấc trïndûä liïåu, àûúåc àấnh giấ lâ tin cêåy hún so vúáicấc hïå thưëng chó thûåc hiïån journaling trïnchó mc dûä liïåu (journaling of meta-dataonly) nhû Reiserfs, XFS hay JFS. Vúái cấchbẫo vïå hai lêìn nhû vêåy thò hiïåu sët ghi dûäliïåu cố phêìn nâo chêåm hún ext2; nhûngtrong mưåt vâi trûúâng húåp, nhúâ thưng tintrong journal log àêìu tûâ ưí cûáng dichuín húåp l hún, nïn tưëc àưå thao tấc dûäliïåu nhanh hún. Àưëi vúái nhûäng ûáng dngûu tiïn cho àưå tin cêåy ca dûä liïåu hún lâ tưëcàưå ghi àún thìn thò ext3 lâ lûåa chổn thđchhúåp. Ngoâi ra, ext3 côn cho phếp cẫi thiïåntưëc àưå thao tấc trïn dûä liïåu bùçng cấch thiïëtlêåp thưng sưë cho hïå thưëng chó thûåc hiïånjournaling àưëi vúái thao tấc trïn dûä liïåu(mode: data=writeback data =ordered).Vúái mode data=writeback, quấ trònhkhúãi àưång nhanh, dûä liïåu àûúåc ghi vâo àơangay sau khi àậ ghi xong thưng tin trongjournal log (write back), vúái mode nây àưikhi cng xẫy ra tònh trẩng hû dûä liïåu nïëusûå cưë xẫy ra ngay sau khi ghi journal logmâ chûa kõp ghi vâo àơa, nhûng b lẩi tưëcàưå thao tấc file nhanh hún trong mưåt vâitrûúâng húåp. Vúái mode data=ordered, dûäliïåu àûúåc ghi lïn àơa trûúác rưìi múái àïënjournal log, cho phếp ln ln bẫo àẫmtđnh toân vển ca dûä liïåu trong mổi tònhhëng àêy cng chđnh mode mùåcàõnh ca ext3. Vúái mode data=journal thòviïåc bẫo vïå àûúåc thûåc hiïån trïn cẫ hai: dûäliïåu vâ journal log; thưng tin àûúåc ghi chitiïët vâ nhiïìu hún gip cẫi thiïån tưëc àưå truycêåp dûä liïåu nhúâ tưëi ûu viïåc di chuín cầêìu tûâ, hoẩt àưång rêët tưët àưëi vúái kiïíu dûäliïåu lâ database hóåc dûä liïåu dng chungtrïn mẩng (NFS), tuy nhiïn do phẫi àổclẩi nhiïìu loẩi thưng tin trïn journal lognïn thúâi gian khúãi àưång lẩi mấy húi chêåmhún so vúái hai mode trïn mưåt cht.Vò bẫn chêët cêëu trc ca ext3 àûúåc xêydûång hoân toân dûåa trïn cú súã ca ext2nïn ta cố thïí chuín àưíi dïỵ dâng cấc dûäliïåu àang tưìn tẩi trïn cấc hïå thưëng ext2sang ext3 dûä liïåu khưng hïì ẫnhhûúãng vâ thûåc hiïån tûúng àưëi dïỵ dâng, àúngiẫn. Vúái kernel Linux tûâ 2.4.15 trúã lïn thòext3 àậ cố sùén khưng cêìn phẫi àûathïm vâo (patch) nhû cấc version c. Hiïåntẩi hậng Linux RedHat àậ àûa sùén moduleext3 vâo kernel 2.4.7-10 trong bẫn RedHat7.2 ca mònh.HÏÅ THƯËNG FILE REISERFS tûúãng ca viïåc xêy dûång hïå thưëngfile Reiserfs xët phất tûâ u cêìu tưëi ûuviïåc lûu trûä cấc file nhỗ vâ tùng tưëc àưå truycêåp àïën cấc file nây. Reiserfs sûã dngphûúng phấp “B * Trees” phất triïín lïn tûâ“B + Trees” àïí tưí chûác dûä liïåu, theo àốmưåt thû mc cố thïí chûáa àïën 100.000 thûmc con àùåc biïåt cố thïí cêëp phấtàưång inode: mưỵi àưëi tûúång chûáa trong hïåthưëng file àûúåc àấnh dêëu bùçng mưåt chó sưëduy nhêët; cấc hïå thưëng file khấc thûåc hiïåncêëp phất inode tơnh. Ngoâi ra, Reiserfscng khưng cêëp phất cưë àõnh dung lûúångtheo cấc khưëi 1KB hóåc 4KB nhû cấc hïåthưëng file khấc thûúâng lâm sệ cêëpchđnh xấc kđch thûúác khưëi lûu trûä cêìn thiïët;nhúâ vêåy tưëi ûu àûúåc dung lûúång khi lûu trûäcấc file cố kđch thûúác nhỗ.Tốm lẩi, chổn Reiserfs àïí lûu trûä vâtruy cêåp cấc file nhỗ lâ tưëi ûu, vúái tưëc àưåtruy cêåp file tùng tûâ 8-15 lêìn dungHïå àiïìu hânh LinuxCấc hïå thưëng file trong Linux PC WORLD VIETNAM JULY 2 0 0 282ÛÁNG DNGlûúång tiïët kiïåm àûúåc khoẫng trïn 5% sovúái hïå thưëng ext2 vúái cấc loẩi file cố kđchthûúác dûúái 1 KB. Reiserfs hưỵ trúå thûåc hiïånjournaling trïn chó mc dûä liïåu (journalingof meta-data only).Mën sûã dng Reiserfs trïn Linux taphẫi àûa cấc module nây vâo kernel vâdng cấc cưng c Reiserfs àïí àõnh dẩngpartition. Vđ d sau àêy thûåc hiïån chuínàưíi partition hda6 sang hïå thưëng fileReiserfs./sbin/mkreiserfs /dev/hda6mount /dev/hda6 /squidcache –t reiserfsThûåc tïë, viïåc ấp dng hïå thưëng fileReiserfs trïn squid proxy server chẩy trïnLinux lâm cho viïåc truy cêåp internet àûúåccẫi thiïån àấng kïí do squid truy cêåp cấcfiles nhỗ (*.html, *.gif, *.class .) trongcache vúái tưëc àưå cao.HÏÅ THƯËNG FILE XFSÀûúåc phất triïín búãi cưng ty SiliconGraphic tûâ nùm 1990 àïí khùỉc phc hẩnchïë ca cấc hïå thưëng file hiïån hânh vïì kđchthûúác vâ sưë lûúång partition, directory vâfile. Ngây nay XFS àậ sùén sâng àïí sûã dngtrong Linux vúái cấc tđnh nùng cngmẩnh mệ vâ ûáng dng trong cấc hïå thưëngcố tđnh chun nghiïåp cao.XFS lâ hïå thưëng file 64 bit, nố cố thïíquẫn l àûúåc file cố kđch thûúác lâ 264 - 1byte = 9 Exabyte (do sûã dng sưë nguncố dêëu nïn 1 bit dng àïí biïíu thõdêëu), cố kêm theo cưng cVolume Manager cho phếpquẫn l lïn túái 128 Volume,mưỵi Volume cố thïí àûúåc ghếplïn túái 100 partition àơa cûángvêåt l, hưỵ trúå chûác nùngjournaling àưëi vúái dûä liïåu.Mưåt àùåc tđnh quan trổngca XFS àố lâ khẫ nùng bẫo àẫmtưëc àưå truy cêåp dûä liïåu cho cấc ûáng dng(Guaranteed Rate I/O), cho phếp cấc ûángdng duy trò àûúåc tưëc àưå truy xët dûä liïåutrïn àơa, rêët quan trổng àưëi vúái cấc hïåthưëng phên phưëi dõch v video cố àưå phêngiẫi cao hóåc cấc ûáng dng xûã l thưng tinvïå tinh àôi hỗi duy trò ưín àõnh tưëc àưå thaotấc dûä liïåu. Kernel Linux 2.4.17 trúã lïn hưỵtrúå rêët tưët àưëi vúái hïå thưëng file nây, àïí sûãdng cêìn phẫi patch lẩi kernel vúái cấcmodule ca XFS.HÏÅ THƯËNG FILE JFSÀûúåc phất triïín búãi IBM, JFS hïåthưëng file 64 bit, xêy dûång cho cấc internetfile server vúái àùåc àiïím thúâi gian khúãiàưång mấy nhanh, dung lûúång chûáa dûä liïåucao. JFS hưỵ trúå journaling cho dûä liïåu, dûåatrïn phûúng phấp thûúâng àûúåc sûã dngtrong hïå cú súã dûä liïåu: ghi lẩi quấ trònhthao tấc thay àưíi file (transaction).Trong trûúâng húåp cố sûå cưë xẫyra thò hïå thưëng chó cêìn chokhưi phc lẩi transaction trûúácàố mâ khưng cêìn phẫi àổc lẩihïët journal log, gip cho quấtrònh phc hưìi àûúåc nhanhhún. JFS hưỵ trúå tđnh nùngLogical Volumes cho phếp nưëicấc partition vêåt l thânh cấcpartition logic vúái dung lûúång cao. Ngoâira nố côn cho phếp ngûúâi dng tu biïëncêëp phất cấc khưëi tûâ 512, 1.024, 2.048 vâ4.096 byte cho lûu trûä dûä liïåu trïn àơa. Àïísûã dng JFS trïn Linux ta cng phẫi patchlẩi kernel vâ câi thïm cấc cưng c JFS àïíàõnh dẩng àơa (xem bẫng).Tâi liïåu tham khẫo: http://www.redhat.com/support/wpapers/redhat/ext3/index.html http://www.namesys.com/ http://oss.sgi.com/projects/xfs/papers/xfs_white/xfs_white_paper.html http://www-124.ibm.com/jfs/ÿHoâng Long – Arrive Technologies Inc.longh@atvn.com.vn . vâtruy cêåp cấc file nhỗ lâ tưëi ûu, vúái tưëc àưåtruy cêåp file tùng tûâ 8-15 lêìn vâ dungHïå àiïìu hânh LinuxCấc hïå thưëng file trong Linux PC WORLD. hïå àiïìu hânh Linux, giúâ àêychng ta cố rêët nhiïìu cấch trongviïåc chổn lûåa cấc hïå thưëng file( file system) cho tûâng loẩi ûángdng. Trong bâi viïët

Ngày đăng: 05/11/2012, 14:39

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan