现在都尼玛6.5了,0.几的版本就开始测试了,不稳定,不能生产使用。
) u" k8 m2 T! g2 I+ I& r, u6 aOpenMediaVault 经济高效的NAS解决方案
, @' l( Y" z) _) ]8 V! B \背景
5 V2 }1 t- g; T2 l" I8 T9 ~捣腾一套网络存储即方便家庭媒体共享,也适应小工作室协同办公,这事不定期地琢磨有好几年了。
) e+ O% K! D" f2 k2 t- R9 m5 Y# I7 l6 X% b0 H/ i
最开始了解了主流的网络存储方案,市面供应商包括群晖、威联通,也是自己之前关注过最多的两项,两者之中更偏向威联通,从软件界面来看更简单清爽。" x3 m4 s2 \: T" W0 O
0 Z$ W& L. m8 M7 k而今,最终决定还是自己利用现有的闲置电脑已经购买的 世特力 硬盘盒来搭建,从经济上会节约很多,虽然 世特力 硬盘盒也不便宜,但相对于群晖、威联通等4~ 5盘位动则三四千的价位来说已经很经济了。
! ] u& m+ R: B- s4 N' ^: t$ ?. C
) O/ c4 Q- C# L6 k1 N两年后的今天,重新捣腾采用Ubuntu Sever 20.04 + FlieRun 实现自己的个人网盘服务。 个人网盘搭建过程 FILERUN ——update 2022.04
2 f* s7 g1 t0 q
. g- ~* A' q% Y9 A% P方案+ o# G: U5 r t- ^% F
硬件! x" n/ E* c) f0 [% N7 Q8 e5 B9 f
网络上提供的安装硬件大致两类,一是现有操作系统搭载虚拟机;二是捣腾官网提供树莓派的玩家;个人查阅资料感觉还是采用闲置的独立电脑主机搭建,配置如下:! A& D" k1 z) W, w- M
E( C) `) L9 ]& H$ j
机型:戴尔(DELL)Vostro 270S-R136-JN 台式电脑(双核i3-3220 2G 500G DVD WIFI USB3.0)+ Q! B" k; c" v2 A9 n7 B
处理器:Intel® Core™ i3-3220 CPU @ 3.30GHz 3.30 GHz
! p( F0 b% T1 \内存:6.00 GB(5.88 GB usable)6 C' r( d$ S! R
硬盘:WDC WD5000AAKX-75U67AA0 (500 GB)
9 |2 K' l3 r) C# |7 R# H8 x该机器2013年4月14日购入,当时售价:¥3349.000 `4 u3 J7 n0 Z
, \2 ^, S9 j% d7 C9 t* y$ }9 y
关于方案的选择性思考包括硬件、软件两方面,其中软件在最开始已经基本确定是 Openmediavault,而硬件方面出于需支持 磁盘阵列的部署,则经历了多次心路历程:7 d. H7 I& ~: W* t
+ i$ h) n0 M& _2 O4 X" ?# ~0 R1、通过2013年 Dell 台式机+ 世特力 硬盘盒来实现,但发现硬盘盒仅提供USB连接,外置连接方式可靠性不高;$ S3 }" ^, L" o2 R, L
. h( C& i2 K O3 I. h! N
2 L e) O; M2 Q% G; z+ f2 G2、通过2002年的一台 Acer 台式机(大学时期购买的二手机)来实现,优点:机箱大盘位多;缺点:主板老,BIOS不支持USB引导启动, 功耗高且不静音;
7 [) {9 e D; G; D2 d
z, v3 k' G. x: z5 G( ]0 \ @: k3、继续采用2013年 Dell 台式机完成,缺点:机箱太小缺少硬盘位,不具备扩展空间。琢磨后发现可以通过插入U盘作为系统盘,经过测试发现U盘读写速度很喳,试着安装几次系统后发现不管速度慢,且容易出错,稳定性极差。最终放弃,改用一块120G容量的2.5寸移动硬盘作为系统盘顺利安装,因为盘面体积较小顺便在机箱找个位置固定即可。+ E9 B( O8 ?5 n$ [
7 N0 q! ]$ Z# `8 H; t
最终方案,120G 2.5寸机械硬盘(系统盘) 、480G SSD、两块 3Tb 3.5寸机械硬盘作镜像存储(RAID 1模式),其中受机箱位影响,需要将现有的光驱位腾出来改作硬盘位,网上有改装工具:“光驱位转硬盘位”工具)9 s+ n4 P7 B- A @6 L0 f
2 w6 |6 p. y; E% K2 [$ u分区方案5 F0 i1 M3 V4 z) r6 S
ZFS:基于成熟的Oracle技术,拥有最多的特性,集成RAID技术,应该是首选的方案。虽然因为协议问题没有在Debian的主库中,但是仍然可以使用。
% x" Z8 r/ C1 L0 r/ b% q: hLVM2 + Linux RAID:基于Linux维护的软件与库,使用最多的方式。( b2 N+ x. d5 ^& {
MergerFS + SnapRAID:构建于底层分区体系上的方案,没有实际使用。
6 m# U( S3 t4 ~% X最初通过在OMV上安装ZFS插件,尝试使用ZFS,但是OMV对ZFS支持不佳,应该是设计缺陷,无法在ZFS分区上创建共享目录(Shared Folders),导致无法在GUI上方便使用,于是无奈弃用。。。/ H* C! p1 V) J4 H$ c9 h
关于MergerFS + SnapRAID方案,因为是较新的方案,还未调研功能性与稳定性,不做评论。5 E& E& i: \& s; P
最后的选择是使用最常见的LVM2 + Linux软RAID。( j9 ]1 L C7 g
9 r9 i6 L5 j% P以上来源: via: mosrv.com/nas/2018/05/01/nas-build-and-config.html
% i* `2 I# r( a. ^$ \% R7 F+ K" D1 ~2 C
软件
9 Z% t" m. P7 Y6 C. n$ |软件方面,最开始知道的是 FreeNAS ,后来发现 Openmediavault 才是最佳选择,原因参考网络的资料:& o) X8 q! q) _& g5 I- G
0 ?% d" _" E H9 |) T7 ?; x& {$ D
Synology DSM
& O& k0 ]# F1 s# G: E: ~+ |% l1 @% z: u i
1、相对臃肿,不够简洁;
2 G) Z1 G0 `4 T6 n2、每块磁盘上都会安装 DSM,包括存储安装的软件及其数据,导致用户存储和操作系统耦合,尤其是频繁的读写影响每块硬盘的休眠功能;
9 P$ ]8 j( z: P! S* p3、DIY 设备安装运行涉及版权,无法稳定升级版本;
; ~) ?2 a5 b. A5 c [& h# h; x7 K$ L) K) }& z( J8 [6 H
FreeNAS
* N" X% A% y; p0 J+ K# i# L4 ?6 E
对硬件要求比较高,尤其是内存最低要求 8G,其未来的目标用户应该主要是企业。9 E$ r5 b: c: d0 M0 v* d
1 G5 Q2 C) o' }9 f, L( n& F$ @openmediavault1 Q& B. f. I' f1 F( [9 P
4 g! Y# H; `1 j* e( _基于 Debian Linux,开源免费。openmediavault 的目标就是面向家庭和小型办公环境,是对熟悉 Linux 又追求最小化安装的人的首选。+ d; G4 w, @+ h. e3 E0 h8 @
, ]* k9 Q+ e$ ^- G2 C
注: 更多软件解决方案可参考 几个常见的 NAS 系统整理及选择" f$ X; c% _ O: g7 {5 f$ f* \
& M" H6 v! i$ `5 z: f* V% d
安装 OpenMdediaAvault2 I: Z3 q7 g0 ~( o I. d+ ^2 i0 f
文件系统及挂载信息
. W. U5 E" F; N. F+ N4 e4 P; O3 a/ q6 M- B; s- P3 y* B
root@nas:/dev# df -h
7 q8 [( S' H. _. O. m1 C/ n安装 OMV-EXTRAS
8 Y" C; g3 g- p7 ?) p2 D& J& |在安装完OpenMediaVault 系统后,基本上完成了第一阶段的基础性功能服务,正常使用NAS问题已经不大。不过如果要根据自己的其他定制化需求,则可以考虑继续安装一些容器或插件。2 m% r0 y& g# |; S
$ m J- q8 M7 @
通过网上了解,最基本的容器就是Docker,也是最常用的。安装Docker之前需要安装 omv-extras,命令如下:2 Y2 Z9 k* r0 Z) N) _" o; R3 M
, j8 m8 _5 O' `3 O
3 m; q' W! \/ {; i' [% Cwget -O - https://github.com/OpenMediaVaul ... /raw/master/install | bash
0 H6 u2 R/ }! h9 B( w* s0 Dref: https://github.com/OpenMediaVault-Plugin-Developers/installScript
" L% U- E( ]% i) N8 |% X% g5 _* f; y- t4 b) p& F, m8 H* V
注: 如果显示什么 443 failed: Connection refused. 就是网络源被墙了,该死的CCP!- k! l% F5 m% X
# C8 \% L+ e5 r' a2 G0 H& |
方法总比问题多, 习惯采用Google 英文搜索有好处! 此时当采用线上命令无法读取源安装时,只能下载 deb 文件包通过web 插件管理界面上传后安装。 下载文件参考:forum.openmediavault.org/index.php?thread/5549-omv-extras-org-plugin/
7 D/ p$ S+ M# |- @$ P0 |4 Q) b
3 y) f2 @. x9 E) E安装 DOCKER
1 O0 [" E# b" g* G0 Z$ c- k, b完成插件 omv-extras 的安装是具备安装Docker的基础,而Docker容器又是作为安装流行的云应用 NextCloud 的基础,真是环环相扣啊…! Q4 F& f. \$ e8 f; r% a
9 k/ J3 m2 d/ z U& F+ ?0 d, p! A
Docker 的安装相对简单,在安装完 omv-extras 后,通过左侧管理菜单 OMV-Extras 进入切换到 Docker 标签页直接安装即可。Portainer 作为一套轻量化的Docker 可视化工具也可以一并安装。. l% U3 W. z i. D: Y4 G, i' a/ r
; c3 @5 _& F9 Y. s& l( g1 {# X/ X, Q安装完成之后可通过 yourdomain.com:9000 进入,比如: nas.sheshui.me:9000。初次登录需要设定管理密码,UID默认为admin。
5 m/ a/ Q8 d0 p3 {0 x3 Z
c7 D. `1 q% F安装 NEXTCLOUD
+ I7 p6 m8 L S# x$ V% V/ V& p/ j经了解有人反馈 NextCloud 吃资源等各种不是(参考 淘汰Nextcloud,一行命令搭建功能强大的个人网盘FileRun FileRun
, B& G6 v! R5 v# k# n9 q H9 x% V- M' n% N& c
如需坚持安装 NextCloud 可参考文章 OMV安装NextCloud
( [3 W8 A2 ]( V0 S
, i+ o, G1 Y8 z3 Z( Y k$ Y- i安装 FILERUN
# T5 t9 U0 Z5 C$ x/ s7 w在OMV上还是需要依赖 Docker 容器安装方式,参考教程 FileRun installation using Docker0 P6 O' g, V$ ]2 v2 d( ~
1、拉取 FilesRun 镜像文件
1 P& c$ S, p0 \$ K* L2 O3 i
7 N9 z4 J3 ~4 k/ k5 Pdocker pull afian/filerun
, `1 `' _1 _3 |2 n& f. F! ?( k8 K2、创建配置文件$ S* I0 i/ n6 _$ I
7 [$ q7 ]5 J- T! E! Pversion: '2'
" f0 J x% y. u4 V7 K/ s# p, x( Y* O: N3 u' E3 H& n
services:4 R$ M* y) Q6 F" f" }/ G7 |/ | Y
db:+ Q- |1 S! Y& d! a
image: mariadb:10.10 y2 f) B1 b; i6 C+ m4 q
environment:- T) ?. M) Q& A& T% U0 I
MYSQL_ROOT_PASSWORD: filerun
* R5 c7 {- \ o' b" L0 y MYSQL_USER: filerun' e6 O& k, F$ p Z* o& c
MYSQL_PASSWORD: filerun
( ?) U4 n- R1 l' w; U- F MYSQL_DATABASE: filerun% T- {* k7 r+ M, G
volumes:
0 d0 o0 E& v. d; G7 ] - /filerun/db:/var/lib/mysql
- j {, D7 `9 O; K; l" t+ K: \, A% e& {4 S
web:/ {: Y9 \( ]$ i! Y8 b' o
image: afian/filerun! R/ Y; g/ y! x' f3 T7 C1 I/ ?1 e
environment:* a/ H. C* D! U$ K( n' g
FR_DB_HOST: db$ Y, Q% b6 C5 H' ~' Q* |) R
FR_DB_PORT: 3306
0 x* u6 z7 _- ]9 I; o. ^6 }0 z FR_DB_NAME: filerun0 i3 ^+ y Y h" a
FR_DB_USER: filerun
+ M: }/ |# ^3 l- d! N FR_DB_PASS: filerun
% A7 A }% p# z6 Y3 h APACHE_RUN_USER: www-data4 ^) l0 ^, N& ` R ], [4 s
APACHE_RUN_USER_ID: 338 }# l0 V8 o9 n" U
APACHE_RUN_GROUP: www-data, ^1 Z, o4 ~* @
APACHE_RUN_GROUP_ID: 339 W0 i, l6 ]* f) N& h; E
depends_on:
1 o: S- f; }; c; o! t9 v3 y) x - db
' [7 x+ E/ {, i+ I: G4 z! z links:
7 ?. b& N2 m! c - db:db
: }4 ?' |6 C+ u; u ports:
2 p5 _% e5 P* m - "3000:80"* F0 Z$ F2 G6 \$ @
volumes:
9 n1 m5 {- y) Y& J* [$ i) h1 |8 S+ n - /filerun/html:/var/www/html
& a" F8 Q" j% w1 O - /filerun/user-files:/user-files
t0 @' U- G6 A- R* T上述配置模板参考 docs.filerun.com/docker ,将使网站目录映射为/filerun/html,用户目录为/filerun/user-files,端口映射配置80:80,前为对外端口,后为容器端口。*此处要注意因对外80端口已在OMV web服务中占用,所以需自定义修改端口,如: - "3000:80" * 否则会因端口冲突出错。# n/ L( g) G+ `2 c7 g* t( p
. X" Y# o( l. J# U
3、创建文件目录- ^+ ]5 \9 S! s% }7 i! g p
: o: {, w' ~$ b% `3 r8 k
mkdir /filerun /filerun/html /filerun/user-files
8 E$ E! W3 x7 I! v. b# ^4、运行% J) U1 m% @( E" `# g2 q7 Y
1 A- |. f5 u* R3 S6 Bdocker-compose up -d6 P# _6 E9 y% q- R' Y- S! J
运行过程中还会下载安装一些library,成功后会展示如下信息:
) [! ?5 n" U8 P) ^- \) i% t) T6 c" i6 j' q' G' V# a
Creating root_db_1 ... done; k7 ]+ g, n7 M4 [
Recreating root_web_1 ... done
8 Z0 m/ r3 K: H4 x5 X通过web访问进入 htttp://yourdomain-localhost:3000, 默认登录:Username: superuser ; Password: superuser,首次登录后强制要求修改密码。3 e0 z6 Z% z8 H/ |2 G4 y
: M/ T- q( s) b
系统安装4 a, l8 N& \9 H: O" s, D
Openmediavault 对硬件要求较低,官网给出的信息如下:9 V% m5 x. L9 D- j& D3 x# X
1 n% I [+ z# G# i4 s* g
CPU: Any x86-64 or ARM compatible processor
c9 `9 B7 m% J3 f# c! ~+ _2 u nRAM: 1 GiB capacity3 v% E/ } D+ r4 q+ k. e( l
HDD:2 t% l/ u% j1 ^7 y9 }
System Drive: min. 4 GiB capacity (but more than the capacity of the RAM): i g2 S4 n2 ^, W1 {$ r/ Q
Data Drive: capacity according to your needs i. b2 o7 z# X6 C$ y: w6 F
安装个人认为分两个阶段,一个是初始化安装可以通过web登录管理界面的阶段;第二个则是在此基础上安装各中容器插件或应用服务。
4 h$ I5 m8 u: M, X; h2 r8 u
8 \' [8 S: y% @6 T登录
: Y7 P3 Y9 v# R- M4 U4 F" h登录分两种,一类是Web管理界面,默认登录信息如下:9 I% n7 |) u( x: X( D7 A) L p5 b
; z2 O" x! D/ m. a( b( jUID:admin
! z# z R- M0 c) j8 t- J6 b1 y- h) yPWD:openmediavault
( R2 b- r- T' y9 H7 w) }7 H# _. ~0 C
前提:已连接网线并配置IP后(WIFI不太好使,需连网线),通过浏览器登录查看。
. T7 C; U: `4 |6 Z- s3 S% G7 x6 x# Q$ n; B- i# O. X: d
查看IP的命令 ip addr,如果提示该命令不存在等情况,可试着先更新包:% s1 u! g0 z) `( I' ?7 d) U
( c: {+ C3 z# Y5 i- K
apt-get update' s6 f4 @, c: l" N2 a* q N
apt-get upgrade `3 l* y; T: J
另一类是通过 Shell控制台 :UID:root ;PWD:「安装时设置的密码」
k4 T7 l! Q( n
4 v' Y! O9 a* `) [, i安装或配置过程中如遇到问题,可通过命令 omv-firstaid 救急,这是一套配置菜单,可清晰的指引完成网络等配置信息。
- n$ k7 `- u9 d0 I. R" c' B0 @- P& N5 G# \
原则
+ G# K1 |$ W$ F/ } j( L准确说几年前就有想法要整一套网络存储,适应家庭共享媒体或小工作室协作办公使用,在查阅了网络冠哟OMV的各种资料后确定以下搭建建议或原则:
. H; @, O2 s6 B8 j; u, |) Z! U: `
尽可能不采用虚拟机的方式,作为独立的服务应该享有独立的硬件资源;
) t& e7 q I% O+ u+ T不采用树莓派的搭建方式,虽然官方有提供,但个人认为这属于玩家们捣腾的世界;
) @4 {; S) B: F" F- [+ W3 d: H索引
' G- }" }7 c7 z/ f2 _0 f# SOPENMEDIAVAULT 常用命令
4 h- E1 |2 a% E) O2 w7 {OpenMediaVault 是基于 Debian 开发,所以熟悉 Linux 操作的前提下会很轻松。
5 F: O$ m6 \; v7 f( P
6 f- C9 n5 n( G" z; D8 U- B! p3 Domv-fistaid : 安装配置菜单引导;* l% U0 S% C7 c( a
9 q2 a% Y. M& C A% U$ z
ip addr : 查看本机IP信息;
( z+ D+ d. G9 u# g3 W* P$ _/ `4 }& N [' ^# l
dpkg -l | grep openmediavault :检查当前系统版本0 b2 n2 r8 J! @: [' m/ c9 x# m) T) g
\1 \, D+ m% H$ W; W参考资料9 u$ j. H% D, \7 v
Openmediavault 官网3 i& _5 {2 G! {& V+ t1 a" F$ v# {
搭建 openmediavault NAS
- c+ b2 } @6 O! l( W: EGitHub 开发者插件列表
$ K/ B* B% E" O9 E9 _; t l' AFileRun Docs
+ S2 G# k7 d. y, \5 P R4 d) I常见问题
9 M. `* {$ U, x/ Z r更换硬盘 无法创建共享文件夹的问题 |