现在都尼玛6.5了,0.几的版本就开始测试了,不稳定,不能生产使用。
" s) O0 c# |0 D- B; @& ROpenMediaVault 经济高效的NAS解决方案 + E) N. X6 k! q2 p) I- x2 L
背景
, `, m. V6 Q/ H: x: W7 t捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。; B3 H8 a$ x8 J/ G+ Q: h
/ |; h9 y# u& {6 Z3 q
最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。1 K- K# N+ @$ A5 T
3 B4 G N- G! r. \而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。7 p9 `/ d) B7 i( y. g
& a" \# ` r# P+ V
两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.04
6 _# c6 |* Q1 [) C3 n0 |/ |7 s4 j
方案
& ^, I; X8 \6 \0 T硬件" w, E$ g4 ^0 B7 a3 v/ _5 N5 h
网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:
3 G8 c/ A$ X" @0 X% V* g k0 [# I4 \3 O: p
机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)
1 C% I% l# L& Z& p处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz
- X; u* k0 W5 g! b5 L( r内存:6.00 GB(5.88 GB usable)
( q0 X$ E. y% j+ B7 Q硬盘:WDC WD5000AAKX-75U67AA0 (500 GB)
R/ Q# N& d% s; X! W( D该机器2013年4月14日购入,当时售价:¥3349.00
' p4 u9 ~ L, _& B2 `5 H7 x: ?6 C. ?9 `( U; M: P6 m5 P
关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:
* F! _$ z7 |6 ~% i5 C# y; O) e. G7 d: E+ G" f8 K, l
1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;, p( b7 X& }) Y( R4 J* k
* `3 @: N% m$ L: {0 o/ \# J
' K5 ?8 K e5 _- O R. H* l) g4 v2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;
. B7 g/ i6 ^: Q8 U5 X5 ?1 u+ L8 x2 I" w4 M* Q# c; r5 L
3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。+ ^4 I" k& f! l7 G" I, U) G* h: s
/ l* G7 j* d9 Z! U% p
最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)1 Q% X$ a _+ P/ E; _
: Y2 ?( a# ]5 y# {分区方案
% R2 }9 X6 n* u9 v5 |& ZZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。
9 {# \8 k3 Y0 I6 ?9 FLVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。
2 i% S$ ^2 A$ E, P9 rMergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。5 G# ^! i- I* n0 S
最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。
: z" b( Y4 O! D* B/ q5 J8 Q0 ]关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。
4 l F- S3 b$ U$ N% N+ C5 K3 r* a最后的选择是使用最常见的LVM2 + Linux软RAID。
9 H" f: c. U- k! J7 l+ Z; b1 ?+ W
以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html |/ }" X# R+ i
2 N/ p7 i+ i6 W9 x软件
8 ^6 t- r; S% L软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料:3 K$ }7 ^1 B8 N; B: V9 N
3 n- u" p4 s6 {* Y$ \) t& w# d* {
Synology DSM$ N2 b/ T( A" D K
( [2 F- j: U/ H6 E' x3 C/ c
1、相对臃肿,不够简洁;
7 u; c$ }$ x) ~7 ^2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;
+ i$ t# Z {; m7 y2 l& S3、DIY 设备安装运行涉及版权,无法稳定升级版本;" L5 d% J% ^( E$ S8 H3 t+ p& @
7 O# T6 B- c# Z/ q$ d# o) Q
FreeNAS
- \& s3 \7 `% L; I/ x( |. T& P7 D' k6 [* }; _0 v
对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。
2 r, t1 |$ X. S& D% l" I, u
( ^, j+ w/ \) o4 v2 m9 @2 w+ _8 Sopenmediavault6 H7 h* e1 M5 _( W
; @$ _$ ]& o# b; u4 {
基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。# P) ?2 h, a( I& E: Z" E, f# }
. c2 }5 y8 m5 W4 r注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择3 ?! _. V) d) f
* y8 L0 A% Z$ }4 L0 x& F安装 OpenMdediaAvault
2 M& | a9 ?$ }# _ U文件系统及挂载信息1 O0 q1 p% W& `9 I
$ h& ]/ b1 }) F9 Q; Yroot@nas:/dev# df -h, a; e) n/ s; T! @
安装 OMV-EXTRAS; y v: r: D, i; k. K& ?
在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。5 a1 k7 ^' g& l
) z" c# c8 L. a G+ A% k& y
通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:) F o) v4 R" b/ T) ^% p0 l: O
" f; M" J8 f, a$ L
/ P; t8 s( ^) @, V) Ewget -O - https://github.com/OpenMediaVaul ... /raw/master/install | bash
5 A+ x3 d; H7 z( z8 F% x$ qref: https://github.com/OpenMediaVault-Plugin-Developers/installScript
1 Y2 W2 @8 A3 R, K; M
$ u9 T2 N) o* g注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!
) E$ H' w e5 x @: C& A( {4 R5 Y$ l8 e3 v3 ~
方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/+ I- n0 X x( ~) h7 Y
, }1 ?) [9 Y* {9 _安装 DOCKER
8 ?! m' _$ C' b: [( b$ t完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊…
. w) f& ^/ j; n* c3 x$ N5 c4 h5 m7 l) u- L$ k
Docker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。( @7 _5 b& D$ c
T6 }' V" n; q. R& r
安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。4 ]3 o; I) B/ H- Y' s
& u8 [8 w7 G9 z' z$ s: Q安装 NEXTCLOUD
. ~9 e; ?0 u3 W' I经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun4 h9 y2 @3 R" T7 E! J
; Z- u6 r, e Q: z' t5 ?* Y9 g9 g
如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud
& E9 l: [( y5 ]6 s8 A7 w; w6 J( e4 \3 {& R
安装 FILERUN
, q Z% e) G: ]; I! _: r在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker" @5 V% |& D8 r1 n; n7 M
1、拉取 FilesRun 镜像文件
7 n! | F9 J- e+ x% d6 U3 \; N, E
; u3 b6 P# }8 f* f* Pdocker pull afian/filerun
: L6 J: ~ {; Z3 u% P$ z, V2、创建配置文件
) f& E( v8 A+ p. b& U2 ]* q, Z' X/ o( t
version: '2'# o) k- E# Q. t$ a1 E; _
& f+ ~4 e/ A4 `4 D9 l c- Q
services:
% R1 J0 c- w7 @7 [6 Q: N. P db:8 j3 {5 h! y+ L
image: mariadb:10.11 @" Y4 V! m& P! @
environment:
2 }& m2 ~2 L+ V8 k& Y MYSQL_ROOT_PASSWORD: filerun
h/ Q6 o! f1 S0 Y% D MYSQL_USER: filerun
5 f3 ?, m& r- C( M4 P6 `; y MYSQL_PASSWORD: filerun
! w, R, W2 [0 u- v MYSQL_DATABASE: filerun
5 @! q, k- j2 d# m6 L1 X volumes:% c6 M' l3 g# N# K% e: U
- /filerun/db:/var/lib/mysql
8 j% M3 r/ x8 Z+ r d' X& c9 W( Y7 k7 D; b! C& _
web:/ g) B: d) u- }$ E
image: afian/filerun
( |$ r' `' k0 E! F( \+ K8 G w environment:
1 G+ s K, T6 w% s FR_DB_HOST: db7 l0 I2 @. e7 q
FR_DB_PORT: 33066 p; q& w4 K$ @: W
FR_DB_NAME: filerun2 z+ V. {+ x" d' @* _$ p
FR_DB_USER: filerun/ N$ U C: {: o% q3 ^: u
FR_DB_PASS: filerun* Y& W' \$ g. E/ s
APACHE_RUN_USER: www-data* _: g" I* S1 m0 \; k
APACHE_RUN_USER_ID: 33
2 O8 y4 p) E" w( S4 N APACHE_RUN_GROUP: www-data0 {" M9 D4 C8 g# [6 U. \
APACHE_RUN_GROUP_ID: 33
- l6 `; Y+ L! \$ l3 S depends_on:
- ~5 v7 y$ P w2 D* I: Q - db; W" d: V9 J% y3 e( S' Z
links:
/ o t: u5 A. m) ] m9 U4 y$ u - db:db6 M7 {4 Z0 w4 n+ z8 ~
ports:
: Y9 G }6 J$ K4 P, \ - "3000:80"
2 V4 R& P- o- U) c, u0 Y) V; p volumes:
/ G7 _$ z( W. Z2 H - /filerun/html:/var/www/html3 @8 L9 ^0 q" I3 s: i( D1 ]) r
- /filerun/user-files:/user-files
' G; s3 [+ g/ s" c3 Z上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。
K7 Z; A0 M% s! T% x* n4 a: H) J/ A5 A1 @* ^2 {; d% g
3、创建文件目录
/ o0 N& t$ k) s. P# K
6 e& n6 Z/ P- X- F omkdir /filerun /filerun/html /filerun/user-files6 _$ _$ V9 g) A3 j- u
4、运行
r( ~1 P4 ?4 W. i) O8 ]$ n9 ^3 J. X, ?/ n' s g2 H
docker-compose up -d
& H$ A0 T% T: U b) ~运行过程中还会下载安装一些library,成功后会展示如下信息:: h/ }- f* K4 B% K# t) ]
6 l$ S' n: A, G6 J FCreating root_db_1 ... done* V% N/ Q3 O! P+ t$ a
Recreating root_web_1 ... done
. `% G- l' W/ _' b通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。4 s; O! G2 W2 `; S7 x) O# k
. j# F# a% W; i/ j) x2 f9 e
系统安装
% j5 P/ c- q/ F/ DOpenmediavault 对硬件要求较低,官网给出的信息如下:
7 a: g/ V' U+ R1 S) i
! L: f2 C+ v& N) ^+ x( RCPU: Any x86-64 or ARM compatible processor" B/ z% o3 f9 ?1 \8 b: u0 O
RAM: 1 GiB capacity3 |" h9 Y/ v' M' `% W
HDD:
0 Y. A" `" _ c( B3 OSystem Drive: min. 4 GiB capacity (but more than the capacity of the RAM)2 B& ]1 l( \- J7 D( B; `
Data Drive: capacity according to your needs
' @' _: R7 E$ d; I& ^& s安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。
. L" P$ s# F; I& X+ l3 d G, W
: ?4 |9 P6 H) g6 ]# |: |登录
- c! l, b& j$ H t9 j登录分两种,一类是Web管理界面,默认登录信息如下:
$ l" Z& x( Y5 d/ ?# K8 l/ r6 h
1 N+ O* f) x6 n: M) ] m" TUID:admin0 ^4 x2 I: a& X9 g2 x; [, f/ E0 T
PWD:openmediavault4 ]# { c; U$ A* q
C! d& ?7 ?$ j1 Z. N& `+ T前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。
# M- _3 {$ \4 f& r- O$ K2 B* `5 `" A/ q$ o, ^3 E
查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:
$ J) c/ d" F( K
' Z8 l. u) [, C4 t7 u1 o8 {0 }apt-get update# m+ E; R# ~2 X& c
apt-get upgrade7 F' S1 B: ?) a- t/ l7 s1 J; C `' K
另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」
1 K- ^0 ^. }0 o1 O4 R0 W7 q- N! s( M+ L/ m2 x" [
安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。' J1 |7 [+ h6 N V9 h5 m7 |
4 q# g! H- Q4 }8 A
原则
* T; ? U3 H {' A( f7 W准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:
$ a2 d9 C9 z" r/ h8 ^( d, j3 S2 {3 Y2 e
尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;0 Y. L" x6 ]2 K/ E/ e8 v& B
不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;
3 @& g4 u; ^% m# {* H索引$ I" V8 c! Q' L3 y" N- \
OPENMEDIAVAULT 常用命令 u4 A1 i$ B: q9 I1 Y, Z
OpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。
0 K, K+ g0 V4 b# k( U+ w1 W9 t4 d0 {) k) y% N3 T3 g9 y2 H* W
omv-fistaid : 安装配置菜单引导;
( |/ g2 u+ C2 T2 n+ { d$ l4 x! {+ G7 A5 ?6 c
ip addr : 查看本机IP信息;
* m1 W3 n$ m! p" G7 P& `
% f# U+ V; z; `dpkg -l | grep openmediavault :检查当前系统版本8 l& E5 \# [& D" b g
) {- a/ t6 G9 n
参考资料
4 u( K& U/ k, l7 f' p/ @* A7 sOpenmediavault 官网8 c5 x: m O {! n
搭建 openmediavault NAS) @/ `- \1 ^* b1 S) H
GitHub 开发者插件列表
2 I7 i4 X) i/ Z8 h3 NFileRun Docs
9 T' D, a% L' R5 t8 F5 D0 H% w常见问题
9 i: ?# y7 ?. \; O3 ]2 ?4 \* Y更换硬盘 无法创建共享文件夹的问题 |