在與 Samba 共用之前,請確保伺服器始終可以啟動並且已安裝硬碟

在與 Samba 共用之前,請確保伺服器始終可以啟動並且已安裝硬碟

我有兩個 2 TB 硬碟(不是開機/系統磁碟機),每個硬碟都有一個分割區,我與 Samba 共用該分割區。掛載點位於/mnt/drive01和中/mnt/drive02

這些也是兩個 samba 共享的路徑,名為 backup1 和 backup2。一旦這些共享啟動,它們就會開始填充來自網路中其他電腦的(大量)資料(某些電腦寫入 backup1,其他電腦寫入 backup2,但沒有一台電腦同時寫入這兩台電腦)。

一切都按計劃進行,Samba 沒有問題。該伺服器(位於遠端位置)配置為在斷電等情況下自動重新啟動。

問題是,如果系統啟動正常,但由於某種原因無法安裝其中一個(或兩個)2 TB 硬碟:samba 將開始共享/mnt/drive01,並且/mnt/drive02大容量驅動器未安裝,因此實際上所有資料都已安裝最終出現在系統在驅動器上,將其填滿並導致系統無法使用或無法透過ssh 遠端存取。

因此,我認為在 中輸入兩個 2 TB 驅動器的分區不是一個好主意/etc/fstab,因為我注意到在其中一個數據驅動器斷開連接的情況下啟動時會出現一些問題。同樣,這很重要,因為伺服器位於遠端位置,不能依賴操作員幹預來修復螢幕上的消息,例如“驅動器未準備好,繼續等待,按 S 跳過安裝,M 手動...”

所以我有一個小腳本,它會在啟動後一分鐘嘗試安裝資料驅動器,這修復了 fstab 部分。現在開始森巴舞。

我想要的是讓 Samba 一段時間後啟動(沒問題),但也「動態」啟用或停用這兩個共享。因此,例如,如果第二個資料磁碟機發生故障,我的腳本將只能掛載第一個資料磁碟,且 samba 只會通告 backup1 共用(資料寫入 2 TB 磁碟機);另一個共享(backup2,映射到/mnt/drive02)不會被廣告/禁用,但至少我有一個共享正在運行(並且我的一些機器可以將數據倒入其中)。

當然,最簡單的方法是僅在安裝了兩個資料磁碟機時才啟動 samba,但這是一個全有或全無的解決方案

有任何想法嗎?

答案1

有兩種選擇。如果您沒有與 Samba 的其他共用,則可以使用 upstart 或 systemd 在安裝兩者時啟動 Samba,並在移除兩者時停止 Samba。使用 systemd 你應該需要Requires=和暴發戶start on mounted /dev/something。另一種方法是從啟動腳本中刪除 samba 並使用您的腳本啟動。這些選項取決於您已經完成的操作。

相關內容