在 Red Hat Linux 上裝載 File Storage for Classic

請依照以下說明,將基於 Red Hat Enterprise Linux® 的 IBM Cloud® Compute執行個體連線至網路檔案系統 ( NFS ) 共用資料夾。 如需瞭解如何訂購《 IBM Cloud® File Storage for Classic 》的更多資訊,請參閱「入門 教學」。

開始之前,請確認將存取 File Storage for Classic 資料卷的主機已獲得授權。 有關更多信息,請參閱 在控制台授權主機從 CLI 授權主機使用 Terraform 授權主機

裝載 File Storage for Classic 共用

  1. 安裝必要的工具。

    # dnf install nfs-utils
    
  2. 在您的實例中建立一個目錄。

    mkdir /mnt/test
    
  3. 透過主控台中的 File Storage for Classic 詳細資訊頁面、API 呼叫 (SoftLayer_Network_Storage::getNetworkMountAddress()) 或 Terraform 中的 ibm_storage_file 資源,取得掛載點資訊。

  4. 裝載遠端共用。

    # mount -t nfs -o <options> <host:mount_point> /mnt
    

    storage_as_a_service 磁區的範例。

    #mount -t nfs -o nfsvers=3 fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt
    

    enterprise 磁區的範例。

    # mount -t nfs -o nfsvers=3 nfshou0201d-fz.service.softlayer.com:/IBM01SEV1414935_2 /mnt
    

    如果您使用 NFS 4.1,請將 sec=sys 新增至 mount 指令,以防止發生檔案所有權問題。 如果您使用的是 NFSv3 或 NFS 4.1,請在 _netdev 中加入此設定,以便在所有網路元件啟動後,等待儲存裝置掛載完成。 如需 mount 指令及其選項的詳細資訊,請參閱 mount(8)手冊頁面

  5. 使用磁碟檔案系統指令來驗證裝載是否成功。

    # df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/xvda2  25G  1.4G  22G    6%   /
    /tmpfs     1.9G     0 1.9G    0%   /dev/shm
    /dev/xvda1 97M    51M  42M   55%
    
  6. 移至裝載點,並讀寫檔案。

    # touch /mnt/test
    # ls -la /mnt
    total 12
    drwxr-xr-x   2 nobody nobody 4096 Sep 8 15:52 .
    dr-xr-xr-x. 22 root   root   4096 Sep 8 14:30 ..
    -rw-r--r--   1 nobody nobody    0 Sep 8 15:52 test
    

    root 所建立的檔案具有 nobody:nobody 所有權。 為了正確顯示所有權,必須更新 idmapd.conf 的網域設定。 如需更多資訊,請參閱「為 NFS 實作 no_root_squash (可選)」一節。

  7. 啟動時裝載遠端共用。 若要完成設定,請編輯檔案系統表格 (/etc/fstab),將遠端共用新增至啟動時將自動裝載的項目清單:

    (hostname):/(username) /mnt nfs_version options 0 0
    

    請參閱下列範例。

    fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt nfs nfsvers=3 0 0
    fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt nfs options 0 0
    fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt nfs4 options 0 0
    fsf-wdc0403a-fz.service.softlayer.com:/IBM02SEV1414935_66/data01 /mnt nfs _netdev,nfsvers=3 0 0
    

    如需詳細資訊,請參閱 Linux /etc/fstab 檔案簡介

  8. 驗證配置檔未發生錯誤。

    # mount -fav
    

    如果指令完成且沒有任何錯誤,則設定已完成。

管理使用者對掛載檔案共用內容的權限

身為系統管理員,您可以管理掛載檔案儲存卷上資料的存取權。 掛載檔案共用後,您可以使用 chownchmod 指令為個別使用者和群組指定讀取、寫入和執行權限,從而完善存取控制。 如需詳細資訊,請參閱 Red Hat 的教學:如何管理 Linux 的使用者、群組及其他權限

實作 NFS 的 no_root_squash(選用)

依預設,NFS 會將使用 root 使用者許可權建立的任何檔案降級成 nobody 使用者。 除非要求專用權,否則此安全特性會阻止專用權共用。

設定「no_root_squash」可讓 root 使用者在遠端「NFS」共用資料夾上保留 root 權限。

  • 若為 NFSv3,用戶端不需要執行任何動作; no_root_squash 只是運作而已。
  • 對於 NFSv4.1,您需要將 nfsv4 網域設定為:slnfsv4.com,並啟動 rpcidmapd,或是您作業系統所使用的類似服務。

範例

  1. 請在主機端,於 /etc/idmapd.conf 中設定網域設定。

    #vi /etc/idmapd.conf
    [General]
    #Verbosity = 0
    #The domain value 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
    
  2. 執行 nfsidmap -c

  3. 啟動 rpcidmapd

    systemctl start rpcidmapd
    systemctl enable rpcidmapd
    

解除裝載檔案系統

若要在您的主機上解除裝載任何目前已裝載的檔案系統,請用磁碟名稱或裝載點名稱執行 umount 指令。

umount /dev/sdb
umount /mnt