Raspberry Pi技术笔记之三:搭建简易家用NAS

当家里的手机,平板及电视盒子这种轻量级终端多了后,NAS的需求就愈加强劲了。下方介绍使用Raspberry Pi和2.5吋的移动硬盘打造家用NAS,实现家用存储中心的方案。Raspberry Pi所安装操作系统为Archlinux。

  1. 安装移动硬盘
    树莓派有提供两个USB2.0接口,将移动硬盘与树莓派使用USB接口相连即可。如果移动硬盘不能被系统识别及正常挂载,很大程度是因为移动硬盘的供电不足,可以考虑给移动硬盘单独供电,或者使用『三头USB数据线同时给Raspberry Pi和移动硬盘供电大法』。连接正常后,查看移动硬盘是否被系统识别可以使用fdisk命令,如下显示中的/dev/mmcblk0为装载操作系统的SD卡,/dev/sda为外接移动硬盘

    [root@raspberry nas]# fdisk -l
    
    Disk /dev/mmcblk0: 1.9 GiB, 1967128576 bytes, 3842048 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: dos
    Disk identifier: 0x417ee54b
    
    Device         Boot     Start       End  Blocks  Id System
    /dev/mmcblk0p1           2048    186367   92160   c W95 FAT32 (LBA)
    /dev/mmcblk0p2         186368   3667967 1740800   5 Extended
    /dev/mmcblk0p5         188416   3667967 1739776  83 Linux
    
    Disk /dev/sda: 298.1 GiB, 320072933376 bytes, 625142448 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: dos
    Disk identifier: 0xc95dbbd8
    
    Device    Boot Start       End    Blocks  Id System
    /dev/sda3 *     2048 625141759 312569856  83 Linux
  2. 格式化移动硬盘如果你的移动硬盘分区格式为NTFS,Linux下可以通过安装额外驱动程序包例如NTFS-3G来支持在其分区上读写,但经测试此类驱动对系统的负载较高,尤其是在性能较低的ARM CPU上,因此强烈建议将移动硬盘格式化为Linux原生支持的ext4分区。如下sda3 为我移动硬盘的分区,此移动硬盘上只有一个分区
    [root@raspberry nas]# mkfs.ext4 /dev/sda3
  3. 挂载移动硬盘,根据个人爱好创建挂载目录,手动挂载移动硬盘分区
    [root@raspberry nas]# mkdir -p /media/aa/nas/
    [root@raspberry nas]# mount /dev/sda3 /media/aa/nas

    将此分区添加到系统的/etc/fstab文件以实现开机自动挂载

    [root@raspberry nas]# vi /etc/fstab
    # /etc/fstab: static file system information
    # <file system>	<dir>	<type>	<options>	<dump>	<pass>
    /dev/mmcblk0p1  /boot           vfat    defaults        0       0
    /dev/sda3 /media/aa ext4 defaults,noatime 0 0
  4. 安装支持SMB文件共享协议的samba软件包SMB是一种能用文件共享协议,支持Windows,Linux和Mac OSX等不同操作系统
    [root@raspberry nas]# pacman -Sy samba

    将相关进程添加至开机自启动

    [root@raspberry nas]# systemctl enable smbd nmbd
  5. 配置samba将如配置文件追回至/etc/samba/smb.conf,其中path列为你需要共享的目录,下面示例为简单粗暴的将整个硬盘共享出来
    [root@raspberry nas]#
    [nas@rasp]
    comment = na
    path = /media/aa/nas
    public = yes
    create mask = 0775
    directory mask = 0775
    guest ok = yes
    browseable = yes
    writable = yes
    #read only = yes
  6. 重启samba服务,即可使用windows,Mac等机器匿名访问此共享目录了
    [root@raspberry nas]# systemctl restart smbd nmbd
  7. 因为没有为samba指定和添加用户组,客户端对上面所添加的目录只有只读权限,若需要将目录赋予可写和执行权限 ,则只需将对应目录添加其它组的可写和执行权限,例如将nas下面download目录赋予可写和执行权限
    [root@raspberry nas]# chmod -R o+rwx /media/aa/nas/download