上一篇讲了DIY NAS的攒机过程,这篇文章就简单讲讲系统安装和实现NAS基本功能,附加功能留在下一篇。
原文链接
系统与协议
- Ubuntu
- Samba
系统安装与设置
下载系统
NAS系统有很多种黑群晖、FreeNAS等,也可以Windows或Linux自己搞系统。我就是有事没事瞎折腾那种,所以选了Ubuntu。
系统从官方下载就可以:https://www.ubuntu.com/#download
带有LTS的是稳定版,不带就可能会有些bug,喜欢那个下哪个。
最开始担心命令行用不好所以下了Ubuntu desktop,该版本提供了GUI插上显示器就可以和Mac OS一样操作了,但实际上大部分操作还是用命令行完成的,GUI只是让你更直观的浏览文件而已,等配置完成之后几乎不会再看了,所以不建议使用桌面版。还是推荐Ubuntu Server,省去了GUI的空间还能减少运行负载(虽然也不多)。
安装系统
准备一个U盘,把下好的系统用U盘工具做成启动盘,插在NAS上启动,基本一路默认选项等待安装就可以。注意安装时候看好安装分区,把系统安装在固态里。设置的管理员名称和密码要记住。18.04版本可以参考:https://blog.csdn.net/zhengchaooo/article/details/80145744
网络设置
为了方便局域网访问,最好将NAS分配为静态ip。如果在安装时没有设置可参照此步骤设置。
首先将NAS插上网线
若为Ubuntu desktop则使用GUI操作在网络设置里配置即可
若为Ubuntu server则按如下步骤(以18.04为例,之前版本可能无效)
打开Ubuntu控制台,输入ifconfig
ifconfig
列出的信息第一个单词就是网卡名称拷贝下来,如我的就是enp1s0
enp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
随后输入,大部分人习惯使用vim指令,我个人还是更习惯nano编辑
若要求输入密码,则输入之前设置好的管理员密码即可,输入的密码不会被显示出来,输入完回车即可
sudo nano /etc/netplan/50-cloud-init.yaml
在新窗口中添加如下内容
network:
version: 2
ethernets:
ens33: enp1s0 #替换为上面个拷贝的网卡名
dhcp4: no #dhcp4关闭
dhcp6: no #dhcp6关闭
addresses: [192.168.1.100/24] #设置本机IP及掩码 可以根据自己需要改成未被占用的本地ip
gateway4: 192.168.1.254 #设置网关
nameservers:
addresses: [114.114.114.114, 8.8.8.8] #设置DNS
填写完成ctrl + w,回车,ctrl + x,保存退出(该操作仅用于nano编辑指令)
再输入
sudo netplan apply
网络服务重启后可再次输入ifconfig查看是否按自定义的静态ip分配,同时可以输入
ping www.baidu.com
查看网络是否通畅,若网络正常则会出现类似如下信息出现,按ctrl + c终止该操作
PING www.a.shifen.com (119.75.213.61) 56(84) bytes of data.
64 bytes from 127.0.0.1 (119.75.213.61): icmp_seq=1 ttl=57 time=3.64 ms
64 bytes from 127.0.0.1 (119.75.213.61): icmp_seq=2 ttl=57 time=5.07 ms
64 bytes from 127.0.0.1 (119.75.213.61): icmp_seq=3 ttl=57 time=3.84 ms
64 bytes from 127.0.0.1 (119.75.213.61): icmp_seq=4 ttl=57 time=5.62 ms
若不通可能需要配合路由器设置分配静态ip
挂载硬盘
Ubuntu不能直接识别硬盘,需要手动挂载输入如下指令
首先需要确认找到系统是别的硬盘接口,输入
sudo fdisk -lu
在打印出的信息中根据硬盘信息找到自己的需要挂载的硬盘
Disk /dev/sda: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/sdb: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
如上为我的4T数据盘和120G的系统盘,因此我们需要操作的目录为/dev/sda
/mnt/nas01为自定义的目录,建议挂载的硬盘统一在mnt目录下,盘名可按系统分配名称定为sdb或自定义为nas01等
mkfs.ext4 /dev/sda
mkdir /mnt/nas01
mount /dev/sda /mnt/nas01
第一行为将/dev/sda下的硬盘以ext4格式化,第二行创建目录,第三行将硬盘挂载
为了免去每次开机挂载硬盘的步骤,我们还需要设置开机自动挂载,输入sudo blkid会列出挂载的硬盘列表,如下,找到需要自动挂载的硬盘拷贝其UUID
sudo blkid
/dev/sda: UUID="d90f8d62-0baf-4092-bc05-6c987f1119da" TYPE="ext4"
输入
sudo nano /etc/fstab
在最后加一行,注意UUID的值替换为上面过程拷贝的UUID,后面的挂载目录也和自己设置保持一致
UUID=11263962-9715-473f-9421-0b604e895aaa /mnt/nas01 ext4 defaults 0 1
修改完fstab文件后,可输入sudo mount -a验证配置是否正确
测试
输入指令,后面目录要改为自己的磁盘(非挂载目录)
sudo hdparm -Tt /dev/sda
可测试磁盘读写速度,得到
/dev/sda:
Timing cached reads: 4112 MB in 2.00 seconds = 2057.09 MB/sec
Timing buffered disk reads: 544 MB in 3.00 seconds = 181.11 MB/sec
速度符合西数红盘正常值,如果组成RAID速度将会更快
到此基本的系统配置已经完成
NAS的安装配置
运行一下两个指令更新系统以及安装samba服务器,有的教程里执行前会要求更换国内软件源,但我在实际安装过程中发现不用这么做了。
apt update
apt upgrade
sudo apt-get install samba samba-common
安装完成后在挂载的磁盘目录下新建文件夹
mkdir /mnt/nas01/Public
chmod 777 /mnt/nas01/Public
这里举例在磁盘下新建一个Public文件夹并设置读写权限
接着输入
sudo nano /etc/samba/smb.conf
在最后一行添加
[Public]
path = /mnt/nas01/Public/
public = yes
browseable = yes
directory mask = 0777
create mask = 0777
read only = no
保存退出,运行
sudo service smbd restart
重启samba服务,至此即创建了一个可被任何用户访问的目录Public
若建立需要权限才能看到的目录则需如下操作
新建私人目录
mkdir /mnt/nas01/UserPrivate
chmod 777 /mnt/nas01/UserPrivate
添加samba用户并激活
sudo smbpasswd -a user01
sudo smbpasswd -e user01
username为Ubuntu系统用户名,若没有则需要先建立系统用户
修改samba配置文件
sudo nano /etc/samba/smb.conf
在最开始的[global]标题下添加一行,加入此行的目的是系统会根据登录的用户名读取对应的配置文件,以加载该用户可访问的目录
include = /etc/samba/%U.smb.conf
添加后保存退出,继续执行
sudo nano /etc/samba/user01.smb.conf
同样user01为你想设置的用户名称,在该新建的配置文件中添加
[User01PrivateFile] #括号内名称可自定义
path = /mnt/nas01/UserPrivate #此处目录替换为新建的私人目录
valid users = user01 #这里user01必须和之前添加的samba用户名一致
read only = no
create mask = 0777
directory mask = 0777
保存退出,重启服务
sudo service smbd restart
测试
查看局域网
使用另一台电脑,若为Windows则启动控制台,若为Mac则启动终端,输入
ping 192.168.1.100
此处ip地址为最初设置静态ip时设置的地址,查看是否连通同上面ping baidu时状态
若能ping通则在cmd中输入\192.168.1.100\Public即可,Mac下则使用Finder连接服务器输入地址smb://192.168.1.100\Public,访问私人目录则替换Public即可
访问速度
测速方法
1、可使用 iperf测速,iperf支持多个平台,操作也不难。NAS端(Ubuntu)可直接输入安装iperf
sudo apt-get install iperf3
客户端可从上方地址下载执行文件
以Mac OS为例,首先在NAS控制台输入
iperf3 -s
此时NAS端即挂起iperf服务并等待请求,在Mac开启终端并进入iperf可执行文件所在目录输入
iperf3 -c 192.168.1.100
iperf即开始进行终端到服务端的测速,上方IP地址根据之前自定义的NAS静态IP修改
2、Mac OS下也可打开活动监视器,在没有其他网络操作的情况下通过向NAS拷贝文件,观察监视器网络模块右下角显示的速度
3、Windows 上还可另外使用nastester或LAN Speed Test进行测速
测速结果
路由位于客厅,终端位于5米远隔一堵墙的卧室,在5GWiFi下传输速率能够达到40-50MB/s,若在路由边上半米内则能达到100MB/s,因此为了确保理想的传输速率,建议使用有线网络。
Mac下信号强度和协议传输速度可按住option点击右上方WiFi图标查看当前连接信息
一般环境下:
理想环境下:
解决问题
windows局域网无法发现NAS
win7用户进入控制面板→程序→程序和功能
win10用户进入设置→应用和功能→程序和功能
选择启用或关闭Windows功能→SMB 1.0/CIFS文件共享支持
右击我的电脑→管理→服务 启动以下几项服务
1.TCP/IP NetBIOS Helper
2.Function Discovery Resource Publication
3.UPnP Device Host
4.SSDP Discovery
最后
在安装过程中也遇到些麻烦,写这篇文章的时候可能被我忽略,如有人遇到问题请及时留言
至此一个能实现局域网内存取数据的NAS的雏形已完成,后续仍需许多服务升级,升级过程请见第三篇文章。
参考
Ubuntu 18.04 Server 版安装
https://blog.csdn.net/zhengchaooo/article/details/80145744
这篇提供了服务解决方案
http://www.shafa.com/articles/zFtgQfCV8NRQoNZA.html
硬盘挂载教程
https://www.jianshu.com/p/ec5579ef15a6
开机自动挂载
https://blog.csdn.net/iAm333/article/details/17224115
安装samba服务
https://www.cnblogs.com/liujunhang/articles/9322999.html