將 NFS 檔案儲存空間新增至 Bare Metal 解決方案環境
本指南提供相關操作說明,協助您在 Bare Metal 解決方案環境中設定及使用網路檔案系統 (NFS) 儲存檔案。本文假設您已熟悉 NFS 檔案系統的使用方式,並具備 Linux 系統管理的基本知識。
瞭解 Bare Metal 解決方案的 NFS 檔案儲存空間
您可以將 NFS 做為本機共用檔案儲存空間,存放常見指令碼、安裝檔案和備份檔案。NFS 磁碟區會透過 NFS 掛接目錄,為一或多個 Bare Metal 解決方案伺服器提供儲存空間。在 Bare Metal 解決方案伺服器上掛接 NFS 磁碟區後,您就能像存取其他檔案系統一樣存取儲存空間。
如要在 Bare Metal 解決方案上使用 NFS 檔案儲存空間,請完成下列 2 個步驟:
以下提供一些實用訣竅和事實,協助您在 Bare Metal 解決方案中使用 NFS 檔案儲存空間:
- Bare Metal 解決方案伺服器會透過從用戶端或您指派給 Bare Metal 解決方案環境的私人網路保留的服務子網路,與 NFS 磁碟區通訊。對於一般的 /24 網路,建議您為 NFS 等服務使用 /28 子網路。
- 每個子網路可指派一個 NFS 磁碟區。因此,NFS 磁碟區無法跨越多個 VLAN 共用。
- Google Cloud 在 Bare Metal 解決方案環境中使用 NFS v3。
- 我們不建議使用 NFS 儲存 Oracle 資料檔案或記錄檔。
- Google Cloud 在同一個區域擴充功能中提供 NFS,該擴充功能會代管 Bare Metal 解決方案。NFS 檔案儲存空間不會跨越 Google Cloud區域。如需多區域共用儲存空間,請考慮使用 Filestore。我們不會在 NFS 磁碟區或區域之間提供以儲存空間為基礎的複寫功能。
- Google Cloud 加密靜態資料。在 Bare Metal Solution 伺服器和儲存裝置之間傳輸的資料不會經過加密。如要加密傳輸流量的資料,建議您在應用程式層級設定加密。詳情請參閱「如何加密 Cloud Interconnect 上的流量?」一文。
- Bare Metal 解決方案的 NFS 檔案儲存空間不會限制網路頻寬。大量高並行批次工作負載 (例如備份) 可能會影響其他工作負載的效能,因此請考慮限制這類批次工作負載的頻寬用量和同時處理作業。
- Google Cloud 提供的其他共用儲存空間選項包括: Filestore 和 透過 FUSE 掛接至 Bare Metal 解決方案伺服器的 Google Cloud Storage 值區。您可以在 Google Cloud 中使用 Google Cloud 控制台動態分配這項儲存空間,並使用 Cloud Interconnect 將區域擴充功能加入Google Cloud 區域。
如要進一步瞭解 NFS,請參閱「網路檔案系統」。
如要進一步瞭解如何搭配 Oracle 資料庫使用 NFS 檔案儲存空間,請參閱下列文章 (需要 Oracle 帳戶):
為 Bare Metal 解決方案申請 NFS 檔案儲存空間
如要將 NFS 檔案儲存空間新增至 Bare Metal 解決方案環境,請透過Google Cloud 銷售團隊訂購 NFS 磁碟區。訂購 NFS 磁碟區並由我們指派後,請按照「建立 NFS 磁碟區」一文中的步驟進行設定。
您可以在Google Cloud 控制台申請表的「Volumes」部分查看可用配額,如下列範例所示:
如果可用的磁碟區配額不足,請與Google Cloud 銷售團隊聯絡,訂購更多配額。
磁碟區配額可用後,您必須收集並提供下列資訊,為 Bare Metal 解決方案環境佈建 NFS 檔案儲存空間:
| 欄位 | 說明 | 範例 |
|---|---|---|
| Google Cloud 專案 ID | 前往專案的歡迎頁面 Google Cloud ,找出專案 ID。 | 我的專案 |
| 區域 | Google Cloud 與代管 Bare Metal 解決方案環境的區域擴充功能相鄰的區域。 | us-central1 |
| 用戶端和私人網路 | 設定 Bare Metal 解決方案環境時選取的兩個子網路。 | 在我們的文件範例中,192.168.1.0/24 是連線至 Google Cloud的用戶端網路,而 192.168.2.0/24 是用於區域擴充功能內服務的私人網路。 |
| 名稱 | NFS 磁碟區的名稱。 | 選取磁碟區的名稱,如未選擇名稱, Google Cloud會自動為你產生 NFS 磁碟區名稱。例如:at-1234567-nfs001。 |
| 類型 | 您要求儲存資料的儲存空間類型。選項包括選取固態硬碟 (SSD) 的「全快閃」,以及選取硬碟 (HDD) 的「全磁碟」。 | 全快閃 |
| 大小 | 選取所需大小的硬碟。您可以選擇至少 100 GiB,最多 16 TiB 的儲存空間容量。 | 1 TiB (1024 GiB) |
| 啟用快照 | 如要啟用每日快照,請選擇「是」;如要停用,請選擇「否」。
|
是 |
| 通訊協定 | 指定要使用的儲存空間通訊協定。請使用這個欄位告訴我們您需要 NFS。 | NFS (網路檔案系統) |
| 網路 | 可存取 NFS 磁碟區的子網路。通常這是 Bare Metal 解決方案環境中的用戶端網路。 | 在「用戶端和私人網路」中,重複使用您在上方選取的值。 |
| 目標 | 允許從個別 Bare Metal 解決方案伺服器 (單一伺服器) 或子網路上的所有伺服器 (CIDR) 存取 NFS 磁碟區。 | CIDR |
| 伺服器 | 可存取 NFS 磁碟區的 Bare Metal 解決方案伺服器名稱。 | 例如:at-7654321-svr001 |
| 服務 IP 位址範圍 | 從用戶端或私人網路中選取網路 IP 位址範圍的子集,用於儲存空間和服務。 Google Cloud 會為 NFS 等服務保留這個範圍。服務 IP 位址範圍通常使用 /26、/27 或 /28 子網路。 如果是 Oracle 安裝作業,請使用 Bare Metal 解決方案用戶端網路進行 NFS 檔案儲存,並保留 Oracle 應用程式的私有網路。 |
在本例中,192.168.1.240/28 是用戶端網路的子網路。 |
| 掛接權限 | 選取讀寫或唯讀權限。 | 讀寫 |
| 無 Root 權限壓縮 | 建議您為新的 NFS 磁碟區將此選項設為 True。
根據預設,NFS 磁碟區具有 755 權限和 root(0) 擁有者。
啟用 root squash 時,無法將檔案寫入新的 NFS 磁碟區,因為所有新的 NFS 磁碟區都屬於「root」使用者。因此,請先使用 no_root_squash=True 建立 NFS 磁碟區,建構目錄結構,變更 NFS 磁碟區的權限或擁有權,然後使用 no_root_squash=False 移除並重新新增允許的用戶端,藉此修改 NFS 磁碟區。請參閱「更新 NFS 磁碟區」。 |
是 |
| 允許 SUID | 選取這個選項後,使用者在執行檔案、程式或指令時,會暫時取得檔案擁有者權限。如未選取這個選項,NFS 不會提供暫存檔案擁有者權限。 | 否 |
| 允許開發人員 | 選取這個選項後,檔案系統就能解讀字元或封鎖特殊裝置。如果未選取這個選項,系統仍可寫入 NFS 磁碟區,但無法建立字元或區塊特殊裝置。 | 是 |
Google Cloud 處理完訂單後,系統會傳送 NFS 磁碟區路徑給你。格式如下:
NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME
舉例來說,如果 NFS 伺服器 IP 位址為 192.168.1.240,且 NFS 共用區名稱為 at-1234567-nfs001,則產生的 NFS 磁碟區路徑如下所示:
192.168.1.240:/at-1234567-nfs001
為 Bare Metal 解決方案設定 NFS 檔案儲存空間
下列範例有助於為 Bare Metal 解決方案伺服器設定 NFS 檔案儲存空間,並使用 Red Hat Enterprise Linux 指令。如果您使用其他作業系統,可能需要使用不同的指令。
掛接 NFS 磁碟區之前。
- 請確認您已建立跳板機 VM 執行個體,以便存取 Bare Metal 解決方案伺服器。詳情請參閱「在 Google Cloud 上建立跳板機 VM 執行個體」。
為 Bare Metal 解決方案伺服器提供網際網路存取權,以便下載任何必要的安裝套件。如要瞭解如何存取網際網路,請參閱「存取網際網路」。
前往 Bare Metal 解決方案伺服器控制台。
按一下跳板機 VM 執行個體的「SSH」SSH按鈕。
使用 SSH 連線至 Bare Metal 解決方案伺服器,並使用使用者名稱和密碼登入。
[USERNAME@INSTANCE_JUMP_HOST ~]$ ssh ADMIN_USER@BMS_SERVER_IP_ADDRESS ADMIN_USER@BMS_SERVER_IP_ADDRESS's password: Last login: Wed May 26 22:25:47 2021 from JUMP_HOST_IP_ADDRESS [ADMIN_USER@BMS_SERVER_NAME ~]$
在 Bare Metal 解決方案伺服器中新增 DNS 伺服器項目,即可存取 DNS。
sudo bash -c "echo \"nameserver DNS_SERVER_IP_ADDRESS\" >> /etc/resolv.conf"
您也可以使用 Cloud DNS,並指定傳入轉送站進入點,取代 DNS 伺服器 IP 位址。如要進一步瞭解 Cloud DNS,請參閱「Cloud DNS 總覽」。
設定作業系統,允許套件更新。
在 Bare Metal 解決方案伺服器中安裝 NFS 套件。
sudo yum install -y nfs-utils
掛接 NFS 磁碟區。
在 Bare Metal 解決方案伺服器中建立掛接目錄。
sudo mkdir -p /mnt/DIRECTORY_NAME
找出 Google Cloud傳送給您的 NFS 磁碟區路徑。
掛接 NFS 磁碟區。如要一般使用 NFS,請使用下列指令:
視工作負載而定,您可以新增 nconnect 選項,達到最佳效能。使用下列指令,透過 nconnect 選項掛接 NFS 磁碟區。如果是 RHEL 7,請使用多個 NFS 用戶端,以達到類似的效能。sudo mount -t nfs NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME /mnt/DIRECTORY_NAME
在 Bare Metal 解決方案環境中,對於大多數 Oracle 實作項目,請使用下列指令掛接磁碟區。sudo mount -t nfs -o \ rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600,nconnect=8 \ NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME /mnt/DIRECTORY_NAME
如果 Oracle 實作需要將即時 Oracle RAC 二進位檔或資料檔案儲存在 NFS 磁碟區,請輸入下列指令,並使用 actimeo 選項。從多個用戶端同時寫入時,這會停用用戶端屬性快取,但可能會影響 I/O 效能。sudo mount -t nfs -o \ rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600 \ NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME /mnt/DIRECTORY_NAME
sudo mount -t nfs -o \ -rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,vers=3,timeo=600,actimeo=0 \ NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME /mnt/DIRECTORY_NAME
如要在伺服器重新啟動時自動掛接 NFS 磁碟區,請在 fstab 檔案結尾新增下列項目。這個檔案位於 Bare Metal 解決方案伺服器的 /etc 目錄中。使用 sudo 管理員權限和文字編輯器編輯檔案,並確保每個項目之間有 3 個空格。
NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME /mnt/DIRECTORY_NAME nfs defaults,nofail 0 0
[ADMIN_USER@BMS_SERVER_NAME ~]$ sudo -i [root@BMS_SERVER_NAME ~]# cd /etc [root@BMS_SERVER_NAME etc]# vi fstab [root@BMS_SERVER_NAME etc]# cat fstab # # /etc/fstab # Created by anaconda on Sun Feb 16 10:06:11 2020 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/rootvg-rootlv / xfs defaults 0 0 UUID=bc39a085-d080-488e-9402-d22558bc88ae /boot xfs defaults 0 0 UUID=4127-64CB /boot/efi vfat defaults,uid=0,gid=0,umask=0077,shortname=winnt 0 0 /dev/mapper/rootvg-homelv /home xfs defaults 0 0 /dev/mapper/rootvg-optlv /opt xfs defaults 0 0 /dev/mapper/rootvg-tmplv /tmp xfs defaults 0 0 /dev/mapper/rootvg-varlv /var xfs defaults 0 0 /dev/mapper/rootvg-swaplv swap swap defaults 0 0 **NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME /mnt/DIRECTORY_NAME nfs defaults,nofail 0 0**
確認你可以存取磁碟區。
mount -l | grep nfs
NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME on /mnt/DIRECTORY_NAME type nfs (rw,relatime,vers=3,rsize=65536,wsize=65536,namlen=255, hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=NFS_SERVER_IP_ADDRESS, mountvers=3,mountport=635,mountproto=udp,local_lock =none,addr=NFS_SERVER_IP_ADDRESS)
在 NFS 目錄中新增測試檔案。
cd /mnt/DIRECTORY_NAME echo 'testing' | sudo tee -a testfile sudo cat testfile sudo rm testfile
查看 Bare Metal 解決方案的 NFS 檔案儲存空間
使用下列指令查看磁碟區。
mount | grep NFS_SHARE_NAME
NFS_SERVER_IP_ADDRESS:/NFS_SHARE_NAME on /mnt/DIRECTORY_NAME type nfs (rw,relatime,vers=3,rsize=65536,wsize=65536,namlen=255, hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=NFS_SERVER_IP_ADDRESS, mountvers=3,mountport=635,mountproto=udp,local_lock =none,addr=NFS_SERVER_IP_ADDRESS)
卸載 Bare Metal 解決方案的 NFS 檔案儲存空間
使用下列指令卸載 NFS 磁碟區,並確認已移除。
sudo umount /mnt/DIRECTORY_NAME mount | grep NFS_SHARE_NAME