Lvm

多個 LVM 邏輯卷的 NFS 導出配置

  • September 18, 2015

我設置了一個文件伺服器,其中包含兩個大型文件系統,每個文件系統都由單個卷組中的單個 LVM 邏輯卷(10TB 和 16TB)組成。組成 LV 的物理卷是通過 iSCSI/多路徑連接的 SAN LUN。

現在,我想通過 NFS 將這些提供給 LV 到計算集群中的節點。

到目前為止,我有以下配置。

在伺服器上,兩個 LV 位於:

/mnt/LV1
/mnt/LV2

NFS /etc/exports 看起來類似於

/mnt/LV1   *(rw...)
/mnt/LV2   *(rw...)

然後,在我的客戶端上,我分別安裝它們中的每一個。

我的問題是,我可以把它放在 /etc/exports 中嗎?

/mnt *(rw)

並作為包含這兩個邏輯卷的單點安裝在客戶端?

天真地,這似乎很奇怪,因為它們是單獨的邏輯卷,但這也可能是正確的做法!

預設情況下,導出的文件系統不包括從不同文件系統掛載的目錄的內容。也就是說,NFS 導出不會跨越文件系統邊界。因此,在您的範例中,如果您 mount /mnt,您只會看到兩個空目錄(LV1& LV2)。

原因是 NFS 客戶端會在單個文件系統中看到多個具有相同 inode 編號的文件,這可能會導致某些 NFS 客戶端混淆。或者為了避免這個問題,NFS 伺服器必須維護一個非標識 inode 號映射。

根據exports(5) 手冊頁,您可以使用該nohide選項來關閉此功能,然後您可能希望在單個文件系統中多個文件碰巧具有相同的inode 編號時,客戶端上的任何軟體都不會混淆。

正常選項

exportfs了解以下導出選項:

野秀

此選項基於 IRIX NFS 中提供的同名選項。通常,如果伺服器導出兩個文件系統,其中一個掛載在另一個文件系統上,則客戶端必須顯式掛載這兩個文件系統才能訪問它們。如果它只是掛載父級,它將在另一個文件系統的掛載位置看到一個空目錄。該文件系統是“隱藏的”。在文件系統上設置 nohide選項會導致它不會被隱藏,並且經過適當授權的客戶端將能夠從父文件系統移動到該文件系統而不會注意到更改。

但是,一些 NFS 客戶端不能很好地應對這種情況,例如,一個明顯的文件系統中的兩個文件可能具有相同的 inode 編號。

nohide選項目前僅對單主機導出有效。它不能可靠地與網路組、子網或萬用字元導出一起使用。

此選項在某些情況下可能非常有用,但應謹慎使用,並且僅在確認客戶端系統有效應對這種情況後才能使用。

可以使用 hide 顯式禁用該選項。

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