家庭NAS搭建

Date:2017/09/29       Cat:服务和运维       Word:共2691字       Tags:      

文章目录 「隐藏」
  1. 前言
  2. 环境
  3. 方案
  4. 准备工作
  5. samba搭建
  6. Time Machine搭建
  7. 搭建seafile

前言

最近因为装了家庭影院买了盒子,再加上之前自己也想购买一个NAS,选过来选过去挑选了群晖NAS,但是无奈价格太贵,除了统一性、稳定性和群晖自身开发的系统之外没有任何的性价比可言,四硬盘位的NAS卖的更是离谱。

家里有一台淘汰掉的主机,然后再加上自己有几块闲置的硬盘,便想出了自己搭建NAS服务器,因为每个IT男家中总会有那么一台或几台淘汰下来的机器和硬盘,即使你要组装一台新的机器,性价比也非常高。

再加上自行组建NAS可玩性、灵活度较高,所以就敲定了这个方案。

在3年前自己玩弄树莓派写了一篇文章,如今照着做了一遍感觉很多命令变化挺大的,所以也是重写一篇关于nas搭建的文章的动力。

在配置的时候本来我想搭建一个下载服务器,找到mldonkey搭建,但是无奈配置了半天也没有搞定所以也就放弃了。最后我的解决方案是通过其他电脑下载然后拷贝到nas中。

环境

系统我采用了Ubuntu 16.04 Server,因为在稳定性和节省系统资源比desktop版更胜一筹。如果你是想通过无线网络搭建NAS,那么第一次你需要使用网线连接安装Wi-Fi相关的包,如果没有网线或者你只需要无线网络,那么你可以使用desktop版本,因为desktop版自带了无线网卡的驱动。

方案

  1. 搭建samba服务器,用于储存一些非私人资料,比如软件安装包、ISO镜像文件等,把samba共享给电视盒子,可以直接观看硬盘里面的电影。
  2. 搭建Time Machine,因为本人常用的是MacBook笔记本,所以搭建Time Machine就显得非常必要了
  3. 搭建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

发表留言