现在都尼玛6.5了,0.几的版本就开始测试了,不稳定,不能生产使用。' G- F; x: L2 t
OpenMediaVault 经济高效的NAS解决方案 $ z, A3 W$ X% m
背景% H* s. U# J% b4 z
捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。2 _" o' V7 n6 I5 |& e- N4 o
* ^! t2 v) A, U2 A) a) K9 [- m# U
最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。
B- o1 A, W! h' M6 I2 a5 z2 D, K/ z% t. r# b
而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。: [0 }4 H) f! g k8 q3 o& }2 m% t
: y A0 L& v8 k& D" s两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.04
) z* R8 d- K. F* Q( f+ |0 a+ M" O9 l1 A2 W8 s
方案
7 R& a6 o8 m1 A' t4 |8 o硬件: L6 e# B% S& q: r1 E
网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:8 y- g: }! M2 q6 \& u
/ [: F, ]! O1 U' w' ^
机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)% |- U8 Z5 w& _ B# x1 @4 f d
处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz. x" a ~. T$ o" M4 V5 p$ W& a
内存:6.00 GB(5.88 GB usable); D& @6 Z( `1 f8 `
硬盘:WDC WD5000AAKX-75U67AA0 (500 GB)
* d+ H( K! i$ {& r1 ^9 w该机器2013年4月14日购入,当时售价:¥3349.00
4 v! t4 \" |9 `
' `- U, h$ Z& c1 A关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:. a7 m8 ?3 ?6 ^. k$ ?& m
+ z% X/ z3 c1 d L) B
1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;7 c3 U- T0 g' ^4 x8 H! g
" V( L6 Z9 |, d: J. B6 @& `3 i
# U8 q' m' L. P2 \2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;! d/ p2 d( M7 E
' u' v, u+ E$ P
3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。
' i6 e% }9 c* j9 d& p# Y
% \+ r9 D+ L) Z" T最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)
6 z$ ]0 X" b! f" o3 \$ N6 _0 V1 b8 Q( a/ w' U3 g% B4 W
分区方案/ _; m! ?3 f4 n+ [( `
ZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。
+ n2 M1 M* S) i1 S8 C; TLVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。
1 [/ z$ y7 L/ f0 k0 y( TMergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。
3 @5 ?* j# l, P/ _3 p) O最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。
* ]: [4 {/ ?& W2 H. x% o" a关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。) G6 A6 S2 Z( B+ p' S
最后的选择是使用最常见的LVM2 + Linux软RAID。4 z9 ~% g, |0 W! J2 ]
+ j+ s# v6 Z# [9 C% V- s5 ]以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html2 w2 H' B; B `# g
& F: ^( r2 q1 W% c T0 l软件7 {4 R7 J- } P- v
软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料:& ~7 O/ w* T- q; J3 w2 \* @
, H, ` k( p v9 oSynology DSM
/ `4 N- a& S* _
2 R/ o# B4 {: o1、相对臃肿,不够简洁;1 u1 H8 y$ t. H
2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;
% \ G% |( ?4 r$ h. w$ u- [$ |3、DIY 设备安装运行涉及版权,无法稳定升级版本;: a9 W% I' ^# f4 N k4 g) w
; K3 i. I3 u6 f6 R/ T6 _FreeNAS
8 ~9 r& P- q9 }, `4 U' x+ Q/ q8 u0 S5 ^% \/ j8 Z
对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。
$ R. h9 Y+ Z7 v: Y% L' q! C" n8 ?8 Y3 e3 U6 P( a" J
openmediavault
5 t0 h& R4 U0 }% {# t& `; h. a+ f
基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。
7 q! Q, F; ^8 ?# A: }) P3 R
' o; G" l" O% j% ~注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择8 S# V& g+ N; ^- c5 y7 K
! N: v+ a/ L- N# ]/ `5 P+ T安装 OpenMdediaAvault
( B+ d' h# U* g t* {3 ~( v3 L文件系统及挂载信息
; i) E2 ~2 ?8 `' O' Y& `7 ?5 e" w( h# k: V
root@nas:/dev# df -h- E8 J* e. U5 \9 E5 c
安装 OMV-EXTRAS t" G u, N9 T' r" R9 V( a* p
在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。
8 S4 C5 J) z5 A5 [/ S) ^8 a; Z3 G( e7 U( a; i2 w8 V
通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:4 P4 I* E1 A0 K9 E6 {- A8 `# H
1 S; E$ \- {% w/ Z! Z! x7 u
# a& \4 p z) |! `" gwget -O - https://github.com/OpenMediaVaul ... /raw/master/install | bash* Y% r5 t$ L- M; l$ ~, C5 ^* |
ref: https://github.com/OpenMediaVault-Plugin-Developers/installScript' [" J% \ s% P6 z) o6 m5 P- U
& @9 m N( G, B n8 R
注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!
* T% H& T' l* @$ F4 t# ^& D- I+ V5 [
! j, K' _8 {( `) }& I9 ?4 U) m方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/
4 q9 k! j0 a3 E& B8 [7 k$ @7 e6 K- R( J2 w4 K% V
安装 DOCKER
% K% o" V8 p8 |+ X$ X! I# y6 M完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊…
+ g4 f8 ], F& j) A5 R
( e% e8 R' t* J/ `2 C* q# qDocker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。
( P2 H) ~, W$ Z! `
# p( X, {4 C; i S* e( y安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。+ y4 q& G3 u5 Y& Y- U
. W/ f4 N4 W: G2 C9 l$ ^
安装 NEXTCLOUD
1 K. n; W0 k: q0 T1 V经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun# w$ @# M5 p/ _9 h, A5 c
+ d; `5 ]* e0 D0 M2 L; c
如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud9 m* h! n. n& B. b/ `4 J7 M
1 J2 C' T$ W) Y* t+ u* [$ W7 G/ f安装 FILERUN
; A# f8 e9 T5 Q- K在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker2 Y3 h9 l3 [5 n5 v% V4 i8 R% P" r v
1、拉取 FilesRun 镜像文件& K9 w5 N. W9 S4 q
2 v5 ?6 V. x4 C/ Z7 m
docker pull afian/filerun
! a* c+ F. ^4 o. j8 u2、创建配置文件, Y a4 { f* `% ~4 Q( j) U
- a# d- Z# s* R. _8 Z
version: '2'
6 k- A O, ]! [0 {& `+ J8 m3 f+ E! f& o, I- v
services:
# R! R4 H, y$ h+ U& s! U db:# y: A! S4 }" O8 c, ]' q( F
image: mariadb:10.1
0 s7 r+ ^+ P: G- M9 E4 ? environment: V s, n* \- ?, Z6 k
MYSQL_ROOT_PASSWORD: filerun0 T6 K, t$ Y1 z# {3 o
MYSQL_USER: filerun' K- j' w3 u+ x( ?8 [( N
MYSQL_PASSWORD: filerun
( X4 X5 Q% Z' q8 t% l6 D MYSQL_DATABASE: filerun
# w; Z1 i4 i* u. P/ ]- H volumes:7 w0 `3 B. P! J' P# ^* m
- /filerun/db:/var/lib/mysql3 G1 M4 C! g# }& \3 L
7 P3 O, Q, p& J- s6 Z' a1 C6 W web:+ ]" f. h9 k! `2 ^* m W$ Q
image: afian/filerun) F' j# @$ i" @$ J1 ~
environment:# M7 y6 K* {& ]& j; }+ \" e4 D- O
FR_DB_HOST: db
4 g; ]! H7 T4 [2 P# X FR_DB_PORT: 33062 z0 B+ t0 T2 r( Y, w9 A- |- Z
FR_DB_NAME: filerun
/ m- U/ l o, x, y, P FR_DB_USER: filerun
( W' F2 Y/ Y5 \ FR_DB_PASS: filerun8 n+ m" q; D% T% `8 a: _
APACHE_RUN_USER: www-data
, ?" ~$ }* ~& d$ _, X& J! m APACHE_RUN_USER_ID: 33
* G9 b, N# ~; [1 d/ L9 a2 k APACHE_RUN_GROUP: www-data, a( [. Q) m3 r/ K2 R, }" Q w
APACHE_RUN_GROUP_ID: 33
. h$ q! b$ D- ^4 ~/ c) Y depends_on:9 K* J6 l/ e9 m* @5 q
- db
- e' c, d3 P4 m9 Y links:% O0 X$ ~* w# w' J2 n
- db:db; L" J; y( q( K+ V. y' R
ports:
4 y- {: d5 s6 O/ v - "3000:80"
' ?$ P% A2 l# ` volumes:
$ t t1 {4 p- ^4 p - /filerun/html:/var/www/html
J% t: K& p j7 R, {( }! Y5 W - /filerun/user-files:/user-files
1 Z$ j/ m( ^$ A7 f3 I$ ?. a上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。' }8 u6 E" F! b. G" F8 p9 \
' \ W! S. Z5 }: g
3、创建文件目录
/ z: a3 G4 I+ ?/ S% k7 t5 B" s
9 S: o9 {; _8 I, K* _mkdir /filerun /filerun/html /filerun/user-files
! T- T7 n! ^* ?7 d6 M) u4、运行
& O+ i. N8 {5 R- z$ Y1 S
" N! G: F1 \/ h* m7 s, P6 }0 ]1 Fdocker-compose up -d/ o7 A- [* w7 k! t( }( E" H6 s
运行过程中还会下载安装一些library,成功后会展示如下信息:; c2 X( A. `, ?3 f
) ]& K) O8 k9 H" `, gCreating root_db_1 ... done. q1 m9 C; j2 j0 n
Recreating root_web_1 ... done* F9 o: {# T' A) q. l! m3 w u
通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。2 r% n8 e+ ]( H+ T1 v8 @
|' T; }- a3 P8 T; U. l% Q系统安装
/ c" }, A9 l3 L$ l6 X: r$ uOpenmediavault 对硬件要求较低,官网给出的信息如下:/ k; ]; F. `" \( n; x& e
5 D. \' u2 [/ j+ NCPU: Any x86-64 or ARM compatible processor
' y+ `/ F6 N$ N) Z: {RAM: 1 GiB capacity
# N9 l8 u$ v2 z3 _6 Y3 m) }HDD:+ z+ \: t/ @! q( H4 }" z
System Drive: min. 4 GiB capacity (but more than the capacity of the RAM)6 @' L- p H( a+ x
Data Drive: capacity according to your needs1 B4 U$ n. @$ |$ f
安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。
) X* {6 L ]5 f9 B6 C) Y
9 O7 Q9 l" h8 Z5 N. X' z登录
' }/ c+ ^; _( X0 m0 Y登录分两种,一类是Web管理界面,默认登录信息如下:; G% O5 H$ D- r; |
1 [% z$ Y/ C `. J) Z4 L* L
UID:admin6 e) r% `. t+ k. v( T7 ~
PWD:openmediavault
6 V. G! A; N- z) G) i3 L9 f% e {, k, j. ]1 m- S- |$ J* N
前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。
% I8 X* s: }8 A( a R6 D# P& {, ]" |5 U% t! T
查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:& K1 \1 x+ _- f" H0 s
( z y( P( h; P7 ]* B9 w: Lapt-get update' Q0 X. o8 z2 [$ E5 z2 z
apt-get upgrade* j. d" p$ M: R5 G2 `/ d; W- }/ Q$ Y! f; b
另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」
- c- \8 ]( X2 G8 l; o. C( M7 {
$ q% i% i9 W6 E# ?, ^! r; t安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。4 r; w+ q3 j( y5 t
' I+ q! H8 @) z
原则% l# y7 L) H3 \+ u: |
准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:% L8 v, W7 u% \2 F$ @' C
( @0 r6 {+ r, K p尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;) M# \8 v) m& s. B7 }
不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;
! W8 ~- t p. J4 [+ B1 @索引
2 ^! h+ E( O4 u0 D9 X, C& u6 BOPENMEDIAVAULT 常用命令
2 c3 z4 [) E( G- G. R8 jOpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。0 X) I1 e* Z2 l8 l* Z1 d$ A
2 X0 p) Z0 [1 V, f& ?! t( z5 E1 X5 Q. iomv-fistaid : 安装配置菜单引导;
) v! O3 J% |! C: Q( J* v1 d1 ?4 N6 w: c/ g- R# x
ip addr : 查看本机IP信息;
/ d& o3 @8 l; B! i# Z& X0 ]5 k
8 X @ P: S, S9 \& M6 [4 sdpkg -l | grep openmediavault :检查当前系统版本
, J5 m7 a0 X0 ?3 k F) K2 o& Z
1 a6 A. f9 `8 ]1 p3 q2 Q$ _5 Y参考资料
* J* i0 o& c P4 ~Openmediavault 官网: @5 m) B3 |$ t' j% T- b
搭建 openmediavault NAS; @3 r% C5 n/ F( r* s
GitHub 开发者插件列表
1 i, x) o) S- z: x$ Y: oFileRun Docs4 H- F3 K: ~& P; x0 l+ L5 G9 s
常见问题
- i/ N" K) j' K$ @; g更换硬盘 无法创建共享文件夹的问题 |