现在都尼玛6.5了,0.几的版本就开始测试了,不稳定,不能生产使用。( p5 \# J6 Z9 m; V2 P
OpenMediaVault 经济高效的NAS解决方案 8 V7 ]9 o7 z6 w7 {
背景: @( e) X9 n/ |" J3 J
捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。2 M8 e4 m- G# w3 p4 p) K" s# h
" }( A* W6 c: v
最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。
) B' C+ C5 P8 {$ p/ P5 O3 p7 ?5 [, L0 _. q5 B3 i6 u$ P
而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。
- u, s7 p: c+ ]2 q
6 @9 [4 _8 J1 s3 W2 e" B3 r两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.04
+ n0 z( U o8 \$ r: n1 o
3 J7 M3 ]7 T& S. M1 C8 P' K$ D方案
* w n9 [! Q- S& Q) d5 b% |, w硬件# U8 t N9 k4 ?% x; O. S
网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:: Y+ g0 R3 w) |( a1 K j) y1 E
; D) T# E' g, T1 {1 v/ h
机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)
$ a6 |7 {5 r3 }" S! |7 K处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz
# f6 o6 X( H$ ]7 k8 G+ i$ ?内存:6.00 GB(5.88 GB usable)5 b6 H1 n% b3 J
硬盘:WDC WD5000AAKX-75U67AA0 (500 GB): c% ^* `/ L" f _$ O
该机器2013年4月14日购入,当时售价:¥3349.00$ e8 \2 f | Q! Y9 J, m5 y
1 }4 |" a& s: p# \+ ]+ X- V: u
关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:2 F g0 S( V/ b+ E
. p; X# E& Y8 A; C0 u3 I1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;. l3 }$ Y& p% @7 V L
! V& ~! f. T$ R6 r7 X( f! o! P- T
- ^# W g" e; q: `( j% ^" z4 C2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;; Z& \$ N- L' m1 E4 J; F% {
* I! o7 v- W" E! A
3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。) B7 J% `/ W7 z% m. I+ o+ n
; b+ S# n4 H7 D最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)
! T8 Y" ]0 r% b
' p2 i$ b; b* g# l1 h. I/ M6 ^分区方案+ h2 @: a" ]1 T& f" r
ZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。, G, {8 \. e4 v }7 F7 g
LVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。% w% J" S' H" @5 z- r. v
MergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。: Q3 N- m% y# b4 o7 T; d
最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。" w$ ^6 P* z9 F; w2 \' Y/ y
关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。
3 z) G; {9 h4 c$ k5 P/ q/ d2 {最后的选择是使用最常见的LVM2 + Linux软RAID。4 w9 `5 _: y# Y
3 M- P$ x4 a/ D) B5 k5 |
以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html' e- [, b% p3 }+ z1 T) ]
( r- \0 M; K" x& n软件# Q# w2 x+ W. \3 ~1 g/ D6 l% O
软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料:3 ?5 }( U( h5 _, C
! _* F* n8 m3 i% A
Synology DSM" I0 h2 j2 B$ U: c6 v+ Y
7 P% `& g7 _. i% e
1、相对臃肿,不够简洁;
, g) _. N0 d* {5 o# Z$ ]2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;8 w7 z- U, x$ X. v& d
3、DIY 设备安装运行涉及版权,无法稳定升级版本;
, l/ q/ i/ M, P' B2 V o. P! J4 l# c' y- p" o6 d
FreeNAS/ V3 C6 X0 h8 H* T. B& U% Y
' K" a" b* ~; |6 X对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。
+ O4 m) F9 v+ ^) c% n
% r, s. N5 y- H2 d' yopenmediavault' D0 X3 H% U; r# j! Z8 X
5 X- P' B8 B* W6 r" W+ R
基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。
) u4 {8 H9 Y: K- e6 ]0 k3 S, r5 E0 J) Z6 n J9 ?
注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择; e- R/ z {! ?3 c
/ }6 ^! \) b, s6 n
安装 OpenMdediaAvault. t* x+ c& l( e/ q* ~, h
文件系统及挂载信息& G8 c% o8 M" F5 b
/ I9 F5 r8 @/ a* }+ I! Nroot@nas:/dev# df -h
: g0 K- z5 [& b6 N* ^2 Z9 A- t安装 OMV-EXTRAS
9 p& v& V$ y5 G. y7 {9 p在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。
6 U4 f; R* n' v% R2 R6 V$ V3 ~+ l$ e
- y$ b6 q3 N0 j7 ~$ u: @6 Z0 R0 y通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:, Y/ Q* `: r- V% h+ ?& F8 B i
3 u" e- ~5 f0 m/ |7 K' O R8 p- _3 s
wget -O - https://github.com/OpenMediaVaul ... /raw/master/install | bash
" X9 H" ?7 Y6 X8 iref: https://github.com/OpenMediaVault-Plugin-Developers/installScript8 I( T1 q. p- \/ f5 r- P
; G7 [$ P! z D0 T3 U
注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!: r; h& z4 R8 z! L) e/ C
2 i7 [% \% P; d4 e) U, k4 l
方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/
0 Z3 A5 G5 v2 b. n+ i) i* K- g C2 V7 F
安装 DOCKER% a1 L! ~' j3 X% _3 V6 h5 ?4 i& q0 j
完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊… R; a5 e4 j5 R$ G' V& q
2 X5 J/ ~- T K6 X: G: b/ k6 H
Docker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。
. @: K8 j. [% e
* {: X- q- o) R0 k0 ^9 T安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。, t3 c s( c+ i, c( y
6 m. Q2 V* P% h安装 NEXTCLOUD
! J( u/ {! M3 \9 Z, h: ` d& ]经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun2 A; L: Z G) c3 |5 P' s# M
3 n; C! ~" I5 w& Z% y) c( S$ d如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud7 V; s4 g* ^9 Z3 u8 w8 s' g
: c$ E/ E5 g% C6 U. R
安装 FILERUN. R2 Z+ N( J/ b) X/ F* e
在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker
4 A% C; I- c F" R/ C* n D1、拉取 FilesRun 镜像文件
+ L j4 M4 I- {5 I1 [& v( R4 D+ \# W; j9 v4 v0 s4 ^
docker pull afian/filerun9 A. p! v5 u1 H1 H
2、创建配置文件8 i& m# C: \2 ~1 Q; C, A
# q& D8 B! E4 G% A/ lversion: '2'
N. @" o) h; F# X4 M
2 s5 `- A# }% I+ D; ]1 [' m- m( Cservices:- W" B+ d& H2 g" ?/ |3 `
db:( T4 T4 K( Q3 _2 s5 k
image: mariadb:10.1
: W7 X, _ y+ }2 L$ P9 A; _ environment:
% E) L6 K% [# |& h% P9 X: h: s, p b# G MYSQL_ROOT_PASSWORD: filerun. j' i9 S9 r# Y I8 D# V
MYSQL_USER: filerun& @) }# Z1 T9 F0 a
MYSQL_PASSWORD: filerun
. d+ \% b4 b/ L( ? R MYSQL_DATABASE: filerun( I. S- ^) v: M3 w) [" a; D
volumes:
" _$ L$ S4 v4 V$ c - /filerun/db:/var/lib/mysql! ~- A4 n9 C5 J' o q) o! @; K
. |4 u+ h7 u3 r3 F8 F
web:
$ U) R7 M: o/ a. E3 k0 c5 a; b image: afian/filerun" Z: C& x# L" [/ N+ ^$ f8 H3 {
environment:
; X9 n" i% \+ a, ~! C" w8 ? FR_DB_HOST: db) \8 R; O% O6 z
FR_DB_PORT: 3306
0 m9 ?3 S* K, [" d FR_DB_NAME: filerun( }9 x4 y- u/ ]! r! |, Q/ h" H
FR_DB_USER: filerun7 j2 A1 f! q2 d
FR_DB_PASS: filerun
: B8 o( ^& O$ H" o/ \# a) q( a APACHE_RUN_USER: www-data
' v7 T0 \* B5 V6 l1 e* p" p( k APACHE_RUN_USER_ID: 33
8 |; D! g# v- h- ?: W V# i APACHE_RUN_GROUP: www-data! k" G5 M h6 ^
APACHE_RUN_GROUP_ID: 338 F& u6 M) v1 {1 E ?& c+ l
depends_on:7 N- T5 R0 y8 j
- db9 c0 \0 U! c2 W8 o0 M
links:& x3 v6 k1 ?) k
- db:db
, B) B' l1 Y) `1 D$ v. l ports:
( b6 O x1 N. B- [* P6 I, @1 |& e% | - "3000:80"7 v) x, ^" Q2 }2 r
volumes:& P6 r' X6 g, q# {8 ]/ U3 `
- /filerun/html:/var/www/html
& n* H% s/ `, }" H - /filerun/user-files:/user-files
6 t7 h7 l" K1 n/ Z( `2 P上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。! ^$ N: L: Y; | a& o
& e1 ~' R j5 W( z3、创建文件目录
7 u9 ~$ K7 A, Q8 q, [) }# i0 ^3 B9 O) r. g* z% Q/ D6 w+ h/ R
mkdir /filerun /filerun/html /filerun/user-files
8 H' s# t# S0 C, y9 ^4、运行
) ^6 ~8 g: ~+ u% a
" S T1 k' [+ W/ T( T5 I, |9 H" p% |docker-compose up -d
9 Z5 P$ @3 C5 O5 b1 b& _运行过程中还会下载安装一些library,成功后会展示如下信息:, K. G" A3 e; H" A1 w
1 j6 \- h9 t0 ~. Y; E4 }* nCreating root_db_1 ... done( m0 W u+ W [) |3 Z2 r
Recreating root_web_1 ... done K# `0 X; p" C4 N0 z
通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。8 l r; t' T c2 i, k
0 l v; o5 u4 k9 j; R2 J, o系统安装
' p( E2 f, B! M/ r1 F) T4 Y F2 }+ ]Openmediavault 对硬件要求较低,官网给出的信息如下:, M2 d* q! _9 C1 N
1 [4 X/ n9 W" }% f7 J4 aCPU: Any x86-64 or ARM compatible processor! L; J% t3 E% M y# q0 n% h
RAM: 1 GiB capacity
0 X8 Q) b; S# n: s2 o/ {HDD:
3 f) b8 v: \* T8 Z5 ]- n$ W/ H9 wSystem Drive: min. 4 GiB capacity (but more than the capacity of the RAM)
: y9 ^5 J! R3 Q" f0 i' r# h O3 bData Drive: capacity according to your needs' h! I6 t1 `) m( V3 ^
安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。' s& X b+ `7 p( C4 A
6 Z7 o* f( q+ ^* u; q# H3 J登录
3 y8 i$ l2 c5 j! k登录分两种,一类是Web管理界面,默认登录信息如下:
" z" s. H/ d& {* S0 @1 }/ ?$ Y& W @, R( @
UID:admin
2 i3 ^ q0 R3 a- g7 {# o3 E& _, jPWD:openmediavault
" v, }; P+ N" [9 N' M
v9 g- H' j+ ]7 g3 z- I& l7 [# r前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。
* z% G1 h4 x% `# z6 A
7 H( {" A$ z: `9 @查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:
" H ~+ ?# H$ ?3 h" Z$ Z8 [+ t& L* \/ a$ \# P: T
apt-get update
9 w. |) }: t6 ^" oapt-get upgrade- B$ W. [7 L' h4 W# y: u
另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」: W5 Q" ^3 y. C+ I$ }1 O
/ I( J" _& @0 B& h+ p( e安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。
6 w% h- z$ H. y/ C# Y) K* i# v2 ^; s# k
原则
5 X" p+ t# Y4 z& a2 z准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:, x% u+ r3 U. o k+ W. a
* W3 \. P' H, u7 e
尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;; C, `0 K% E% J; k' O, M6 |
不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;
- V) d) F1 t- }索引+ R6 m" |1 o3 z% [: {
OPENMEDIAVAULT 常用命令
% }( Y% p* f- J! R m5 J) T; KOpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。
. I1 M- i! ]) W( g
% b5 h% N4 e$ _) ~( g C3 z' `+ T+ \omv-fistaid : 安装配置菜单引导;
; T b; N6 f' j. w* j
( C* o: n- S( W6 c# cip addr : 查看本机IP信息;7 ]5 I X, Q2 S0 j; Z$ X/ y
9 v2 X! K+ F$ _/ ?0 A9 k
dpkg -l | grep openmediavault :检查当前系统版本
& C7 V" R3 ~+ F' Z% f$ {' z6 \, c- j) W
参考资料
8 s; T0 e4 h6 Q& B+ {. v, GOpenmediavault 官网
4 ]" T1 x4 a! l {8 C' N* o搭建 openmediavault NAS: f' o; z% c0 S6 o
GitHub 开发者插件列表
5 Y8 r( ], m' M" U7 }" V& EFileRun Docs$ y% j8 B% |6 S) Q2 X& @
常见问题
0 K/ ?6 K- ]* X# |' _6 C8 m E6 ?更换硬盘 无法创建共享文件夹的问题 |