现在都尼玛6.5了,0.几的版本就开始测试了,不稳定,不能生产使用。2 i' d' i" S% X* I
OpenMediaVault 经济高效的NAS解决方案
+ J2 F l& K, L9 w: |% Y背景1 O% \- a+ O2 L7 _ J( R/ w
捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。
3 V7 S% ?. r2 ~+ G, U
" `; A3 M. D+ l- \8 k6 z最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。; f# z2 m* J4 W! x8 h4 \5 {
U, x* @4 {, H8 i: B4 U而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。0 j* A: C! b7 k
% x- x/ K, \' l# ]# o& F
两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.04' [0 C7 O4 {& @; q0 b0 b
* J* L5 s. b/ y+ q方案
$ C2 l7 g" e) Y1 G硬件
1 f) e4 `2 |$ h! Y; b8 ^网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:
6 r4 S) O) h1 l! x. q' u" t" r$ Q# X" e5 p5 \3 Y
机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)( B, f5 B/ x X* z
处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz2 `7 j: i6 n1 X- q2 v5 y. |0 {! m+ ^
内存:6.00 GB(5.88 GB usable)3 M3 s, G8 h$ S4 e) h: q, V
硬盘:WDC WD5000AAKX-75U67AA0 (500 GB)
; t+ ~3 M/ j" p该机器2013年4月14日购入,当时售价:¥3349.00
7 j# _( W6 Y0 D0 q" r3 B' R: G4 Q& h7 U i5 X7 k- i7 K" `5 W k
关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:4 C1 `; l$ ?$ l/ j$ p. G3 J. I
4 |- q) t# i% I9 N( [
1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;
7 x# d0 E: S# V( t
. V% y- [' o2 Y5 q/ ^3 W7 |+ {4 }1 g! e) F( F& I* M
2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;: _1 C7 ?' x% v' P
, d4 |( o3 H; j% g& ]- c
3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。
: p9 G- e0 ]7 ~+ E1 J+ i3 c, L! e
最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)
& w' b i; q$ H0 @5 Y8 v4 t2 Y+ u6 F2 C. t7 }2 V
分区方案6 O+ Q1 }5 a& B3 z; Z
ZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。$ u/ F3 f& K0 f2 d8 V% ]- E
LVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。
* L% x8 e4 G# k Q {+ uMergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。
5 H" w6 L8 f3 }8 N最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。
! R; {5 B: ~! e关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。
7 m! R1 d9 ^% E- }# F/ C$ J* s+ D最后的选择是使用最常见的LVM2 + Linux软RAID。
) m3 j# f$ |8 c! n
% C' c" i5 G3 u6 b3 q! F6 Q以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html$ C& l1 j8 d7 D' |# g
$ L) T; M5 i: |& _4 T( _' ~
软件2 L; Y8 J9 d. h1 D1 [6 {- b8 w8 b
软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料:8 x U1 m. `: ]3 M+ N7 T2 p
+ D, i! D# h* k" {5 D- VSynology DSM
9 J/ p c4 J' b0 a* d! C) R* g8 ^2 O. `2 e2 \6 `) W$ o# I+ |
1、相对臃肿,不够简洁;6 T# S* C( A: R# [: o
2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;) a9 J* b B7 v
3、DIY 设备安装运行涉及版权,无法稳定升级版本;
, H: B7 |* M l; A2 Z5 X6 a
7 \5 I v$ x9 n2 l% WFreeNAS
7 V# w/ J& b# n, N& w; s9 h- Y# V- {3 a2 |
对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。8 f+ M6 q h9 b6 z
4 l% e8 \( j7 v8 v
openmediavault/ U, ~0 F- R% {6 d
6 ^0 t! g4 n0 P: j5 ?' x
基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。" `" w7 W# L3 M8 p3 ?& J! g
! @) e' K7 c( H" x
注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择
! A/ D& h3 v% d, l4 ^# N. t4 G' j3 m5 D" T- c3 K
安装 OpenMdediaAvault- d1 e c b2 a+ D( p# A# n
文件系统及挂载信息
5 m+ |9 d! x! [/ F
: G; U! J$ z5 a5 j9 q4 c8 ]; jroot@nas:/dev# df -h
$ L7 a# V! F1 J3 S4 J; ]* Z安装 OMV-EXTRAS3 J5 ?% U. U8 ?9 C
在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。
" a" C* S6 j+ E' |8 d" I. ?% _+ k2 _' T/ f' A6 G. b
通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:
) a# i7 r6 q1 _2 H$ y: Z l
4 ]1 p4 f+ n- T' Y; X
' e" P" b6 w) v, O+ X; @wget -O - https://github.com/OpenMediaVaul ... /raw/master/install | bash
, x1 y( W# L# `2 h7 H' W6 Eref: https://github.com/OpenMediaVault-Plugin-Developers/installScript9 W$ ~. i" K* ^- @- b
E }5 j, s8 Z* b6 p) F注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!
: M# O! \! y7 Y% @* K
* D8 D! y0 r1 A& Z6 f9 k4 g方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/
1 z* [$ b4 V8 b+ j7 P/ s7 o, l3 J6 n4 a+ t
安装 DOCKER3 x, V& [' ]+ @$ q" x% h
完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊…8 I: M& s4 `1 @( s
- Z3 s9 c9 v5 e5 h; t% Z; @Docker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。
% r& b* U9 D) D/ C7 o. h7 A! n# h7 @2 @
安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。: b: g1 K' U7 w# [ M) O( n
4 o" K9 v3 l5 V& k7 s5 k0 i! x( L
安装 NEXTCLOUD
8 M+ T8 c) |+ B* h, i经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun6 L ]0 y- E% n6 @
( [4 L' \6 X" v" T. O如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud6 d) V% [9 h- g0 o2 |( b
- ]; c* F; l1 h2 ]安装 FILERUN& }! C' D& i3 ?# f- s0 Z) r. @
在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker: v7 c6 w7 d0 l
1、拉取 FilesRun 镜像文件
" _2 f! A( K* [# c5 A; {& A' ?& S/ i
docker pull afian/filerun
8 j0 p7 w& ~: t6 L% r- o3 Q* @0 i2、创建配置文件( @: a" K+ n" C( Y
$ }& r0 ]" h6 a' I; Cversion: '2'
; P9 o( l3 M: q$ A+ x1 H( n( d# B6 g' L
services:7 ~3 {; m1 K& }7 Z; A, u
db:" L& D3 \1 K8 c6 A, ]6 P% T, W9 {
image: mariadb:10.1
5 k# Y5 k, N" a! `% k1 E environment:' d% d: H9 r$ J! |: W2 W! l
MYSQL_ROOT_PASSWORD: filerun6 |) y9 @& M. Q6 l0 g
MYSQL_USER: filerun
- W3 E+ t& r/ c1 Z( ^5 b3 K MYSQL_PASSWORD: filerun
* Z7 J2 |6 R$ l+ `5 q3 t( K. [ MYSQL_DATABASE: filerun* L: h; o! k* \+ l5 Y4 J
volumes:
* U( H6 a3 v4 D- }: z: N - /filerun/db:/var/lib/mysql9 q0 u0 v7 a; `$ C
3 Z+ h& I2 o" u0 S$ b8 R) R4 w) Y
web:
! c" l+ M. P3 d3 @) |: q( b image: afian/filerun/ z! d( C" @9 q, S4 W
environment: i4 ]- z. [( u; K+ Y
FR_DB_HOST: db
7 U/ v- O8 ]# ]; t* q/ g( Q; q FR_DB_PORT: 3306
' c" w) f. O& u FR_DB_NAME: filerun
- F9 A% N$ `6 a% s FR_DB_USER: filerun% Q2 |( q" ?- U# ]" Q
FR_DB_PASS: filerun) v5 L, T# J. m8 o
APACHE_RUN_USER: www-data% B3 _" p3 B0 q# Z" {5 ^* F2 y6 Z
APACHE_RUN_USER_ID: 33
0 Z; c8 y/ {5 I8 ]& d/ Z APACHE_RUN_GROUP: www-data
1 `+ t7 p* |% B APACHE_RUN_GROUP_ID: 33
2 G9 p p1 R% N- s4 ^8 K r3 M depends_on:) o: y8 v, Y7 }* N0 f) l3 l) c8 N
- db5 x6 _. z5 ]" {
links:
+ M0 F$ q0 K# e+ w - db:db2 t: }( R3 M, W! f1 t9 j
ports: Y0 a+ o+ a6 z2 G& C! |% l
- "3000:80"( `. ~& R$ N2 W4 }
volumes:
3 ]! y! ` D# B7 T. Y - /filerun/html:/var/www/html: f# B5 R. x6 K: i
- /filerun/user-files:/user-files
8 J6 H4 W" ]/ b# k( q ^0 {6 P# d上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。1 h2 R5 e) ?8 [; r: H
5 |) ^3 j7 G6 x1 B7 y% v
3、创建文件目录
$ D7 |& |8 T) f& j' Y: V0 ?9 o4 B; q. j% f+ o4 d- X( C+ T
mkdir /filerun /filerun/html /filerun/user-files
' q* k6 O2 O' r4、运行
# X. [. F, o& N3 E Y5 }' z9 s2 `3 E
docker-compose up -d
. q# h# @7 r: ~# c3 I2 F运行过程中还会下载安装一些library,成功后会展示如下信息:$ {3 ]$ x5 G% r ?: w9 C. g2 o! s
1 i6 G9 d( [ \+ @% \+ wCreating root_db_1 ... done$ K0 ]" @9 `4 a, u" c8 V" h" w
Recreating root_web_1 ... done; W( x b+ Y# |; f5 u
通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。
3 Q0 F# W. T M4 X" y/ Q% \" J3 q8 }+ Q" ]' [
系统安装
* X2 q6 O" ^* h% B7 ~! oOpenmediavault 对硬件要求较低,官网给出的信息如下:
1 l& C! X" {, c4 a; c' \7 `( l: w( W+ o
CPU: Any x86-64 or ARM compatible processor
7 j! \ ~$ v. X; a/ R3 _/ nRAM: 1 GiB capacity
5 C* r6 n$ e8 R1 ?4 l) N: L6 HHDD:
! Y- ^9 n" W2 OSystem Drive: min. 4 GiB capacity (but more than the capacity of the RAM)
8 o1 C. [6 W" C r0 X! oData Drive: capacity according to your needs
) O" B- N) ~* @, S8 h安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。' u: X/ A s$ o9 n( \& p
2 a( w' g9 ]9 [/ t; B9 R, N. l登录
+ [% `3 a$ I5 |; R' G7 N4 w登录分两种,一类是Web管理界面,默认登录信息如下:
! c- q: ?% k" M4 r! _# a$ F4 e
UID:admin
1 r b' |4 H2 A9 K+ O7 RPWD:openmediavault
. S6 y5 W' m" H* h( k' H7 @8 G& s! |& q N1 M9 _' r
前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。0 M y+ ?. [9 E, w3 A/ x
0 _7 j! O |; L9 c3 \! ^% ]# C
查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:
# z7 _" k1 }3 R; _ T
* J4 m3 h1 i4 D3 | s4 Eapt-get update
2 D2 \ }) x4 |apt-get upgrade5 q5 l4 w4 n. H |9 [0 J
另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」, m/ P/ B$ B2 Y
) n) m4 D9 R# U* k安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。
6 u& f. X Z( }7 ~6 M8 l& N2 B7 ]. u
& ?" ^) ^1 J! O- U5 j! _9 ]: ^* l原则7 @4 i1 |' N3 R3 x) J
准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:5 H0 X: j( J- T' q
* H4 z# H4 |$ _' j* K1 ^尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;
1 N/ |) v4 U! F- t; |$ E不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;
6 u% n. ?7 W1 q% y1 G* e _9 S. {索引# k/ X5 q* v5 \$ X6 \
OPENMEDIAVAULT 常用命令
' C1 _- E7 ~9 c$ p! W# GOpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。/ t4 p0 B( ]+ g' D+ w
' U( x! Z7 ~ Z& T! t5 h' fomv-fistaid : 安装配置菜单引导;
7 R; q- U9 e7 u# \& M1 s
, u3 B3 \, V5 `3 \( ?ip addr : 查看本机IP信息;( S6 x! v7 X( ~! o6 Z# E8 j
! Y3 }1 c! z+ d3 r+ ~: o
dpkg -l | grep openmediavault :检查当前系统版本
3 w3 [' O% l% B
1 k, g5 `) U5 d2 f9 l! v' ]参考资料% r4 r( X% c; \1 m
Openmediavault 官网1 N- R" N1 H# Q7 X
搭建 openmediavault NAS# c5 x% J+ x7 E. q
GitHub 开发者插件列表
/ r; m$ o0 [" N8 F8 |" ]" dFileRun Docs
p5 k5 z T. Y) z6 \% O常见问题% x0 u3 u+ }) ` L! J, _
更换硬盘 无法创建共享文件夹的问题 |