如要處理資料庫流量轉移或儲存更多分割區,可以調整虛擬機器環境中的伺服器節點數量。請使用這些程序管理 VM 部署作業。
事前準備
如要調度 VM 部署作業的資源,請按照下列步驟操作:
下載並安裝 Spanner Omni CLI。
請先熟悉「在 VM 上建立 Spanner Omni 的部署作業」一文所述的概念,因為擴充作業會使用類似的 Spanner Omni CLI 模式。
建議您先將每個伺服器的記憶體垂直擴充至 32 GB,再新增伺服器以水平擴充。
新增根伺服器
如要將新的根伺服器新增至 VM 部署作業,請按照下列步驟操作:
在現有可用區的新 VM 中啟動新伺服器。使用
spanner start指令初始化伺服器。以下範例會啟動根伺服器:spanner start \ --root \ --server-address=HOSTNAME \ --zone=ZONE \ --base-dir=BASE_DIR更改下列內容:
HOSTNAME:新 VM 的可解析完整網域名稱 (FQDN) 或主機名稱,例如new-root-server.example.com。ZONE:目標區域,例如us-central1-a。BASE_DIR:儲存資料的目錄路徑,例如/spanner。
將伺服器新增至現有部署作業。向主要部署項目註冊新的根伺服器。確認主機名稱和通訊埠引數與
spanner start指令中使用的參數相符,並指定要指派給根伺服器的區域。spanner deployment servers create SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINT更改下列內容:
SERVER_ENDPOINT:新根伺服器的位址,例如new-root-server.example.com:15000。ZONE:目標區域,例如us-central1-a。ENDPOINT:主要部署作業的端點,例如my-spanner-deployment:15000。
spanner deployment servers create指令會啟動長時間執行的作業,將伺服器新增至部署作業。長時間執行的作業可能需要相當長的時間才能完成。詳情請參閱 Spanner 說明文件中的「管理及監控長時間執行的作業」。確認伺服器已加入部署作業。列出伺服器,確認伺服器已註冊並轉換為
Ready狀態:spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINT
新增非根伺服器
如要新增非根伺服器,請在 VM 上啟動 spanner 程序,並設定該程序連線至叢集中的一或多個根伺服器,以加入部署作業。
這個範例會啟動非根伺服器,並將其新增至部署作業:
spanner start \
--server-address=HOSTNAME \
--join-servers=JOIN_SERVERS \
--zone=ZONE \
--base-dir=BASE_DIR
更改下列內容:
HOSTNAME:新 VM 的主機名稱,例如new-non-root-server.example.com。JOIN_SERVERS:以半形逗號分隔的現有根伺服器端點清單,例如root-server1.example.com:15000。ZONE:區域名稱,例如us-central1-a。BASE_DIR:儲存資料的目錄路徑,例如/spanner。
移除伺服器
移除根伺服器或非根伺服器時,請按照相同步驟操作。如果移除根伺服器,請確保部署作業中的根伺服器總數為奇數 (介於 1 到 9 之間)。
如要停用 VM 伺服器,請按照下列步驟操作:
從部署作業中刪除伺服器:
spanner deployment servers delete SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINT更改下列內容:
SERVER_ENDPOINT:要移除的伺服器位址,例如server-to-remove:15000。ZONE:伺服器所在的區域,例如us-central1-a。ENDPOINT:主要部署作業的端點,例如my-spanner-deployment:15000。
等待資料重新定位完成。視伺服器上代管的資料存放區大小而定,分區重新定位需要一段時間。監控伺服器狀態,直到輸出內容不再列出該伺服器為止:
spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINT關閉伺服器程序。登入 VM,然後停止
spanner程序。為避免資料損毀,或導致中斷連線的伺服器記錄衝突的更新,請勿使用相同的
base_dir重新啟動這個 VM 上的spanner程序,否則必須先清除舊資料夾。
後續步驟
- 瞭解如何維護部署作業。