前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >更快的网络文件系统 —— Oxfs

更快的网络文件系统 —— Oxfs

作者头像
RainMark
发布2019-09-04 17:07:01
1.5K0
发布2019-09-04 17:07:01
举报
文章被收录于专栏:RainMark 的文章RainMark 的文章

什么时候需要网络文件系统 ?

  • 做嵌入式的同学经常会使用 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 的安装非常简单。
代码语言:javascript
复制
$ pip install oxfs
  • Oxfs 的用法也很简单。
代码语言:javascript
复制
$ 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


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么时候需要网络文件系统 ?
  • NFS 还是 SSHFS ?
  • Oxfs 介绍
  • Oxfs 用法
  • Oxfs 性能
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档