本頁說明在多個區塊鏈網路中執行 RPC 節點的最佳做法。
具體來說,本教學課程將引導您完成下列操作:
- 為節點建立新的虛擬私有雲。
- 為節點啟動 VM。
- 為節點管理員設定新的設定檔。
- 將外部磁碟掛接至 VM,以儲存鏈結資料。
本指南假設您已擁有啟用計費功能的 Google Cloud 專案。 如需相關操作說明,請參閱「建立與管理專案」。
建立新的虛擬私有雲
如需建立虛擬私有雲的詳細操作說明,請參閱「建立及管理虛擬私有雲網路」。
請按照下列建議為節點建立虛擬私有雲:
- 建立自訂 VPC
- 區域轉送模式
- MTU 1460
- 為網路啟用預設
BLOCKCHAIN_VPC_NETWORK-allow-ssh
防火牆規則。詳情請參閱「使用虛擬私有雲防火牆規則」。
將
BLOCKCHAIN_VPC_NETWORK
替換為將保留節點資源的 VPC 名稱,例如ethereum-vpc
。為網路新增 IPv4 子網路。請確認為子網路選擇的地區,與您要部署節點的地區相同。
如要瞭解如何為虛擬私有雲中的 VM 建立防火牆規則,請參閱「建立虛擬私有雲防火牆規則」。
使用外部 SSD 啟動 VM
如需建立 VM 和附加外部磁碟的詳細操作說明,請參閱 Compute Engine 說明文件。
如需符合區塊鏈網路特定需求的 VM 形狀具體操作說明,請前往區塊鏈專屬節點頁面的「Hardware Requirements and Recommended Machine Type
」部分。請參閱區塊鏈專屬說明文件,瞭解 CPU 和記憶體需求、節點的建議 VM 形狀,以及節點的建立指令。
使用 SSH 連線至 VM,並建立新使用者
使用 SSH 連線至 VM
VM 佈建完成後,請前往 Compute Engine 頁面,或在 Cloud Shell 中執行下列指令,透過 SSH 連線至 VM:
gcloud compute ssh NODE_NAME
將 NODE_NAME 替換為節點名稱。請使用小寫英文字母、數字和連字號,例如:
my-node
。如果是從自己的電腦連線,請按照「安裝 gcloud CLI」一文的說明安裝 Google Cloud CLI。
Google Cloud CLI 安裝完成後,請登入專案並連線至 VM:
gcloud init gcloud compute ssh USER@NODE_NAME
將 USER 替換成您的 Google Cloud 使用者登入名稱。
建立新的使用者
透過 SSH 連線至 VM 後,請建立非 SSH sudo 使用者,擁有並管理節點的所有資源。由於這個使用者在 VM 中繼資料中沒有 SSH 金鑰,因此只能先透過其中一位已驗證 Google Cloud 的使用者連線至機器,才能存取。
建立新的 sudo 使用者,請執行下列指令:
sudo useradd -m NODE_ADMIN
將 NODE_ADMIN 替換為新使用者的使用者 ID。例如:
node-admin
。將使用者加入 sudo 群組:
sudo usermod -aG sudo NODE_ADMIN
切換至這個使用者,完成掛接外部磁碟:
sudo su - NODE_ADMIN
掛接外部磁碟
您在步驟 2 中建立的外部磁碟,將存放節點的所有鏈結資料。這是最佳做法,因為這樣一來,您就能在 VM 關閉後將資料移植到各個節點,並輕鬆設定鏈結資料的快照排程。
掛接磁碟,首先列出 VM 中的所有可用磁碟:
sudo lsblk
外部磁碟很可能位於
/dev/sdb
下方。您可以根據在步驟 2 中建立的磁碟大小,判斷是否為外接磁碟。格式化磁碟:
sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
為磁碟建立目錄並掛接:
sudo mkdir -p /mnt/disks/CHAIN_DATA_NAME sudo mount -o discard,defaults /dev/sdb /mnt/disks/CHAIN_DATA_NAME
更改下列內容:
- CHAIN_DATA_NAME:鏈結的資料目錄名稱。例如:
my-eth-data
。 - /dev/sdb:磁碟的位置 (如果與
/dev/sdb
不同)。
- CHAIN_DATA_NAME:鏈結的資料目錄名稱。例如:
將寫入權限指派給
NODE_ADMIN
:sudo chmod a+w /mnt/disks/CHAIN_DATA_NAME
取得磁碟的 UUID,並新增至
fstab
,以便在重新啟動時自動重新掛接:sudo blkid /dev/sdb export DISK_UUID=$(findmnt -n -o UUID /dev/sdb) echo "UUID=$DISK_UUID /mnt/disks/CHAIN_DATA_NAME ext4 discard,defaults,nofail 0 2" | sudo tee -a /etc/fstab
磁碟現已掛接完成,如要檢查已掛接的磁碟,請執行下列指令:
df -h
後續步驟
節點的架構已準備就緒。此時,您應該已完成下列事項:
- 為節點建立虛擬私有雲,並啟用 SSH 存取權。
- 符合節點需求的 VM。
- 新的節點管理員使用者,可擁有及管理節點資源。
- 已掛接的外部 SSD 磁碟,符合節點的儲存空間需求。
請務必返回區塊鏈專屬說明文件,完成節點的部署指令。