树莓派搭建NAS服务器

时间:2021-03-06 06:31:47

    NAS(Network Attached Storage:网络附属存储)是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便于对不同主机和应用服务器进行访问的技术。可以通俗地理解为工作在网络上的存储器,通过它,我们可以通过网络访问它。

   
前面我们已经尝试过使用nfs服务器来实现主机和树莓派的文件共享。这次我们将尝试samba和DLNA两种方式。


samba


    samba
是在Linux和UNIX系统上实现SMB协议的一个免费软件,通过他我们可以实现文件的共享。


1.安装 samba 和 samba-common-bin


   
在命令行中输入sudo
apt-get install samba
samba-common-bin
。为了后面的测试,我们用一个U盘来模拟网络硬盘。先把U盘格式化为Linux下的文件格式。输入
df –h 命令查看硬盘的信息,找到你的U盘。注意备份U盘里有用的东西!然后输入
命令:mkfs -t ext4
/dev/sdb1.
把U盘格式化为EXT4文件格式。因为我之前试过用fat32和ntfs格式,发现都回存在权限的问题。共享文件无法获得写权限。然后创建一个/samba目录,把它的权限改为777。chmod
777
/samba
。这个目录将用作共享文件的目录。把U盘所在的分区mount到/samba下。


2.配置/etc/samba/smb.conf文件


   
在命令行中输入 sudo vi
/etc/samba/smb.conf
。输入shift+g将光标移到最后。在最后加上这些内容:


#================================================



[share]                                  
#共享文件的名称,将在网络上以此名称显示
       
path =
/samba                    
#共享文件的路径
       
valid users = root
pi            
#允许访问的用户,比如我的raspi有



                                         
#root 和 pi 两个用户
       
browseable =
yes                 
#允许浏览                                  

       
public =
yes                     
#共享开放                                      

       
writable =
yes                   
#可写


#=================================================


   
保存后,重启samba服务。输入 /etc/init.d/samba
restart
。接下来为共享添加用户。输入:


smbpasswd –a
username,
此处的用户名必须是树莓派里面的用户名。


正常启动后,在windows资源管理器中右击网络图标,选择:网络-〉映射网络驱动器


 
树莓派搭建NAS服务器


输入\\树莓派的IP\共享名称,如果是和我上面的配置一样,共享名称就是share。



树莓派搭建NAS服务器


登陆,输入之前设置的账户。


树莓派搭建NAS服务器


如果不出意外,登陆应该就成功了。


3.测试


在共享目录下,写入一个test.txt,再到树莓派里打开,如果没有权限的问题,就是成功了。


DLNA


  接下来我们来配置DLNA。



DLNA也是一种在网络上共享文件的方式,但它面向的对象主要是媒体资源,比如视频和音乐。假设你在DLNA上共享了一段音乐,其它设备就可以通过共享文件来访问它,而无需下载。


1.安装minidlna


   
这里树莓派可能需要更新一下软件源,输入sudo apt-get
update
。更新完后输入 sudo apt-get install
minidlna


2.配置/etc/minidlna.conf文件


   
在/etc/minidlna.conf 文件尾部写入如下内容:



#===================================================================================


#set the dir for different
resources===========
media_dir=A,/samba/DLNA/Music               
#A表示这个目录是存放音乐的,当minidlna读到配置文件



                                            
#时,它会自动加载这个目录下的音乐文件
media_dir=P,/samba/DLNA/Picture                                                

media_dir=V,/samba/DLNA/Video                                                  

#set the dir for
database=====================
                                

db_dir=/samba/DLNA/db                      
#配置minidlna的数库数据的存放目录
#set the dir for
logs=========================
                                  

log_dir=/samba/DLNA/log