现在都尼玛6.5了,0.几的版本就开始测试了,不稳定,不能生产使用。. m6 G/ r3 d3 t9 t( D% V
OpenMediaVault 经济高效的NAS解决方案 h& L. R6 l) {4 m' `8 i7 ]
背景
9 A* F( W$ S+ r- k捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。9 s" @1 x- s$ x# v9 I4 v
% m# N/ B- b2 Q* j/ ]% G ^
最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。6 u' t5 e7 O9 @: k$ b5 q7 ]3 H
/ P4 E; A* t& T
而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。- x, y: T! X- U& e5 c0 s: _/ i
. M9 z. J5 o' H1 |% P两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.04) J9 s5 S+ N& k$ n5 e8 [# o* B
7 H4 s0 f/ N: n方案
! o/ P6 o. p- W! k* o2 G硬件
) W+ w. w4 s( y6 {! ] C/ q1 L网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:
3 q. s3 o& J6 S/ k; I- b y1 `5 N
机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)3 a2 o, K. l3 a+ G5 B1 @2 V$ X) X
处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz
- _2 E1 u3 A- J+ \# D4 j) _内存:6.00 GB(5.88 GB usable)& H! U9 A2 G. A5 q3 k
硬盘:WDC WD5000AAKX-75U67AA0 (500 GB)0 N I4 Q8 _& X. s* |
该机器2013年4月14日购入,当时售价:¥3349.00. t$ ^% v( C) S( d0 c
: ?+ [8 |; f! j7 R6 a/ L关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:
4 B0 ~4 u9 X9 `. J* O( O% t4 Q) F; I( F* ~! m
1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;
/ l4 ~9 p0 t, P+ A4 e F3 m2 T& U. p9 ]* U Y( ^" u+ T
; H7 F0 Z* w! o& S
2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;
7 C# L8 L% O# } G! k7 r: S
+ z5 U* @! ?- N0 {3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。- t5 }: k. y, H3 T9 v! A8 M
1 A! d2 I: G# h- z3 r7 b. ]最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)
/ o5 k, F* E* L
i! Z x/ I( b/ ~3 }" t分区方案+ W0 H7 t; l% a( v0 b% R
ZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。. V9 U- }/ c$ X
LVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。
5 I5 ?' {& E! b& B5 _7 K/ eMergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。9 J. ]# b M+ G3 ~
最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。/ p. L; \/ C; n$ C/ b6 U
关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。2 {" u k: b/ O
最后的选择是使用最常见的LVM2 + Linux软RAID。
V/ ?3 R1 ~* m8 y
- a* w& T) u8 o. r8 i以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html
$ M3 N8 e" I6 Y/ R) \
/ S( u; C/ @- ]5 V软件7 j m) P. d. z' P1 }! l9 E' {
软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料:6 Z' Q, v; ]+ V* b3 M6 n- P- N
9 p7 W/ y' p8 g. V7 qSynology DSM
9 V. g3 k" j r9 r4 j, G
$ z& a7 F4 }7 k9 ~9 {, a1、相对臃肿,不够简洁;
; M# U+ U! N$ M2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;
' w G5 |( _! I5 N. @' } Z( b3、DIY 设备安装运行涉及版权,无法稳定升级版本;6 }3 @$ a @. x/ ?8 H% P2 H. P
8 o5 @- ~0 L8 H# RFreeNAS; i9 I4 T' Y" ?7 p G
+ L) | Q! N. U- F$ i
对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。' |$ a( K9 s. k7 A4 ?; ~# _* S
- J4 o& {% S5 b* y- gopenmediavault
! o% n% K8 I) C* G
1 @# P9 p& n1 a基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。& D2 B4 U) E/ t4 L
# Z1 q2 _$ j% t4 d+ f
注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择% K' f- _# L8 ~; } Q5 ^, }
4 A. @5 H7 `, P3 a安装 OpenMdediaAvault6 S8 h" h) S: @# I+ R
文件系统及挂载信息
) a, X! V$ A1 V: n0 W- L b1 w) N) x) D( B
root@nas:/dev# df -h
. m% c( _2 F* B# f* \安装 OMV-EXTRAS
! u2 l2 \8 X* j* ~在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。, R2 Z# a7 ^" E) Q! }
, k3 x8 b4 I9 q" ^9 V
通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:7 ~# }7 }4 m$ I& x- L0 z* M
! ^4 Q" z) }- I
$ y. g) x! R/ N2 q0 a% S) {2 |' r- _wget -O - https://github.com/OpenMediaVaul ... /raw/master/install | bash
( [8 ?9 x6 v7 R3 y' _' v) _ref: https://github.com/OpenMediaVault-Plugin-Developers/installScript
+ v6 l$ n; |8 C' _) G) h- Y# G: i3 j7 u& v; D- u N
注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!
+ n. o5 y- Z1 X& j) v; @$ |6 P: Z0 w- M3 h* S- Q; |+ E/ G
方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/8 ^ P5 k. V; n
, T2 \& x/ L+ j# ^安装 DOCKER
' M7 h4 b9 h/ m! E/ b完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊…/ d# W% _1 O0 K
2 I/ m' L2 h' l! W! b4 k
Docker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。
# m. ?' M' I1 h) _7 m# G9 b5 o7 i1 Q
安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。% `+ [* o3 r: s+ a! @0 v
8 } T' V2 G ?, ~ d
安装 NEXTCLOUD3 K7 [& n5 [ d! ]
经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun+ @& q) U X3 l4 X* r$ J+ b
4 P5 X$ K* k0 Z' \* N: z; w7 ~
如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud
2 e! F, @8 U. N7 x7 ~. O. o- t. I
安装 FILERUN0 C* i' \6 p- V0 S2 h
在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker
D1 r {$ c, v2 l1、拉取 FilesRun 镜像文件
! }6 l8 T5 {3 l; m' t* X
" x" [/ H% e/ ~: \) zdocker pull afian/filerun/ o" \/ |3 x) K
2、创建配置文件
8 N8 Y' c7 w& h
* _* z. X7 e6 R5 K( nversion: '2'
/ C, _, D, {) D' W( U) Z; \) Y: s R& C1 L- ?4 c9 O
services:
. a5 n5 U2 V0 U5 x db: ^/ @4 E$ R6 f5 R& ]
image: mariadb:10.1
% Q, m) N2 n4 s" }* ~, H environment:/ a/ O2 k& z- G2 f1 w3 B) ?
MYSQL_ROOT_PASSWORD: filerun
% e3 d" V; T! H3 ~1 W: ?0 U0 Y MYSQL_USER: filerun- ~/ O; G+ F) i8 S3 P
MYSQL_PASSWORD: filerun3 j+ B3 V# R, ]5 K+ f& |- c6 o
MYSQL_DATABASE: filerun2 g) D( j# c3 b" f, @9 W. g
volumes:7 R1 z& C# @7 L& A* L w
- /filerun/db:/var/lib/mysql
[' ?! F3 Z. s, F8 L8 I- c
, R) ~8 C. l8 J8 V+ F4 {& y web: p P4 S! F( m4 l' }0 U% G
image: afian/filerun
4 X6 S- t2 v/ R, F8 ^ environment:
2 {- f* C# O( q" J- ^5 K3 n FR_DB_HOST: db
* `3 A# ]- U# @3 D FR_DB_PORT: 3306
6 K4 r" h: G ^5 X FR_DB_NAME: filerun+ V3 w$ h$ W0 e" w' Q: M
FR_DB_USER: filerun( V7 h- L# ~3 H% y/ B; J9 x
FR_DB_PASS: filerun0 r& J7 Z4 t6 k
APACHE_RUN_USER: www-data6 N- w9 E: |* A- }) u+ r
APACHE_RUN_USER_ID: 33; h( K) y1 B: D1 I- {' |9 C
APACHE_RUN_GROUP: www-data
) }( F/ J j; D; L APACHE_RUN_GROUP_ID: 33+ j! d1 I- G( p$ `- @8 t
depends_on:3 w) @. d8 T1 N. n% a/ U/ K3 }3 k
- db# S/ Q3 y/ Q) h1 o
links:
Y4 {2 r3 ~1 J7 O/ Z# W - db:db' b# b2 `; A( L- `% L" E. e2 o
ports:- {7 H2 I6 [7 r3 t
- "3000:80"8 [, A' @$ ?5 w- W
volumes:4 ?" U; w" S) G1 \
- /filerun/html:/var/www/html
" x! O+ D2 n# ] d/ d - /filerun/user-files:/user-files
: T( K' C. G" I+ G: {3 V- t8 ]7 v上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。
& t7 C/ ]& D. L; u1 {7 }; C6 f6 k1 P- i. n Q- j
3、创建文件目录
Z+ |# D5 P; _2 f. l
+ u3 T1 k6 ^" t3 Imkdir /filerun /filerun/html /filerun/user-files8 {0 t6 r9 S1 h9 J/ o5 u- _- S
4、运行
' s8 k2 l0 ~2 I4 F3 t0 u
1 c1 g7 @1 Y' Q6 z5 k: pdocker-compose up -d' C! g$ \- x/ {/ E- T' N, P
运行过程中还会下载安装一些library,成功后会展示如下信息:. D1 M2 {/ c0 G! ^2 y
2 V8 I6 c& L2 \9 P- Q! n2 r' N
Creating root_db_1 ... done
# h6 H; `. O8 s& C: U k2 wRecreating root_web_1 ... done- G( v1 [& I, o* d- `8 A; B
通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。0 R1 G6 s# Z8 w0 w; C
6 [- m- l% C- @! g1 { w+ J; H
系统安装& q) v5 b1 {0 B T4 X6 X6 _! D
Openmediavault 对硬件要求较低,官网给出的信息如下:
d3 C) o! w Y [$ r! T" b1 B$ I J z
CPU: Any x86-64 or ARM compatible processor' G1 g) g# d* a- [. C
RAM: 1 GiB capacity
/ _( v7 Z$ T1 ?% |) w7 }9 nHDD:; B& B; d9 Y- O t* ]3 E: ~
System Drive: min. 4 GiB capacity (but more than the capacity of the RAM)& F: U @7 n1 u& _: h
Data Drive: capacity according to your needs7 |3 g8 _' s/ e+ F9 g
安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。! d1 X1 M; {' o% `' B( D. H
+ \6 K6 Y( b/ A" F$ X
登录; R0 ]* z; `! X
登录分两种,一类是Web管理界面,默认登录信息如下:
& X0 z: {1 s. U9 m# g
4 f! u& ]( ^6 S: OUID:admin
/ a5 n1 {- }3 P2 pPWD:openmediavault F6 o' h5 c3 w. e7 w, t
; r% j( _. N' J. W3 b% n前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。
8 E2 Y H' N5 c7 Q7 h k2 {. l$ Y5 N- E" p
* j" N5 y! j, a5 z) a, F6 H/ D查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:
h1 a! z; I+ N0 t# Q# X l" g/ o+ `6 Z" `4 ?
apt-get update% v7 z$ Y# C" t% L9 T/ `
apt-get upgrade# r8 e0 O# i' `
另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」
! J( f+ L% ]. G( S- C2 r( P% Q+ w$ I$ H* K
安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。
& L0 J, _5 F1 Y+ O' y" x9 e" o6 U- g7 _' F7 z% o5 C# G; c+ \
原则
" f$ F0 z, C) I: J: X准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:
! C. B; B' P5 B, D/ \! b8 H! |
8 k6 ], W2 _: Y5 k. e* k尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;) i8 ?& Q1 V2 ^' B+ P. n9 ]/ x
不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;% t, a: J2 s I/ G9 t5 i
索引
2 G" ?7 N# u+ k5 z5 d0 @OPENMEDIAVAULT 常用命令
# {3 x, }/ ~' u7 COpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。
V3 C4 ?# J' P) p D/ U. \
% L( A* c! C' R. lomv-fistaid : 安装配置菜单引导;
# x6 M- O" o& M* h @& K3 N" k" ^
ip addr : 查看本机IP信息;( d& [) @) f2 n0 j! i
$ V4 R" Y, _" M
dpkg -l | grep openmediavault :检查当前系统版本
/ L7 [; X$ n3 s! j% I$ P: i1 Q ^6 m! N# [6 P
参考资料( L2 J+ I% f5 w+ v
Openmediavault 官网! \1 s% J( k4 ]4 G9 D
搭建 openmediavault NAS
" w: t* k$ e5 z( z4 YGitHub 开发者插件列表
/ ?4 E7 z& W. K* YFileRun Docs7 ?& q* A: r( U+ |& r0 M) |& t
常见问题
( ?9 T% J/ V2 j更换硬盘 无法创建共享文件夹的问题 |