现在都尼玛6.5了,0.几的版本就开始测试了,不稳定,不能生产使用。
, Y2 r6 i2 k& pOpenMediaVault 经济高效的NAS解决方案 / ]% R0 V6 F- c) w
背景: c4 z+ Y7 r2 O. w
捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。$ ~! E; p8 n' t
]& D( A: C, P$ e% K$ D" q( L! `
最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。# E( Q+ j# s- o. Z/ p" _& A
7 r l6 S: m# D6 p4 r/ G& ^
而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。* u5 V, D! S, r/ n: ]
" j3 O0 A2 u9 W, t两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.04
$ P& o8 [1 t3 }, v+ l
5 _+ A* y# \6 u8 [; Y方案, X; F: D4 Y+ i5 |8 i: D/ h( ?1 @
硬件
( w; b- F8 i6 o' j网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:4 q( B3 O* `1 k9 U1 S
; o, O4 Q9 Q6 T' h+ i( X# B/ a4 Q, |
机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)
5 J9 h5 [' ]0 @) j# M) S0 Q处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz
: [. J4 x* V# \内存:6.00 GB(5.88 GB usable)
) z- J1 `+ l; U7 c: D6 {- b硬盘:WDC WD5000AAKX-75U67AA0 (500 GB)
+ E! `4 e' z3 ]$ P该机器2013年4月14日购入,当时售价:¥3349.00
. M; v0 o/ y8 s- P5 ?5 x5 e9 X; m/ ^$ n- v$ j+ X4 s
关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:
) k& k1 Q2 }+ e/ g' Y$ I- R
9 j4 m8 E& |+ F' y1 H- b2 @) y1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;5 _' x7 \9 j! F/ X/ ^
2 u5 Q. ?! D8 p o
7 u3 {0 h$ p" m& ]+ g; j& S" \! {: W+ D& v' [2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;! ?" \ F5 T" k6 [# i3 m% t4 b
1 V4 |/ _1 G0 A0 b; G; w5 E" Z9 L* B+ }0 X3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。' y5 {2 n0 s& e1 ~- H' R
/ z0 U; I3 [) @+ \
最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)' ~! o4 G3 X$ x$ z: T" E9 e& {
* k" Z9 j6 m( ~; E, g
分区方案
! a% s4 A3 d9 n$ n6 A/ Y8 `ZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。
! e! I/ D" B" \) J3 e8 hLVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。8 @9 H# E: F+ S/ d* o
MergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。, W; O* p# M) M. _; W* B- H
最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。
% \! o3 A6 K' a, V% W4 p2 r) c关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。. z8 Y) E! K/ z( d0 r, o: @5 K
最后的选择是使用最常见的LVM2 + Linux软RAID。
& w8 O/ }- e4 c7 T3 c. ?
6 y7 v5 w4 U( Q. i6 H* d2 U以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html
& t* U# w7 {) q# u
1 _& S5 p; A9 Z9 u* G* J. Q R" f软件, [/ @0 Z4 u Y/ a# M/ G
软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料:
, n2 t! ] y- W, a/ p
" i9 d; R% m3 L" q. p; ?1 aSynology DSM
9 g" h1 r/ W; C! z8 [- E
~5 X- F8 X/ M" _1、相对臃肿,不够简洁;
7 j- `" S9 K3 x. ]! N2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;
) ^3 h. W( o4 E2 r5 o' T$ S! H4 W2 B3、DIY 设备安装运行涉及版权,无法稳定升级版本;2 C8 R8 T4 g+ F, g/ ^/ I
* g8 G: l& s. l/ \4 s) K4 pFreeNAS( I( I- h6 ` l7 x6 p
$ l+ C. u: e5 Q! _对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。5 Z! y/ A3 b& x* H( S! r* \' Q. @, Q
# g5 P. j( h* @; m7 Jopenmediavault
9 r( f7 C1 g: r6 @) g$ W2 V( J6 _. E
基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。9 h5 ?8 f% X! P g0 W8 U
! S" d2 b4 o) o9 [: a6 J# o
注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择" |$ m; j: `: o
, A7 a; i0 A3 D4 [) f安装 OpenMdediaAvault' o7 G0 T: }4 [ @0 F; [- |; w
文件系统及挂载信息6 f: ~+ U2 X% h R- `; V; @
8 y8 ^! h4 E+ j2 L; b' e5 t' z jroot@nas:/dev# df -h9 v+ ]( ?# ^' \* n% o4 y: p& l
安装 OMV-EXTRAS% m4 o' M. u8 l% U9 @# l _5 N
在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。8 i& M& X, J# W( M6 A7 {
, S- M+ \, _$ |* K
通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:1 ]5 @. ?9 g y
! e- v" P/ d" i- j$ x, U( ?
3 Z* r" w4 S f$ C r3 Q- Iwget -O - https://github.com/OpenMediaVaul ... /raw/master/install | bash+ P& G/ N" |, [1 b8 t
ref: https://github.com/OpenMediaVault-Plugin-Developers/installScript3 Z, l0 X( B* e( d
9 V, b1 B5 ?9 S9 W% V注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!
& U6 Y1 I B# W6 ~4 `+ _/ D
2 s0 E7 j* L* M' N5 _# j方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/7 o7 J- w- _* Z, R! m( j# {+ m6 j- {
: ^( D. q$ R2 {2 e, I1 h1 L
安装 DOCKER
" Y2 D) p8 V- K3 e1 j! j完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊…
. z4 p3 ?* ?1 a9 h% F: T: m) J9 o4 R3 E$ w9 ^2 ]1 v
Docker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。
# r8 s7 ?2 i5 g9 ^* P! O9 m9 s9 g) B+ L; b$ |/ W) Y
安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。
% O6 ]8 W {( ^- }6 s+ z4 _0 ~* @5 J. G V! v2 F3 n. o7 v
安装 NEXTCLOUD4 ?; D; B: C9 P! A# r
经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun. B2 {( y# _* J% O* @5 _
' E6 u6 k$ k3 U) {3 l: Y6 G如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud
0 [: g$ q8 `6 v- K- c' d8 P# a/ ?* u% J, q5 p6 B4 i# ^8 M% m
安装 FILERUN
& W+ `; i9 l1 d8 L, }8 n在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker
P8 b2 h) H/ B' o( q1、拉取 FilesRun 镜像文件+ B5 e$ n9 T ^8 Z" Z
. r- H7 `7 r' Idocker pull afian/filerun
: U* x+ X6 }0 L$ k( ]3 O1 _, J4 |1 J2、创建配置文件
( L0 V, x6 V3 T" o* @$ Z4 E% g' m9 Z# Q, V
version: '2'5 f2 {/ y7 k) C9 E# [
" {) K3 g" c) U# jservices:
8 }9 A7 u% b5 n; S db:
2 H5 J( Y# M6 B: h. M5 |2 G! T image: mariadb:10.1
2 V) i) W- a( Z( q+ ?' D environment:& u- a! o8 s$ s+ D
MYSQL_ROOT_PASSWORD: filerun
( r) I, z% L5 R% v5 }" t MYSQL_USER: filerun
& v# F. X4 p) Z# R MYSQL_PASSWORD: filerun
' C8 z7 P5 n5 N6 m MYSQL_DATABASE: filerun: m& c% g. ?4 U
volumes:
, ^1 n; {; h7 u7 Y - /filerun/db:/var/lib/mysql" h8 l. G) E5 p: g6 I
0 w& M8 r# v8 P" z6 V) D
web:1 \% a: H$ c2 s% I* k' a! m3 z# S* M6 v
image: afian/filerun
; p5 o/ ?3 M4 N w( s environment:
! |$ m# @- q9 w FR_DB_HOST: db& q: b. O. I0 J! W3 i+ ~: L
FR_DB_PORT: 33069 r+ _: M A0 r7 E
FR_DB_NAME: filerun
, K2 i. H/ E% H6 `! L% t FR_DB_USER: filerun6 R V" U0 Q) h
FR_DB_PASS: filerun: L7 E z% o: X9 E+ i
APACHE_RUN_USER: www-data# U) f# R5 F6 F9 _5 T! A" o
APACHE_RUN_USER_ID: 33$ h8 v) o, P! B7 H
APACHE_RUN_GROUP: www-data
5 j! c+ |! b/ o. e APACHE_RUN_GROUP_ID: 33
8 U- s2 M- h3 H% m+ C depends_on:
! g# K* @8 @! ?( @ - db5 C; T4 |. a1 h! J5 d
links:
! Z( z" O1 Y1 q7 W4 V s - db:db2 z1 H+ |' C5 Z w Q$ Y
ports:
( n' z0 J' ~5 L1 B* N) @. Q - "3000:80"; ~! V4 t; }- {4 a+ Q+ A/ v0 k
volumes:. T7 O4 i/ C0 z
- /filerun/html:/var/www/html
1 ]# w2 F* f8 S - /filerun/user-files:/user-files
8 y( L3 G4 i) P, Z9 v) l上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。
0 T9 q2 ?/ q; `( G2 I: O- k) Z2 t. t1 Q
3、创建文件目录
) l$ W" b7 l- D R; N: m% V% J+ k* U
mkdir /filerun /filerun/html /filerun/user-files
4 N/ ]% U0 K- U: U: X& L( I4、运行, u2 e% ^. A" H5 f6 ]' ^) z
k3 G1 a( e7 O4 G) o' Jdocker-compose up -d) \: H; i" @" \ O0 |6 C
运行过程中还会下载安装一些library,成功后会展示如下信息:
& ?. z( Q* f3 Z$ [' t8 o W. l' N0 A# O8 Q; X
Creating root_db_1 ... done
1 T3 F5 M( t' H- h! \" y5 GRecreating root_web_1 ... done$ N3 `! R- \4 o, b! f. a
通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。& Z, v0 w: A& N7 X
) @# [ s6 b- R5 g7 L1 \系统安装( f' l) S( X5 V; P8 X! e
Openmediavault 对硬件要求较低,官网给出的信息如下:
- q9 i2 ~2 n2 n. M7 R3 L4 b
, J% s4 ]5 y+ [0 Y' pCPU: Any x86-64 or ARM compatible processor6 ]% g2 b4 N+ b- S0 }; x. `
RAM: 1 GiB capacity9 ? V, f- t( G2 K; X
HDD:
1 N8 t+ s/ d. O# S$ g7 `: w; _6 mSystem Drive: min. 4 GiB capacity (but more than the capacity of the RAM)
2 T! E3 A) v) pData Drive: capacity according to your needs5 t/ w% _+ p5 }9 i( H& X
安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。
3 r& G& @* Q J1 |1 e' P
& B: p; X& Q' P/ J$ V0 P- h登录) E! E) _" p0 ~9 z- m- A
登录分两种,一类是Web管理界面,默认登录信息如下:
+ x4 [% ^4 ?/ [; i% p" S; E5 `! \/ q5 v+ E! T: r; \: z/ t7 u
UID:admin+ x: E8 {, K9 t1 K0 ] _
PWD:openmediavault8 ?5 q+ n) I3 ^: g2 @3 O" o
7 S% z9 c4 _& N前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。3 a4 K" Z+ R1 B! F) k
1 T' l& Q6 ]8 d4 o) c" l
查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:. d+ J8 t# P/ f# D8 a4 A; Z7 F
, e+ x! ^' A/ ^( r# o. M; z
apt-get update, L! y. N$ a$ e* @
apt-get upgrade
9 }0 t: _# q \另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」
6 m, X& V. @8 f$ L% B, h# |% L* i: f4 u3 J6 \
安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。
6 `- y4 Y! @ g4 e
* }; j ]) I4 y! k a原则+ d3 Z; i+ O. A; V- l2 g
准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:8 l) R, ]9 g1 B1 [; G7 [9 z, }
8 v' v- q# y# j
尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;
8 P. n% k. p. i* b不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;
6 s0 z2 I5 g7 ?索引
; `/ Q/ E, L! u: _# pOPENMEDIAVAULT 常用命令8 F/ @2 x, F$ [; C2 O
OpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。$ R/ V, m- z# d2 t" p
! ]( o/ w* e" I, H! [
omv-fistaid : 安装配置菜单引导;
1 S a$ Q+ {9 c+ O% l; X& W; h# f: T, E; u# s) `/ p
ip addr : 查看本机IP信息;
9 P/ S8 J! @4 A4 u( G6 [: B, m8 \1 R2 H; M' d
dpkg -l | grep openmediavault :检查当前系统版本
+ c3 e' J4 P% ], H. ?% Q0 N* T4 V, m2 m2 W0 `0 k& R6 i# E
参考资料
0 e. I! R3 V. B; IOpenmediavault 官网/ F$ N9 M' k+ W& I2 R, `: \0 N
搭建 openmediavault NAS }' R/ I' v& U
GitHub 开发者插件列表
) z0 Y( V* n4 {. `) _3 IFileRun Docs n1 m4 I8 b# J! U2 T' T
常见问题# ^; ~/ n* F7 ~) Y# v8 Y( @
更换硬盘 无法创建共享文件夹的问题 |