自建NAS系列02——软件篇

上一篇讲了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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容