溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Btrfs和LVM-ext4該怎么選擇

發(fā)布時(shí)間:2021-10-22 09:16:57 來(lái)源:億速云 閱讀:166 作者:小新 欄目:系統(tǒng)運(yùn)維

小編給大家分享一下Btrfs和LVM-ext4該怎么選擇,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Fedora 33 在其各類(lèi)桌面版本中引入了新的默認(rèn)文件系統(tǒng) Btrfs。多年以來(lái),F(xiàn)edora 一直在 邏輯卷管理Logical Volume Manager(LVM) 卷之上使用 ext4,引入 Brtfs 對(duì) Fedora 來(lái)說(shuō)是一個(gè)很大的轉(zhuǎn)變。更改默認(rèn)文件系統(tǒng)需要 令人信服的原因。雖然 Btrfs 是令人興奮的下一代文件系統(tǒng),但 LVM 上的 ext4 是成熟而穩(wěn)定的。本指南旨在探索各自的高級(jí)特性,使得更容易在 Btrfs 和 LVM-ext4 之間進(jìn)行選擇。

先說(shuō)結(jié)論

最簡(jiǎn)單的建議是堅(jiān)持使用默認(rèn)值。全新安裝的 Fedora 33 環(huán)境默認(rèn)為 Btrfs,升級(jí)之前的 Fedora  版本將繼續(xù)使用最初安裝的設(shè)置,通常是 LVM-ext4。對(duì)于現(xiàn)有的 Fedora 用戶(hù)來(lái)說(shuō),獲取 Btrfs  的最簡(jiǎn)單方式是全新安裝。然而,全新安裝比簡(jiǎn)單升級(jí)更具破壞性。除非有特殊需要,否則這種干擾可能是不必要的。Fedora  開(kāi)發(fā)團(tuán)隊(duì)仔細(xì)考慮了這兩個(gè)默認(rèn)值,因此對(duì)任何一個(gè)選擇都要有信心。

那么其他文件系統(tǒng)呢?

現(xiàn)在有很多 Linux 系統(tǒng)的文件系統(tǒng)。在加上卷管理器、加密方法和存儲(chǔ)機(jī)制的組合后,這一數(shù)字呈爆炸式增長(zhǎng)。那么,為什么要關(guān)注  btrfs 和 LVM-ext4 呢?對(duì)于 Fedora 的用戶(hù)來(lái)說(shuō),這兩種設(shè)置可能是最常見(jiàn)的。在 Fedora 11 中,LVM 之上的  ext4 成為了默認(rèn)磁盤(pán)布局,在此之前則使用的是 ext3。

既然 Btrfs 是 Fedora 33 的默認(rèn)設(shè)置,那么絕大多數(shù)現(xiàn)有用戶(hù)會(huì)考慮是應(yīng)該原地踏步還是向前跳躍。面對(duì)全新安裝的 Fedora  33 環(huán)境,有經(jīng)驗(yàn)的 Linux 用戶(hù)可能會(huì)想知道是使用這個(gè)新的文件系統(tǒng),還是退回到他們熟悉的文件系統(tǒng)。因此,在眾多可能的存儲(chǔ)選項(xiàng)中,許多  Fedora 用戶(hù)會(huì)想知道如何在 Btrfs 和 LVM-ext4 之間進(jìn)行選擇。

兩者的共性

盡管兩個(gè)文件系統(tǒng)之間存在核心差異,但 Btrfs 和 LVM-ext4 實(shí)際上有很多共同之處。兩者都是成熟且經(jīng)過(guò)充分測(cè)試的存儲(chǔ)技術(shù)。從 Fedora Core 的早期開(kāi)始,就一直在使用 LVM,而 ext4 在 2009 年成為 Fedora 11 的默認(rèn)設(shè)置。Btrfs 在 2009 年并入 Linux 主線內(nèi)核,并且 Facebook 廣泛使用了該文件系統(tǒng)。SUSE Linux Enterprise 12 在 2014 年使其成為默認(rèn)文件系統(tǒng)。因此,它在生產(chǎn)環(huán)境中也有著長(zhǎng)久的運(yùn)行時(shí)間。

這兩個(gè)系統(tǒng)都能很好地防止因意外停電而導(dǎo)致的文件系統(tǒng)損壞,盡管它們的實(shí)現(xiàn)方式不同。它們支持的配置包括使用單盤(pán)設(shè)置和跨越多個(gè)設(shè)備,并且這兩種配置都能夠創(chuàng)建近乎即時(shí)的快照。有各種工具可以幫助管理這兩種系統(tǒng),包括命令行和圖形界面。這兩種解決方案在家用臺(tái)式機(jī)和高端服務(wù)器上都同樣有效。

LVM-ext4 的優(yōu)勢(shì)

Btrfs和LVM-ext4該怎么選擇

LVM 上 ext4 的結(jié)構(gòu)

ext4 文件系統(tǒng) 專(zhuān)注于高性能和可伸縮性,沒(méi)有太多額外的花哨之處。它能有效地防止長(zhǎng)時(shí)間后的碎片化,并當(dāng)碎片化出現(xiàn)后提供了 很好的工具。ext4 之所以堅(jiān)如磐石,是因?yàn)樗鼧?gòu)建在前代的 ext3 文件系統(tǒng)之上,帶來(lái)了多年的系統(tǒng)內(nèi)測(cè)試和錯(cuò)誤修復(fù)。

LVM-ext4 環(huán)境中的大多數(shù)高級(jí)功能都來(lái)自 LVM 本身。LVM 位于文件系統(tǒng)的“下方”,這意味著它支持任何文件系統(tǒng)。邏輯卷Logical volume(LV)是通用的塊設(shè)備,因此 虛擬機(jī)可以直接使用它們。這種靈活性使得每個(gè)邏輯卷都可以使用合適的文件系統(tǒng),用合適的選項(xiàng)應(yīng)對(duì)各種情況。這種分層方法還遵循了“小工具協(xié)同工作”的 Unix 哲學(xué)。

從硬件抽象出來(lái)的卷組volume group(VG)允許 LVM 創(chuàng)建靈活的邏輯卷。每個(gè)邏輯卷都提取自同一個(gè)存儲(chǔ)池,但具有自己的設(shè)置。調(diào)整卷的大小比調(diào)整物理分區(qū)的大小容易得多,因?yàn)闆](méi)有數(shù)據(jù)有序放置的限制。LVM 物理卷physical volume(PV)可以是任意數(shù)量的分區(qū),甚至可以在系統(tǒng)運(yùn)行時(shí)在設(shè)備之間移動(dòng)。

LVM 支持只讀和讀寫(xiě)的 快照,這使得從活動(dòng)系統(tǒng)創(chuàng)建一致的備份變得很容易。每個(gè)快照都有一個(gè)定義的大小,更改源卷或快照卷將占用其中的空間。又或者,邏輯卷也可以是稀疏配置池thinly provisioned pool的一部分。這允許快照自動(dòng)使用池中的數(shù)據(jù),而不是使用在創(chuàng)建卷時(shí)定義的固定大小的塊。

有多個(gè)磁盤(pán)驅(qū)動(dòng)器的 LVM

當(dāng)有多個(gè)設(shè)備時(shí),LVM 才真正大放異彩。它原生支持大多數(shù) RAID 級(jí)別,每個(gè)邏輯卷可以具有不同的 RAID 級(jí)別。LVM 將自動(dòng)為 RAID 配置選擇適當(dāng)?shù)奈锢碓O(shè)備,或者用戶(hù)可以直接指定它?;镜?RAID 支持包括用于性能的數(shù)據(jù)條帶化(RAID0)和用于冗余的鏡像(RAID1)。邏輯卷也可以使用 RAID5、RAID6 和 RAID10 等高級(jí)設(shè)置。LVM RAID 支持已經(jīng)成熟,因?yàn)?LVM 在底層使用的 設(shè)備映射器(dm) 和 多設(shè)備(md) 內(nèi)核支持, 與 mdadm 使用的一樣。

對(duì)于具有快速和慢速驅(qū)動(dòng)器的系統(tǒng),邏輯卷也可以是 緩存卷。經(jīng)典示例是 SSD 和傳統(tǒng)磁盤(pán)驅(qū)動(dòng)器的組合。緩存卷使用較快的驅(qū)動(dòng)器來(lái)存儲(chǔ)更頻繁訪問(wèn)的數(shù)據(jù)(或用作寫(xiě)緩存),而慢速的驅(qū)動(dòng)器則用于處理大量數(shù)據(jù)。

LVM 中大量穩(wěn)定的功能以及 ext4 的可靠性在既往的使用中早已被證明了。當(dāng)然,功能越多就越復(fù)雜。在配置 LVM  時(shí),要找到合適的功能選項(xiàng)是很有挑戰(zhàn)性的。對(duì)于單驅(qū)動(dòng)器的臺(tái)式機(jī)系統(tǒng),LVM 的功能(例如 RAID  和緩存卷)不適用。但是,邏輯卷比物理分區(qū)更靈活,快照也很有用。對(duì)于正常的桌面使用,LVM 的復(fù)雜性會(huì)成為典型的用戶(hù)可能遇到的問(wèn)題恢復(fù)的障礙。

Btrfs 的優(yōu)勢(shì)

Btrfs和LVM-ext4該怎么選擇

Btrfs 結(jié)構(gòu)

從前幾代文件系統(tǒng)中學(xué)到的經(jīng)驗(yàn)指導(dǎo)了構(gòu)建到 Btrfs 的功能設(shè)計(jì)。與 ext4 不同,它可以直接跨越多個(gè)設(shè)備,因此它具有通常僅在卷管理器中才能找到的功能。它還具有 Linux 文件系統(tǒng)空間中獨(dú)有的功能(ZFS 具有相似的功能集,但不要指望它在 Linux 內(nèi)核中出現(xiàn))。

Btrfs 的主要功能

也許最重要的功能是對(duì)所有數(shù)據(jù)進(jìn)行校驗(yàn)和checksumming。校驗(yàn)和與寫(xiě)時(shí)復(fù)制copy-on-write(COW)一起,提供了在意外斷電后確保文件系統(tǒng)完整性的 關(guān)鍵方法。更獨(dú)特的是,校驗(yàn)和可以檢測(cè)數(shù)據(jù)本身中的錯(cuò)誤。悄然的數(shù)據(jù)損壞(有時(shí)也稱(chēng)為 bitrot)比大多數(shù)人意識(shí)到的更常見(jiàn)。如果沒(méi)有主動(dòng)驗(yàn)證,損壞最終可能會(huì)傳播到所有可用的備份中。這使得用戶(hù)沒(méi)有有效的副本。通過(guò)透明地校驗(yàn)所有數(shù)據(jù),Btrfs 能夠立即檢測(cè)到任何此類(lèi)損壞。啟用正確的 dup 或 raid 選項(xiàng),文件系統(tǒng)也可以透明地修復(fù)損壞。

寫(xiě)時(shí)復(fù)制也是 Btrfs 的基本功能,因?yàn)樗谔峁┪募到y(tǒng)完整性和即時(shí)子卷快照方面至關(guān)重要。從公共子卷創(chuàng)建快照后,快照會(huì)自動(dòng)共享底層數(shù)據(jù)。另外,事后的重復(fù)數(shù)據(jù)刪除deduplication 使用相同的技術(shù)來(lái)消除相同的數(shù)據(jù)塊。單個(gè)文件可以通過(guò)使用 cp 的 reflink 選項(xiàng) 來(lái)使用 COW 功能。reflink 副本對(duì)于復(fù)制大型文件(例如虛擬機(jī)鏡像)特別有用,這些文件往往隨著時(shí)間的推移具有大部分相同的數(shù)據(jù)。

Btrfs 支持跨越多個(gè)設(shè)備,而無(wú)需卷管理器。多設(shè)備支持可提供數(shù)據(jù)鏡像功能以實(shí)現(xiàn)冗余和條帶化以提高性能。此外,還實(shí)驗(yàn)性地支持更高級(jí)的 RAID 級(jí)別,例如 RAID 5 和 RAID 6。與標(biāo)準(zhǔn) RAID 設(shè)置不同,Btrfs 的 RAID1 實(shí)際上允許奇數(shù)個(gè)設(shè)備。例如,它可以使用 3 個(gè)設(shè)備,即使它們的大小不同。

所有 RAID 和 dup 選項(xiàng)都是在文件系統(tǒng)級(jí)別指定的。因此,各個(gè)子卷不能使用不同的選項(xiàng)。請(qǐng)注意,使用多設(shè)備的 RAID1  選項(xiàng)意味著即使一個(gè)設(shè)備發(fā)生故障,卷中的所有數(shù)據(jù)都是可用的,并且校驗(yàn)功能可以保持?jǐn)?shù)據(jù)本身的完整性。這超出了當(dāng)前典型的 RAID  設(shè)置所能提供的范圍。

附加功能

Btrfs 還支持快速簡(jiǎn)便的遠(yuǎn)程備份。子卷快照可以 發(fā)送到遠(yuǎn)程系統(tǒng) 進(jìn)行存儲(chǔ)。通過(guò)利用文件系統(tǒng)中固有的 COW 元數(shù)據(jù),這些傳輸通過(guò)僅發(fā)送先前發(fā)送的快照中的增量更改而非常有效。諸如 snapper 之類(lèi)的用戶(hù)應(yīng)用程序使管理這些快照變得容易。

另外,Btrfs 卷可以具有 透明壓縮 功能,并且 chattr +c 可以標(biāo)記進(jìn)行壓縮的單個(gè)文件或目錄。壓縮不僅可以減少數(shù)據(jù)消耗的空間,還可以通過(guò)減少寫(xiě)入操作量來(lái)幫助延長(zhǎng) SSD 的壽命。壓縮當(dāng)然會(huì)帶來(lái)額外的 CPU 開(kāi)銷(xiāo),但是有很多選項(xiàng)就可以權(quán)衡取舍。

Btrfs 集成了文件系統(tǒng)和卷管理器功能,這意味著總體維護(hù)比 LVM-ext4 更簡(jiǎn)單。當(dāng)然,這種集成的靈活性較低,但是對(duì)于大多數(shù)臺(tái)式機(jī)甚至服務(wù)器而言,設(shè)置已足夠。

LVM 上使用 Btrfs

Btrfs 可以 就地轉(zhuǎn)換 ext3/ext4 文件系統(tǒng)。就地轉(zhuǎn)換意味著無(wú)需將數(shù)據(jù)復(fù)制出來(lái)然后再?gòu)?fù)制回去。數(shù)據(jù)塊本身甚至都不需要修改。因此,對(duì)于現(xiàn)有的 LVM-ext4 系統(tǒng),一種選擇是將 LVM 保留在原處,然后簡(jiǎn)單地將 ext4 轉(zhuǎn)換為 Btrfs。雖然可行且受支持,但有一些原因使它不是最佳選擇。

Btrfs 的吸引力之一是與卷管理器集成的文件系統(tǒng)所帶來(lái)的更輕松的管理。要是在 LVM  之上運(yùn)行,對(duì)于系統(tǒng)維護(hù),仍然要對(duì)額外的卷管理器進(jìn)行一些設(shè)置。同樣,LVM 設(shè)置通常具有多個(gè)固定大小的邏輯卷,并具有獨(dú)立文件系統(tǒng)。雖然 Btrfs  支持給定的計(jì)算機(jī)上的多個(gè)卷,但是許多不錯(cuò)的功能都需要單一卷具有多個(gè)子卷。如果每個(gè) LVM 卷都有一個(gè)獨(dú)立的 Btrfs  卷,則用戶(hù)仍然需要手動(dòng)管理固定大小的 LVM 卷。雖然能夠收縮掛載的 Btrfs  文件系統(tǒng)的能力確實(shí)使處理固定大小的卷的工作變得更輕松。通過(guò)在線收縮功能,就無(wú)需啟動(dòng) 實(shí)時(shí)鏡像 了。

在使用 Btrfs 的多設(shè)備支持時(shí),必須仔細(xì)考慮邏輯卷的物理位置。對(duì)于 Btrfs  而言,每個(gè)邏輯卷都是一個(gè)單獨(dú)的物理設(shè)備,如果實(shí)際情況并非如此,則某些數(shù)據(jù)可用性功能可能會(huì)做出錯(cuò)誤的決定。例如,如果單個(gè)驅(qū)動(dòng)器發(fā)生故障,對(duì)數(shù)據(jù)使用  RAID1 通??梢蕴峁┍Wo(hù)。如果實(shí)際邏輯卷在同一物理設(shè)備上,則沒(méi)有冗余。

如果強(qiáng)烈需要某些特定的 LVM 功能,例如原始?jí)K設(shè)備或高速緩存的邏輯卷,則在 LVM 之上運(yùn)行 Btrfs  是有意義的。在這種配置下,Btrfs 仍然提供其大多數(shù)優(yōu)點(diǎn),例如校驗(yàn)和和易于發(fā)送的增量快照。盡管使用 LVM 會(huì)產(chǎn)生一些操作開(kāi)銷(xiāo),但 Btrfs  的這種開(kāi)銷(xiāo)并不比任何其他文件系統(tǒng)大。

以上是“Btrfs和LVM-ext4該怎么選擇”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI