现在都尼玛6.5了,0.几的版本就开始测试了,不稳定,不能生产使用。6 A0 x a) F2 u+ \$ w# }' a" y8 t6 i; X
OpenMediaVault 经济高效的NAS解决方案
. V) q" |- U0 K1 b( W0 O( m3 W背景" l. V! J0 M; Q8 F5 e
捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。
0 ~" S8 t4 U+ A2 u4 w( a* E# w1 @
- g( n D' _8 C/ f) X0 c最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。
( r8 `- e3 n6 G) A" u/ \0 c* [! j" L5 N ~; M
而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。8 O) @7 R% x5 j" D, j( H) m- i
% H2 V: s5 e; `* v/ x$ k4 B两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.04, _* i. \+ y0 }- C; _
: i7 t1 m8 q" e# D% S5 Q方案
+ {: W) \$ k0 k硬件
+ m2 U( |( s2 U网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:1 a* c0 _& I: }! e* ]
! x" Q7 p" Q3 C1 X4 W
机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)
' d+ Y* Y+ f+ O/ T4 |, i, o处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz
: u m+ c2 b; e5 D( e0 ?内存:6.00 GB(5.88 GB usable)9 Y; }: L- X7 u' X
硬盘:WDC WD5000AAKX-75U67AA0 (500 GB)
1 u% m+ d$ J* b2 |该机器2013年4月14日购入,当时售价:¥3349.00! b: Z0 N0 Q: h. S1 \$ D
, |$ X6 z9 ]! ~* V0 c/ W关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:
- r' C7 \( Q7 z) P- Y. p/ \; A7 n& E) C [6 ~
1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;
" a' [$ O- p- ~7 E: @% _1 \- b, V6 m H. @5 [) D( J* ~1 ]. N
$ d( u: |7 k. |$ u) h; z8 z) ] H
2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;6 N, w, k9 i0 \
4 t+ Y; m* E- ?8 f+ B* U6 K) {2 T
3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。
; W1 T2 L1 L& W6 _* T& x! S, h" y
! H& F% l) T$ s+ h7 Y, N最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)3 T7 o: P, R. M H6 U8 T: q% @' r8 }. m
, \4 l+ L$ I& A0 s1 {# H分区方案
. Q( U M& c5 H, X! a5 |* p8 g) o7 LZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。& v8 Y( x" F; m! g: m0 v. ^+ w0 [9 f
LVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。3 l) o5 O0 C+ W" `
MergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。4 m- T; J1 n W4 Z
最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。& T0 t) P. B) d
关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。
6 e- D0 B) {5 @; i1 v w最后的选择是使用最常见的LVM2 + Linux软RAID。1 Y: ], m% F4 s7 F
; s3 }9 r( @4 G# P0 P: T
以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html
( j6 S, d0 W3 }/ U" |8 [, @/ g; Y
软件
' m- t1 v- V- Z软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料:
! U" U% {( [: s8 [: }0 f
0 F3 _2 e c ]Synology DSM! E' x& b! @6 N9 b" r! I2 T& V: l
) [, ?9 ]. y/ Y& R
1、相对臃肿,不够简洁; C& ?/ A' ^- k7 X& v& E* A
2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;
9 q: {% ~7 I+ i4 m" t/ \+ x3、DIY 设备安装运行涉及版权,无法稳定升级版本;# ?* T. m2 L2 k# T* i7 {9 c
/ p0 C4 a. T7 e7 Q. ?
FreeNAS: F) E4 w" p* y/ k; w3 E& c
4 c9 B: y/ O! A1 N对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。) _7 e- v3 |- R4 _: M
. d5 |5 u. u+ m2 r8 i
openmediavault
, o& E, Q2 c2 h8 z- l
" x5 p- |" g% e9 p; H ?基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。9 S( O& K% t7 L, A3 W
" i2 a! ^( I- U, D# m
注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择# }3 h9 ~9 K# i4 `
$ d! ^3 Q' p! [) u% X/ ?! h/ n
安装 OpenMdediaAvault4 |$ d& B" ~/ Z$ n: j# L
文件系统及挂载信息
. M) v$ S, J5 S& r5 B& G4 s+ S5 R: s9 _3 D4 q/ f, H( k
root@nas:/dev# df -h
" Q: e( M1 u/ P I/ I1 F安装 OMV-EXTRAS
! ^6 p% K, f3 Z+ O( i; ]! d在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。- {6 A% L6 S; x. z- d6 s+ U6 F! W& R6 F
7 U3 Z8 I u( a
通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:) S. Q+ y9 F% R6 c
2 T& H' b9 ?( D3 Z" e. e* l$ i
2 `2 b4 O$ n4 }0 a. swget -O - https://github.com/OpenMediaVaul ... /raw/master/install | bash
( Z% }/ V; F" jref: https://github.com/OpenMediaVault-Plugin-Developers/installScript
, V4 a" \7 @% C, F# a
/ {# H% e) r+ _; h* }+ ?注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!
& r0 u2 O; K m B" H
( m3 @; \6 B% {6 K方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/
/ Q) `1 @+ g d# O5 a( k, G" i& {! @/ [& ~7 K5 s0 x, d6 ]
安装 DOCKER
" N+ ?# W K' [8 h完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊…
3 h+ f( ^% y: S. e
: S' O2 W1 l7 s; E! DDocker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。/ V1 i& D6 }9 ^% ?& B5 g& E
- Y5 p! r+ Z' e2 }& n% B# y安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。
: i6 E1 k, ~7 H7 v8 p# w. E6 f7 M6 M3 B. w
安装 NEXTCLOUD( X# w* C; E; h+ @0 j9 ^, z) _( L! M
经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun
5 X J% g' j. y: O. `7 E$ H6 }6 S* S# c0 b) c. y/ y
如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud
' e3 q& M7 x7 r0 X
: v, V- [" @' W* d. g安装 FILERUN2 L3 G$ y9 H/ p* D5 R+ @( r
在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker
. v9 K% e; I' ]3 A( P1、拉取 FilesRun 镜像文件+ a o9 e0 T) o+ m/ P
1 N$ W# q9 @! a7 Ydocker pull afian/filerun
- S ?2 _+ v$ r2、创建配置文件
' _! N, n5 d3 D; x6 N: i" ?
# ~+ t6 }& W7 Y8 s* |version: '2'# Z$ h7 A8 z1 r c3 s4 Y) \
0 K6 H4 r* X* B6 \. J, ~
services:) p& |1 R4 v# l Q+ X
db:4 \$ S3 f3 W3 C6 F" _. Z. {$ o
image: mariadb:10.1
6 q$ f8 E3 ]2 A; W7 ]# O1 p) z environment:8 ]. o, O: ^% S
MYSQL_ROOT_PASSWORD: filerun
+ I& O6 M- H9 y5 q MYSQL_USER: filerun
( e; o" H" E+ a+ U MYSQL_PASSWORD: filerun3 z. Z9 Y1 D7 l3 }
MYSQL_DATABASE: filerun ?) R( A" n5 E* I0 |" {; M! P
volumes:5 i3 G: J' A2 Z
- /filerun/db:/var/lib/mysql% K1 o) [& [7 v) X8 f9 F
( g1 F$ |4 r% K' @; c# K+ I, e web:
; \- s# B1 R, c2 v image: afian/filerun% Y* V8 w+ ^, X; p2 S0 L
environment:: U6 `3 L+ x( z
FR_DB_HOST: db+ {1 m D# i8 Y( T
FR_DB_PORT: 3306
, |7 \6 I4 m5 k( ~4 ` FR_DB_NAME: filerun( ^6 i# F0 r4 D. r# b+ O5 z# m
FR_DB_USER: filerun/ R# ?# r0 t, |+ |' S7 \
FR_DB_PASS: filerun
6 l. L* S, U2 O7 S' t6 @ APACHE_RUN_USER: www-data
8 P& V P1 }% i. p/ E* X APACHE_RUN_USER_ID: 33
* |! S/ r1 _" S/ j" J APACHE_RUN_GROUP: www-data4 Y1 o5 ?" p+ J: D+ n6 _3 D
APACHE_RUN_GROUP_ID: 33! C/ c- T0 z' l2 i' ~
depends_on:4 E0 M- s( N# S7 d4 ~9 l1 j8 H' Y
- db
W4 }$ ^1 G( i) B/ m; m/ H2 {* A7 } links:
/ F" W+ O4 c" Q4 O$ |- \ - db:db
: D, Z p; Y \5 O ports:: m- y4 q' W7 Y( j) Y: ~
- "3000:80"" e3 ~' b9 i- U9 h
volumes:
8 m S' }& K& `7 v% ?3 i; p3 x" q - /filerun/html:/var/www/html3 S2 e" _5 F) b6 ? j' Z
- /filerun/user-files:/user-files$ ?$ e6 y/ x1 [/ L7 l `/ ^
上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。& o ^2 r9 u: z1 G) | H3 P" j7 e; C
9 G: W/ n, O# ^! C3 f& L: H3 _
3、创建文件目录5 j( T0 v M* C' Y
% i' _3 a# n% m& S/ s
mkdir /filerun /filerun/html /filerun/user-files
% k) A4 F' }6 k4、运行
1 ~! z1 l2 s! ^* f' [7 k; N2 }, e; s# \
docker-compose up -d
6 t! w; L' ]( L6 R) k运行过程中还会下载安装一些library,成功后会展示如下信息:8 h% x+ d& |2 Q
5 t1 H0 t# J1 m9 o0 A2 O% d( ~
Creating root_db_1 ... done
. l8 v9 E8 f) u& }Recreating root_web_1 ... done& s& z5 Y% ]- O) H# B' h
通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。1 C# E3 e1 [# N2 g1 ~
3 N4 H: H# k" k4 R9 i系统安装; ^4 P5 w% x- a& |6 X
Openmediavault 对硬件要求较低,官网给出的信息如下:! h' h$ s! G$ Y F
4 F. G" p$ U1 w8 t2 c; m) E# E
CPU: Any x86-64 or ARM compatible processor+ h3 m' e& W" e/ w
RAM: 1 GiB capacity
; F5 A& p' @6 F! Z( \! n. B; VHDD:
) k* |' ^( c; o5 [System Drive: min. 4 GiB capacity (but more than the capacity of the RAM). k* M& B9 }" w) P# o/ |7 k( v
Data Drive: capacity according to your needs
) N; @5 w+ x( P; O安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。$ j/ _. W* M3 d, [
: X: q3 w3 {' X) A" v9 N
登录
# U. |. r/ B& U+ r登录分两种,一类是Web管理界面,默认登录信息如下:
4 m, W8 n5 `$ \+ n; ]: F- W/ x7 S* r' q: ?
UID:admin2 p, _+ E0 ~! b9 P" t
PWD:openmediavault
; |2 i, e$ P( }1 f) _ @$ [& Q+ C7 d% x1 m, ?
前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。
9 ~: h5 l Z+ x6 y" N" |+ ?
- t" ]% i$ U) }, I: V; ^$ B0 }查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:
0 X1 }- b: z& ~: _2 U" j
5 P* c6 j/ [9 v: W& f# V# Hapt-get update
& h! m% K$ }3 t: r9 o9 Gapt-get upgrade
0 A% w/ G( v- X5 x8 F另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」0 u& y, d) b( h) g
( r' r$ O9 l* b \, Y! L
安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。2 F, [) b& F+ U- ]
+ ?. X2 h. e( {9 p
原则
% F) M% U V4 g准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:
7 o# d+ F1 w: J
_+ w& G% h) Q尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;
9 D% V$ [8 e$ r; b不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;
6 o: Y6 }. _$ z4 a# U/ \索引! G; g4 W" M# ]1 N r
OPENMEDIAVAULT 常用命令
+ N, L' V g, p+ Z! f& b4 f! kOpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。
8 ]! `, b5 Y7 ]: G1 A% X7 E5 L9 B+ Q7 G2 Z) H3 ?" M+ _
omv-fistaid : 安装配置菜单引导;
( _: w0 E$ A) U6 ]0 l$ \7 |9 u+ H$ c Q. Y8 N: u
ip addr : 查看本机IP信息;% j q+ J9 m2 _3 M/ Z6 [
Y, Z5 b( u% h5 P3 K6 hdpkg -l | grep openmediavault :检查当前系统版本/ Y; ]3 x6 X: r$ M
) @% ~3 `4 C: N. G/ E参考资料
/ o: j' ], W2 M7 w# E3 o9 r, HOpenmediavault 官网
5 `( Z+ o% t5 w) w/ X V搭建 openmediavault NAS6 x2 o% q9 H" u+ i) l( s
GitHub 开发者插件列表 _8 X1 J0 w% k- ]7 g: A1 s
FileRun Docs
# \+ X8 a# j" w* O" g9 q& K常见问题
% n1 Q# p8 h" I更换硬盘 无法创建共享文件夹的问题 |