Seafile开启webdav及读写性能测试
一、seafile开启webdav的方法
编辑/data/haiwen/conf/seafdav.conf
添加如下内容
1 | [WEBDAV] |
然后重启seafile服务
1 | ./seafile.sh restart |
linux系统挂载webdav的方法
比较直接的方法是使用mount命令,新建一个名为seafdav的文件夹
1 | mount -t davfs http://127.0.0.1:8080/ /mnt/seafdav |
挂载webdav后的读写性能测试
挂载webdav目录的写性能
1 | root@localhost:/mnt/seafdav# dd if=/dev/zero bs=1024 count=1000000 of=1Gb.file |
挂载webdav目录的读性能
1 | root@localhost:/mnt/seafdav# dd of=1Gb.file if=/dev/zero bs=1024 count=1000000 |
普通硬盘的写性能
1 | root@localhost:/mnt/raid# dd if=/dev/zero bs=1024 count=1000000 of=1Gb.file |
普通硬盘的读性能
1 | root@localhost:/mnt/raid# dd of=1Gb.file if=/dev/zero bs=1024 count=1000000 |
结论
由以上数据可以看到,seafile所部署的webdav的读写性能确实差了一些,毕竟多了一些抽象,并且依赖cpu的处理速度,该NAS配置是J3455的CPU+8G内存,主打省电,但性能并不强。普通硬盘直接读写的速度是webdav的三倍左右。所以把webdav挂载为硬盘之后,只能进行一些硬盘负载较轻的工作。
二、挂载方法
2.1. Windows 平台
这里推荐使用一款名叫 RaiDrive 的软件,官网地址:www.raidrive.com,RaiDrive 是一款免费的软件,不仅支持 WebDAV 协议,还支持常见的 SFTP、FTP 协议,以及 Google Drive、OneDrive、Dropbox、Nextcloud 等常见网盘的挂载。
进入软件后,点击右上角的添加
在服务类型中选择 NAS,再选择 WebDAV,虚拟驱动器中可以自定义一个未占用的盘符和名称,地址中输入 WebDAV 的地址和路径,最后在账户中输入用户名和密码,点击小箭头就完成挂载了。
最后,打开此电脑,就可以访问网络位置的 WebDAV 了。
建议在软件的设置中勾选添加到启动项,可以在 Windows 开机后自动挂载,如果你的 WebDAV 服务器位于国外,下载速度缓慢,还可以在设置中添加代理,并且为挂载的 WebDAV 勾选代理选项。
2.2. Android 平台挂载
因为大部分 Android 手机自带的文件管理器都不支持挂载 WebDAV,所以这里借助第三方文件管理器:ES 文件浏览器来实现该功能,该软件同 RaiDrive 一样,也支持常见协议及网盘的连接。
首先在软件侧栏的网络中选择 FTP,然后点击新建,选择 WebDAV,服务器填写 WebDAV 服务器的 URI,加密协议根据自己情况而定,输入 WebDAV 的用户名和密码,即可完成挂载。
2.3. Linux 平台挂载
首先安装 davfs2
复制
1 | CentOS/RedHat |
挂载 WebDAV
复制
1 | mount -t davfs https://xxxxxx /mnt/webdav |
接下来需要输入 WebDAV 的用户名和密码,即可完成挂载
如果想要开机自动挂载 WebDAV,并且自动输入用户名和密码,需要将 /etc/davfs2/davfs2.conf
中的 use_lock
解除注释,并将值修改为 0
:
1 | sed -i 's/# use_locks 1/use_locks 0/g' /etc/davfs2/davfs2.conf |
接下来在 /etc/davfs2/secrets
末尾添加 WebDAV地址 用户名 密码
:
1 | echo "https://nextcloud.example.com/remote.php/webdav/ milosz mypassword" >> /etc/davfs2/secrets #保存用户名密码,以后可以直接免密码挂载 |
最后在 /etc/fstab
末尾添加 WebDAV地址 /mnt/webdav davfs defaults 0 0
。
1 | echo "mount.davfs 你的WebDAV地址 你想要挂载到的目录" >> /etc/rc.local |
当然,如果你是 kde 用户的话,可以在自带的文件管理器 Dolphin 中选择网络,输入 WebDAV 的地址,用户名,密码等选项完成 WebDAV 的挂载,不过,这种方法的缺点是只能通过 Dolphin 进行访问,而不能在命令行中通过具体地址访问。
以上就是多平台挂载 WebDAV 的具体方法,由于手上没有 IOS 和 MacOS 设备,暂无相关说明。
三、简介
什么是webdav
,是一组基于超文本传输协议的技术集合,有利于用户间协同编辑和管理存储在万维网服务器文档。国外的很多网盘,包括owncloud
都支持webdav
,本文以yandex
为例子介绍,挂载在Linux
上。
介绍
Linux
davfs2
或者fusedav
将WebDAV
共享挂载成Coda
或者FUSE
文件系统。KDE
将WebDAV
作为kio_http
的一部分提供原生支持。Dolphin
,Konqueror
等其他KDE
应用程序可以直接与WebDAV
服务器交互。Nautilus
也提供内置支持。cadaver
命令行工具提供类FTP
命令集,也包含在很多Linux
发行版中。Apache HTTP
服务 提供基于davfs
和Apache Subversion
的WebDAV
模块。
Windows
NetDrive
:挂载为网络硬盘机
Mac
Finder
:系统内置程式
本文就是利用davfs2
挂载wendav
。
安装
Linux
主要的源中都有davfs2
,也可以自己编译,需要准备好环境。
1 | apt-get install davfs2 |
配置
可以把账号密码写入配置文件,以普通用户来挂载。
1 | usermod -a -G network username |
编辑/etc/fstab
文件,在后面添加(username
自己替换):
1 | https://webdav.example.com /home/username/webdav davfs user,noauto,uid=username,file_mode=600,dir_mode=700 0 1 |
创建账号密码配置:
1 | mkdir ~/.davfs2/ |
yandex url
是:
1 | https://webdav.yandex.ru |
如果是owncloud
, url
是:
1 | https://webdav.example.com/remote.php/webdav |
多用户配置
1 | /home/username/disk1 webdavuser1 "webdavpassword1" |
Now you should be able to mount and unmount ~/webdav:
1 | mount ~/webdav |
取消挂载
1 | fusermount -u ~/webdav |
错误
如果在复制剪切文件遇到错误,编辑/etc/davfs2/davfs2.conf
,修改配置如下,
1 | [...] |