將 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 解決方案伺服器會透過從用戶端或私人網路保留的服務子網路,與 NFS 磁碟區通訊,這些網路是您指派給 Bare Metal 解決方案環境的。對於一般 /24 網路,建議您為 NFS 等服務使用 /28 子網路。
- 您可以為每個子網路指派一個 NFS 磁碟區。因此,NFS 磁碟區無法跨多個 VLAN 共用。
- Google Cloud 會在 Bare Metal 解決方案環境中使用 NFS 3。
- 我們不建議使用 NFS 儲存 Oracle 資料檔案或記錄檔。
- Google Cloud 會在代管 Bare Metal 解決方案的相同區域擴充功能中提供 NFS。NFS 檔案儲存空間不會跨 Google Cloud區域。如果您需要多區域共用儲存空間,建議使用 Filestore。我們不會在 NFS 磁碟區或區域之間提供以儲存空間為基礎的複寫功能。
- Google Cloud 會為靜態資料加密。在 Bare Metal 解決方案伺服器和儲存裝置之間傳輸的資料,並未經過加密。如果您需要針對傳輸流量加密資料,建議您在應用程式層級設定加密功能。詳情請參閱「如何加密 Cloud Interconnect 上的流量?」。
- Bare Metal 解決方案的 NFS 檔案儲存空間不會限制網路頻寬。由於大量且高並行的批次工作負載 (例如備份) 可能會影響其他工作負載的效能,因此建議您限制這類批次工作負載的頻寬使用量和同時處理作業。
- Google Cloud 提供的其他共用儲存空間選項包括 Filestore,以及在 Bare Metal 解決方案伺服器上透過 FUSE 掛載的 Google Cloud Storage 值區。您可以使用 Google Cloud 控制台在 Google Cloud 中動態分配此儲存空間,並使用 Cloud Interconnect 將區域擴充功能加入Google Cloud 區域。
如要進一步瞭解 NFS,請參閱「網路檔案系統」。
如要進一步瞭解如何搭配 Oracle 資料庫使用 NFS 檔案儲存空間,請參閱下列文章 (需要 Oracle 帳戶):
為 Bare Metal 解決方案申請 NFS 檔案儲存空間
如要將 NFS 檔案儲存空間新增至 Bare Metal 解決方案環境,您必須透過 Google Cloud Sales 訂購 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。 |
類型 | 您要求儲存資料的儲存空間類型。選項包括All flash (選取固態硬碟 (SSD)) 和 All disk (選取硬碟 (HDD))。 | 全快閃 |
大小 | 選取所需的硬碟大小。您可以選擇 100 GiB 至 16 TiB 的儲存空間。 | 1 TiB (1024 GiB) |
啟用快照 | 如要啟用每日快照,請選擇「是」,如要停用,請選擇「否」。
|
是 |
通訊協定 | 指定要使用的儲存空間通訊協定。請使用這個欄位告訴我們您需要 NFS。 | NFS (網路檔案系統) |
網路 | 可存取 NFS 磁碟區的子網路。通常,這是 Bare Metal 解決方案環境中的用戶端網路。 | 重複使用您在「Client and Private networks」 中選取的值。 |
目標 | 允許從個別 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 權限壓縮 | 建議您將這個選項設為 True ,以便建立新的 NFS 磁碟區。根據預設,NFS 磁碟區具有 755 權限和 root(0) 擁有者。啟用 root 壓縮功能後,就無法將檔案寫入新的 NFS 磁碟區,因為所有新的 NFS 磁碟區都是由使用者「root」擁有。因此,請先使用 no_root_squash=True 建立 NFS 磁碟區、建構目錄結構、變更 NFS 磁碟區的權限或擁有權,然後使用 no_root_squash=False 移除並重新新增允許的用戶端,修改 NFS 磁碟區。請參閱「更新 NFS 磁碟區」一文。 |
是 |
允許 SUID | 選取這個選項後,使用者在執行檔案、程式或指令時,即可暫時獲得檔案擁有者權限。如果您未選取這個選項,NFS 就不會提供暫存檔案擁有者權限。 | 否 |
允許 dev | 選取這個選項後,檔案系統就能解讀字元或封鎖特殊裝置。如果您未選取這個選項,系統仍可寫入 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 解決方案伺服器控制台。
在 Google Cloud 專案中,前往「Compute Engine」>「VM 執行個體」。
按一下跳板主機 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 實作需要在 NFS 磁碟區上儲存即時 Oracle RAC 二進位檔或資料檔案,請輸入下列使用 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