前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

2. 玩转树莓派——NAS搭建

qiguaw 2024-11-23 21:21:09 资源文章 12 ℃ 0 评论

Raspberry Pi搭建NAS

  1. 文件格式选择


优点

缺点

EXT4

读写速度快

支持的最大卷为1EB,单个文件最大为16TB

BTRFS

支持快照、RAID、针对SSD优化

读写速度比EXT4慢,稳定性有待验证

毫无疑问,若要稳定使用,选EXT4,想自己折腾自己,考虑BTRFS吧。

我买了个2T的3.5寸SATA3硬盘,树莓派的USB2.0接口是提供不了需要的电源,而且接口不对,所以额外买了USB2.0和SATA接口互转的线和电源线(转接线上要有专门留出电源接口的)。

格式化硬盘:

#需先确认哪块硬盘需要格式化
sudo mkfs.ext4 /dev/sda
sudo fdisk -l
sudo mount /dev/sda /home/pi/nas
#mount到用户目录下,避免权限问题
#如果mount到/mnt/nas则需执行命令,以便读写
#sudo chmod -R 777 /mnt/nas 
#设置开机启动自动挂载(注意配置错误可能导致无法启动或SSH连接上)
#sudo vi /etc/fstab
#/dev/sda    /home/pi/nas    ext4    auto,noatime,rw,sync    0    2
#sudo reboot
  1. 协议选择


优点

NFS

速度快

SMB

基于NetBIOS,Windows兼容

DLNA

速度快,适用于多媒体播放

100Mb局域网下,实测SMB速度在13-26Mb/s,平均17Mb/s,而NFS稳定在10-12Mb/s。(本人表示很奇怪,理论上最大速度当为100Mb/8=12.5MB/s,SMB传输速度为何能高出)

  1. NFS
    • 安装NFS
sudo apt-get update 
# nfs-common已安装 
# 默认使用rpcbind而不是portmap 
sudo apt-get install -y nfs-kernel-server
    • 配置NFS
# 共享目录必须存在 
# /etc/exports第一列表示共享目录,第二列表示授权访问主机,可以是域名、IP,括号内的是选项 
# 选项解释: 
#     rw代表读写权限,ro代表只读权限。sync代表文件同步写入内存和磁盘,async代表文件先写入内存,必要时再写入磁盘。 
#     no_root_squash代表客户端用root访问时,共享文件也拥有root权限。root_squash代表客户端用root访问时,对分享目录有匿名用户权限。all_squash代表客户端总是只有匿名用户权限。 
#     anonuid代表匿名用户的uid,默认为nobody。anongid代表匿名用户的gid。 
sudo vi /etc/exports 
/home/pi/nas 192.168.1.0/24(rw,sync) 
# sudo /etc/init.d/nfs-kernel-server restart 
sudo systemctl restart nfs-server 
# 如果启动失败,根据提示查看原因(一般都是配置写错了) 
sudo systemctl status nfs-server.service
    • Windows客户端配置启用NFS支持

控制面板 --> 程序和功能 --> 启用或关闭Windows功能 --> NFS服务

    • 挂载网络驱动
mount 192.168.1.99:/home/pi/nas X: 
#如果想开机自动挂载,可在计算机选择“映射网络驱动器”,在弹出窗口选择驱动器盘符和远程目录。 
    • 区域设置

控制面板 --> 区域 --> 管理 --> 更改系统区域设置 --> Beta版:使用Unicode UTF-8提供全球语言支持

勾选后重启。

    • 权限说明

NFS共享出来的目录所有者是root,所以在Windows客户端默认没有权限写入。
解决办法有两种:
第一种,在NFS服务器上给所有用户读写权限。

sudo chmod 777 /srv/nfs4/share 

第二种,让Windows默认以root用户挂载,同时将NFS服务器共享选项设置为不映射root用户(no_root_squash)。在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default项下新增两个DWORD,名称为AnonymousUid和AnonymousGid,值都是0。

    • Zone.Identifier

Windows系统在共享文件时默认会加入"原文件名:Zone.Identifier"文件,禁用方法如下图:


设置完成后,可以看到如下效果图(IP及目录信息被擦除):

  1. SMB
    • 安装samba
sudo apt-get install -y samba # 安装过程中可能会提示samba-ad-dc服务配置失败,可以忽略 
    • 配置samba
#请参考https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html 
sudo vi /etc/samba/smb.conf #public的配置用于只读,share的配置用于读写,且只授权给用户pi 
[public] 
comment = Raspberry Pi SAMBA 
path = /home/pi/nas 
browseable = yes 
read only = yes 
[share] 
comment = SMB 
path = /home/pi/nas 
browseable = yes 
writable = yes 
create mask = 0744 
directory mask = 0755 
write list = pi
#检查配置是否正确 
testparm 
#将用户加入到samba用户(系统用户必须已创建) 
sudo smbpasswd -a pi 
#重启smb服务 
#sudo /etc/init.d/samba restart 
sudo systemctl restart smbd 

到Windows系统,地址栏输入SMB服务器IP,显示效果如下(public可直接访问,share需要输入用户名、密码):

  1. DLNA
    • 安装minidlna
sudo apt-get install -y minidlna 
    • 配置minidlna
sudo vi /etc/minidlna.conf 
#修改媒体文件目录 
media_dir=/home/pi/nas/media 
#修改名称,用于其它设备网络发现识别 
friendly_name=Raspberry Pi MiniDLNA 
#根据需要修改最大连接数 
max_connections=5  
#重启minidlna服务 
#sudo service minidlna restart 
sudo systemctl restart minidlna 
#查看状态(Active行状态为"active (runing)"代表运行正常) 
#service minidlna status 
sudo systemctl status minidlna 
#开机自启动 
#sudo update-rc.d minidlna defaults 
sudo systemctl enable minidlna 
#取消开机自启动 
#sudo update-rc.d -f minidlna remove 
sudo systemctl disable minidlna 
#停止DLNA服务 
#sudo service minidlna stop 
#sudo systemctl stop minidlna 
#卸载DLNA 
#sudo apt-get remove --purge minidlna 
    • 配置minidlna
      • HTTP
        浏览器输入ip以及端口,比如 http://68.76.78.65:8200 ,查看是否显示媒体库信息或已连接信息。
      • WMP
        需要先启动相关服务。sc start WMPNetworkSvc sc start SSDPSRV 如果在同一个网络下,正常情况下,打开WMP,在右下角能看到我们的设备,如图:


  1. Kodi

Kodi是一个全平台家庭媒体解决方案开源项目。以Android手机为例:

  • 界面语言设置

Kodi本身支持多语言,但是新手在设置时容易掉坑。

Interface --> Regional --> Language --> Chinese(Simple)

此时会全屏乱码,不要惊慌,选择原来Skin下面的Fonts位置,选择Arial,一切变得亲切起来。 回顾一下:


此时,可以把区域的字符集也改成Chinese Simplified(GBK)。

  • 为资料库添加源

注意共享的目录和文件不能存在乱码,否则Kodi不显示。Kodi支持SMB、UPnP(即DLNA)、NFS等多种来源。比如SMB:

添加视频 --> 浏览 --> Windows网络(SMB)

确定后再选择 "smb://" ,弹出输入框,填入SMB服务器IP即可。

UPnP添加共享时,只需选“UPnP设备”,无需指定具体IP。

  1. NAS系统介绍


OpenMediaVault

群晖DMS

威联通QTS

铁马威TOS

基础系统

Debian

Debian?

Linux

busybox?

文件格式

EXT4

BTRFS

BTRFS

BTRFS

文件协议

NFS, SMB, AFP

SMB, AFP, NFS

DLNA, NFS, SMB

SMB, AFS, NFS, DLNA

内置应用

nginx, php, python

nginx, php, htppd, pg, python

qthttpd, MariaDB, php, python

nginx, php, mysql, python

在安装OMV时,出现命令找不到的情况,重新安装OMV相关package解决:

apt-get install --reinstall openmediavault && omv-initsystem
omv-firstaid
#此时如果提示web管理控制台信息,则说明安装成功

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表