Cac he thong file trong Linux

2 368 2
Cac he thong file trong Linux

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

Thông tin tài liệu

PC WORLD VIETNAM JULY 2 0 0 2 80 ÛÁNG DNG úái sûå hònh thânh vâ phất triïín ca hïå àiïìu hânh Linux, giúâ àêy chng ta cố rêët nhiïìu cấch trong viïåc chổn lûåa cấc hïå thưëng file (file system) cho tûâng loẩi ûáng dng. Trong bâi viïët nây tưi mën giúái thiïå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ùng ghi nhúá quấ trònh thao tấc trïn dûä liïåu (journaling). THÏË NÂO LÂ JOURNALING FILE SYSTEM? Chng ta hậy tòm hiïíu sú lûúåc vïì cấch lâ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 ln ln dng mưåt chûúng trònh àïí kiïím tra tđnh toân vển ca hïå thưëng file, àố lâ trònh fsck. Nïëu nố phất hiïån hïå thưëng file cố dêëu hiïå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 bõ àûáng àưåt ngưåt trong khi àang chẩ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âo dung 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ùm gigabyte) thò phẫi mêët hâng giúâ àïí quết lẩi toân bưå hïå thưëng ưí cûáng. Cấch lâm nây àûúåc ấp dng trïn cấc hïå thưëng file Unix chí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 àậ vâ à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ïåu trúã nïn tin cêåy vâ nhanh chống hún. Hïå thưëng file nhû vêåy àûúåc gổi lâ journaling file 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úái vư cng quan trổng, journaling file system, gip thao tấc dûä liïåu an toân hún. Ext3 côn sûã dng cú chïë JBD (Journaling Block Device) àïí bẫo vïå thưng tin thao tấc trïn dûä liïåu, àûúåc àấnh giấ lâ tin cêåy hún so vúái cấc hïå thưëng chó thûåc hiïån journaling trïn chó mc dûä liïåu (journaling of meta-data only) nhû Reiserfs, XFS hay JFS. Vúái cấch bẫ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ûng trong mưåt vâi trûúâng húåp, nhúâ thưng tin trong journal log mâ àêìu tûâ ưí cûáng di chuí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đch húåp. Ngoâi ra, ext3 côn cho phếp cẫi thiïån tưëc àưå thao tấc trïn dûä liïåu bùçng cấch thiïët lêåp thưng sưë cho hïå thưëng chó thûåc hiïån journaling àưëi vúái thao tấc trïn dûä liïåu (mode: data=writeback vâ data = ordered). Vúái mode data=writeback, quấ trònh khúãi àưång nhanh, dûä liïåu àûúåc ghi vâo àơa ngay sau khi àậ ghi xong thưng tin trong journal log (write back), vúái mode nây àưi khi cng xẫy ra tònh trẩng hû dûä liïåu nïëu sûå cưë xẫy ra ngay sau khi ghi journal log mâ 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âi trûúâng húåp. Vúái mode data=ordered, dûä liïåu àûúåc ghi lïn àơa trûúác rưìi múái àïën journal log, cho phếp ln ln bẫo àẫm tđnh toân vển ca dûä liïåu trong mổi tònh hëng vâ àêy cng chđnh lâ 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 chi tiïët vâ nhiïìu hún gip cẫi thiïån tưëc àưå truy cêåp dûä liïåu nhúâ tưëi ûu viïåc di chuín ca àêì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 chung trïn mẩng (NFS), tuy nhiïn do phẫi àổc lẩi nhiïìu loẩi thưng tin trïn journal log nïn thúâi gian khúãi àưång lẩi mấy húi chêåm hún so vúái hai mode trïn mưåt cht. Vò bẫn chêët cêëu trc ca ext3 àûúåc xêy dûång hoân toân dûåa trïn cú súã ca ext2 nï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 ext2 sang ext3 mâ dûä liïåu khưng hïì bõ ẫnh hûúãng vâ thûåc hiïån tûúng àưëi dïỵ dâng, àún giẫn. Vúái kernel Linux tûâ 2.4.15 trúã lïn thò ext3 àậ cố sùén mâ khưng cêìn phẫi àûa thïm vâo (patch) nhû cấc version c. Hiïån tẩi hậng Linux RedHat àậ àûa sùén module ext3 vâo kernel 2.4.7-10 trong bẫn RedHat 7.2 ca mònh. HÏÅ THƯËNG FILE REISERFS tûúãng ca viïåc xêy dûång hïå thưëng file Reiserfs xët phất tûâ u cêìu tưëi ûu viïåc lûu trûä cấc file nhỗ vâ tùng tưëc àưå truy cêåp àïën cấc file nây. Reiserfs sûã dng phûú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 vâ àùåc biïåt lâ 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ïån cêëp phất inode tơnh. Ngoâi ra, Reiserfs cng khưng cêëp phất cưë àõnh dung lûúång theo cấc khưëi 1KB hóåc 4KB nhû cấc hïå thưëng file khấc thûúâng lâm mâ sệ cêëp chđ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 vâ dung Hïå àiïìu hânh Linux Cấc hïå thưëng file trong Linux PC WORLD VIETNAM JULY 2 0 0 2 82 ÛÁNG DNG lûúång tiïët kiïåm àûúåc khoẫng trïn 5% so vúái hïå thưëng ext2 vúái cấc loẩi file cố kđch thûúác dûúái 1 KB. Reiserfs hưỵ trúå thûåc hiïån journaling trïn chó mc dûä liïåu (journaling of meta-data only). Mën sûã dng Reiserfs trïn Linux ta phẫi àûa cấc module nây vâo kernel vâ dng cấc cưng c Reiserfs àïí àõnh dẩng partition. Vđ d sau àêy thûåc hiïån chuín àưíi partition hda6 sang hïå thưëng file Reiserfs. /sbin/mkreiserfs /dev/hda6 mount /dev/hda6 /squidcache –t reiserfs Thûåc tïë, viïåc ấp dng hïå thưëng file Reiserfs trïn squid proxy server chẩy trïn Linux lâm cho viïåc truy cêåp internet àûúåc cẫi thiïån àấng kïí do squid truy cêåp cấc files nhỗ (*.html, *.gif, *.class .) trong cache vúái tưëc àưå cao. HÏÅ THƯËNG FILE XFS Àûúåc phất triïín búãi cưng ty Silicon Graphic tûâ nùm 1990 àïí khùỉc phc hẩn chïë ca cấc hïå thưëng file hiïån hânh vïì kđch thûúác vâ sưë lûúång partition, directory vâ file. Ngây nay XFS àậ sùén sâng àïí sûã dng trong Linux vúái cấc tđnh nùng vư cng mẩnh mệ vâ ûáng dng trong cấc hïå thưëng cố 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â 2 64 - 1 byte = 9 Exabyte (do sûã dng sưë ngun cố dêëu nïn 1 bit dng àïí biïíu thõ dêëu), cố kêm theo cưng c Volume Manager cho phếp quẫn l lïn túái 128 Volume, mưỵi Volume cố thïí àûúåc ghếp lïn túái 100 partition àơa cûáng vêåt l, hưỵ trúå chûác nùng journaling àưëi vúái dûä liïåu. Mưåt àùåc tđnh quan trổng ca XFS àố lâ khẫ nùng bẫo àẫm tưëc àưå truy cêåp dûä liïåu cho cấc ûáng dng (Guaranteed Rate I/O), cho phếp cấc ûáng dng duy trò àûúåc tưëc àưå truy xët dûä liïåu trï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ên giẫi cao hóåc cấc ûáng dng xûã l thưng tin vïå tinh àôi hỗi duy trò ưín àõnh tưëc àưå thao tấ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ấc module ca XFS. HÏÅ THƯËNG FILE JFS Àûúåc phất triïín búãi IBM, JFS lâ hïå thưëng file 64 bit, xêy dûång cho cấc internet file server vúái àùåc àiïím thúâi gian khúãi àưång mấy nhanh, dung lûúång chûáa dûä liïåu cao. JFS hưỵ trúå journaling cho dûä liïåu, dûåa trïn phûúng phấp thûúâng àûúåc sûã dng trong hïå cú súã dûä liïåu: ghi lẩi quấ trònh thao tấc thay àưíi file (transaction). Trong trûúâng húåp cố sûå cưë xẫy ra thò hïå thưëng chó cêìn cho khưi phc lẩi transaction trûúác àố mâ khưng cêìn phẫi àổc lẩi hïët journal log, gip cho quấ trònh phc hưìi àûúåc nhanh hún. JFS hưỵ trúå tđnh nùng Logical Volumes cho phếp nưëi cấc partition vêåt l thânh cấc partition logic vúái dung lûúång cao. Ngoâi ra nố côn cho phếp ngûúâi dng tu biïën cêë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 patch lẩ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 . hïå àiïìu hânh Linux, giúâ àêy chng ta cố rêët nhiïìu cấch trong viïåc chổn lûåa cấc hïå thưëng file (file system) cho tûâng loẩi ûáng dng. Trong bâi viïët. thưëng file nhû vêåy àûúåc gổi lâ journaling file 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

Ngày đăng: 07/02/2013, 06:51

Từ khóa liên quan

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

Tài liệu liên quan