2020年10月11日 星期日

使用 BPI 新增網路磁碟給其他 Pi 系統做資料備援

前言:
目前網路環境如下
基於安全規範現有的 Nas Server 放置於Main Workgroup 裡面
每個區域透過實體防火牆控管
Main區域只有一台可通往其他區域電腦操作
其他區域不能存取Main區域的電腦。

起源:
所謂的Pi PC通常是一片單片機


儲存媒體通常是一塊記憶卡
現有的單片機開始有內建emmc記憶體(優點是開機快,不易損壞)

不過當系統裝載在記憶卡中,記憶卡一故障就無法把資料救回來了
'當初在建立 Pi 系統群的時候也沒考慮到有些資料必須留存
(APRX、ADS-B等,都是即時上傳伺服器)
反倒是空電壓紀錄,這個需要長年累月觀察電壓的波動

這個資料遺失了就很可惜
這次就是因為 BananaPi M1+ 故障無法開機
導致裡面3年資料遺失。

解決方案的構思:
當初想說要把現有的Nas Server 建立一個目錄來讓Pi群放資料
但看了一下手邊現有的零件與設備
剛好手邊還有一個 BananaPi M1(也就是初代機)
還有一個8G USB隨身碟

考慮到如果現有的香蕉派如果故障,該隨身碟也要能被其他電腦讀取
所以格式成 FAT32,缺點是無法存放單個4G以上的檔案
不過,三年的文字檔案也才45MB,依照後續構思每日備份
45/4680=170(天)
如果tar壓縮一下,大小大約7MB
7/4680=1009(天)
可以用三年...

備註:我目前大部分都使用 OrangePi Zero ,因為便宜,一組不到500台幣,但是只有一個USB

開始動工:

首先下載 armbian 的影像檔

先使用 SDformat 格式一下記憶卡


在使用 rufus 寫入到記憶卡


使用SSH登入到Banapi(IP從DHCP裡面使用MAC查)
帳號:root
密碼:1234
進去之後再輸入一次 1234
然後更改新密碼建立使用者
完畢之後 執行 apt-get update&apt-get  upgrade
把系統與套件來源更新

查詢一下隨身碟被掛載的位置
root@pinas:~# dmesg | grep sd
[   13.146022] sd 1:0:0:0: Attached scsi generic sg0 type 0
[   13.148523] sd 1:0:0:0: [sda] 15702912 512-byte logical blocks: (8.04 GB/7.49 GiB)
[   13.150005] sd 1:0:0:0: [sda] Write Protect is off
[   13.150031] sd 1:0:0:0: [sda] Mode Sense: 43 00 00 00
[   13.151212] sd 1:0:0:0: [sda] No Caching mode page found
[   13.156668] sd 1:0:0:0: [sda] Assuming drive cache: write through
[   13.184647]  sda: sda1
[   13.191397] sd 1:0:0:0: [sda] Attached SCSI removable disk

OK,我們看到被掛載到 sda1

之後就建立目錄

mkdir /home/nas

掛載

mount -t auto /dev/sda1 /home/nas

安裝sanba
apt-get install samba cifs-utils smbclient

編輯
sudo nano /etc/samba/smb.conf 

最後面加上
[samba]
        path = /home/myuser/samba
        browseable = Yes
        writable = Yes
        guest ok = Yes
        create mask = 0777
        directory mask = 0777    

重新啟動 samba
/etc/init.d/samba restart


到 OrangePi 將 samba 掛載起來
我都直接把掛在 rc.local 中
裡面新增一行
mount -t auto //IP/nas /home/samba -o username=帳號,password=密碼

建立一個 shell script
nano daily.tar.sh

輸入
tar -zcf  /home/samba/daily/AirView_One_$(date '+%Y%m%d').tar /home/x/AirView_One.csv

定時執行
crontab -e

輸入
*/30 * * * * sh /home/x/daily.tar.sh

這樣就會每30分鐘自動備份一次

現有的架構就是這樣




          73  BM7DEV

沒有留言:

張貼留言

WSJT-X

轉載FB ============== 大家好,又是我BU2EL! 今天不是來干擾的,是要來跟大家分享WSJT-X兩件事