樹莓派版的家用NAS伺服器

Andy Yang發表於2015-10-12

[Updated@2018.03.23]

【RPiNAS】
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install samba samba-common-bin
sudo apt-get install ntfs-3g
sudo smbpasswd -a pi
sudo /etc/init.d/samba restart

lsblk
sudo mkdir /SDA1
sudo mkdir /SDB1
sudo mount /dev/sda1 /SDA1
sudo mount /dev/sdb1 /SDB1
sudo nano /etc/fstab
/dev/sda1 /SDA1 ntfs defaults 0 2
/dev/sdb1 /SDB1 ntfs defaults 0 2

df -h
sudo nano /etc/samba/smb.conf
[SDA1]
comment = external Files 4 SDA1
browseable = yes
path = /SDA1
writeable = Yes
create mask = 0777
directory mask = 0777
browseable = Yes
public = yes
[SDB1]
comment = external Files 4 SDB1
browseable = yes
path = /SDB1
writeable = Yes
create mask = 0777
directory mask = 0777
browseable = Yes
public = yes

sudo reboot

 

 

家裡的檔案越來越多,每個人的檔案放得到處都是,需要的時候又找不到。。。

買個NAS伺服器?太貴!太吵!太費電!。。。

好在我們有樹莓派,自己動手,豐衣足食!

 

說做就做,主要分成以下三部分

  1. 載入雙USB行動硬碟
  2. 在網路中共享
  3. USB行動硬碟間同步

 

載入雙USB行動硬碟

為啥樹莓派加USB?安靜省電唄,你要弄主機和大硬碟24小時開著,估計沒用幾個月,讓你白天看著電錶哭,晚上聽著機器吵。。。

為啥要雙行動硬碟?一個用來網路共享,一個用來備份。不省電了?如果老婆的檔案有一天不見了,估計你就不會想著省電了,呵呵呵~~

由於樹莓派的USB個數的限制(不要笑話,哥們我現在還在使用一代B型),行動硬碟一定要接在帶外接電源的USB Hub上

// 由於希望在Windows的電腦上可以檢視檔案,所以USB硬碟的檔案系統選擇NTFS

// 樹莓派上安裝NTFS檔案系統的支援

sudo apt-get install ntfs-3g

// 檢視USB的連線情況,一般會是類似/dev/sda/dev/sdb的連線

sudo fdisk –l

// USB載入準備資料夾

sudo mkdir /media/USBHDD1

sudo mkdir /media/USBHDD2

// 掛載USB到樹莓派,USB裝置名稱見截圖

sudo mount -t auto /dev/sda1 /media/USBHDD1

sudo mount -t auto /dev/sdb1 /media/USBHDD2

// 為網路共享準備共享資料夾

sudo mkdir /media/USBHDD1/shares

sudo mkdir /media/USBHDD2/shares

//這一步有點危險,做之前做好系統備份;如何備份?Win32 Disk Imager拷貝一個IMG檔案唄

// 修改樹莓派的檔案系統表,需要按照fdisk中看到的資訊填寫

sudo nano /etc/fstab

/dev/sda1 /media/USBHDD1 auto noatime 0 0

/dev/sdb1 /media/USBHDD2 auto noatime 0 0

 

 

在網路中共享

NAS,NAS,網路連線儲存,當然要通過網路共享出來嘛,我們用常用的Samba方式

// 安裝Samba伺服器及客戶端工具

sudo apt-get install samba samba-common-bin

// 備份及修改配置檔案

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old

sudo nano /etc/samba/smb.conf

// 在配置檔案的地步加入如下配置節(不解釋)

[Backup]

comment = Backup Folder

path = /media/USBHDD1/shares

valid users = @users

force group = users

create mask = 0660

directory mask = 0771

read only = no

// 重啟Samba服務讓配置生效

sudo /etc/init.d/samba restart

// 新增一個叫backups的使用者

sudo useradd backups -m -G users

// 修改該使用者的密碼

sudo passwd backups

sudo smbpasswd -a backups

// 參考截圖訪問共享資料夾(槓槓+樹莓派IP地址)

cd /media/USBHDD1/shares

ls

USB行動硬碟間同步

以上還只用到了一塊USB硬碟,以下的命令是在凌晨兩點將檔案從USB1拷貝到USB2,分成以下兩種情況

  1. 如果USB1上有而USB2無,將檔案拷貝到USB2
  2. 如果USB2上無而USB2有,將USB2上檔案刪除

 

// 安裝同步軟體

sudo apt-get install rsync

// 配置同步任務

crontab –e

// 在最後加入如下命令

0 2 * * * rsync -av --delete /media/USBHDD1/shares/ /media/USBHDD2/shares/

 

// 也可以使用以下命令立即執行同步操作

rsync -av --delete /media/USBHDD1/shares/ /media/USBHDD2/shares/

 

裝好的系統建議使用固定IP的方式,方式如下(使用網線的方式)

// 備份網路配置

sudo /etc/network/interfaces /etc/network/interfaces.old

//編輯網路配置

sudo nano /etc/network/interfaces

// 網路配置改成如下格式

iface eth0 inet static

address 192.168.1.115

gateway 192.168.1.1

netmask 255.255.255.0

broadcast 192.168.1.255

 

忍不住貼一張收工以後的PP,哈哈哈。。。

 

Andy Yang

2015.10.12

相關文章