開源軟體

更快的網路文件系統 — Oxfs

什麼時候需要網路文件系統 ?

  • 做嵌入式的同學經常會使用 NFS 將 host 上的某個目錄掛載到開發板上,方便 host 上編譯構建後能直接在板子上運行,減少手工拷貝操作。
  • 網站開發時,在 host 上利用 IDE 進行開發後,發到線上機器上運行測試時,使用網路文件系統能更快的減少數據同步,提高開發效率。
  • C/C++ 等大型項目開發時,團隊使用統一的開發機構建代碼時,使用網路文件系統能夠掛載開發機文件到本地,你可以方便的使用易用的圖形化編輯器寫代碼。
  • 各種各樣的原因,你需要使用網路文件系統,但是你的網路夠快嗎?網路文件系統還能再快嗎?

NFS 還是 SSHFS ?

  • 小編用過 NFS,也用過 SSHF,都挺不錯。但是在網路條件不理想的時候,卡頓現象非常明顯。
  • 網路條件不夠理想時使用圖形化的軟體編輯遠程文件體驗很差,尤其是使用 oh my zsh 這樣重量級的插件工作在遠端的目錄時。
  • 網上曾有人對比過 NFS 和 SSHFS (http://www.admin-magazine.com/HPC/Articles/Sharing-Data-with-SSHFS),SSHFS 確實相對來說很不錯。
  • 直到用上了 Oxfs 以後,卡頓問題終於緩解了 :)

Oxfs 介紹

  • Oxfs 是一個類似與 SSHFS 的用戶態網路文件系統,底層數據傳輸基於 SFTP 協議。
  • Oxfs 引入非同步刷新策略解決網路速度與用戶操作文件讀速度不匹配引起的卡頓問題。
  • Oxfs 寫文件時,會首先寫入本地緩存文件,並提交非同步更新任務將內容更新到遠程主機上。
  • 同樣的,讀文件時優先從本地緩存文件中進行讀取。
  • Oxfs 的數據緩存最終落到磁碟,即便是重新掛載,依舊可以利用歷史緩存。
  • 同樣的,Oxfs 也引入了文件屬性,目錄結構的 Memory 緩存,功能上對齊了 SSHFS。
  • 可以說,Oxfs 是替代 SSHFS 的一個更好選擇 :)

Oxfs 用法

  • Oxfs 的安裝非常簡單。
$ pip install oxfs
  • Oxfs 的用法也很簡單。
$ mkdir remote
$ sudo oxfs -s user@xxx.xxx.xxx.xxx -m remote -r /home/oxfs -p /tmp/oxfs
  • -s 配置遠程主機訪問的地址和用戶,要求遠程主機上配置了當前機器的 SSH 公鑰。
  • -m 設置本地掛載點。
  • -r 設置要掛載到本地的遠程主機目錄。
  • -p 設置 Oxfs 運行時工作目錄,用於數據緩存。

Oxfs 性能


  • Oxfs vs SSHFS

  • SSHFS performance (default parameters).
  • SSHFS enable the kernel cache by default, that's why re-read is deadly fast.

  • Oxfs performance (default parameters).
  • Oxfs just enable the fuse auto_cache flag.


更多詳情,可以訪問 Oxfs 主頁:oxfs.io
轉載請在明顯位置註明出處,否則必究相關責任。

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:開源軟體

    開源軟體

    嵌入式 Linux 的瑞士軍刀:BusyBox

    上期文章中,筆者向各位介紹了 musl,一個 Glibc 的替代方案,它的主要優勢體現在更加整潔的代碼、更小的二進位體積和更優秀的靜態鏈接支持。而本期文章的主角:BusyBox 則是 GNU Core […]
    開源項目

    Pwnagotchi 開箱教程

    Pwnagotchi 是一個由 Bettercap 驅動的 A2C 的 「AI」,它能夠從周圍的 WiFi 環境中學習,以最大限度地利用它捕獲的可破解 WPA 密鑰材料,該材料將作為可被 hashcat 破解的 PCAP 文件收集在磁碟上。 簡單來說,Pwnagotchi ...
    開源軟體

    光速上手C++20協程

    今天來學習下怎麼使用基於C++20設計開發的協程框架async_simple(https://github.com/alibaba/async_simple)。async_simple是阿里巴巴開源的輕量級C++非同步框架。提供了基於C++20無棧協程(Lazy),有棧協程(Uthread)以及Future/Promise等非同步組件。連續兩年經歷天貓雙十一磨礪,承擔了億級別流量洪峰,具備高性能和高穩定性。