pNFS 塊佈局伺服器使用者指南¶
Linux NFS 伺服器現在支援 pNFS 塊佈局擴充套件。在這種情況下,NFS 伺服器充當 pNFS 的元資料伺服器(MDS),除了處理所有 NFS 匯出上的元資料訪問外,還向客戶端分發佈局,以便客戶端直接訪問與客戶端共享的底層塊裝置。
要將 pNFS 塊佈局與 Linux NFS 伺服器一起使用,匯出的檔案系統需要支援 pNFS 塊佈局(目前僅支援 XFS),並且檔案系統必須位於客戶端和 MDS 均可訪問的共享儲存(通常是 iSCSI)上。目前,檔案系統需要直接位於匯出的捲上,尚不支援 MDS 和客戶端上的卷條帶化或連線。
在伺服器上,如果檔案系統支援 pNFS 塊卷,則會自動支援它。在客戶端上,請確保核心已啟用 CONFIG_PNFS_BLOCK 選項,nfs-utils 中的 blkmapd 守護程式正在執行,並且檔案系統已使用 NFSv4.1 協議版本掛載 (mount -o vers=4.1)。
如果 nfsd 伺服器需要對無響應的客戶端進行隔離,它會呼叫 /sbin/nfsd-recall-failed,第一個引數設定為客戶端的 IP 地址,第二個引數設定為檔案系統(要被隔離的)的裝置節點,不包含 /dev 字首。下面是一個示例檔案,展示瞭如何將裝置轉換為 SCSI EVPD 0x80 中的序列號
cat > /sbin/nfsd-recall-failed << EOF
#!/bin/sh
CLIENT="$1"
DEV="/dev/$2"
EVPD=`sg_inq --page=0x80 ${DEV} | \
grep "Unit serial number:" | \
awk -F ': ' '{print $2}'`
echo "fencing client ${CLIENT} serial ${EVPD}" >> /var/log/pnfsd-fence.log
EOF