美文网首页
自建NAS系列02——软件篇

自建NAS系列02——软件篇

作者: Warl_G | 来源:发表于2018-10-19 21:16 被阅读251次

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

    相关文章

      网友评论

          本文标题:自建NAS系列02——软件篇

          本文链接:https://www.haomeiwen.com/subject/ijefzftx.html