前言
最近因为装了家庭影院买了盒子,再加上之前自己也想购买一个NAS,选过来选过去挑选了群晖NAS,但是无奈价格太贵,除了统一性、稳定性和群晖自身开发的系统之外没有任何的性价比可言,四硬盘位的NAS卖的更是离谱。
家里有一台淘汰掉的主机,然后再加上自己有几块闲置的硬盘,便想出了自己搭建NAS服务器,因为每个IT男家中总会有那么一台或几台淘汰下来的机器和硬盘,即使你要组装一台新的机器,性价比也非常高。
再加上自行组建NAS可玩性、灵活度较高,所以就敲定了这个方案。
在3年前自己玩弄树莓派写了一篇文章,如今照着做了一遍感觉很多命令变化挺大的,所以也是重写一篇关于nas搭建的文章的动力。
在配置的时候本来我想搭建一个下载服务器,找到mldonkey搭建,但是无奈配置了半天也没有搞定所以也就放弃了。最后我的解决方案是通过其他电脑下载然后拷贝到nas中。
环境
系统我采用了Ubuntu 16.04 Server,因为在稳定性和节省系统资源比desktop版更胜一筹。如果你是想通过无线网络搭建NAS,那么第一次你需要使用网线连接安装Wi-Fi相关的包,如果没有网线或者你只需要无线网络,那么你可以使用desktop版本,因为desktop版自带了无线网卡的驱动。
方案
- 搭建samba服务器,用于储存一些非私人资料,比如软件安装包、ISO镜像文件等,把samba共享给电视盒子,可以直接观看硬盘里面的电影。
- 搭建Time Machine,因为本人常用的是MacBook笔记本,所以搭建Time Machine就显得非常必要了
- 搭建seafile私有云服务,并提供给外网端口,用于外部访问。
为什么要搭建seafile,虽然Time Machine可以备份我的资料,但是无法让我在外面没有带电脑的时候取得资料,并且搭建seafile也算是一个双备份,因为上面的三个服务都是单独的一块硬盘,即使Time Machine或者seafile其中一个硬盘损坏,也不会造成数据丢失。
准备工作
首先你可以查看你的硬盘情况,你可以通过lsblk
命令查看,并通过fdisk
命令进行分区。
在三块硬盘分区好了后,我们开始格式化分区。我的环境中sda1用于samba,sdb1用于seafile,sdc1用于time machine,那么需要分别格式为不同的格式。
因为time machine需要hfsplus格式,所以在格式化之前我们需要安装关于hfsplus的包。
> apt install hfsplus hfsutils hfsprogs
然后我们开始格式化三个分区。
> mkfs.ntfs -v /dev/sda1 && mkfs.ext4 -v /dev/sdb1 && mkfs.hfsplus -h /dev/sdc1
挂载三个分区
> mkdir /var/samba && mkdir /var/seafile && mkdir /var/timemachine
> mount -t ntfs /dev/sda1 /var/samba && mount -t ext4 /dev/sdb1 /var/seafile && mount -t hfsplus /dev/sdc1 /var/timemachine
然后通过lsblk
命令检测三个分区是否挂载成功。
samba搭建
安装samba
> apt install samba samba-common-bin
然后配置samba,在etc/samba/smb.conf
最后添加
[共享名字]
path = 共享文件夹的路径
available = yes
browseable = yes
public = yes
writable = yes
如果你需要让电视盒子发现你的共享目录你需要在etc/samba/smb.conf
配置文件中的[global]
项最后添加下面这段设置。
follow symlinks = yes
wide links = yes
unix extensions = no
然后重启samba服务
> /etc/init.d/samba restart
至此我们samba服务已搭建完成
Time Machine搭建
首先安装Netatalk,Netatalk 是一个开源的 AppleTalk 通信协议的实现,Linux 系统通过它可以充当 Mac 的文件服务器 、AppleTalk 路由、打印服务器等。
> apt install netatalk
配置netatalk
> echo 你的timemachine挂载目录路径 TimeMacheine options:tm >> /etc/netatalk/AppleVolumes.default
或者可以直接通过修改配置文件/etc/netatalk/AppleVolumes.default
再最后添加
你的timemachine挂载目录路径 TimeMacheine options:tm
然后重启netatalk服务
> /etc/init.d/netatalk restart
安装avahi-daemon和libnss-mdns,添加Avahi和libnss可以让Mac电脑可以在Finder工具栏的共享里发现磁盘。
> apt install avahi-daemon libnss-mdns
配置nsswitch.conf文件,在原有的hosts行后面添加mdns4 mdns
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
修改Avahi的配置文件/etc/avahi/services/afpd.service
,让nas主机能在局域网广播中AFP共享
<?xml version=”1.0″ standalone=’no’?>
<!-*-nxml-*->
<service-group>
<name replace-wildcards=”yes”>%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
</service>
</service-group>
重启avahi服务
> /etc/init.d/avahi-daemon restart
至此,Time Machine搭建完成。
搭建seafile
目前seafile是我测试中觉得最好的一个开源的私有云服务,在测试中还有owncloud,但是对中文支持不太友好也就放弃了。
关于seafile的搭建我这里就不进行阐述了,因为官方本身有中文文档并且文档写的清晰明了。
《家庭NAS搭建》留言数:0