偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Btrfs 文件系統(tǒng)入門

系統(tǒng) Linux
B-tree 文件系統(tǒng)(Btrfs)融合了文件系統(tǒng)和卷管理器。它為 Linux 操作系統(tǒng)提供了高級(jí)文件系統(tǒng)應(yīng)當(dāng)擁有的諸多不錯(cuò)的功能特性。

[[402477]]

B-tree 文件系統(tǒng)(Btrfs)融合了文件系統(tǒng)和卷管理器。它為 Linux 操作系統(tǒng)提供了高級(jí)文件系統(tǒng)應(yīng)當(dāng)擁有的諸多不錯(cuò)的功能特性。

好幾年前 Btrfs 就已經(jīng)可以在 Linux 中使用了,所以你可能已經(jīng)熟悉它了。如果沒有,你可能對它尚有疑慮,尤其是如果你使用的是 Fedora 工作站 (Btrfs 現(xiàn)在是它的默認(rèn)文件系統(tǒng))。本文旨在幫助你熟悉它及其高級(jí)功能,例如 寫時(shí)復(fù)制 和 校驗(yàn)和。

Btrfs 是 “B-Tree Filesystem” 的縮寫,實(shí)際上是文件系統(tǒng)和卷管理器的結(jié)合體。它通常被視為對 ZFS 的回應(yīng),ZFS 早在 2005 年就被引入 Sun 微系統(tǒng)的 Solaris 操作系統(tǒng)中,現(xiàn)在基本上被一個(gè)名為 OpenZFS 的開源實(shí)現(xiàn)所取代。Ubuntu 和 FreeBSD 常常使用 OpenZFS。其他具有類似特性的示例有紅帽的 Stratis 和 Linux 邏輯卷管理器Logical Volume Manager(LVM)。

安裝

為了嘗試 Btrfs,我下載了 Fedora 33 工作站 ISO 文件 并將其安裝到一個(gè)新的虛擬機(jī)(VM)中。安裝過程與以前的版本沒有變化。我沒有自定義任何設(shè)置,包括驅(qū)動(dòng)器分區(qū)和格式化,以保持本教程的準(zhǔn)確“開箱即用”設(shè)置。當(dāng)虛擬機(jī)啟動(dòng)并運(yùn)行后,我安裝并運(yùn)行了 GNOME 分區(qū)編輯器(GParted),以獲得一個(gè)良好的、工廠級(jí)的驅(qū)動(dòng)器布局視圖。

 

GParted's view of Btrfs on Fedora 33 Workstation using GParted

從安裝這一點(diǎn)來說,與你以前所習(xí)慣的情況沒什么不同;事實(shí)上,你可以正常使用該系統(tǒng),甚至可能沒有注意到文件系統(tǒng)是 Btrfs。然而,擁有這個(gè)新的默認(rèn)文件系統(tǒng)使你能夠利用幾個(gè)很酷的特性。

檢查 Btrfs 文件系統(tǒng)

我暫時(shí)沒有找到特定于 Btrfs 的圖形工具,盡管它的一些功能已經(jīng)被合并到現(xiàn)有的磁盤管理工具中。

在命令行中,你可以更仔細(xì)地查看 Btrfs 格式:

  1. # btrfs filesystem show
  2. Label: 'fedora_localhost-live'  uuid: f2bb02f9-5c41-4c91-8eae-827a801ee58a
  3.         Total devices 1 FS bytes used 6.36GiB
  4.         devid    1 size 10.41GiB used 8.02GiB path /dev/vda3

修改 Btrfs 標(biāo)簽

我首先注意到的是安裝程序設(shè)置的文件系統(tǒng)標(biāo)簽:fedora_localhost-live。這是不準(zhǔn)確的,因?yàn)樗F(xiàn)在是一個(gè)已安裝的系統(tǒng),不再是 livecd。所以我使用 btrfs filesystem label 命令對其進(jìn)行了更改。

修改 Btrfs 標(biāo)簽非常的簡單:

  1. # btrfs filesystem label /
  2. fedora_localhost-live
  3. # btrfs filesystem label / fedora33workstation
  4. # btrfs filesystem label /
  5. fedora33workstation

管理 Btrfs 子卷

子卷看起來像是可以由 Btrfs 管理的標(biāo)準(zhǔn)目錄。我的新 Fedora 33 工作站上有幾個(gè)子卷:

  1. # btrfs subvolume list /
  2. ID 256 gen 2458 top level 5 path home
  3. ID 258 gen 2461 top level 5 path root
  4. ID 265 gen 1593 top level 258 path var/lib/machines

使用 btrfs subvolume Create 命令創(chuàng)建新的子卷,或使用 btrfs subvolume delete 刪除子卷:

  1. # btrfs subvolume create /opt/foo
  2. Create subvolume '/opt/foo'
  3. # btrfs subvolume list /
  4. ID 256 gen 2884 top level 5 path home
  5. ID 258 gen 2888 top level 5 path root
  6. ID 265 gen 1593 top level 258 path var/lib/machines
  7. ID 276 gen 2888 top level 258 path opt/foo
  8. # btrfs subvolume delete /opt/foo
  9. Delete subvolume (no-commit): '/opt/foo'

子卷允許設(shè)置配額、拍攝快照以及復(fù)制到其他位置和其他主機(jī)等操作。那么系統(tǒng)管理員如何利用這些功能?用戶主目錄又是如何操作的呢?

添加用戶

就像從前一樣,添加一個(gè)新的用戶帳戶會(huì)創(chuàng)建一個(gè)主目錄供該帳戶使用:

  1. # useradd student1
  2. # getent passwd student1
  3. student1:x:1006:1006::/home/student1:/bin/bash
  4. # ls -l /home
  5. drwx------. 1 student1 student1 80 Oct 29 00:21 student1

傳統(tǒng)上,用戶的主目錄是 /home 的子目錄。所有權(quán)和操作權(quán)是為所有者量身定制的,但是特殊功能來沒有管理它們。而企業(yè)服務(wù)器環(huán)境是另外一種情況。通常,目錄是為特定的應(yīng)用程序及其用戶保留的。你可以利用 Btrfs 來管理和應(yīng)用對這些目錄的約束。

為了將 Btrfs 子卷作為用戶主頁,在 useradd 命令中有一個(gè)新選項(xiàng):--Btrfs-subvolume-home。盡管手冊頁尚未更新(截至本文撰寫之時(shí)),但你可以通過運(yùn)行 useradd --help 來查看該選項(xiàng)。通過在添加新用戶時(shí)傳遞此選項(xiàng),將創(chuàng)建一個(gè)新的 Btrfs 子卷。它的功能與創(chuàng)建常規(guī)目錄時(shí)的 -d 選項(xiàng)類似:

  1. # useradd --btrfs-subvolume-home student2
  2. Create subvolume '/home/student2'

使用 getent passwd student2 驗(yàn)證用戶,它將顯示為正常。但是,運(yùn)行 btrfs subvolume 命令列出子卷,你將看到一些有趣的內(nèi)容:新用戶的主目錄!

  1. # btrfs subvolume list /
  2. ID 256 gen 2458 top level 5 path home
  3. ID 258 gen 2461 top level 5 path root
  4. ID 265 gen 1593 top level 258 path var/lib/machines
  5. ID 272 gen 2459 top level 256 path home/student2

探索企業(yè)服務(wù)器環(huán)境的第二個(gè)場景。假設(shè)你需要在 /opt 中安裝一個(gè) WildFly 服務(wù)器并部署一個(gè) Java web 應(yīng)用程序。通常,你的第一步是創(chuàng)建一個(gè) wildfly 用戶。使用新的 --btrfs-subvolume-home 選項(xiàng)和 -b 選項(xiàng)來指定 /opt 作為基本目錄:

  1. # useradd -b /opt --btrfs-subvolume-home wildfly
  2. Create subvolume '/opt/wildfly'

于是,wildfly 用戶可以使用了,并且主目錄設(shè)置在了 /opt/wildfly。

刪除用戶

刪除用戶時(shí),有時(shí)需要同時(shí)刪除該用戶的文件和主目錄。userdel 命令有 -r 選項(xiàng),它可以同時(shí)刪除 Btrfs 子卷:

  1. # userdel -r student2
  2. Delete subvolume (commit): '/home/student2'

設(shè)置磁盤使用配額

在我的一節(jié)計(jì)算機(jī)科學(xué)課上,一個(gè)學(xué)生運(yùn)行了一個(gè)失控的 C 程序,然后寫進(jìn)了磁盤,將我們院的 Unix 系統(tǒng)上整個(gè) /home 目錄都填滿了!在管理員終止失控進(jìn)程并清除一些空間之前,服務(wù)器將無法使用。上述情況也是如此;那個(gè) Wildfly 企業(yè)應(yīng)用程序?qū)槠溆脩籼峁┰絹碓蕉嗟娜罩疚募蛢?nèi)容存儲(chǔ)。如何防止服務(wù)器因磁盤已滿而死機(jī)?設(shè)置磁盤使用限制是個(gè)好主意。幸運(yùn)的是,Btrfs 通過設(shè)置配額的方式支持這一點(diǎn)。

配置配額需要幾個(gè)步驟。第一步是在 Btrfs 文件系統(tǒng)上啟用配額:

  1. # btrfs quota enable /

確保你知道每個(gè)子卷的配額組(qgroup)ID 號(hào),該編號(hào)由 btrfs subvolume list 命令顯示。每個(gè)子卷都需要基于 ID 號(hào)碼來關(guān)聯(lián)配額組。這可以通過 btrfs qgroup create 單獨(dú)完成,但是,btrfs 維基提供了以下命令來加快為文件系統(tǒng)上的子卷創(chuàng)建配額組:

  1. > btrfs subvolume list \<path> | cut -d' ' -f2 | xargs -I{} -n1 btrfs qgroup destroy 0/{} \<path>

在新安裝的 Fedora 33 工作站系統(tǒng)中,你在根文件系統(tǒng)路徑上操作,/。用根路徑替換 \<path>

  1. # btrfs subvolume list / | cut -d' ' -f2 | xargs -I{} -n1 btrfs qgroup create 0/{} /

然后運(yùn)行 btrfs quota rescan,查看新的配額組:

  1. # btrfs quota rescan /
  2. quota rescan started
  3. # btrfs qgroup show /
  4. qgroupid         rfer         excl
  5. --------         ----         ----
  6. 0/5          16.00KiB     16.00KiB
  7. 0/256       272.04MiB    272.04MiB
  8. 0/258         6.08GiB      6.08GiB
  9. 0/265        16.00KiB     16.00KiB
  10. 0/271        16.00KiB     16.00KiB
  11. 0/273        16.00KiB     16.00KiB

于是現(xiàn)在,你可以將配額分配給其中一個(gè)配額組,然后將配額應(yīng)用于其關(guān)聯(lián)的子卷。因此,如果要將 student3 的主目錄使用限制為 1 GB,請使用 btrfs qgroup limit 命令:

  1. # btrfs qgroup limit 1G /home/student3

查看特定子卷的配額:

  1. # btrfs qgroup show -reF /home/student3
  2. qgroupid         rfer         excl     max_rfer     max_excl
  3. --------         ----         ----     --------     --------
  4. 0/271        16.00KiB     16.00KiB      1.00GiB         none

稍有不同的選項(xiàng)參數(shù)將顯示所有配額組和設(shè)置的所有配額:

  1. # btrfs qgroup show -re /
  2. qgroupid         rfer         excl     max_rfer     max_excl
  3. --------         ----         ----     --------     --------
  4. 0/5          16.00KiB     16.00KiB         none         none
  5. 0/256       272.04MiB    272.04MiB         none         none
  6. 0/258         6.08GiB      6.08GiB         none         none
  7. 0/265        16.00KiB     16.00KiB         none         none
  8. 0/271        16.00KiB     16.00KiB      1.00GiB         none
  9. 0/273        16.00KiB     16.00KiB         none         none

其他特性

這些例子提供了 Btrfs 特性的一些思考。運(yùn)行 btrfs --help 查看命令的完整列表。還有許多其他值得注意的功能;例如,快照和發(fā)送/接收是兩個(gè)值得學(xué)習(xí)的功能。

總結(jié)討論

Btrfs 為向 Linux 提供高級(jí)文件系統(tǒng)特性集貢獻(xiàn)了很多特性。這不是第一次;我知道 ZFS 在大約 15 年前引入了這種類型的文件系統(tǒng),但是 Btrfs 是完全開源的,不受專利的限制。

如果你想探索這個(gè)文件系統(tǒng),我建議從虛擬機(jī)或備用系統(tǒng)開始。

 

我想能夠出現(xiàn)一些圖形化的管理工具,為那些喜歡用圖形工具的系統(tǒng)管理員提供便利。幸運(yùn)的是,Btrfs 具有強(qiáng)大的開發(fā)活動(dòng),F(xiàn)edora 33 項(xiàng)目決定將其設(shè)置為工作站上的默認(rèn)值就證明了這一點(diǎn)。

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2009-12-14 13:14:57

2014-03-20 15:59:11

OpenSUSE 13Btrfs文件系統(tǒng)

2011-08-10 09:25:16

BtrfsFedora 16

2020-01-15 09:10:13

LinuxWindowsmacOS

2022-05-11 17:21:05

Btrfs文件系統(tǒng)Fedora

2009-08-27 12:00:45

ibmdwLinux

2021-05-27 15:03:01

Fedora ClouBtrfs文件系統(tǒng)

2011-06-27 10:17:15

EXT4 Btrfs

2009-10-27 10:39:42

Linux文件系統(tǒng)類型

2019-07-23 18:00:45

Linux 開源操作系統(tǒng)

2023-12-18 11:01:16

2019-11-21 09:45:30

UbuntuUbuntu 19.1ZFS文件系統(tǒng)

2020-10-29 15:48:30

Fedora 33FedoraLinux

2009-08-12 17:42:24

Linux文件系統(tǒng)BTRFSext4

2020-07-22 14:53:06

Linux系統(tǒng)虛擬文件

2011-01-13 14:10:30

Linux文件系統(tǒng)

2019-09-20 10:04:45

Linux系統(tǒng)虛擬文件

2018-08-24 10:10:25

Linux文件系統(tǒng)技術(shù)

2021-06-06 16:55:22

Linux文件系統(tǒng)

2021-04-12 05:44:44

Linux文件系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)