自動化安裝(VMware)
您可以使用VMware vSphere來自動化網格節點的部署。您也可以自動化StorageGRID 執行功能組態設定。
自動化網格節點部署
使用 VMware vSphere 來自動化網格節點的部署。
-
您可以使用Bash 3.2或更新版本存取Linux/Unix系統。
-
您已安裝並正確設定VMware OVF Tool 4.1。
-
您知道使用OVF Tool存取VMware vSphere所需的使用者名稱和密碼。
-
您知道vSphere中要部署StorageGRID VMware虛擬機器之位置的虛擬基礎架構(VI)URL。此URL通常是vApp或資源池。例如:
vi://vcenter.example.com/vi/sgws
您可以使用VMware ovftool
用於判斷此值的公用程式(請參閱ovftool
詳細資料請參閱文件)。如果您要部署至vApp、虛擬機器將不會在第一次自動啟動、而且您必須手動啟動。 -
您已收集組態檔的所有必要資訊。請參閱 "收集部署環境的相關資訊" 以取得資訊。
-
您可以從VMware的StorageGRID VMware安裝歸檔文件存取下列檔案、以供VMware使用:
檔案名稱 | 說明 |
---|---|
NetApp-SG-VERSION SHA-VMDK |
用來做為建立網格節點虛擬機器範本的虛擬機器磁碟檔案。 *附註:*此檔案必須與位於相同資料夾中 |
vSphere-primer-admin.OVF vsphere-primer-admin.mf |
開放式虛擬化格式範本檔案 ( |
vsphere-non-primer-admin.OVF vsphere-non-primer-admin.mf |
範本檔案 ( |
vSphere-archive 。 OVF vsphere-archive .mf |
範本檔案 ( |
vSphere-gateway.OVF vSphere-gateway.mf |
範本檔案 ( |
vsphere-storage 。 OVF vsphere-storage .mf |
範本檔案 ( |
deploy-vsphere-ovftool.sh |
Bash Shell指令碼用於自動化虛擬網格節點的部署。 |
deploy-vsphere-ovftool-sample.ini |
搭配使用的範例組態檔 |
定義部署的組態檔
您可以在StorageGRID 組態檔中指定部署虛擬網格節點以供使用所需的資訊 deploy-vsphere-ovftool.sh
Bash指令碼:您可以修改範例組態檔案、這樣就不需要從頭建立檔案。
-
複製範例組態檔案 (
deploy-vsphere-ovftool.sample.ini
)。將新檔案另存為deploy-vsphere-ovftool.ini
在相同的目錄中deploy-vsphere-ovftool.sh
。 -
開啟
deploy-vsphere-ovftool.ini
。 -
輸入部署VMware虛擬網格節點所需的所有資訊。
請參閱 組態檔設定 以取得資訊。
-
輸入並驗證所有必要資訊後、請儲存並關閉檔案。
組態檔設定
。 deploy-vsphere-ovftool.ini
組態檔包含部署虛擬網格節點所需的設定。
組態檔會先列出全域參數、然後在節點名稱所定義的區段中列出節點專屬的參數。使用檔案時:
-
_Global參數_會套用至所有網格節點。
-
_Node專屬參數_會覆寫全域參數。
全域參數
除非個別區段中的設定會覆寫全域參數、否則會套用至所有網格節點。將套用至多個節點的參數放在「通用參數」區段中、然後視需要在個別節點的區段中覆寫這些設定。
-
* OFFTOOL_arguments*:您可以將OFFTOOL_arguments*指定為全域設定、也可以個別將引數套用至特定節點。例如:
OVFTOOL_ARGUMENTS = --powerOn --noSSLVerify --diskMode=eagerZeroedThick --datastore='datastore_name'
您可以使用
--powerOffTarget
和--overwrite
關閉及取代現有虛擬機器的選項。您應該將節點部署至不同的資料存放區、並為每個節點指定OFFTOOL_arguments、而非全域。 -
資料來源:StorageGRID 指向「物件」虛擬機器範本的路徑 (
.vmdk
)檔案和.ovf
和.mf
個別網格節點的檔案。這會預設為目前目錄。SOURCE = /downloads/StorageGRID-Webscale-version/vsphere
-
目標:VMware vSphere虛擬基礎架構(VI)URL、用於StorageGRID 部署VMware vSphere的位置。例如:
TARGET = vi://vcenter.example.com/vm/sgws
-
* GRID_NETWORD_config*:用於獲取IP位址的方法、靜態或DHCP。預設為靜態。如果所有或大部分節點都使用相同的方法來擷取IP位址、您可以在此處指定該方法。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
GRID_NETWORK_CONFIG = DHCP
-
* GRID_NETWORD_Target *:用於Grid Network的現有VMware網路名稱。如果所有或大部分節點使用相同的網路名稱、您可以在此處指定。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
GRID_NETWORK_TARGET = SG-Admin-Network
-
* GRID_NETWORD_MANON*:Grid Network的網路遮罩。如果所有或大部分節點都使用相同的網路遮罩、您可以在此處指定。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
GRID_NETWORK_MASK = 255.255.255.0
-
* GRID_NETWORD_gateway*:Grid Network的網路閘道。如果所有或大部分節點都使用相同的網路閘道、您可以在此處指定。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
GRID_NETWORK_GATEWAY = 10.1.0.1
-
* GRID_NETWORD_MTU*:選用。Grid Network上的最大傳輸單位(MTU)。如果指定、則值必須介於1280和9216之間。例如:
GRID_NETWORK_MTU = 8192
如果省略、則會使用1400。
如果您要使用巨型框架、請將MTU設為適合巨型框架的值、例如9000。否則、請保留預設值。
網路的MTU值必須符合節點所連接之交換器連接埠上所設定的值。否則、可能會發生網路效能問題或封包遺失。 為獲得最佳網路效能、所有節點都應在其Grid Network介面上設定類似的MTU值。如果個別節點上Grid Network的MTU設定有顯著差異、則會觸發* Grid Network MTU mismis*警示。所有網路類型的 MTU 值都不一定相同。 -
管理網路組態:用於取得IP位址的方法、包括停用、靜態或DHCP。預設為停用。如果所有或大部分節點都使用相同的方法來擷取IP位址、您可以在此處指定該方法。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
ADMIN_NETWORK_CONFIG = STATIC
-
管理網路目標:要用於管理網路的現有VMware網路名稱。除非已停用管理網路、否則此設定為必填。如果所有或大部分節點使用相同的網路名稱、您可以在此處指定。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
ADMIN_NETWORK_TARGET = SG-Admin-Network
-
管理網路的網路遮罩:管理網路的網路遮罩。如果您使用靜態IP定址、則必須使用此設定。如果所有或大部分節點都使用相同的網路遮罩、您可以在此處指定。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
ADMIN_NETWORK_MASK = 255.255.255.0
-
管理網路網路閘道:管理網路的網路閘道。如果您使用靜態IP定址、並在admin_network_esl設定中指定外部子網路、則必須使用此設定。(也就是、如果admin_network_esl是空的、則不需要。) 如果所有或大部分節點都使用相同的網路閘道、您可以在此處指定。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
ADMIN_NETWORK_GATEWAY = 10.3.0.1
-
* admin_network_esl*:管理網路的外部子網路清單(路由)、指定為以逗號分隔的CIDR路由目的地清單。如果所有或大部分節點都使用相同的外部子網路清單、您可以在此處指定。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
ADMIN_NETWORK_ESL = 172.16.0.0/21,172.17.0.0/21
-
*管理網路MTU *:選用。管理網路上的最大傳輸單元(MTU)。如果 Admin_network_config = DHCP 、請勿指定。如果指定、則值必須介於1280和9216之間。如果省略、則會使用1400。如果您要使用巨型框架、請將MTU設為適合巨型框架的值、例如9000。否則、請保留預設值。如果所有或大部分節點都使用相同的MTU來管理網路、您可以在此處指定。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
ADMIN_NETWORK_MTU = 8192
-
用戶端網路組態:用於取得IP位址的方法、包括停用、靜態或DHCP。預設為停用。如果所有或大部分節點都使用相同的方法來擷取IP位址、您可以在此處指定該方法。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
CLIENT_NETWORK_CONFIG = STATIC
-
* Client_network_target *:用於用戶端網路的現有VMware網路名稱。除非停用「用戶端網路」、否則此設定為必填。如果所有或大部分節點使用相同的網路名稱、您可以在此處指定。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
CLIENT_NETWORK_TARGET = SG-Client-Network
-
用戶端網路遮罩:用戶端網路的網路遮罩。如果您使用靜態IP定址、則必須使用此設定。如果所有或大部分節點都使用相同的網路遮罩、您可以在此處指定。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
CLIENT_NETWORK_MASK = 255.255.255.0
-
用戶端網路閘道:用戶端網路的網路閘道。如果您使用靜態IP定址、則必須使用此設定。如果所有或大部分節點都使用相同的網路閘道、您可以在此處指定。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
CLIENT_NETWORK_GATEWAY = 10.4.0.1
-
*用戶端網路MTU *:選用。用戶端網路上的最大傳輸單位(MTU)。不要指定 client_network_config = DHCP 。如果指定、則值必須介於1280和9216之間。如果省略、則會使用1400。如果您要使用巨型框架、請將MTU設為適合巨型框架的值、例如9000。否則、請保留預設值。如果所有或大部分節點都使用相同的MTU來連接用戶端網路、您可以在此處指定。然後、您可以為一個或多個個別節點指定不同的設定、以覆寫全域設定。例如:
CLIENT_NETWORK_MTU = 8192
-
* port_remap*:重新對應節點用於內部網格節點通訊或外部通訊的任何連接埠。如果企業網路原則限制StorageGRID 了一個或多個由效益管理所使用的連接埠、則必須重新對應連接埠。如需StorageGRID 使用的連接埠清單、請參閱中的內部網格節點通訊和外部通訊 "網路準則"。
不要重新對應您打算用來設定負載平衡器端點的連接埠。 如果只設定port_remap、則您指定的對應會同時用於傳入和傳出通訊。如果也指定port_remap_inbound、則port_remap僅適用於傳出通訊。 使用的格式為:
network type/protocol/default port used by grid node/new port
(其中網路類型為GRID、admin或用戶端、傳輸協定為TCP或udp)。例如:
PORT_REMAP = client/tcp/18082/443
如果單獨使用、此範例設定會對稱地將網格節點的傳入和傳出通訊從連接埠18082對應至連接埠443。如果與port_remap_inbound搭配使用、此範例設定會將連接埠18082的傳出通訊對應至連接埠443。
-
* port_remap_inbound *:重新對應指定連接埠的傳入通訊。如果您指定 port_remap_inbound 、但未指定 port_remap 值、則連接埠的輸出通訊將維持不變。
不要重新對應您打算用來設定負載平衡器端點的連接埠。 使用的格式為:
network type/protocol/_default port used by grid node/new port
(其中網路類型為GRID、admin或用戶端、傳輸協定為TCP或udp)。例如:
PORT_REMAP_INBOUND = client/tcp/443/18082
此範例會將傳送至連接埠443的流量引導至連接埠18082、讓網格節點偵聽S3要求。
-
* 暫存密碼類型 * :在節點加入網格之前、存取 VM 主控台或使用 SSH 時所使用的暫存安裝密碼類型。
如果所有或大部分節點都使用相同類型的暫存安裝密碼、請在全域參數區段中指定類型。然後、您也可以針對個別節點使用不同的設定。例如,如果選擇全局使用自定義密碼 * ,則可以使用 <password> 來設置每個節點的密碼。 -
暫用密碼類型 * 可以是下列其中一項:
-
* 使用節點名稱 * :節點名稱用作臨時安裝密碼。
-
* 停用密碼 * :不會使用暫存安裝密碼。如果您需要存取 VM 以偵錯安裝問題、請參閱 "疑難排解安裝問題"。
-
* 使用自訂密碼 * : * 自訂暫存密碼 = <password> * 所提供的值會用作暫存安裝密碼。
您也可以省略 * 暫存密碼類型 * 參數、只指定 * 自訂暫存密碼 = <password> * 。
-
-
* custom_entime_password= <password> * 選用。在安裝期間存取此 VM 及使用 SSH 時所使用的暫存密碼。如果將 *Temporary 密碼類型 * 設定為 * 使用節點名稱 * 或 * 停用密碼 * 、則會忽略。
節點專屬參數
每個節點都位於其本身的組態檔區段中。每個節點都需要下列設定:
-
區段標題會定義網格管理器中顯示的節點名稱。您可以指定節點的選用節點名稱參數來覆寫該值。
-
節點類型:VM_admin_Node、VM_Storage_Node、VM_Archive_Node或VM_API_Gateway_Node
-
* GRID_NETWORD_IP*:網格網路上節點的IP位址。
-
*管理網路IP:管理網路上節點的IP位址。僅當節點連接至管理網路且admin_network_config設為靜態時才需要。
-
* Client_network_ip*:用戶端網路上節點的IP位址。僅當節點連接至用戶端網路時才需要、且此節點的用戶端網路組態設定為靜態時才需要。
-
*管理IP:網格網路上主要管理節點的IP位址。使用您指定為主要管理節點GRID_NETNET_IP的值。如果省略此參數、節點會嘗試使用mDNS探索主要管理節點IP。如需詳細資訊、請參閱 "網格節點如何探索主要管理節點"。
主管理節點會忽略admin_ip參數。 -
未全域設定的任何參數。例如、如果節點附加至管理網路、但您未全域指定admin_network參數、則必須為節點指定這些參數。
主要管理節點需要下列額外設定:
-
節點類型:VM_admin_Node
-
管理角色:主要
此範例項目適用於三個網路上的主要管理節點:
[DC1-ADM1] ADMIN_ROLE = Primary NODE_TYPE = VM_Admin_Node GRID_NETWORK_IP = 10.1.0.2 ADMIN_NETWORK_IP = 10.3.0.2 CLIENT_NETWORK_IP = 10.4.0.2
下列額外設定為主要管理節點的選用項目:
-
磁碟:根據預設、管理節點會額外指派兩個200 GB硬碟以供稽核和資料庫使用。您可以使用磁碟參數來增加這些設定。例如:
DISK = INSTANCES=2, CAPACITY=300
對於管理節點、執行個體必須永遠等於2。 |
儲存節點需要下列額外設定:
-
節點類型:VM_Storage_Node
此範例項目適用於網格和管理網路上的儲存節點、但不適用於用戶端網路。此節點使用ADD_IP設定、在Grid Network上指定主要管理節點的IP位址。
[DC1-S1] NODE_TYPE = VM_Storage_Node GRID_NETWORK_IP = 10.1.0.3 ADMIN_NETWORK_IP = 10.3.0.3 ADMIN_IP = 10.1.0.2
第二個範例是針對用戶端網路上的儲存節點、客戶的企業網路原則指出、S3用戶端應用程式只能使用連接埠80或443存取儲存節點。範例組態檔使用port_remap、讓Storage Node在連接埠443上傳送和接收S3訊息。
[DC2-S1] NODE_TYPE = VM_Storage_Node GRID_NETWORK_IP = 10.1.1.3 CLIENT_NETWORK_IP = 10.4.1.3 PORT_REMAP = client/tcp/18082/443 ADMIN_IP = 10.1.0.2
最後一個範例會建立從連接埠22到連接埠3022的ssh流量對稱重新對應、但會明確設定傳入和傳出流量的值。
[DC1-S3] NODE_TYPE = VM_Storage_Node GRID_NETWORK_IP = 10.1.1.3 PORT_REMAP = grid/tcp/22/3022 PORT_REMAP_INBOUND = grid/tcp/3022/22 ADMIN_IP = 10.1.0.2
儲存節點可選用下列額外設定:
-
磁碟:根據預設、儲存節點會指派三個4 TB磁碟供R地理DB使用。您可以使用磁碟參數來增加這些設定。例如:
DISK = INSTANCES=16, CAPACITY=4096
歸檔節點需要下列額外設定:
-
節點類型:VM_Archive_Node
此範例項目適用於Grid和管理網路上的歸檔節點、但不適用於用戶端網路。
[DC1-ARC1] NODE_TYPE = VM_Archive_Node GRID_NETWORK_IP = 10.1.0.4 ADMIN_NETWORK_IP = 10.3.0.4 ADMIN_IP = 10.1.0.2
閘道節點需要下列額外設定:
-
節點類型:VM_API_Gateway
此範例項目是所有三個網路上的閘道節點範例。在此範例中、未在組態檔的全域區段中指定任何用戶端網路參數、因此必須為節點指定這些參數:
[DC1-G1] NODE_TYPE = VM_API_Gateway GRID_NETWORK_IP = 10.1.0.5 ADMIN_NETWORK_IP = 10.3.0.5 CLIENT_NETWORK_CONFIG = STATIC CLIENT_NETWORK_TARGET = SG-Client-Network CLIENT_NETWORK_MASK = 255.255.255.0 CLIENT_NETWORK_GATEWAY = 10.4.0.1 CLIENT_NETWORK_IP = 10.4.0.5 ADMIN_IP = 10.1.0.2
非主要管理節點需要下列額外設定:
-
節點類型:VM_admin_Node
-
管理角色:非主要
此範例項目適用於不在用戶端網路上的非主要管理節點:
[DC2-ADM1] ADMIN_ROLE = Non-Primary NODE_TYPE = VM_Admin_Node GRID_NETWORK_TARGET = SG-Grid-Network GRID_NETWORK_IP = 10.1.0.6 ADMIN_NETWORK_IP = 10.3.0.6 ADMIN_IP = 10.1.0.2
非主要管理節點可選用下列額外設定:
-
磁碟:根據預設、管理節點會額外指派兩個200 GB硬碟以供稽核和資料庫使用。您可以使用磁碟參數來增加這些設定。例如:
DISK = INSTANCES=2, CAPACITY=300
對於管理節點、執行個體必須永遠等於2。 |
執行Bash指令碼
您可以使用 deploy-vsphere-ovftool.sh
您修改的 Bash 指令碼和 deploy-vsphere-ovftool.ini 組態檔、可在 VMware vSphere 中自動化 StorageGRID 節點的部署。
-
您已為環境建立deploy-vsphere-ovftool.ini組態檔。
您可以輸入說明命令、使用Bash指令碼提供的說明 (-h/--help
)。例如:
./deploy-vsphere-ovftool.sh -h
或
./deploy-vsphere-ovftool.sh --help
-
登入您用來執行Bash指令碼的Linux機器。
-
切換至您擷取安裝歸檔的目錄。
例如:
cd StorageGRID-Webscale-version/vsphere
-
若要部署所有網格節點、請執行Bash指令碼、並針對您的環境提供適當的選項。
例如:
./deploy-vsphere-ovftool.sh --username=user --password=pwd ./deploy-vsphere-ovftool.ini
-
如果網格節點因為錯誤而無法部署、請解決此錯誤、然後僅針對該節點重新執行Bash指令碼。
例如:
./deploy-vsphere-ovftool.sh --username=user --password=pwd --single-node="DC1-S3" ./deploy-vsphere-ovftool.ini
當每個節點的狀態為「通過」時、即表示部署已完成。
Deployment Summary +-----------------------------+----------+----------------------+ | node | attempts | status | +-----------------------------+----------+----------------------+ | DC1-ADM1 | 1 | Passed | | DC1-G1 | 1 | Passed | | DC1-S1 | 1 | Passed | | DC1-S2 | 1 | Passed | | DC1-S3 | 1 | Passed | +-----------------------------+----------+----------------------+
自動化StorageGRID 功能組態
部署完網格節點之後、您可以自動化StorageGRID 設定該系統。
-
您可以從安裝歸檔中得知下列檔案的位置。
檔案名稱 | 說明 |
---|---|
configure-storagegrid.py |
Python指令碼用於自動化組態 |
設定-storagegrid。same.json |
用於指令碼的組態檔範例 |
設定-storagegrid。blank.json |
與指令碼搭配使用的空白組態檔 |
-
您已建立
configure-storagegrid.json
組態檔。若要建立此檔案、您可以修改範例組態檔案 (configure-storagegrid.sample.json
)或空白組態檔 (configure-storagegrid.blank.json
)。
您可以使用 configure-storagegrid.py
Python指令碼和 configure-storagegrid.json
組態檔、以自動化StorageGRID 您的整個系統組態。
您也可以使用Grid Manager或安裝API來設定系統。 |
-
登入您用來執行Python指令碼的Linux機器。
-
切換至您擷取安裝歸檔的目錄。
例如:
cd StorageGRID-Webscale-version/platform
其中
platform
是debs、rpms或vSphere。 -
執行Python指令碼並使用您建立的組態檔。
例如:
./configure-storagegrid.py ./configure-storagegrid.json --start-install
恢復套件 .zip
檔案會在組態程序期間產生、並下載至您執行安裝與組態程序的目錄。您必須備份「恢復套件」檔案、以便StorageGRID 在一個或多個網格節點故障時、恢復該系統。例如、將其複製到安全的備份網路位置、以及安全的雲端儲存位置。
必須保護恢復套件檔案、因為其中包含可用於從StorageGRID 該系統取得資料的加密金鑰和密碼。 |
如果您指定應產生隨機密碼、請開啟 Passwords.txt
歸檔並尋找存取StorageGRID 您的支援系統所需的密碼。
###################################################################### ##### The StorageGRID "recovery package" has been downloaded as: ##### ##### ./sgws-recovery-package-994078-rev1.zip ##### ##### Safeguard this file as it will be needed in case of a ##### ##### StorageGRID node recovery. ##### ######################################################################
系統會在顯示確認訊息時安裝及設定您的系統。StorageGRID
StorageGRID has been configured and installed.