SHESHUI.ME

OpenMediaVault 经济高效的NAS解决方案

最后更新 Jun 14, 2022

OpenMediaVault 经济高效的NAS解决方案

OpenMediaVault is a free Linux distribution designed for network-attached storage. The project’s lead developer is Volker Theile, who instituted it in 2009. OMV is based on the Debian operating system, and is licensed through the GNU General Public License v3. via: Wikipedia

背景

捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。

最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。

而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。

两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.04

方案

硬件

网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:

  • 机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)
  • 处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz
  • 内存:6.00 GB(5.88 GB usable)
  • 硬盘:WDC WD5000AAKX-75U67AA0 (500 GB)

该机器2013年4月14日购入,当时售价:¥3349.00

关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:

1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;

2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;

3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。

最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)

分区方案

ZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。
LVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。
MergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。
最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。
关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。
最后的选择是使用最常见的LVM2 + Linux软RAID。

以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html

软件

软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料:

Synology DSM

1、相对臃肿,不够简洁;
2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;
3、DIY 设备安装运行涉及版权,无法稳定升级版本;

FreeNAS

对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。

openmediavault

基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。

注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择

安装 OpenMdediaAvault

文件系统及挂载信息

root@nas:/dev# df -h

安装 omv-extras

在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。

通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

ref: https://github.com/OpenMediaVault-Plugin-Developers/installScript

注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!

方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/

安装 Docker

完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊…

Docker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。

安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。

安装 NextCloud

经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun

如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud

安装 FileRun

在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker

1、拉取 FilesRun 镜像文件

docker pull afian/filerun

2、创建配置文件

version: '2'

services:
  db:
    image: mariadb:10.1
    environment:
      MYSQL_ROOT_PASSWORD: filerun
      MYSQL_USER: filerun
      MYSQL_PASSWORD: filerun
      MYSQL_DATABASE: filerun
    volumes:
      - /filerun/db:/var/lib/mysql

  web:
    image: afian/filerun
    environment:
      FR_DB_HOST: db
      FR_DB_PORT: 3306
      FR_DB_NAME: filerun
      FR_DB_USER: filerun
      FR_DB_PASS: filerun
      APACHE_RUN_USER: www-data
      APACHE_RUN_USER_ID: 33
      APACHE_RUN_GROUP: www-data
      APACHE_RUN_GROUP_ID: 33
    depends_on:
      - db
    links:
      - db:db
    ports:
      - "3000:80"
    volumes:
      - /filerun/html:/var/www/html
      - /filerun/user-files:/user-files

上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。

3、创建文件目录

mkdir /filerun /filerun/html /filerun/user-files

4、运行

docker-compose up -d

运行过程中还会下载安装一些library,成功后会展示如下信息:

Creating root_db_1 ... done
Recreating root_web_1 ... done

通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。

系统安装

Openmediavault 对硬件要求较低,官网给出的信息如下:

  • CPU: Any x86-64 or ARM compatible processor
  • RAM: 1 GiB capacity
  • HDD:
    • System Drive: min. 4 GiB capacity (but more than the capacity of the RAM)
    • Data Drive: capacity according to your needs

安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。

登录

登录分两种,一类是Web管理界面,默认登录信息如下:

UID:admin
PWD:openmediavault

前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。

查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:

apt-get update
apt-get upgrade

另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」

安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。

原则

准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:

  1. 尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;
  2. 不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;

索引

OpenMediaVault 常用命令

OpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。

omv-fistaid : 安装配置菜单引导;

ip addr : 查看本机IP信息;

dpkg -l | grep openmediavault :检查当前系统版本

参考资料

常见问题

评论

comment

文章不错非常喜欢

新闻头条 / 2021-02-13

WOW!!! awesome information you share here..
keep make this usefull article, i will tell all my friends to come to your blog
Website : http://kontenlucu.com

pornstar* / 2021-03-23

大佬,inwao这个域名不用了,名字改成Sep blog 链接https://sep.cc

目前还在备案,下个礼拜就可以访问了,麻烦啦

cyclists / 2021-09-18

不错,必须顶一下!

自媒体运营 / 2021-12-08

Just Beginning

深度 / 2022-01-20

我以前在公司, 最早是在服务器里建公共文件夹,后来用西数的成品NAS,后来用群晖。
后来自己家里用HPgen8装UNAS,freenas,
还有可道云什么的,各种各样的。
最近在软路由里装了nextcloud,就是日志报错太多了,有些比如订阅的博客超时什么的各种报错,一些其他设备关闭后,它连不上smb了也有报错

青木 / 2022-04-20

我以前在公司, 最早是在服务器里建公共文件夹,后来用西数的成品NAS,后来用群晖。
后来自己家里用HPgen8装UNAS,freenas,
还有可道云什么的,各种各样的。
最近在软路由里装了nextcloud,就是日志报错太多了,有些比如订阅的博客超时什么的各种报错,一些其他设备关闭后,它连不上smb了也有报错

Nextcloud 我也试用过,性能太差,严重影响用户体验。后来采用了非开源的FileRun 作为自己的主要网盘工具,部署在一台自己搭建的Ubuntu Server上,目前使用稳定,且FileRun的体验跟功能很好满足日常使用。

涉水轻舟 / 2022-04-22

大佬,inwao这个域名不用了,名字改成Sep blog 链接https://sep.cc

目前还在备案,下个礼拜就可以访问了,麻烦啦

已更新 sheshui.me/about/links

涉水 / 2022-04-22

* 先[预览],后[提交]。

目录