现在都尼玛6.5了,0.几的版本就开始测试了,不稳定,不能生产使用。
( u9 z5 d; e/ IOpenMediaVault 经济高效的NAS解决方案 v2 r f; E! c; g' S
背景1 G8 a; s8 h+ a, p
捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。0 ]9 c. n' k o% Q9 f
5 t# _& e# U2 Q o9 O
最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。
' m* |; A9 K, }7 a: c+ m, W
, q f- M c4 o1 \而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。
5 S8 E F7 s$ f/ ?$ d4 A1 [) W' g/ @( l
两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.04
* K) I9 f4 a6 @* Y4 [" F6 S. {) ^ s! _' t* D
方案
. C# N; P* l4 \' z- ?硬件/ G2 H0 V3 S- E7 F$ w# \
网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:3 r- p1 s1 Y5 N3 A1 H' X& O
3 k& q0 r: k1 X5 X4 p机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)& f5 r9 S+ U9 C2 Y! w5 ~% p7 u
处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz- I9 v4 w; T$ Y7 N+ j$ F6 `
内存:6.00 GB(5.88 GB usable)
% X+ u6 i( c/ Z8 r) e6 o+ I硬盘:WDC WD5000AAKX-75U67AA0 (500 GB)
: `7 u0 Y4 p" S该机器2013年4月14日购入,当时售价:¥3349.001 ^( l& N6 \# O c
. e' H O) d- L! _+ F! a关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:
+ [5 q! J' L) {" y. G* D" K( h) c L$ T0 X' R0 r1 Z, H5 D
1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;' a1 Y" R# F% }$ R. i
+ ^6 E M: T: t& K9 u: c
- v& o& l, d. F! T$ j6 d2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;8 h5 O- N2 T6 `. n
1 c |* M/ d# f/ G; j, O ]3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。/ Y$ W7 b- w$ Z; k# x8 X1 i2 k5 T* _8 _
# J. g6 ~8 S) c: L最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)' A, F8 x% r+ i+ x9 p* Q
9 _! W! \* D4 [* R4 v5 t7 U* f分区方案
% h' z& s" \7 m( y# A% j9 _4 OZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。- ^: L) `$ P- A" f. k$ w v% q
LVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。+ i9 {) b1 d C( ?
MergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。% W) j- m5 l# d8 `3 @# F
最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。
; w% c0 ]3 N8 T. ]2 W5 v% _' k关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。
+ N4 X+ b% f$ X% F4 u: a2 A最后的选择是使用最常见的LVM2 + Linux软RAID。
% T. l N: l1 n& D$ G) }( |+ x0 s, c; W9 Y
以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html
# \0 R" v% ~* A. }# e" y9 L# x" Z' ~: x& j+ w( Q2 I3 V
软件
- Y3 a; |6 k; B/ q9 v) L5 E; J软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料:8 N) `: H* b) |+ m/ Z; m; O
! ^ T" k/ R4 r% E3 t, x! v( G
Synology DSM% {0 o0 J5 j' N
; u: r1 q' v! _! [
1、相对臃肿,不够简洁;
6 ?# |6 N( j( Y) u7 _2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;3 J* ]5 G3 @8 I
3、DIY 设备安装运行涉及版权,无法稳定升级版本;
$ P4 D7 H9 R; G, o, M4 ^4 y& h6 m7 a2 C. q2 F
FreeNAS7 x4 Q! y( u* n+ @+ v
1 q3 K7 P1 X+ m# F2 V5 y
对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。% F- a# e# b2 ^) Z2 d3 e
/ ?2 e7 W& S; d% W2 l+ r/ ?: L* jopenmediavault2 e) ^6 Z+ [# c* n
8 w) ]) R; F: a8 s" A基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。) }$ s6 X9 h/ y w2 |+ e
3 Q. D l/ D- `' [3 G4 i$ P, o/ w
注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择
! H) M9 P8 v5 w* L' m; `4 V
/ @4 ^# S! x, v! u* X安装 OpenMdediaAvault
/ E H" G3 K @) D* V文件系统及挂载信息
( L" b2 Z+ v7 v3 S! l( u6 a3 |% |0 X7 f
root@nas:/dev# df -h
' m/ ^! [8 W. q5 `# {' P安装 OMV-EXTRAS
1 ^# }1 U! `) ~在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。/ }7 ^, _- t+ m& {# M2 S; B9 {
; ?' D0 u* I" Q- E7 d3 |& p
通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:/ d- ~6 m# V) o* Z
( @4 V0 ?; ]$ X( w4 S# E5 n& V: L" V5 |0 n& e9 j- Z2 k
wget -O - https://github.com/OpenMediaVaul ... /raw/master/install | bash
- a2 `0 V4 s' @! _1 }" x/ Iref: https://github.com/OpenMediaVault-Plugin-Developers/installScript! u/ f$ G" R( h( O
- X6 t' K' m; u/ [8 N
注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!6 Q' R- n! @* J+ ]
3 e& j( e2 W2 ?) i
方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/
4 C p2 ^/ N/ u2 P; q; ]2 n( C; P5 C, W
安装 DOCKER/ g, E! T* ]# P7 m/ _7 [# y
完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊…
: U1 N/ S3 Y; k' ^! C; s. M" T! b+ S2 G A$ q- ^
Docker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。6 z& O8 O. e- b+ O9 t4 z, I
: K. v5 O& {. y% [, u
安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。
$ z: v7 d) j* n- K$ k. e0 N) u# t9 X' ^7 k6 ]
安装 NEXTCLOUD
3 x/ _. p- Q$ Q$ l. U经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun
1 `$ B+ r" _& g9 T, \! o% w+ B1 F4 l8 Q p6 q# D2 Y
如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud1 S: q) @# d! \4 G
6 r1 u& s9 P$ t, h2 M0 `+ k% z安装 FILERUN
8 n0 W. T4 `. k/ |4 w+ S在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker
7 J- s+ s n% [) R6 v1、拉取 FilesRun 镜像文件, O9 A) h7 r5 h6 d5 ~, K9 i/ W4 r) a9 Q
( j) } J. z4 U% k& ]
docker pull afian/filerun, X! L) G! }' a8 \
2、创建配置文件
+ ]2 N" Q/ m# u# V, Y' Z) n0 Z( u2 x: i2 |# ^5 r' l K
version: '2'0 f7 S- r6 L: ]' w9 r$ h, Y$ \: z
" o0 B- L' Z {. o3 @" v
services:0 H3 g. b* Y& _9 E
db:
" O& k: ?; ^3 R7 I8 | image: mariadb:10.1
- S$ b; ~8 n l; S, B8 `. i/ J environment: g# @" s1 d0 n P- P6 F! }
MYSQL_ROOT_PASSWORD: filerun9 P2 e, E- _& Z* \2 m5 \
MYSQL_USER: filerun) m* ^% _3 o- [/ O8 L b
MYSQL_PASSWORD: filerun
) r0 u0 r. d H% L) p4 D, K; T/ I MYSQL_DATABASE: filerun8 @: ?* e; A( E
volumes:
/ K: T! d* T1 d; ^" P" ^& _! D7 N - /filerun/db:/var/lib/mysql
5 b# [ L* Z, \3 b' g' L2 \7 a, _% T9 X% X0 Y i9 L
web:3 ?0 ?9 E7 `* _, |) E% o* T* u5 R
image: afian/filerun0 Y+ y( H( b+ q
environment:& F" x, h7 u$ D+ @( S4 k2 {
FR_DB_HOST: db
/ J$ C2 R1 S9 \ FR_DB_PORT: 3306
8 Q( P5 y/ p+ g2 x6 e FR_DB_NAME: filerun
/ L* \$ _- S9 Z/ y* t FR_DB_USER: filerun
' h ~% S1 B: v( L" G0 n+ v' C FR_DB_PASS: filerun/ f( t. {0 c6 I* r; d8 w. ]
APACHE_RUN_USER: www-data8 {3 K2 s7 W* y' ]0 r6 O
APACHE_RUN_USER_ID: 33% K5 i8 P% C$ D; W# `$ ~( v7 B
APACHE_RUN_GROUP: www-data
6 W; E2 a4 m- W; U0 y% Y APACHE_RUN_GROUP_ID: 33, _; I% g' S1 g8 }
depends_on:+ e: w2 M2 o2 V( c0 c1 m7 o% I2 X
- db
# u) V6 b5 K1 g$ L links:
B) b1 Y; g: b" s. k7 Q4 h - db:db
) u; S* Y: ^; u" O% }! l ports:& ~9 D, _& S* c, H8 D( M# |
- "3000:80"
/ A* |+ `0 Y9 _) s volumes:
3 ~0 |2 Y/ `7 n9 s- @/ u - /filerun/html:/var/www/html# j: V/ M' @6 [+ O
- /filerun/user-files:/user-files
w9 `( G4 d% A, U9 ]0 u4 l上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。
; q. ?0 B' B7 |- X' j/ O {7 S2 g3 T1 f* ]3 ]
3、创建文件目录+ P- N2 Z% ^* |9 U
* w( }$ u+ b/ ^2 ~9 [' amkdir /filerun /filerun/html /filerun/user-files
- C% U+ H0 g4 y& u! r4 J( L3 _4、运行: L3 t7 ?- P; D: x
2 M/ `* S5 U. D" `" cdocker-compose up -d+ z/ S: B0 ~5 e) B9 c! }
运行过程中还会下载安装一些library,成功后会展示如下信息:& u w* t) f: a9 U6 n
- N; Y6 m: h+ Q" x' X, |Creating root_db_1 ... done ^# p+ b3 K1 j: z
Recreating root_web_1 ... done
, d* q/ q' d6 [8 x9 n通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。
6 @6 {# S. ~. A/ M, ^' h; q$ k2 |+ h1 R. T+ o) W. W( \
系统安装1 [. |! {3 R8 J8 |
Openmediavault 对硬件要求较低,官网给出的信息如下:+ w# x1 `1 f. r. Q9 v) K( u% f
% ~* g' j: Q8 c, cCPU: Any x86-64 or ARM compatible processor, w4 L, d' H! I, @
RAM: 1 GiB capacity8 V1 F+ W, \6 E; g4 z6 C- u
HDD:2 B$ Q+ W+ a, M9 L0 y/ V1 c
System Drive: min. 4 GiB capacity (but more than the capacity of the RAM)
+ E; ^3 s# L) B0 }6 aData Drive: capacity according to your needs+ b8 B3 F* j6 ^$ _5 N
安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。9 f" _. n* s$ b, [, j
+ v$ o8 ~, i- ?' ?5 j
登录
2 \! C$ o0 R/ N0 @3 n, m1 B登录分两种,一类是Web管理界面,默认登录信息如下:$ W" J* E* T6 Z- K3 F
, A6 I) E/ x; W& [, |UID:admin: ~4 W! M1 H: ?! m6 b
PWD:openmediavault
/ {" Y+ P0 m) c4 d7 u9 z% n/ S7 V2 t" G; P8 w( U$ {) f3 r
前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。
' p5 Y( b0 K2 M: c6 C0 Z4 ?3 B1 V1 c, y$ ~! L
查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:" O1 Q* _' \1 j" f/ m
) U4 Z3 K3 V0 L$ w# r. {
apt-get update7 F& @" ~8 Z! D6 [) V- z3 S2 ?
apt-get upgrade( \' \+ U7 J( _9 U& `; {% M% n
另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」
/ R- Y' e9 G$ J9 k e0 Y0 ^! `; c9 I
安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。
+ T4 f" x; E7 ^8 ]3 {
' |) @6 \- g. V$ [原则
5 V2 B/ `! [5 S, G+ o- J# K4 c准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:
; q) `. `, C/ _1 Z* i7 F, Q1 ~1 v/ T8 ^* k
尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;
2 _6 f. r# S" u( U不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;
& m$ U O q8 t4 ~( h& _1 B& D索引) [" y9 t! X& }, }1 s# S3 Q
OPENMEDIAVAULT 常用命令1 `+ d: B" q4 t& U
OpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。
' n9 j* {# ]. r4 v4 R
7 |+ Y0 E) W/ M1 h7 \ womv-fistaid : 安装配置菜单引导;- {9 H8 N T3 E1 a! n& S
' F3 H& e! V, g8 ]7 ~- [1 I
ip addr : 查看本机IP信息;
! Q8 ]/ m6 Z( r: f3 r* D1 I K8 u
dpkg -l | grep openmediavault :检查当前系统版本* T- K/ B# a/ s- y" \* l% X' G
5 w/ B6 M0 F, [0 ?' r
参考资料
3 q5 S7 ?' s6 I+ h7 }3 x: ~0 N- KOpenmediavault 官网* G) n, X" S5 y6 K
搭建 openmediavault NAS
! A: n& l( |1 r" `GitHub 开发者插件列表8 E1 b1 M4 P# F1 I
FileRun Docs* r9 O2 q3 A- ?
常见问题
! M- S1 X% ^# ~7 J i; s, i更换硬盘 无法创建共享文件夹的问题 |