从零开始使用Ubuntu Server搭建家用NAS服务器(一)
前言
事情的起因源于黑群晖引导文件的作者wjz304由于一些原因,导致无法继续更新了,引导版本止步7.2。
rr-notice
大家好,我是 Ing.
是的,整件事比较突然。我没有给大家一个交代。 因为我的英语很差,大家知道中文很多词语只可意会不可言传,翻译会引发不必要的麻烦,所以我一直没说过太多。
我接触 redpill 的时间并不长,甚至说截至到现在 我对 DSM 系统的使用依然了解不多。 一切都是一个偶然,从朋友抱怨 编译引导比较麻烦开始,我从只知其名到做了 rpcb 的项目。 然后汉化arpl开始,到 fbelavenuto 的离开,开始自己适配7.2的系统。 一转眼过去了一年,其实我本无欲无求,看到你们都能安装成功 我就很开心,虽然这消耗了我大量的时间和精力。
此外大家都懂的,本身该项目也是多多少少有XX的行为了,所以随时还有被官方控诉的风险。 今天的事情(过去了就不提了)也只是一个导火索,也算是借此给自己一个离开的理由吧。
当前最新的 RR 版本理论上可以支持到7.3发布了。 虽然很多问题没有解决,但是应该不会有太大问题。 如果当前版本发现严重的问题,我尽量提供解决办法。
目前我会去休息一段时间,我不保证我会回来。
来源:https://github.com/wjz304/rr-notice
虽然还有一些其他作者的版本(比如 wp.gxnas.com 作者的积极维护),但是只要使用黑群晖的话,始终避免不了出现各种各样的问题(停更、律师函、个人等因素的影响)。
于是,目前我觉得比较实用可靠的方法有以下几种:
TrueNAS 或者 OpenMediaVault
优点:专门针对NAS优化过,安装即可使用,有WebUI,相对比较容易上手
缺点:配置稍显复杂,国内网络环境需要更换源,感觉教程较少
Linux服务器版本(Ubuntu或者Debian)
优点:可以说比较稳定,均衡,想要哪些功能都可以自行配置
缺点:无图形化界面,需要有一定基础,不适合纯新手使用
主要还是看自己需求,有些人喜欢用UnRaid,FreeNAS等等,其实都可以体验一下,没有最好的,只有最适合自己的。就像我们去买衣服,100块、200块和300块钱,在质量都没问题的情况下,不是价格决定让你买哪件,也不是材质让你选哪个,最终决定的还是穿着舒不舒服,合不合身的问题。
这边我也是给想从黑群晖转到其他NAS系统的朋友一个方案。由于对Debian不是很了解,主要还是以Ubuntu为切入口,带大家了解一下使用Ubuntu服务器版本搭建NAS。
系统安装
首先,在 官网下载 Ubuntu的服务器版本。
在虚拟机中创建 Ubuntu Server,可以使用ESXI或者PVE这种底层系统,也可以在windows中使用VMware等软件,但是作为NAS来说,推荐使用ESXI或者PVE。搭建虚拟机环境的话可以在网上搜索相关教程,方法都是大同小异,这里就不做详细介绍。
有几个点提醒一下:
一、基础版本的选择
在这边可以选择正常安装,也可以最小安装,推荐是就选第一个正常安装,如果是最小安装的情况下,很多基础的应用默认不安装,到时候需要自行安装,主要原因是正常安装也不会损失很多性能。
二、IPv6设置
如果后续涉及到外网访问的话,把IPv6获取打开,到时候做DDNS。
三、磁盘空间分配
最重要的点,由于NAS用来存储,需要考虑到磁盘空间分配,不能选择默认,需要自行分配。
简单说明一下空间的类型:
/
根目录,所有系统文件都在这,需要root权限
home
用户分区/目录
swap
交换空间,一般和内存大小相同即可
然后根据你的需求设计一下方案:
方案一: 将存储都放在 home
文件夹下,那么 /
一般设置在10~20G,swap
自行设置,剩余空间都划给 home
,这个方法比较适用于家庭多个成员都需要上传自己的文件的情况,可以在 home
文件夹下面创建各自的文件夹,管理比较方便;
方案二(不推荐): 将存储都放在 /
根目录下面,那么可以直接不用建立 home
,设置 swap
后,全部都给 /
。
磁盘格式的话可以选择 ext4
或者 btrfs
。
比如我演示的磁盘,共40G,其中系统自行分配 ESP
分区1.049G,这是启动用的;swap
设置为8G,根目录 /
分配剩余的30.948G。
四、勾选OpenSSH server
也可以后面自行安装,现在勾选就行。毕竟不可能每次都进虚拟机登陆。
开启SSH
安装完成后,我们需要开启SSH。
在虚拟机界面登陆,依次输入以下命令:
1 | sudo -i |
接着输入密码登陆 root
。
添加 root
账号密码:
1 | passwd root |
输入两遍密码之后即可。
开启SSH服务,输入以下命令:
1 | vim /etc/ssh/sshd_config |
在其中添加一行:
1 | PermitRootLogin yes |
重启SSH以应用:
1 | systemctl restart ssh |
这样就可以通过SSH软件来管理了。
如果不知道自己设备的IP地址,可以安装: sudo apt install net-tools
,然后通过 ifconfig
来查看。
smb共享
安装Samba服务
1
2sudo apt update
sudo apt install samba创建共享文件夹
1
sudo mkdir /NAS
创建共享登陆账户
1
sudo smbpasswd -a allen # allen为我的用户名,自行修改
输入两遍密码即可。
更改文件夹权限
1
2sudo chown allen:allen /NAS # 这边改成你的用户名
sudo chmod 0755 /NAS配置Samba共享,编辑
/etc/samba/smb.conf
文件1
sudo vim /etc/samba/smb.conf
在文件末尾添加以下内容
1
2
3
4
5
6
7
8
9
10
11
12[NAS]
path = /NAS
comment = NAS
browseable = yes
create mask = 0755
directory mask = 0755
valid users = allen # 这边改成你的用户名
force user = allen # 这边改成你的用户名
force group = allen # 这边改成你的用户名
public = yes
available = yes
writable = yes重启Samba服务以应用更改
1
sudo systemctl restart smbd
如果防火墙启用,需要允许Samba服务通过防火墙:sudo ufw allow samba
。
接着通过IP地址访问共享链接,已经输入账户密码,可以正常访问了,拷贝一个文件试试,速度也能达到千兆宽带。
最后
至此,Ubuntu Server NAS的系统以及共享文件夹已经搭建完成,如果只是单纯存放文件资料的话已经是没问题了。
后面会继续将 Docker搭建、Nginx反向代理这些实用的方法介绍一下,我们的目标是将Ubuntu Server打造成具有和NAS相同的功能的家用服务器。