现在都尼玛6.5了,0.几的版本就开始测试了,不稳定,不能生产使用。
; f, ^7 Q" D/ qOpenMediaVault 经济高效的NAS解决方案 ! ]3 Y$ v$ Y2 O! }
背景
; r8 j- U' P& j9 c捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。
/ c+ U8 ~0 A# \3 m) f; B* n2 l
, `$ c* i% D D: u6 V最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。
1 ^2 m) P$ U; T' m9 h, V& p7 L$ t$ C/ L" a: J; Y3 r
而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。
3 a9 G# L+ e% t9 n: H- k, Q* Q; A) G( ~: D- k
两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.04+ w. p/ u" K& \ b
( L8 R9 _) o7 U" z% `方案
3 @2 L8 `' v7 M; z硬件
5 v) [# ^ c6 s# V4 T网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:6 q# R" b* a- d/ l: k: l
, h5 k7 c5 z2 [' y+ t2 |
机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)
1 L* X5 D) z$ b+ k: K* l% \4 k处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz
5 G3 u- `* T; N- S& _内存:6.00 GB(5.88 GB usable)
/ v, M( J( q0 I) z8 C硬盘:WDC WD5000AAKX-75U67AA0 (500 GB)$ x# ^% T; r' M$ n0 j
该机器2013年4月14日购入,当时售价:¥3349.00
: x, k* t( v* u( l7 {. a% u3 i; L8 ^; e2 P
关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:7 g- ?3 \+ e. \. q
. v1 S3 _4 O( l/ i1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;
( T! c0 J, y( M9 Y
1 ~+ l/ H2 |/ C3 K! A: C7 f, y/ c, }. \2 l8 R M* l% i
2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;
L/ @2 W4 c- J' k' b
4 T7 `+ S7 K# N3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。( |! S/ F3 [- B5 N* e* q
* M ]8 `1 N: H最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)3 F# q5 h4 J' L. c- r9 a, c2 e& |
3 A" M% D1 M7 c( ^5 P分区方案1 |) X4 r+ \: r; H
ZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。) U v/ `6 g9 F% p
LVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。0 U6 i+ K% i, v( w) ^0 g7 O
MergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。" U2 Z4 A y+ T( f
最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。
# S. j8 R: R+ m: D关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。( j. r9 c) z7 f5 R3 c: G, A
最后的选择是使用最常见的LVM2 + Linux软RAID。- J2 e9 V# p$ _
$ c; W7 _ K- J" ]" {以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html
5 {! G+ {& f% O) s) O
6 `' l1 \/ H, f1 B3 B软件
7 m/ u# G: W) r& \/ @软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料:
4 R6 o" c+ ^0 z& l" b8 Z7 Y
M# a' T) V8 ^ C. |Synology DSM
; J6 j0 \2 J& U7 h. W
; V, q [6 X- u7 I1、相对臃肿,不够简洁;
5 T* W6 V; m$ @& z; k+ j2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;
. b8 \ q) g, ]- t4 `; g* x4 H3 v3、DIY 设备安装运行涉及版权,无法稳定升级版本;) b5 k5 W! P' H6 k m
. |6 p/ ~/ O! t! [( g7 r" v1 oFreeNAS
/ H3 Z7 W2 g8 m
" V' T' n3 t6 g- Z对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。$ o5 X# C1 n5 d
* n2 _1 m j+ h4 aopenmediavault! Q" h) c% t8 h+ N3 W' T9 l. N
3 p. I+ G s3 q2 q4 n
基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。
$ G1 E6 V% L; Q7 N8 I! \, t. F7 \5 z- }
注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择# e) z- ?' q. D+ v# u3 e* e
" a. I }8 {# b
安装 OpenMdediaAvault
8 N7 a9 g5 D5 [! c文件系统及挂载信息
" Q7 I1 o9 n+ I- k' e* T! Q: x" y2 {! {$ p5 c6 B" l1 @9 \
root@nas:/dev# df -h& M# `9 d5 O5 n) u9 ?
安装 OMV-EXTRAS. c% B# T/ H% p# u0 m
在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。
" @( q' R8 v8 W% R: d
8 H, o6 \& C9 M通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:4 l7 T4 y/ [8 ~1 o6 b: z
2 V- j5 ]0 C$ @4 [
- P& D6 w2 R, M6 o
wget -O - https://github.com/OpenMediaVaul ... /raw/master/install | bash+ R! d' t7 c, K" X# h7 m
ref: https://github.com/OpenMediaVault-Plugin-Developers/installScript8 w( j) K- A$ n8 x- a4 f2 u$ Z) K
6 [* ^$ s% _. T2 h- h: `注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!; m# o) c8 h7 D! r, L
) j, ]5 C, s! A9 i5 p( J3 M方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/% _7 p* Z2 u+ X. B) o) p
/ E# x3 n2 L& h1 N
安装 DOCKER
$ B2 q0 S5 K' b1 Q! c完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊…
6 e; D8 k6 D/ ]6 ~0 _$ }$ T, z% C( R3 `! v2 P& I& E+ \4 d
Docker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。
2 }. Q- O2 j# S+ p" }5 ^
* t7 I5 g2 w# X安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。
% A8 T* F& H/ u8 k. T& V. K" ?+ Z% B& D8 v D# T2 D2 \
安装 NEXTCLOUD
& i: J) w& e; u5 I: o5 n- U经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun
/ ?7 d0 x- r9 r
3 e a4 N/ \% u2 U( W9 }, |如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud
3 ?$ _! @- n- e+ g1 t1 U7 z! n6 ]2 S3 b$ M: C
安装 FILERUN
: L0 ?0 C/ z+ l3 D* e' x5 g在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker, e' t' `* b7 c7 d# a X& y9 @
1、拉取 FilesRun 镜像文件
: U) i3 r, z/ ?: B) j! ?" B Q
6 c3 D/ U7 I7 p) \0 t# H k) l4 adocker pull afian/filerun3 U; z; b7 o( ^8 l! C# a
2、创建配置文件' L% U) v$ r( w' y; b% X# ]$ V
! p8 ^& E% O" Y: Q3 ~" Y( O
version: '2'
1 |- v2 A* c4 [; F, H, ?8 k# G3 @
9 \- T7 e9 v& V0 D& kservices:* }$ f- @5 d4 e: l
db:4 ^+ ~8 I$ _. e
image: mariadb:10.1
+ j+ |0 P* \9 W% }: o _ environment:( l2 v+ L& y- k8 \( S2 X; a: D
MYSQL_ROOT_PASSWORD: filerun
' a8 u$ l& ~8 g4 ~( c MYSQL_USER: filerun2 j1 @- r, t( N# f
MYSQL_PASSWORD: filerun
, b0 V0 k2 e8 i/ P$ f7 d MYSQL_DATABASE: filerun
- P! q! S! Y& E6 Q5 f- X, K" ? volumes:. y! N! m+ g3 n; L3 V# b
- /filerun/db:/var/lib/mysql2 }3 k4 v7 ^' {
8 }% z! l. p7 \3 w7 N+ W1 u7 E web:
8 e G: {7 M6 q: e( t$ J image: afian/filerun
6 v4 w9 S; R/ h$ Q* a environment:
* w3 {" Y3 C3 H! z) K+ @) I FR_DB_HOST: db
& O- Z$ `& d6 m) C ^, t! O6 I FR_DB_PORT: 3306' C! g+ K. ]" f8 g9 ~, f
FR_DB_NAME: filerun
! A% w0 k& F% ^ d FR_DB_USER: filerun
! x& P& U8 `, F* E/ o2 x FR_DB_PASS: filerun, j; \5 ]# P( j7 k9 J& }" ?
APACHE_RUN_USER: www-data
6 K2 Z7 n% \* P6 E( K5 c6 s APACHE_RUN_USER_ID: 33
# T+ J( Z4 |8 ~3 ]0 T' o& o APACHE_RUN_GROUP: www-data
8 v+ d" R% J5 f5 X5 ? APACHE_RUN_GROUP_ID: 33# A) J1 c. u+ R r
depends_on:
[1 I v. F# L' J% S - db! [" R6 C# o5 x: O2 d0 v
links:* Z; u* Q: \- N0 h
- db:db
$ o3 D2 R+ s, o( e1 T ports:
% K0 T+ h9 ^3 j4 W$ v - "3000:80"
* A- M2 l6 _8 l+ w, B volumes:
4 X8 O0 Z# G& } - /filerun/html:/var/www/html
$ }3 C8 q$ m' R: Q - /filerun/user-files:/user-files4 @% E4 M5 w6 K6 l$ G- T
上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。: }6 a5 V' |2 Z) d5 I0 t
: o* M: a4 i- L, [0 X3、创建文件目录3 h& ~2 g1 Y! @ p' r- w2 ~
, P0 W; B) D7 U0 r. Fmkdir /filerun /filerun/html /filerun/user-files$ c3 `6 u6 V$ m# f* N
4、运行
! w, J0 t" [! X6 V/ p: y, R- }7 \* h* {" V8 w0 f: c. K" F3 _& `
docker-compose up -d! B- W. V% e9 d) m5 ~+ o+ ~% U0 R5 b
运行过程中还会下载安装一些library,成功后会展示如下信息:& G' I. }6 p, H7 L+ k' e
- V5 g8 }& c7 C; L# H* z0 P3 \
Creating root_db_1 ... done
$ C' r& d1 j0 C' IRecreating root_web_1 ... done- n5 L/ `. `1 v6 i
通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。
- S R( X: `" g; Y
3 {) T- s5 y/ k a5 ?( R6 {系统安装
8 e" a% u& { _9 P* gOpenmediavault 对硬件要求较低,官网给出的信息如下:/ W; Z! f G, U& ?6 M
. |9 a, Q9 ]3 d$ \/ ] Q5 d9 }( Z
CPU: Any x86-64 or ARM compatible processor
2 k: o9 E& I2 t& cRAM: 1 GiB capacity2 T7 F, O! N3 d7 d2 L+ e7 \2 H
HDD:4 N, U! U6 M7 F' E, `7 t0 \! E
System Drive: min. 4 GiB capacity (but more than the capacity of the RAM)
7 n6 l1 U ^. z% rData Drive: capacity according to your needs7 z4 X8 q, H( G) i1 ^/ V& I- E4 B3 d
安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。, `1 T$ {% @9 R; v2 c( s
- _+ g8 ~. e8 P' [! V3 [, a登录! s; Q7 Z$ B; v/ l2 K
登录分两种,一类是Web管理界面,默认登录信息如下:
! k+ e/ M$ {+ L) x, r# R' c- s
# W3 J9 V" _1 ZUID:admin
. y! p; o# d) Z& VPWD:openmediavault: \+ n- e! o P, [. R; c
$ a6 Q5 y6 o. U0 Z8 V& e. [9 N5 e+ Q
前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。
1 R& Z: k4 ]: d
7 ], w8 j2 j1 ~$ ?1 k! ]查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:
7 l+ {7 w v6 }! a6 ]5 U% g H: s+ @9 U+ W7 \
apt-get update
# O2 Q1 n7 n- t$ Kapt-get upgrade6 S6 G) [* Y5 V! U, g2 f
另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」
! q# [* `- J1 c: N) U) p
$ V5 P) P+ b. q安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。
7 o/ H) ]8 I4 L( V+ W, Z
. [" d& r) L9 ]' ]1 q7 z8 L* F原则* y( H3 W8 k2 s: C7 g+ K
准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:8 m( H9 |" ~ I
; ^' \( N" u' O7 l3 ~1 w. W5 a尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;
, M! T# ]; U# K% g: V1 k* Z9 U5 J不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;
) B8 j6 Z* t8 {$ R; \& w索引% P, v, M1 R6 i/ K# D
OPENMEDIAVAULT 常用命令& X' c& H4 c6 V; J. C
OpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。 ?* r3 M1 W S9 B, J
/ x- t" `2 a8 p0 ~- ]3 Somv-fistaid : 安装配置菜单引导;- O& D( r$ t/ F- Y7 Q) A
+ Q, ]2 I' F4 a) U# jip addr : 查看本机IP信息;
/ f% ?: M, z, A1 M; D: ?- ]: C
3 o. E; r1 o; E3 ~3 R% u6 ~dpkg -l | grep openmediavault :检查当前系统版本9 d" O W7 o( G7 d. }6 `$ n
1 c o6 u4 M, u' R% ]& n
参考资料& {6 ~8 Q x6 @. s. x1 Y) Y6 k
Openmediavault 官网
3 \0 R' Q5 c4 r, P/ l O/ z搭建 openmediavault NAS
5 y/ a" j# \1 Q/ E7 d) \GitHub 开发者插件列表
3 s/ ?. B! |- F4 {# wFileRun Docs
4 v1 K J- r5 P! R8 [常见问题# J2 K7 c v: x+ L, y; E
更换硬盘 无法创建共享文件夹的问题 |