請關注本頭條號,每天堅持更新原創乾貨技術文章。
如需學習視頻,請在微信搜索公眾號「智傳網優」直接開始自助視頻學習
1. 前言
本文主要講解如何正確選擇linux根分區文件系統類型,文件系統類型並不是分區時確認的,而是在格式化階段確認和實施的,格式分區時,選擇合適的文件系統很重要。
大家知道,Windows作業系統里最常用的文件系統是NTFS,而Linux系統則大為不同。
linux文件系統格式類型介紹
2. 了解各種文件系統類型特性
Linux 支持多種不同的文件系統。每種文件系統都有其優點和缺點,以及它們自己的一組性能特徵。文件系統的一個重要屬性是日誌,它有助於在發生系統崩潰後更快地恢復。一般而言,在選擇時,日誌文件系統優先於非日誌文件系統。您可能還希望考慮您選擇的文件系統是否支持安全增強 Linux(或 SELinux)。兩種較新的文件系統 ZFS 和 btrfs 都使用了一種稱為 Copy on Write(寫時複製)的技術來改進數據完整性和解決大型存儲需求。以下是應對 LPI 考試您需要知道的文件系統類型的簡介。請參見 參考資料,獲取額外的背景信息。
了解各種文件系統類型特性
2.1 ext2 文件系統介紹
ext2 文件系統(也稱為第二個擴展文件系統)被開發用來補充早期 Linux 版本中使用的 Minix 文件系統中的不足之處。多年以來,它被廣泛用於 Linux 之上。ext2 中沒有日誌,它在很大程度上已被 ext3 和最新的 ext4 所取代。
ext2 文件系統介紹
2.2 ext3 文件系統介紹
ext3 文件系統向標準的 ext2 文件系統添加了日誌功能,因此是一個非常穩定的文件系統的一次革命性改進。它在大部分條件下都提供了合理的性能,而且仍在不斷改進。因為它在成熟的 ext2 文件系統上添加了日誌,所以可以將現有的 ext2 文件系統轉換為 ext3,甚至可以在需要時再次轉換回來。
EXT3文件系統的唯一目標是克服fsck程序需要大量時間來完全恢復因文件更新操作期間發生的不正確關閉而損壞的磁碟結構的問題。EXT文件系統的唯一增加是journal,它預先記錄了將對文件系統執行的改動。磁碟結構的其餘部分和EXT2中是相同的。
EXT3中的journal並不是直接將數據寫入磁碟的數據區域,而是將文件數據及其元數據寫入到磁碟上的指定區域。一旦數據安全地存儲在硬碟上,它就可以合併到目標文件或附加到目標文件中,而這幾乎不會丟失數據。由於該數據被提交到磁碟的數據區域,因此需更新journal以便在發生系統故障時文件系統保持一致狀態,然後該journal中的所有數據都被提交。在下次啟動時,將檢查文件系統是否存在不一致性,然後將journal中剩餘的數據提交到磁碟的數據區域以完成對目標文件的更新。
Linux實現的ext3文件系統,包括3個級別的日誌:
日記:(慢,但風險小)元數據和文件內容都在提交到主文件系統前寫入。這樣將提高穩定性但性能上有所損失,因為所有的數據都要寫入2次。如果沒有在/etc/fstab中加上這個選項,修改中的文件遇上kernel panic或突然斷電的時候就可能發生損毀的情況,當然,這還是得看軟體是怎麼寫入文件的。
順序:(中速,中等風險)順序和寫回類似,但在對應的元數據標記為提交前,強制寫入文件內容。這是很多Linux發行版默認的方式。
回寫:(快,但風險最大;在某種感覺上和ext2相當)這邊會寫入日誌的只有metadata而已,文件的內容並不會跟著寫入日誌裡面。這樣的作法讓整個效率變快了不少,不過也同樣造成了文件寫入時不按順序的結果。舉例來說,文件在附加變大的同時發生了crash的情況,就可能造成下次掛載時文件後面就附加一堆垃圾數據的情況。
儘管ext3缺少一些當代文件系統的特點,像是動態的inode、樹狀的資料儲放結構等等,都是被視作ext3的缺點之一,不過在這些特點之外,ext3在文件系統回復上面就有了很好的表現。跟樹狀結構的文件系統相比,在ext3上面metadata是放在固定的位置,而且在寫入的同時會重複寫入的一些資料讓ext2/3在面臨資料損毀的情況下還有挽回的機會。
2.3 ext4 文件系統介紹
ext4 文件系統最初是 ext3 的擴展,它通過增加存儲限制和提高性能來滿足更大的文件系統的需求。為了保留 ext3 的穩定性,2006 年 6 月決定將這些擴展分支到一個新文件系統中,也就是 ext4。ext4 文件系統於 2008 年 12 月發布,包含在 2.6.28 內核中。對 ext3 的一些更改包括:
2.4 XFS 文件系統介紹
XFS,一種高性能的日誌文件系統,最早於1993年,由Silicon Graphics為他們的IRIX作業系統而開發,是IRIX 5.3版的默認文件系統。2000年5月,Silicon Graphics以GNU通用公共許可證發布這套系統的原始碼,之後被移植到Linux內核上。XFS特別擅長處理大文件,同時提供平滑的數據傳輸。當前CentOS 7也將XFS+LVM作為默認的文件系統。
XFS 是一種包含日誌功能的文件系統。它擁有可靠的功能並針對可伸縮性進行了優化。XFS 大膽地將傳輸中的數據緩存在 RAM 中,所以在使用 XFS 時,推薦使用不會中斷的電源。
交換文件系統
交換空間必須格式化才能用作交換空間,但它一般不會被視為文件系統。
XFS的開發始於1993年,在1994年被首次部署在IRIX 5.3上。2000年5月,XFS在GNU通用公共許可證下發布,並被移植到Linux上。2001年XFS首次被Linux發行版所支持,現在所有的Linux發行版上都可以使用XFS。
XFS最初被合併到Linux 2.4主線中,這使得XFS幾乎可以被用在任何一個Linux系統上。Arch, Debian, Fedora, openSUSE, Gentoo, Kate OS, Mandriva, Slackware, Ubuntu, VectorLinux和Zenwalk的安裝程序中都可選擇XFS作為文件系統,但由於默認的啟動管理器GRUB中存在bug[1],以上發行版中只有少數幾個允許用戶在 /boot 掛載點(引導目錄)上使用XFS文件系統。
FreeBSD在2005年12月獲得了對XFS的只讀支持,並在次年6月引入了試驗性的寫支持。不過這些只是為了方便用戶從Linux上遷移到FreeBSD上,並不是為了把XFS作為主打文件系統使用。Red Hat Enterprise Linux 5.4 64位版的內核完整支持XFS,但未包含創建和使用XFS的命令行工具(CentOS正在進行這方面的嘗試),原因是這些軟體包還不夠穩定[2]。Red Hat Enterprise Linux 7/CentOS默認使用XFS文件系統。
2.5 vfat 文件系統
此文件系統(也稱為 FAT32)沒有日誌功能,缺少完整的 Linux 文件系統實現所需的許多功能。它對在 Windows 與 Linux 系統之間交換數據很有用,因為它可以同時被 Windows 和 Linux 讀取。不要將此文件系統用於 Linux,除非用該文件系統在 Windows 和 Linux 之間共享數據。如果將 Linux 存檔文件解壓到 vfat 磁碟上,您將失去一些權限,比如執行權限,而且您將失去可能存儲在該存檔文件中的所有符號連結。
2.6 ReiserFS 文件系統
ReiserFS 是一種基於 B 樹的文件系統,它具有非常好的整體性能,尤其對於大量小文件。ReiserFS 還具有良好的擴展性能並具有日誌功能。它沒有再得到積極開發,不支持 SELinux,在很大程度上已被 Reiser4 取代,而後者的未來並不明朗。
2.7 btrfs 文件系統
btrfs(B 樹文件系統)最初由 Oracle 開發,可根據 GPL 許可來獲得(參見 參考資料)。它是一種用於 Linux 的新的寫時複製文件系統,旨在實現高級功能,同時專注於容錯、修復和輕鬆的管理。Btrfs 文件系統代碼自 2009 年的 2.6.29 版開始已加入主線內核中。具體地講,該文件系統旨在高效地處理大型文件,處理貫穿多個設備的文件系統。
一些設計目標包括:
3. 適合Linux根分區的文件系統
適合Linux根分區的文件系統
CentOS 7.0開始默認文件系統是xfs,CentOS 6是ext4,CentOS 5是ext3
xfs是一種非常優秀的日誌文件系統,它是SGI公司設計的。xfs被稱為業界最先進的、最具可升級性的文件系統技術xfs是一個64位文件系統,最大支持8EB減1位元組的單個文件系統,實際部署時取決於宿主作業系統的最大塊限制。對於一個32位Linux系統,文件和文件系統的大小會被限制在16TB。
Linux kernel 自 2.6.28 開始正式支持新的文件系統 Ext4。 Ext4 是 Ext3 的改進版,修改了 Ext3 中部分重要的數據結構,而不僅僅像 Ext3 對 Ext2 那樣,只是增加了一個日誌功能而已。Ext4 可以提供更佳的性能和可靠性,還有更為豐富的功能:
ext3和ext4的最大區別在於,ext3在fsck時需要耗費大量時間(文件越多,時間越長),而ext4在fsck時用的時間會少非常多ext4是第四代擴展文件系統(英語:Fourth EXtended filesystem,縮寫為ext4)是linux系統下的日誌文件系統,是ext3文件系統的後繼版本。
本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下連結:
https://www.linuxrumen.com/rmxx/1121.html
點擊了解更多,快速查看更多的技術文章列表。