Linux

Samba 是我的正確選擇嗎?

  • July 25, 2011

我們有一個使用大量內容(各種文件)的分佈式應用程序。有幾個伺服器需要訪問內容。現在,內容冗餘地儲存在每個伺服器上。但這越來越難看。

我們希望將內容儲存在具有大硬碟的單個儲存實例上。然後我們想從我們的每台伺服器上掛載這個儲存實例的文件系統。

我考慮過使用 NFS,但安全方案似乎不適合。現在我正在看 Samba,但我不確定它是否是正確的選擇。所有伺服器都是 Linux,而 Samba 的主要用途是 Windows/Linux 環境。讓 Samba 對我感興趣的是使用者級別的安全性。

除了安全性之外,另一個主要要求是性能。我們的伺服器需要快速訪問內容。這在 LAN 上是盡可能快的。

Samba 是一個不錯的選擇嗎?還有哪些其他選擇?WebDAV 呢?

編輯:我需要做的:我們有不同數量的伺服器需要訪問越來越多的文件。我們預計會變成幾個 TB。我們稱這些文件為“內容”。所有伺服器都必須使用相同版本的內容。伺服器需要對內容進行並發只讀訪問。內容更新比較少。每週一次到每月一次之間的東西,但它可能會變得更頻繁。現在可以在每台伺服器上同步內容,但在不久的將來這將成為一個難題。更新必須非常快。我們認為只在一台伺服器(儲存伺服器)上更新/同步內容並讓所有其他伺服器將內容掛載為遠端文件系統會很方便。

祝一切順利

Samba 幾乎肯定會做你想做的事,並且性能相當合理。它應該有必要的安全控制來處理你想到的任何案例(你的問題在細節上有點短)。

很難提供其他建議,因為您沒有很好地描述您需要做什麼以及您的限制是什麼。WebDAV 可能沒用;它不像POSIX 文件系統,如果你認為你需要極快的性能,那麼你可能想要一個像完整文件系統(任意搜尋,那種東西)的東西,這在 WebDAV 上會很痛苦.

您還沒有談到對單個文件的並發訪問,這對您可能的解決方案空間有很大的影響。如果只有一個客戶端同時訪問給定文件,特別是如果只有一個客戶端將更新給定文件,那麼不一定要放棄定期同步解決方案——他們可以在適當的條件下做得很好.

最後,如果它大部分(或全部)是只讀的,那麼考慮讓您的數據訪問更高級別。與其認為您必須擁有文件,為什麼不考慮有用的特定於應用程序的抽象?一個常見的例子是不起眼的 SQL 數據庫——與其將數據儲存在平面文件中並使用自定義程式碼來處理它,一些聰明的 clods 提出了一個更專業的儲存引擎的想法以及智能訪問它的必要語言。它不像文件系統那麼靈活,但是(在它的狹窄領域)它的速度更快。或許有一點想像力,你可以為你的數據想出一個類似的抽象,這樣可以省去不少麻煩?

引用自:https://serverfault.com/questions/293755