在 CentOS 中裝載檔案共用
在 CentOS Linux® 運算實例上掛載 NFS 檔案共享,並可選擇啟用傳輸過程中的 IPsec 加密(需使用 dp2 設定檔,並設定安全群組的存取模式)。
開始之前
-
確認伺服器所在的 VPC 存在共用的掛載目標。 如果需要新的裝載目標,請遵循 建立檔案共用及裝載目標 中的指示。
-
從裝載目標取得檔案共用的裝載路徑。 掛載路徑資訊可從 主控台 的檔案共用詳細資訊頁面、CLI、API 或 Terraform 取得。
-
如果要在傳輸中使用加密,您需要從元資料服務取得 IPsec 憑證。 請確定已針對裝載目標啟用傳輸中加密。 此外,使用安全連線來裝載檔案共用。 此特性僅適用於具有
dp2設定檔及安全群組存取模式的檔案共用。 如需相關資訊,請參閱 傳輸中加密-保護檔案共用與主機之間的裝載連線安全。安裝並執行 mount helper 公用程式,以使用傳輸中加密或沒有加密連線來裝載檔案共用。
File Storage for VPC 服務需要 NFS v4.1 或更高版本。
在 CentOS 上裝載檔案共用
遵循下列步驟,在 CentOS 主機上裝載檔案共用。 這些範例以 CentOS 8 為基礎。 這些步驟與 在 Red Hat Enterprise Linux®上裝載檔案共用 中說明的步驟類似。
透過 SSH 登入您要裝載檔案共用的 Compute 實例,然後繼續執行下列步驟:
-
安裝必要的工具。
dnf install nfs-utils -
在您的執行個體中建立一個目錄。
mkdir /mnt/test -
掛載遠端檔案共用。
mount -t nfs4 -o <options> <host:/mount_target> /mnt請參閱下列範例。
mount -t nfs4 -o sec=sys 10.240.64.11:/384f711c_0684_4643_b1c3_dc7acb36d04a /mnt/test -
請使用磁碟檔案系統指令來驗證裝載是否順利完成。
$ df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 798M 660K 798M 1% /run /dev/vda2 99G 1.6G 93G 2% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/vda1 240M 73M 155M 33% /boot fsf-dal2433a-dz.adn.networklayer.com:/nxg_s_voll_246a9cb9-4679-4dc5-9522-4a7ed2575136 190G 384K 190G 1% /mnt/test tmpfs 798M 0 798M 0% /run/user/0 -
跳至裝載點以建立測試檔案並列出所有檔案,以驗證共用已裝載為讀寫。
touch /mnt/test/test.txt ls -al /mnt/test$ touch /mnt/test/test.txt ls -al /mnt/test total 12 drwxr-xr-x 2 nobody nobody 4096 Apr 8 15:52 . dr-xr-xr-x. 22 root root 4096 Apr 8 14:30 .. -rw-r--r-- 1 nobody nobody 0 Apr 8 15:52 test.txt這些檔案是由 root 建立的,其所有權設定為
nobody:nobody。 若要正確顯示所有權,請使用正確的網域設定來更新idmapd.conf。 如需更多資訊,請參閱 《 如何在 NFS 上實作 no_root_squash 》。 -
在啟動時掛載遠端檔案共用。 要完成設定,您必須編輯檔案系統表(
/etc/fstab),並將遠端檔案共用新增至開機時會自動掛載的項目清單中。 在fstab中建立項目之前,請執行下列步驟,將裝載路徑主機名稱新增至/etc/hosts。-
取得裝載路徑的
hostname.com部分,例如fsf-dal2433a-dz.adn.networklayer.com,並取得 IP 位址。 從實例執行下列指令,以取得 IP 位址。host hostname.com請參閱下列範例。
host fsf-dal2433a-dz.adn.networklayer.com fsf-dal2433a-dz.adn.networklayer.com has address 203.0.113.0如果您在執行
host指令時收到找不到指令錯誤,請使用dnf install bind-utils來安裝它。 -
編輯
/etc/hosts,並將 IP 新增至主機名稱項目。<IP_Address> hostname.comhostname.com請參閱下列範例。
198.51.100.0 fsf-dal2433a-dz.adn.networklayer.com -
編輯檔案系統表格
/etc/fstab,並新增項目。(hostname):/(file_share_path) /mnt nfs_version options 0 0請參閱下列範例。
fsf-dal2433a-dz.adn.networklayer.com:/nxg_s_voll_246a9cb9-4679-4dc5-9522-4a7ed2575136 /mnt/test nfs4 nfsvers=4.1,sec=sys,_netdev 0 0
-
-
驗證配置檔未發生錯誤。
mount -fav如果該指令執行完畢且未出現錯誤,則表示您的設定已完成。
對於 NFS 4.1,請在掛載指令中加入
sec=sys,以避免檔案所有權問題。 在所有網路元件啟動之前,請使用_netdev來等待裝載儲存體。
實作 NFS 的 no_root_squash(選用)
預設情況下,NFS 會將任何以 root 權限建立的檔案,其所有權降級至 nobody 使用者。 除非要求專用權,否則此安全特性會防止專用權共用。
透過配置 no_root_squash,root 用戶端可以保留遠端 NFS 檔案共用的 root 許可權。
對於 NFSv4.1,請將 nfsv4 網域設定為:slnfsv4.com,並啟動 rpcidmapd 或您作業系統所使用的類似服務。 請參閱下列範例。
-
請在主機端,於
/etc/idmapd.conf中設定網域設定。$ vi /etc/idmapd.conf [General] #Verbosity = 0 #The following should be set to the local NFSv4 domain name #The default is the host's DNS domain name. Domain = slnfsv4.com [Mapping] Nobody-User = nobody Nobody-Group = nobody -
執行
nfsidmap -c。
解除裝載檔案系統
若要在您的主機上解除裝載任何目前已裝載的檔案系統,請用磁碟名稱或裝載點名稱執行 umount 指令。
umount /dev/sdb
umount /mnt