现在都尼玛6.5了,0.几的版本就开始测试了,不稳定,不能生产使用。) a; @) H. S& p
OpenMediaVault 经济高效的NAS解决方案
8 ~, i2 D& M- }. c背景
" ?/ T( b( `+ y7 X' l捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。0 k+ S$ d* p. w
; k7 u! d; @0 g* O8 |/ b' z- @8 n/ h最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。: A9 p8 ?2 w8 f( p
t3 Y# t5 G/ _3 h" M* @ h/ _而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。2 U& N: z' z! h, J% f* R% V+ A
P! m7 e7 `& D8 w6 F3 ~' E' ~两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.04
% |6 @. Y: S0 v3 Z# d3 c8 _3 p; t! v: ~
方案
2 R2 `) E7 d' P: ?" F硬件+ i0 c& h0 X: }) K
网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:5 F0 ]$ `/ f* P( e) K N
( h# D) b/ p& a" p# F
机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)0 V) e; J' Y$ |
处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz
) P+ U. b% G# t3 S, V9 u/ I内存:6.00 GB(5.88 GB usable)
0 |/ j8 |- u5 a硬盘:WDC WD5000AAKX-75U67AA0 (500 GB)
3 |. F9 \3 H, |- x5 g该机器2013年4月14日购入,当时售价:¥3349.005 h8 O1 F( R- Q# x, }/ c8 Y. | a5 Z
6 b- n9 ~9 _$ x. @" `# r; p& q$ I关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:
! m# | b# z. d, _# |
) y/ j& c5 L3 h8 m1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;6 ^, h8 F; Z% M l( U. p; K
4 m5 z3 D0 W. P% i: K
4 l/ A7 B, m0 I8 n, Y2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;5 e, }, Q+ Z p4 O+ n0 }
8 b& Q( x* q# G$ k
3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。3 l( K9 N$ I/ q! ?/ B5 d
5 C. C* x8 a; q) ^+ d, N, ~) e- O
最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)
( a- j6 o' }) k& q
u7 E* }$ o6 G5 N3 b分区方案' M# S2 A* K- t4 g* T/ t7 Y& Q% x
ZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。
% ]5 Q) a: r: g. ^1 FLVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。2 o. a4 W" X k4 K& w6 B
MergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。
& V/ X2 R3 k k4 R! x; i, K; T最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。! [" z K" ^4 ^% f9 X5 M, y
关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。
" }4 z. E6 b# t2 G$ f最后的选择是使用最常见的LVM2 + Linux软RAID。
) ]8 |0 y% X" m3 @6 p* l& W/ N
+ V' ?% ^4 _ G/ ?: _! m$ m0 C以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html
# j- W# |# s' `; @- Y
3 X, L6 L, G ~3 _软件/ n0 v- j0 x' \# ^$ S) l8 ^
软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料: H1 ^* }' [6 e
: n2 W5 K$ k- q
Synology DSM
1 M. c4 D/ X) \: o* j" L8 V; t* Y5 k
& x3 W& Q6 `, R/ F1 Q4 D$ Z5 i1、相对臃肿,不够简洁;
7 d! s6 n7 G/ \2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;
5 W* i' t3 e7 j; W, }3、DIY 设备安装运行涉及版权,无法稳定升级版本;5 u, P$ J" o7 d) g+ }1 V& _
0 ? }) Q$ r E% f9 c ~/ vFreeNAS% N3 E% X0 @ ~1 I! b3 ~
, L6 c L2 \1 r% |* J x5 s对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。
2 [+ Q& g: h3 i. K U7 W
7 s2 m6 Q9 ` m* Uopenmediavault
7 Z/ f6 c0 c* i# E6 A1 C- ^9 G( b, x% U5 c
基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。
4 L3 ?) k% y8 {0 p) I9 o+ u P; D4 M( J; `- d8 K
注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择
' S# N; s3 Q, z8 b6 K4 ?4 \
" S" I& ~" y# k' @; z安装 OpenMdediaAvault
* ^" [9 U1 C) |4 q. B' ]) {文件系统及挂载信息
) }: X# ^, e9 u2 ~8 H1 a( l
0 X$ o; x2 f( C2 y9 V+ Lroot@nas:/dev# df -h/ s) N# B4 |: S# A0 d& V: u5 w1 ]
安装 OMV-EXTRAS
& B+ x$ U. Y/ c: o在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。
& y( E0 ~5 w2 M7 @# d7 Y
$ ?% C8 e) v3 K& O" Y2 V通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:
6 Z# n, b6 ~/ `; w2 n+ Z% l+ U0 Z' e3 A; \ } v
7 d6 m! a% j0 Awget -O - https://github.com/OpenMediaVaul ... /raw/master/install | bash: u) W; l5 k9 g4 y! t
ref: https://github.com/OpenMediaVault-Plugin-Developers/installScript
9 x- n7 K+ t/ U8 R& c* d
1 _' x" ]1 m3 a9 {% d4 r注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!
! W6 L% P# ^$ ^+ j, `! v, n
" x9 K( _3 R8 f方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/
5 J: C' ^# o( `7 f; c+ \) T. R6 L1 r" H! b5 Y4 Q/ n2 I
安装 DOCKER
( ?* G1 a, Q1 W! Q完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊…
9 L$ h' c) a3 H- h \" p# M
4 e0 N L8 j7 c0 E# {Docker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。) U8 W1 I0 `& e/ u1 t; [: V# P
8 l& O5 \; U4 |7 c8 N* b
安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。
/ w2 h8 D8 y$ \% W( `. J: P3 ~0 w5 l0 @7 w8 }
安装 NEXTCLOUD
" D& J9 a. O$ x9 e8 E4 @经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun
, _0 D+ f4 G+ Q* {. \5 \9 y) O; G+ X; |, H+ ]; Y* w! ^0 V1 ~
如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud# G& O7 ]8 @8 R# Q
% K! h* [# I: E8 @; o安装 FILERUN) S4 x4 r% _5 n
在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker
0 Q: J/ H n4 @: k% {1、拉取 FilesRun 镜像文件
8 {, `. W* M1 U" B, @4 ^, a- Y# w& _, S& P
docker pull afian/filerun
* r- T; R! c' i) U4 Q8 ~) h2、创建配置文件
1 C: G# G0 l. {' w6 e' I
+ ?5 g$ Y* G8 X, {# i4 b) \3 \version: '2'" M- N8 V+ M+ u2 N% g1 |
* i8 y _) ]5 D
services:& @' s9 S7 H( }% @9 _
db:
9 S1 S: y# e+ b image: mariadb:10.1( n! m. ?. d O6 U: v
environment:
" a. p! u, t; m7 z MYSQL_ROOT_PASSWORD: filerun
. B; p2 u% N; O( Z- E MYSQL_USER: filerun
! D0 b+ I5 d2 K6 l5 Z. C MYSQL_PASSWORD: filerun
6 x# [" B' K7 s) { MYSQL_DATABASE: filerun8 `4 Q w0 L1 s, }" U1 b
volumes:
0 ~- n* C/ o0 ?5 d; [5 S - /filerun/db:/var/lib/mysql3 m0 L2 w6 F! |6 @8 K
) a* W4 d* P% i' B1 r+ h& J web:
5 t! K# f7 S4 x8 i* ^ image: afian/filerun
* l- z% L, {% v+ f9 A environment:
7 ^+ O7 u0 o Z6 d FR_DB_HOST: db
2 f1 X, m4 G) ?- F. p FR_DB_PORT: 33068 S+ D& A9 c& s: m7 c& j
FR_DB_NAME: filerun& R2 s) f, L3 \# e k
FR_DB_USER: filerun6 [0 P* P, w* O1 G" d
FR_DB_PASS: filerun
+ m5 P. L1 W8 S0 Y$ ~ APACHE_RUN_USER: www-data
6 d' v+ S, E! N. S APACHE_RUN_USER_ID: 33% u" ?9 p' A2 a( x5 m# c2 W/ s
APACHE_RUN_GROUP: www-data
% N5 j( [5 q5 N' u7 j APACHE_RUN_GROUP_ID: 33
, M6 D3 ~6 l2 \# l, D' \7 G depends_on:# ]2 w6 S# i6 L* ?+ h
- db, B) i) @: E+ b& J
links:
9 T4 R$ X! c* ^" n y - db:db; ^$ A1 {& K" O* {, a* U% i8 D( h
ports:
7 ? [* c: a/ y3 z% _9 H9 N! x - "3000:80". h# g4 X$ W( i s7 t
volumes:8 c( p- h1 Z2 [/ s! x
- /filerun/html:/var/www/html
/ M. `" n* w& Z1 Q, D) |2 B; H - /filerun/user-files:/user-files- C" G( C7 t0 A4 u9 a9 M, n
上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。$ L6 J5 m7 n+ X/ Q
* O4 z" k( V/ z5 l3 O, {4 d- ^
3、创建文件目录
1 G& i$ ?$ _% x& }; }. J0 Y
. @( W- i. O& x) V& }9 `- Wmkdir /filerun /filerun/html /filerun/user-files
1 {4 T# S9 ]( ?: V# F" L- G4、运行4 H$ M- R! l! e/ \2 p
* e1 q9 i( z) d1 ~0 h; C' v" l; k- bdocker-compose up -d; v$ f- k3 T# K9 q E
运行过程中还会下载安装一些library,成功后会展示如下信息:. M t9 V: x9 S" G; e& q$ m( Y
) q! {) E5 m. x1 r {
Creating root_db_1 ... done
7 d6 M& T4 x, t& i% i5 Z- YRecreating root_web_1 ... done
4 m0 F$ I5 ^$ W1 ^ C通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。9 y4 `2 p: W& z' J
8 d$ C; j% F( h, _系统安装
" A- }6 N/ n" Y6 t' |" TOpenmediavault 对硬件要求较低,官网给出的信息如下:: o C% Z2 a3 Z3 F0 z
5 D. g8 H- p6 p p9 m$ X: ]CPU: Any x86-64 or ARM compatible processor
0 w2 d& s) z6 K* e8 v# h! N' Z, s4 CRAM: 1 GiB capacity8 d# `; i7 F5 M8 g! X" q5 }
HDD:8 I& b+ C# ?8 h% B
System Drive: min. 4 GiB capacity (but more than the capacity of the RAM)8 Y! Q0 I) d( H! q5 h
Data Drive: capacity according to your needs
' I, {7 \! Y. {( m! I: |0 Y安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。. H. W8 h0 Z5 {* C
2 h+ T& y' i' P) L登录' d* x E* W7 [) V
登录分两种,一类是Web管理界面,默认登录信息如下:3 f; f" t, L9 A O1 S7 j
; C7 _. l" M) `9 M
UID:admin
8 W8 B: D6 P. q3 ^PWD:openmediavault: W: w: }! h2 I, B8 X6 |
: m. r/ j* k9 N5 n: M
前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。
; O5 J3 \( [' V* ^
4 z9 L( j) y4 k; S+ x' X$ _) A查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:
: V* ?' b$ x, c8 O& f9 V3 u. ]' Q- L7 C/ F4 ?3 }
apt-get update3 ?# w6 m3 A$ P
apt-get upgrade" S1 ~% \( Z. W" G; W4 \
另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」, U7 [9 j# ~6 j& P, H C
3 |4 D) E) v$ W H3 r$ s
安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。. ]6 G- Z* c' J- g( g. p
4 ~6 ]8 \: x& j5 {( U原则
$ v1 ^' e+ M. p1 s! v4 M准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:
+ _: T4 r4 _) P) _/ w- o2 q
& b1 m. R# c, V* ]9 k, z' J! P" y尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;" V0 [. L3 ?5 c* w
不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;: ~0 K" g! b" i2 t- D) t
索引
: O. _0 `% z2 F! t' lOPENMEDIAVAULT 常用命令. ~( N s" \2 B3 C7 g8 H
OpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。
* L j/ r R7 F9 B1 U! ]
9 I# P% ?: ^( C+ F$ Vomv-fistaid : 安装配置菜单引导;* ?- Z+ i" P4 N' O& d
6 Z4 A9 ^) C: r+ p. A
ip addr : 查看本机IP信息;
9 p, ?4 Z' M6 D; n0 r2 @ ]0 t, L, V! E* j2 q
dpkg -l | grep openmediavault :检查当前系统版本, H5 G; s& C- b2 ]+ o2 l
+ e: y# U# p9 G" l) i. T参考资料$ B$ D9 R+ |9 [" D- o
Openmediavault 官网
. B4 X, |$ S1 r: ^' I2 A搭建 openmediavault NAS
& D" X, \5 r# w! e8 WGitHub 开发者插件列表2 b* w2 b- t# A# ~ G! N8 T
FileRun Docs
+ _' z. u6 }1 Y5 x& x8 o! G常见问题
: E- P) z- u4 B$ {, M! e; _更换硬盘 无法创建共享文件夹的问题 |