优点
缺陷
EXT4

读写速率快
支持的最大卷为1EB,单个文件最大为16TB
BTRFS
支持快照、RAID、针对SSD优化
读写速率比EXT4慢,稳定性有待验证
毫无疑问,若要稳定利用,选EXT4,想自己折腾自己,考虑BTRFS吧。
我买了个2T的3.5寸SATA3硬盘,树莓派的USB2.0接口是供应不了须要的电源,而且接口不对,以是额外买了USB2.0和SATA接口互转的线和电源线(转接线上要有专门留出电源接口的)。
格式化硬盘:
#需先确认哪块硬盘须要格式化sudo mkfs.ext4 /dev/sdasudo fdisk -lsudo 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
协议选择
优点
NFS
速率快
SMB
基于NetBIOS,Windows兼容
DLNA
速率快,适用于多媒体播放
100Mb局域网下,实测SMB速率在13-26Mb/s,均匀17Mb/s,而NFS稳定在10-12Mb/s。(本人表示很奇怪,理论上最大速率当为100Mb/8=12.5MB/s,SMB传输速率为何能赶过)
NFS安装NFSsudo 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.IdentifierWindows系统在共享文件时默认会加入"原文件名:Zone.Identifier"文件,禁用方法如下图:
设置完成后,可以看到如下效果图(IP及目录信息被擦除):
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须要输入用户名、密码):
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
配置minidlnaHTTP 浏览器输入ip以及端口,比如 http://68.76.78.65:8200 ,查看是否显示媒体库信息或已连接信息。WMP 须要先启动干系做事。sc start WMPNetworkSvc sc start SSDPSRV 如果在同一个网络下,正常情形下,打开WMP,在右下角能看到我们的设备,如图: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。
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-initsystemomv-firstaid#此时如果提示web管理掌握台信息,则解释安装成功