Linux下實現從Ext2到Ext3檔案系統的轉換

來源:互聯網
上載者:User
摘自: linux.ccidnet.com 
 

記錄檔系統ext3具有ext2所不具備的特點和優勢。順利完成從ext2到ext3的轉換,是實現ext3優勢的必經之路。ext3檔案系統是ext2檔案系統的更高一級版本,它有一個其它同類記錄檔系統所不具備的獨特優勢——完全相容ext2檔案系統,因而ext3能充分利用ext2中已有的操作和應用,而且比ext2更有效、更易用。它在ext2的基礎上加入了記錄中繼資料的日誌功能,是一個支援非同步日誌。Red Hat 7.2和SuSE 7.3已率先發行了包含ext3檔案系統的Linux。通過使用Linux最新安裝版本和e2fsprogs
Linux公用程式,可將ext3檔案系統編譯到系統的核心中。這裡介紹的是ext2到ext3系統轉換的一些基本方法,並為使用者提供修正的參考建議。 

  ext3記錄檔系統 

  1.記錄檔系統 

  記錄檔系統的設計思想是追蹤檔案系統的變化而不是檔案系統的內容。它用獨立的記錄檔跟蹤磁碟內容的變化,就像關係型資料庫(RDBMS),因而比傳統的檔案系統安全。記錄檔系統可以用交易處理的方式,提交或恢復檔案系統的變化。當系統非正常關閉,處於寫入磁碟過程中的檔案系統被非正常卸載,檔案系統就會處於不一致的狀態。為了盡量減少檔案系統的不一致性,縮短作業系統的啟動時間,檔案系統需追蹤引起系統改變的記錄,這些記錄存放在與檔案系統相分離的地方,通常稱為“日誌”。一旦這些日誌記錄被安全地寫入,記錄檔系統就可以將它們應用到檔案系統中,清除引起系統發生改變的記錄,並將它們組成一個引起檔案系統改變的集。 

  記錄檔的主要作用就是可以最大程度地保證檔案系統的一致性。通常檔案系統存放日誌記錄,當重新引導電腦啟動時,安裝程式為保證檔案系統的一致性會檢測日誌記錄,並將它安全地、完整地應用到檔案系統中。在大多數情況下,一般作業系統並不檢測檔案系統的一致性,使用記錄檔系統的電腦則會在系統引導後,立即使用日誌檢測,降低資料丟失的可能性。 

  2.ext3 

  ext3檔案系統是記錄檔,且100%地相容ext2檔案系統,其與ext2檔案系統的主要區別便是它的快速更新檔案儲存體。電腦開始從磁碟上讀取或寫入資料就必須保證檔案系統中檔案與目錄的一致性,所有記錄檔中的資料均以資料區塊的形式存放在存放裝置中。當磁碟分割時檔案系統即被建立,按照檔案形式、目錄形式支援儲存資料、組織資料的使用。 

  ext3和ext2一樣是由來自多家廠商的開發人員聯合開發的。它的開發不依賴於任何個人或組織,它提供並使用了一個通用日誌層generic journaling layer (jbd)。該層可以在其它環境中使用,能在檔案系統中使用,還能夠應用到其它裝置中。目前Linux開始支援的NVRAM裝置,ext3就能夠支援。當由於軟體或硬體錯誤導致檔案系統崩潰時,檔案修複程式e2fsck在修複資料方面是非常成功的,ext3使用了和e2fsck相同的代碼來修複崩潰的檔案系統,因此當出現資料崩潰時,ext3具有和ext2同樣的防止資料丟失的優點。 

  值得指出的是,上述這些優點中的每一點都不是ext3所專屬的,其中的大部分別的檔案系統也具有,但只有ext3才盡數具備,這也正是ext3的綜合優勢。ext3稱得上是目前最能滿足使用者需要的記錄檔系統。 

  從ext2到ext3的轉換 

  1.轉換

  從ext2檔案系統到ext3檔案系統的轉換,一般的方法是通過在已有的ext2檔案系統上添加記錄檔。假設要把原/back (/dev/hda5)從ext2檔案系統轉換成ext3檔案系統,通常具體步驟如下(建議在轉換系統以前,最好備份檔案系統): 

  (1)卸載/back目錄 

  執行如下命令: 
  umount /back 

  (2)轉換 

  所使用的命令格式如下: 
  /sbin/tune2fs -j 

  例如,要將分區/dev/hda5的ext2系統轉換成ext3檔案系統,所使用的命令如下: 

  /sbin/tune2fs -j /dev/hda5 

  其中tune2fs是轉換命令,- j選項表示是在已存在的ext2檔案系統上建立的ext3日誌。 

  (3)安裝/back目錄 

  執行如下命令: 
  mount -text3 /dev/hda5/back 

  執行命令後系統將建立一個記錄檔,如果檔案系統在轉換的過程已經被裝載(Mount),那麼在根目錄下會出現“.journal”檔案,否則是沒有這個記錄檔的。 

  (4)修改/etc/fstab檔案 

  例如,在將ext2記錄檔系統轉換成ext3記錄檔系統之後,立即更新/etc/fstab引導記錄,可以使用“auto”選項來進行。

  轉換前情況: 
  /dev/hda5 /opt ext2 defaults 1 2 

  轉換後情況: 
  /dev/hda5 /opt ext3 defaults 1 0 

  其中Linux的最後一個欄位/etc/ fstab是為引導系統而設定的,並由“fsck(file system check)”程式檢驗檔案系統的一致性,同時把/etc/fstab檔案中的ext2修改為ext3。當使用ext3檔案系統時,能將這個欄位設定為“0”。這意味著fsck程式將不檢查檔案系統的一致性,檔案系統的一致性將由後面的日誌提供保證。如果要轉換的是引導系統,必須使用initrd啟動系統,可運行mkinitrd,並參照其手冊描述步驟,同時確認LILO或Grub配置中是否裝載了initrd。如果轉換ext3沒有成功,系統仍然能啟動,但是引導系統會以ext2形式裝載,而不是ext3。可以使用命令cat/proc/mount來確認這一點。 

  使用如下命令: 
  mount 

  可以顯示: 
  /dev/hda5 on /test type ext3 (rw) 

  這時表示系統已成功地從ext2轉換到ext3。 

  2.建立 

  升級一個已有的ext2,使用tune2fs就可以了。對於需要建立新ext3檔案系統的情況,要使用安裝的e2fsprogs軟體包中的mke2fs命令加-f參數。這就可以建立新的ext3檔案系統。假設打算把/dev/hda5建立為ext3檔案系統,具體步驟如下: 

  (1)建立 

  執行如下命令: 
  mke2fs -j /dev/hda5 

  (2)安裝/back目錄 

  執行如下命令: 
  mount -t ext3 /dev/hda5 /back 

  (3)修改/etc/fstab檔案 

  新的e2fsprogs中的e2fsck支援ext3,當一個ext3檔案系統被破壞時,先卸載該裝置,再用e2fsck修複。 

  執行如下命令: 
  umount /back 

  e2fsck -fy /dev/hda5 

  當系統重新啟動時,一般都要用記錄檔系統進行檢查,這需要一定的時間。用ext3可以避免重啟動時間長度時間的檔案系統檢查,如使用下面的命令: 

  tune2fs -i 0 -c 0 /dev/hda4 

  可以關閉檔案系統檢查。 

  如果要從ext3返回ext2,方法也非常簡單,即卸載ext3重新安裝ext2,命令如下: 

  mount -text2 /dev/hda5 /test 

  當然在啟動中安裝ext2,要在etc/fstab檔案中重新設定才行。 

  3.修正 

  ext3也有缺點,其最大的缺點是沒有現代檔案系統所具有的能提高檔案資料處理速度和解壓的高效能。Red Hat Linux 8.0.94 發行註記上也指出ext3的一些問題。如果在beta版本上建立了打算持續保留的檔案系統,我們推薦從每個檔案系統裡刪除HTree索引功能的所有痕迹。方法是首先使用以下命令: 

  tune2fs -O ^dir_index /dev/

  然後可以使用下面的命令從目錄中刪除索引: 

  e2fsck -fD /dev/

  結束語

  Linux作業系統是作業系統家族中的優秀成員,是近年來使用者數量增長最快的系統軟體。ext2檔案系統作為所有Linux發行版本的基本檔案系統,負責對檔案的管理、存取、共用及保護等手段提供給作業系統和使用者。它不僅方便安全,還有效地提高了系統資源的利用率。在Red Hat Linux 7.2中,Red Hat首次採用支援記錄檔系統ext3。它作為第一個正式支援的記錄檔系統,無疑是全面相容ext2的高效能檔案系統,其相容性包括在ext2檔案系統上使用的所有其它應用。從ext2到ext3的升級簡便,而且ext3改進了Linux系統的效能,解決系統中存在的不一致性的問題。ext3檔案系統是一個優秀的、極具發展前景的檔案系統。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.