目录
前言
从零开始,在树莓派4B上用samba建立一个简单的内网NAS服务器,可以实现简易家庭服务器的功能,虽然上传速度比较中规中矩,但是和价格上千上万的专业NAS服务器相比,一块只要几百的树莓派4B十分经济实惠且好用。
简介
NAS
NAS被定义为一种特殊的专用数据存储服务器,包括存储器件(例如磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质)和内嵌系统软件,可提供跨平台文件共享功能。
Samba
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。是在Linux和UNIX系统上实现SMB协议的一个免费软件,通过使用它实现文件的共享。
搭建
准备工作
- 一块树莓派4B
- 给安装树莓派官方镜像raspbian
- 给树莓派设置静态IP
- 给电脑安装VNC Viewer
- 准备一块移动硬盘或者U盘(内存大小根据需求)
使用vnc连接树莓派,进入图形化界面,打开终端,安装前进行一些比较需要的设置。
进入root
更改root密码:
~$ sudo passwd root
输入新密码更改后,进入root:
~$ su
root@:~#
更换软件源
~# nano /etc/apt/sources.list //打开sources.list文件
将下面内容复制上去,并把旧的软件源屏蔽,这里使用的是清华的软件源
deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free r$
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster ma
#deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free r$
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster ma
保存并退出:Ctrl+X
按Y
(保存数据) 再按回车
。
更新源:
~# apt-get update
下载vim编辑器
之前没有接触过Linux系统的同学可以使用比较简单的nano编辑器,但是使用Linux系统,我更推荐学习和使用vim编辑器。
~# apt-get install vim
安装及配置
处理硬盘
这里我使用的是128G的U盘,查看硬盘是否被检测到:
~# fdisk -l //查看硬盘
检测到以下内容:
Device Boot Start End Sectors Size Id Type
/dev/sda1 32768 242417663 242384896 115.6G 7 HPFS/NTFS/exFAT
分区和格式化
使用 fdisk /dev/sda
命令对硬盘进行分区和格式化,这里我直接删除就分区新建了一个分区,格式化为ext4格式:
~# fdisk /dev/sda
Command (m for help):d //删除旧分区
Command (m for help):n //创建新分区,一直回车按默认方式创建,除非想多建分区
Command (m for help):w //创建好后保存退出
~# mkfs -t ext4 /dev/sda1 //将分区格式化为ext4
如果使用的是容量较小的U盘,那么直接进行下列命令即可:
~# umount /dev/sda1 //取消挂载U盘
~# mkfs -t ext4 /dev/sda1 //将分区格式化为ext4
将硬盘挂载到指定目录
在根目录下创建一个目录:
~# cd //返回根目录
~# mkdir /share //创建share目录
将硬盘挂载到指定目录:
~# mount /dev/sda1 /share
运行 df -h
命令查看硬盘挂载情况:
~# df -h
挂载成功:
Filesystem Size Used Avail Use% Mounted on
/dev/root 59G 6.8G 50G 13% /
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 8.6M 3.9G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mmcblk0p1 253M 48M 205M 19% /boot
tmpfs 788M 4.0K 788M 1% /run/user/1000
/dev/sda1 114G 61M 108G 1% /share //成功挂载到/share目录
设置开机的自动挂载
每次树莓派重启或者硬盘插拔都需要对硬盘进行重新挂载,比较麻烦,因此需要自动挂载。这里要修改/etc/fstab文件。
~# vi /etc/fstab
添加 /dev/sda1 /share ext4 defaults 1 1
内容到fstab文件里:
proc /proc proc defaults 0 0
PARTUUID=ad4edcf0-01 /boot vfat defaults 0 2
PARTUUID=ad4edcf0-02 / ext4 defaults,noatime 0 1
/dev/sda1 /share ext4 defaults 1 1
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
完成后 :wq
保存退出
可以切到硬盘里面查看一下
~# cd /share //进入share目录
给硬盘测速
测速可测可不测,这里我使用hdparm,你也可以使用 dd
命令。
安装hdparm:
~# apt install hdparm //安装hdparm
测试硬盘速度:
~# hdparm -Tt /dev/sda //测试硬盘速度
测试成功:
/dev/sda:
Timing cached reads: 1514 MB in 2.00 seconds = 756.74 MB/sec
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Timing buffered disk reads: 70 MB in 11.35 seconds = 6.17 MB/sec
安装Samba
过程中会跳出安装插件,方向键左键选择yes回车就好。
~# apt install samba samba-common-bin //安装Samba
在/share目录下创建目录data,并更改用户、用户组和权限:
~# mkdir data //创建目录data
~# chown -R root:users /share/data //更改用户、用户组
~# chmod -R ug=rwx,o=rx /share/data //更改权限
配置smb
打开配置文件smb.conf:
~# vi /etc/samba/smb.conf //打开配置文件smb.conf
找到 Authentication
部分,在下面添加一行内容:
####### Authentication #######
security = user
找到 homes
部分,将下面的 read only = yes
改为read only = no
:
# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = no
接着来到文件的最后一行,添加以下内容:
[public] //作为共享的文件夹名字
comment = public storage
path = /share/data //文件夹路径,很重要
valid users = @users
force group = users
create mask =0660
directory mask =0771
read only = no
至此smb整个的配置就结束了, :wq
保存退出。
接下来我们重启smb服务:
~# /etc/init.d/samba-ad-dc restart
添加用户,密码自拟,我这里使用比较简单的123
~# smbpasswd -a pi
连接
对此电脑右键->映射网络驱动器->\输入树莓派IP地址\public
已经全部完成NAS的搭建及连接。
测试
现在我们添加一个 readme.txt
文件,打开添加 I love Linux
内容 !!!并保存:
切回树莓派进入/share目录,可以看到已经有 readme.txt
文件了,我们把它的内容cat出来,成功看到 I love Linux !!!
。
参考
树莓派学习笔记(5):成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)