<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          LWN:對EROFS的介紹!

          共 2562字,需瀏覽 6分鐘

           ·

          2023-06-21 10:29

          關(guān)注了就能看到更多這么棒的文章哦~

          An introduction to EROFS

          By Jake Edge
          June 7, 2023
          LSFMM+BPF
          DeepL assisted translation
          https://lwn.net/Articles/934047/

          Gao Xiang 在 2023 年 Linux 存儲(chǔ)、文件系統(tǒng)、內(nèi)存管理和 BPF 峰會(huì)的文件系統(tǒng)會(huì)議上對擴(kuò)展只讀文件系統(tǒng) (EROFS, Extended Read-Only File System)進(jìn)行了介紹。EROFS 于 2019 年被添加到 Linux 5.4 中,并且被越來越不局限于其原始目標(biāo)場景(作為 Android 和嵌入式設(shè)備的文件系統(tǒng))。例如,如今基于 EROFS 的容器映像(container image)有了許多應(yīng)用。

          不幸的是,這次會(huì)議對我來說很難理解,因此下面的報(bào)告會(huì)顯得比較零碎和不完整的。有一個(gè)會(huì)話的 YouTube 視頻 (https://www.youtube.com/watch?v=bQ1GT2U4GnU),但音頻音量太小,盡管也許不久之后就會(huì)得到解決。會(huì)議中的幻燈片在這里 https://docs.google.com/presentation/d/16LwD-F0IKy8okkC8qB94v2YgDcWBBE26rmMn_s1Mqxc 。

          EROFS 是一個(gè)基于 block 的只讀文件系統(tǒng),格式“非常簡單”,Xiang 開始說。早期的只讀文件系統(tǒng)有很多限制,例如不支持壓縮,這是他們要開發(fā) EROFS 的部分原因。EROFS 存儲(chǔ)其數(shù)據(jù)時(shí)是按 block 對齊的(block-aligned),這非常適合 page cache 相關(guān)的優(yōu)化,這種對齊方式還可以直接使用 direct I/O 和 DAX 文件系統(tǒng)來進(jìn)行數(shù)據(jù)訪問。

          eaee776070315a13058eea16eb45cefe.webp

          [Gao Xiang]

          SquashFS 是另一個(gè)知名的只讀文件系統(tǒng),但它不會(huì)以 block-aligned 的方式存儲(chǔ)其壓縮數(shù)據(jù),這會(huì)增加 I/O 開銷。EROFS 會(huì)將數(shù)據(jù)壓縮到文件系統(tǒng)中的固定 4KB block 中,而 SquashFS 中固定大小的 block 是按照未壓縮的數(shù)據(jù) size。此外還有一點(diǎn)與 EROFS 不同,SquashFS 不允許在其目錄中進(jìn)行隨機(jī)訪問;這意味著 SquashFS 需要對目錄中的項(xiàng)目進(jìn)行線性搜索(linear search)。

          用文件系統(tǒng)替換 tar 或 cpio 存檔,也是 EROFS 的一個(gè)潛在用例。confidential-computing 社區(qū)提出了一個(gè)內(nèi)核 tarfs 文件系統(tǒng)的建議,這就允許 guest 虛擬機(jī)直接掛載 tar 文件來使用了。但 EROFS 將是一個(gè)更好的選擇,他說。有一個(gè)概念驗(yàn)證性質(zhì)的 patch set,允許使用 EROFS 直接 mount 人們下載的 tar 文件,這比將壓縮包解壓縮到 ext4 文件系統(tǒng)中再使用 overlayfs 將其 mount 到 guest 機(jī)中要好。

          這種方法仍然存在問題,比如使用相同 tar 文件的 guest 之間不能進(jìn)行 page cache 級(jí)別的共享。Aleksa Sarai 同意這存在問題,但認(rèn)為只要不用 tar 存檔文件來作為底層格式就可以更加容易地 fix 這個(gè)問題,以及一系列的其他問題。他還說,EROFS 方法比現(xiàn)在的方案要好,但他認(rèn)為還是需要把容器映像中的 tar 格式替換掉。

          目前有很多努力來優(yōu)化 image 的 layout,而這些努力僅僅是因?yàn)樾枰褂?tar 格式?!霸谖铱磥恚@根本不合理,” Sarai 說。社區(qū)需要停止花費(fèi)如此多的精力來解決 tar 格式帶來的限制。系統(tǒng)上的 guest 中可能有 500 個(gè) Bash 實(shí)例,但它們不能以基于 tar 的格式共享相同的 inode,因此它們被視為不同的文件。但是 tar 格式還是繼續(xù)需要得到支持,Xiang 說,所以需要一個(gè)兼容的解決方案。

          他繼續(xù)介紹了 EROFS 的功能,包括對文件數(shù)據(jù)進(jìn)行 block based 的刪除重復(fù)數(shù)據(jù)的能力。典型的用例是那些將 EROFS 與 Nydlus 一起使用的系統(tǒng)。EROFS 可以選擇使用 LZ4/LZMA 來對文件級(jí)別進(jìn)行壓縮,但使用較小的壓縮塊大小,從而減少 SquashFS 發(fā)生的內(nèi)存放大(memory amplification)問題。數(shù)據(jù)也可以就地解壓縮以減少額外的復(fù)制。

          EROFS 的最新使用場景有三種基本形式。第一個(gè)是 EROFS full image,它們以壓縮形式使用,以犧牲某些性能為代價(jià)來節(jié)省空間,或者未壓縮并在具有 DAX 或 FS cache 的 guest 之間共享。第二種是 metadata-only 的 EROFS 圖像,其中的文件數(shù)據(jù)放在別的地方,例如 tar 存檔或其他二進(jìn)制格式。第三種是將 EROFS 與 overlayfs 配合使用,如之前講到的 composefs 中所說的。

          使用 EROFS 可能會(huì)提高機(jī)器學(xué)習(xí)數(shù)據(jù)集的性能,Gao 說。這些數(shù)據(jù)集通常在單個(gè)目錄中有數(shù)百萬個(gè)小文件。訓(xùn)練過程需要讀取整個(gè)目錄并從列表中隨機(jī)選擇文件。由于布局很緊湊,EROFS 在這些類型的操作中可能比 ext4 快兩倍。

          會(huì)議結(jié)束時(shí)討論了如何使用 clone-file-range ioctl() 操作對文件進(jìn)行 overlayfs 的 copy_up 操作。訪問底層文件進(jìn)行寫入時(shí)執(zhí)行 copy_up,文件在修改之前會(huì)被復(fù)制到更高層。如果這些層是來自同一文件系統(tǒng)的 loopback-mount 方式掛載的文件,則可以進(jìn)行 cpy-on-write 操作。Amir Goldstein 似乎認(rèn)為這樣做是很可行的,并且會(huì)很有用,但要實(shí)現(xiàn)這一目標(biāo)還需要做工作。

          全文完
          LWN 文章遵循 CC BY-SA 4.0 許可協(xié)議。

          歡迎分享、轉(zhuǎn)載及基于現(xiàn)有協(xié)議再創(chuàng)作~

          長按下面二維碼關(guān)注,關(guān)注 LWN 深度文章以及開源社區(qū)的各種新近言論~



          瀏覽 58
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操逼黄色视频 | 日韩精品网站 | 噜噜无码高清 | 婷婷色五月天丁香 | 无码人妻精品一区二区蜜桃漫画 |