更快的网络文件系统 —— Oxfs
2019-06-30 21:54
1216 查看
什么时候需要网络文件系统 ?
- 做嵌入式的同学经常会使用 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 用法
- 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 Github 主页。
- 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 项目首页:https://github.com/RainMark/oxfs
相关文章推荐
- ARM开发板挂接NFS网络文件系统
- NFS 网络文件系统服务器共享和客户机的自动挂载
- P2P网络资源文件管理系统设计
- Docker核心实现技术 (命名空间 & 控制组 & 联合文件系统 & Linux网络虚拟化支持)
- linux系统之间通过nfs网络文件系统挂载设置方法
- linux学习之旅(二十二)&CIFS网络文件系统
- 深入理解Lustre文件系统-第3篇 LNET:Lustre网络
- linux下创建和挂载xfs文件系统,格式化xfs文件系统
- 嵌入式成长轨迹61 【智能家居项目】【ARM 飞凌ok6410】【在虚拟机Ubuntu下NFS网络文件系统建立】
- ext3,ext4,xfs和btrfs文件系统性能对比
- NFS (网络文件系统)
- linux_c 网络开发日记(3)系统调用方式访问文件
- XFS文件系统功能解析
- NFS网络文件系统的搭建
- 华为3COM NAS 存储 XFS文件系统数据恢复案例及方案
- linux下网络文件系统NFS服务的搭建
- 网络安全讲座之五:文件系统安全
- nfs网络文件系统
- 中小型网站网络文件系统-NFS部署搭建
- Linux下NFS(网络文件系统)的建立与配置方法 [转]