现在都尼玛6.5了,0.几的版本就开始测试了,不稳定,不能生产使用。) z! O5 [) m$ ?) Q
OpenMediaVault 经济高效的NAS解决方案 / p0 t2 a* Q5 F( P* G
背景
5 f& h8 v: y2 D9 Q捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。6 X, P t5 k2 w
! `# x- D5 R$ P' |" f最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。
* u O, M @! I! B
; Y8 h8 l7 L5 j {而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。) X4 y9 T ?! @2 L
l' V0 E+ {( S+ S1 M6 |
两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.046 `& f6 W% _" x' M& Y- @
- e- ]$ F2 M& y- N% B c
方案5 M; W* j; G2 s6 T; D, r: ^% l
硬件
$ T. E" S) e/ M; ?3 y网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:
2 p, R* d M( R! I
4 J# p2 R" q1 N/ @机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)
& O% J9 \+ r% ?处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz" x* D$ g7 k# @5 n/ d% `
内存:6.00 GB(5.88 GB usable)
3 C; @9 T* p/ }' Z$ W硬盘:WDC WD5000AAKX-75U67AA0 (500 GB)
I& L" |% {& x- t5 j该机器2013年4月14日购入,当时售价:¥3349.00
6 K h+ `; f- g' P3 v- t% Q [0 v1 @3 K' a. }
关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:
\0 F8 a8 }& E \+ O( z9 q; V( [
# @# n; p; b. A/ @1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;
1 n+ j L; O3 a: e7 P% n' [1 k& Q$ m# l% o8 ~, {
$ W. ^- V1 d3 F0 r8 T2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;1 i5 B. f" c* N
/ g' d" x' X/ T1 D# ?: [
3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。
0 d# L5 O! q% K/ e7 m# ]: N
4 g+ n9 ]3 _: U; A( b; x最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)( l h- T$ y# M4 \* p. o
; e' d7 C5 k) N4 A5 p: \- y/ `0 ?. v
分区方案
! l$ _+ g) C. T4 w: ?7 M0 P2 xZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。
- N$ u/ o2 D* M7 h0 ?LVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。7 q# z$ W; Q& A0 ]+ F( s
MergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。
1 p+ V' P3 A+ x9 |, t8 k" M最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。3 |, s& q' x1 I y3 O
关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。1 A4 d; A5 K' P. J, J
最后的选择是使用最常见的LVM2 + Linux软RAID。
# l3 S& S8 j% N9 q' u o
6 V0 @ o/ o' w8 L$ u2 ~以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html! y9 a* z; T; {1 ~
% I" Z' u' a) |- y9 F5 ~ f% n软件
: V2 _; D+ ~ n/ |6 M. o6 }软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料:& `# W: W; t$ v4 @/ ^* A0 K
; S! M& Q% R! |- J7 v3 W: f' QSynology DSM- q: V' e6 q5 G1 @ Z( Q3 k
, ?; t9 E' O) m; [$ H1、相对臃肿,不够简洁;9 h+ Q" ?% i) D+ t1 c: K7 l
2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;
2 q# P. R- y3 X3 H6 c2 F6 ?6 Q3、DIY 设备安装运行涉及版权,无法稳定升级版本;
( ?$ {$ U& [ Y) v
1 u! F" i5 q9 M' [" O. b+ |FreeNAS
# i1 X" R i& o! W" c, t3 V8 a6 N1 q' G' w% ^8 k
对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。
! t/ F0 g+ d' ]* B9 S5 g% X% l9 P6 Q/ w1 G. w6 e/ X
openmediavault. Z* F* s8 R+ m" r7 M- }
4 L$ Q$ D- [4 K; H* ]基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。, E* ^3 }+ j) _+ ^
8 ~! P% H! j2 V/ ]注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择
3 N) J& s2 E* X7 g2 i4 a$ P0 H! ] u ^) ]$ W T' t A
安装 OpenMdediaAvault
2 \; z5 _$ k8 t _ t8 q4 G8 Q文件系统及挂载信息
1 V! Z8 R% y- I, U5 A+ V$ B
1 l* q$ y: P+ l( v; x9 uroot@nas:/dev# df -h( a$ q9 u8 I, E2 \! |6 `
安装 OMV-EXTRAS& R. q* F M# a7 f* X A
在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。
1 p! Z o' P: @' z
T4 x2 f0 R e |! h通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:( [2 p0 b5 Q9 l0 I, ^7 [
) R: G- r0 ?: {8 w7 f
# X4 U* U! E. D5 U0 ^
wget -O - https://github.com/OpenMediaVaul ... /raw/master/install | bash) }$ A- {9 C7 T4 q
ref: https://github.com/OpenMediaVault-Plugin-Developers/installScript. s3 v* v% N+ `% i# F3 N; H) }2 N
: k: O$ r3 n ~% P4 j, v0 m1 W
注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!5 `! A! Q! j$ R* d# s ^5 Y% M
6 ~; c$ g) l4 P+ q& j {8 o方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/
1 X- v. R& c) N
/ I, q3 Y m- ?& v) B安装 DOCKER
* K: d: J7 u; |完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊…; [7 U1 p/ s5 `4 y
" L! Q( m7 I; i! s' N
Docker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。
8 `2 k% u" O0 ~; q g: f+ Z) W" B" s2 F* F3 N0 r0 r3 l3 I4 L
安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。0 Z) }% _3 f" ?+ }/ E4 V/ U! N( v
; I$ n! b' v. r6 \4 D/ V; {安装 NEXTCLOUD
5 K; u. A, v, F2 {8 b+ T- L经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun
) T8 Q9 Y7 l0 f! T S T3 K. ?1 Z0 M) g0 g- g, P5 P
如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud
+ ^1 j. a3 y2 R: y" U$ l, B% K% I7 l9 P
安装 FILERUN) A: y! ^7 e9 B( E, j) j
在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker
: S) s; Q/ F0 U) ~+ e1、拉取 FilesRun 镜像文件
2 I+ c3 y5 ^4 I% v9 J) v# g9 d+ M1 ~- a2 `
docker pull afian/filerun3 [/ C! K1 c9 U
2、创建配置文件
. o L! l/ i3 d K1 X8 M$ ~! }5 H; |4 `/ D' o2 @, O& A! {* U
version: '2'
: \* Y( v H7 z0 z Z, z% O, w* Q; h+ e4 I6 ]1 [
services:0 s+ o" ^3 t `" @ e& v9 O
db:
+ u: c t5 s3 Q& i' |( l image: mariadb:10.1
5 F$ O- q$ ]# E1 @) c" g0 i* |. n environment:
1 Z2 Y7 j v6 w/ \, b MYSQL_ROOT_PASSWORD: filerun1 G3 @) G: E6 @2 ?8 j7 d+ O
MYSQL_USER: filerun
; v. p% P7 Y2 W/ ~# q MYSQL_PASSWORD: filerun
4 f2 {, V- ?- K! Q s0 l# G+ h MYSQL_DATABASE: filerun# T( O. h$ Z2 M) ^
volumes:
( D) d. v7 C1 F& ^: I& b& i - /filerun/db:/var/lib/mysql
7 P; U Z# C/ K4 r1 I5 _9 }3 v2 `: {* ^9 e0 Q; i
web:
$ q; `% k$ v! q image: afian/filerun' |4 W8 c5 j3 M
environment:5 P! z/ y# s* j. V1 L; B) m1 D
FR_DB_HOST: db6 j: B6 F4 S3 S
FR_DB_PORT: 3306
/ f1 l% f5 Z; t( N3 A& _$ i FR_DB_NAME: filerun
5 m3 @7 B, P; P" V5 C2 U FR_DB_USER: filerun
% m( ], {) l* f8 F, E1 a% C: C FR_DB_PASS: filerun
6 [' I( Q$ p8 G/ t, C$ Z! r APACHE_RUN_USER: www-data
& _% F3 ]5 K! N7 {1 L APACHE_RUN_USER_ID: 338 M% u3 E, \& A- E& n' d
APACHE_RUN_GROUP: www-data4 N! P4 \& ^0 `- L" f
APACHE_RUN_GROUP_ID: 33
' J' u% u+ I7 B3 v4 S depends_on:' _6 s* q( |0 G, l* F
- db) ~' H# R5 x: \$ N$ V- V9 J+ ]
links:
" E) D& }' b, X' Z - db:db! [' ^' H J8 b$ P. y8 }& H0 V
ports:
* h. p/ Z: [/ u# S# x+ }1 ^ - "3000:80"
7 T/ z) b% ~; @# L% T9 N& A volumes:
1 a# C5 s6 u) [: c. t* @) [- ~! z - /filerun/html:/var/www/html
8 r% a+ F" d7 _: _2 U - /filerun/user-files:/user-files6 n+ {5 Z. l O: {2 M
上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。& \) G7 U3 Z- S/ j7 {; _: D
. q+ b( U# F6 p* d. g' T
3、创建文件目录2 `& Y) W+ d5 q9 x6 X; h
5 G: V" \) E; H- u+ w) n
mkdir /filerun /filerun/html /filerun/user-files4 c0 M6 a3 \( v
4、运行3 } x) j8 Y4 h3 h* O( M
8 Q; F+ T7 w/ X! d3 X, i/ i
docker-compose up -d
; M& O( Z! o0 e运行过程中还会下载安装一些library,成功后会展示如下信息:
; L. G4 p* v# s! k0 h/ u0 K6 w( j4 l- a9 Y
Creating root_db_1 ... done
! O* _% L% |4 ~) p l& ?Recreating root_web_1 ... done
0 h( Q$ d6 |$ m" R通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。
2 N7 O; N1 n) \# w) {
. p. B" `. L6 ?0 U5 `$ x' E系统安装
/ N; R) Q/ S0 I! ?2 x4 O6 a Q( ~; `Openmediavault 对硬件要求较低,官网给出的信息如下:, {9 M ^! F) u1 U- z( L
0 b4 G( w1 ]" @. z* L& P V2 o
CPU: Any x86-64 or ARM compatible processor
) u% ~/ C: {# [' ]RAM: 1 GiB capacity7 ~0 J4 U2 l/ K+ A, ~) {( c
HDD:! b; M* o5 c- s$ [7 y) `
System Drive: min. 4 GiB capacity (but more than the capacity of the RAM)* E( {4 Q# O2 S6 x* D
Data Drive: capacity according to your needs/ a9 s" x U, E! R3 l% l* f& Z0 |
安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。$ n* A# z6 ~! s. U, s: F
+ j/ S+ b( b% {) K登录
, M% [0 E/ y7 S$ R登录分两种,一类是Web管理界面,默认登录信息如下: L; V v, Y5 v) {
0 o% b1 x3 S# E; k3 M+ `$ lUID:admin
Q2 ?' @; @2 ~- G; V- _PWD:openmediavault
: A q u: U+ V+ o9 D8 k$ z
+ j' g+ Q; M; R7 N前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。
4 S" o- S C5 h8 l/ G, g3 ~- U3 x( C2 W* Z$ b, D6 c5 f f! r3 w# P: B
查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:
$ v; F* a; w9 R5 Z# x3 ]6 C, X8 `
apt-get update, E# b( b5 t8 j
apt-get upgrade2 a! y" t1 {' j' X
另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」8 D2 x4 E2 _) v* E' c+ H0 L7 u
( u: a- }+ R" w4 U" Z& S4 @0 P. y# N安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。
& A3 e. U& P6 g- Q. f6 l' N5 e( T$ |5 b! d4 ?$ W/ ]5 J, q2 }9 _
原则
$ v' J0 ~ \2 L3 `7 X* J准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:
. Z# \, A0 F; q; K% y
" B7 B: X1 b) H6 Y9 g/ @尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;
* z! V3 [; T/ u$ X" F8 s4 m* V2 K不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;
: h2 {" z+ ?! ~2 r" O索引
$ x! J; t& Z# D, J/ B5 bOPENMEDIAVAULT 常用命令& e5 t N0 {- S W- t" {
OpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。
, z4 V# a5 ^+ k! H
O: q- N& Z8 u3 Pomv-fistaid : 安装配置菜单引导;
- S, i9 Q L/ p! `
, n! u8 V+ x/ U6 ^ip addr : 查看本机IP信息;
% ?- U) ^ K' b+ r* ^
# @ f. r- D6 idpkg -l | grep openmediavault :检查当前系统版本
) ?4 K! p/ p. b. e0 Z0 `4 B0 [
6 c! u/ s9 K3 a" x; K" s参考资料
* J. W) P- f2 U- P. L9 ?! ?Openmediavault 官网; t. n8 q8 J: I/ A
搭建 openmediavault NAS9 T9 D/ H0 L5 O
GitHub 开发者插件列表4 l5 P4 t& H/ P- Q
FileRun Docs0 b1 t4 V# c( a
常见问题
+ p- e# v. @& _/ t& z5 W更换硬盘 无法创建共享文件夹的问题 |