可操作的元件擁有者:FILE
技能設定檔:部署工程師 本頁面提供操作說明,說明如何使用 NetApp ONTAP 為叢集設定檔案和區塊儲存空間。16.1. 設定 ONTAP 叢集交換器
檢查密碼
switch-xx-ad-stgesw01-admin和switch-xx-ad-stgesw02-admin(兩者值相同)。如果沒有密碼,請初始化憑證並產生新的隨機密碼。透過控制台登入交換器,設定管理員密碼:# configure terminal # username ADMIN_USER password PASSWORD # exit # copy running-config startup-config將憑證儲存於密鑰,並附加至
cell.yamlapiVersion: v1 kind: Secret metadata: name: netapp-ontap-cluster-switch-credential namespace: gpc-system type: Opaque stringData: username: ADMIN_USER password: PASSWORD執行下列指令,取得儲存空間交換器的名稱:
kubectl get storageswitch -n gpc-system畫面會顯示類似以下的輸出:
NAME AGE MANAGEMENTIP kb-ab-stgesw01 10d 192.0.2.0 kb-ab-stgesw02 10d 192.0.2.1針對每個切換器執行下列步驟,並使用切換器的名稱。
執行下列指令,從
switchstaticconfigCR 擷取交換器設定:kubectl get switchstaticconfigs -n gpc-system $SWITCH_NAME-static-config -o yaml | /root/release/scripts/yq_linux_amd64 '.spec.config'畫面會顯示類似以下的輸出:
banner motd ! ****************************************************************************** * NetApp Reference Configuration File (RCF) * * Switch : Nexus N9K-C9336C-FX2 * Filename : Nexus-9336C-RCF-v1.8-Cluster.txt * Date : 11-01-2021 * Version : v1.8 * * Port Usage: * Ports 1- 3: Breakout mode (4x10G) Intra-Cluster/HA Ports, int e1/1/1-4, e1/2/1-4, e1/3/1-4 * Ports 4- 6: Breakout mode (4x25G) Intra-Cluster/HA Ports, int e1/4/1-4, e1/5/1-4, e1/6/1-4 * Ports 7-34: 40/100GbE Intra-Cluster/HA Ports, int e1/7-34 * Ports 35-36: Intra-Cluster ISL Ports, int e1/35-36 * * Dynamic breakout commands: * 10G: interface breakout module 1 port <range> map 10g-4x * 25G: interface breakout module 1 port <range> map 25g-4x * * Undo breakout commands and return interfaces to 40/100G configuration in config mode: * no interface breakout module 1 port <range> map 10g-4x * no interface breakout module 1 port <range> map 25g-4x * interface Ethernet <interfaces taken out of breakout mode> * inherit port-profile CLUSTER * priority-flow-control mode auto * service-policy type qos type input ROCE_QOS * exit * * This RCF supports Clustering, HA, RDMA, and DCTCP using a single port profile. * ****************************************************************************** ! conf t ! interface breakout module 1 port 1-3 map 10g-4x interface breakout module 1 port 4-6 map 25g-4x ! feature lacp feature lldp feature ssh feature sftp-server feature scp-server ! vlan 17,18 exit ! cdp enable cdp advertise v1 cdp timer 5 system default switchport no system default switchport shutdown snmp-server community cshm1! group network-operator errdisable recovery interval 30 port-channel load-balance src-dst ip-l4port-vlan no ip domain-lookup logging console 1 ! ! class-map type qos match-any HA match dscp 40 match cos 5 ! class-map type qos match-any RDMA match dscp 16 match cos 2 ! class-map type qos match-any CT match dscp 0 match cos 0 ! policy-map type qos ROCE_QOS class type qos HA set qos-group 5 class type qos RDMA set qos-group 2 class type qos class-default set qos-group 0 ! class-map type network-qos HA_NETQOS match qos-group 5 ! class-map type network-qos RDMA_NETQOS match qos-group 2 ! class-map type network-qos CT_NETQOS match qos-group 0 ! policy-map type queuing ROCE_QUEUING class type queuing c-out-8q-q7 priority level 1 class type queuing c-out-8q-q6 bandwidth remaining percent 0 class type queuing c-out-8q-q5 bandwidth remaining percent 43 random-detect threshold burst-optimized ecn class type queuing c-out-8q-q4 bandwidth remaining percent 0 class type queuing c-out-8q-q3 bandwidth remaining percent 0 class type queuing c-out-8q-q2 random-detect threshold burst-optimized ecn bandwidth remaining percent 28 class type queuing c-out-8q-q1 bandwidth remaining percent 0 class type queuing c-out-8q-q-default bandwidth remaining percent 28 random-detect threshold burst-optimized ecn ! policy-map type network-qos NETQOS class type network-qos HA_NETQOS pause pfc-cos 5 mtu 9216 class type network-qos RDMA_NETQOS pause pfc-cos 2 mtu 9216 class type network-qos CT_NETQOS mtu 9216 ! system qos service-policy type network-qos NETQOS service-policy type queuing output ROCE_QUEUING ! copp profile strict ! ! !********** Port Profiles ********** ! port-profile type ethernet CLUSTER description 10/25/40/1000GbE Intra-Cluster/HA Nodes switchport mode trunk switchport trunk allowed vlan 1,17-18 spanning-tree port type edge trunk spanning-tree bpduguard enable mtu 9216 state enabled exit ! ! !********** Interfaces ********** ! interface e1/1/1-4, e1/2/1-4, e1/3/1-4, e1/4/1-4, e1/5/1-4, e1/6/1-4, e1/7-34 inherit port-profile CLUSTER priority-flow-control mode auto service-policy input ROCE_QOS exit ! !********** Intra-Cluster ISL ports ********** ! interface Ethernet1/35 description Intra-Cluster Switch ISL Port 1/35 (port channel) priority-flow-control mode auto switchport mode trunk switchport trunk allowed vlan 1 mtu 9216 channel-group 1 mode active no shutdown ! interface Ethernet1/36 description Intra-Cluster Switch ISL Port 1/36 (port channel) priority-flow-control mode auto switchport mode trunk switchport trunk allowed vlan 1 mtu 9216 channel-group 1 mode active no shutdown ! interface port-channel1 service-policy input ROCE_QOS priority-flow-control mode auto switchport mode trunk switchport trunk allowed vlan 1 mtu 9216 no shutdown ! !********** Set management ip ********** ! interface mgmt0 ip address 172.28.2.10/29 ! vrf context management ip route 0.0.0.0/0 mgmt0 172.28.2.9 ! hostname kb-ad-stgesw01 ! end ! !********** Save config ******* copy run start !使用序列埠線或主控台伺服器,將取得的交換器設定複製並貼到交換器,然後部署到交換器。
這項設定假設:
- A250:儲存裝置上的 e0c/e0d 會使用分接線連接至連接埠 4-6。
- A400:儲存裝置上的 e3a/e3b 會使用 40GbE 或 100GbE (非分接) 纜線連接至連接埠 7-34。
- A800:儲存裝置上的 e0a/e1a 會使用 40GbE 或 100GbE (非分接) 纜線連接至連接埠 7-34。
不過,實際情況可能並非如此。在許多安裝作業中,儲存裝置會連接至連接埠 4 至 6,即使裝置是 A400 或 A800 也是如此。 如果 A400 或 A800 連接埠 4 至 6,請調整交換器設定,移除下列幾行,然後再套用:
interface breakout module 1 port 1-3 map 10g-4x interface breakout module 1 port 4-6 map 25g-4x然後取代這行:
interface e1/1/1-4, e1/2/1-4, e1/3/1-4, e1/4/1-4, e1/5/1-4, e1/6/1-4, e1/7-34使用:
interface e1/1-34完成這些變更後,所有連接埠 1 至 34 都會設定為 40GbE 或 100GbE (非分接) 纜線。
此外,請從設定的 MOTD 橫幅部分移除下列程式碼行,以免日後發生混淆:
* Ports 1- 3: Breakout mode (4x10G) Intra-Cluster/HA Ports, int e1/1/1-4, e1/2/1-4, e1/3/1-4 * Ports 4- 6: Breakout mode (4x25G) Intra-Cluster/HA Ports, int e1/4/1-4, e1/5/1-4, e1/6/1-4 * Ports 7-34: 40/100GbE Intra-Cluster/HA Ports, int e1/7-34將這些行換成:
* Ports 1-34: 40/100GbE Intra-Cluster/HA Ports, int e1/1-34確認 ManagementSwitch 物件 CR。
查看啟動程序 KIND 叢集
ManagementSwitch物件,找出代表儲存裝置所在交換器的正確 CR。找出管理交換器上與儲存交換器實體連線的實體交換器連接埠,並確認 lacpGroups 中的 ManagementSwitch CR 存在這些連線。舉例來說,如果儲存空間交換器的管理連線已連至管理交換器的連接埠 10 和 11,請確認下列資訊存在:
kind: ManagementSwitch spec: ... serverNetwork: ... lacpGroups: - - 10 - - 11使用下列指令取得 lacpGroups:
kubectl get ManagementSwitchinternal <switch-name> --namespace=gpc-system -o=jsonpath='{.spec.serverNetwork.lacpGroups}'輸出內容應如下所示,方便您確認連接埠是否存在:
[[1],[2],[3],[4],[5],[6]]
16.2. 初始化 ONTAP 裝置
針對 AFF 250/400/800 系統上的每個控制器,重複執行下列步驟。每個系統都有兩個控制器或節點。
使用序列埠控制台和預設使用者名稱
admin連線至儲存空間控制器節點。確認 NetApp ONTAP 系統版本。
- 請執行
version指令。 - NetApp ONTAP 系統版本必須為 9.15.1。如果版本低於 9.15.1,請先將節點升級至 9.15.1,再啟動機構管理員叢集。詳情請參閱「升級指南」。
- 請執行
設定叢集互連 IP 介面位址。
首先,請在 cellcfg 中找出目前
StorageNode的預期.spec.network.clusterInterconnectIP值。# Note, this command relies on yq, which can be downloaded from https://github.com/mikefarah/yq. # If you do not want to install yq, you can manually inspect cellcfg/*-storage.yaml to determine the IPs. cat cellcfg/*-storage.yaml | /root/release/scripts/yq_linux_amd64 'select(.kind == "StorageNode") | (.metadata.name, .spec.network.clusterInterconnectIP)'執行上述指令會輸出所有
StorageNode的名稱和.spec.network.clusterInterconnectIP值。例如:aa-ad-stge01-01 169.254.0.1 --- aa-ad-stge01-02 169.254.0.3 --- aa-ad-stge02-01 169.254.0.5 --- aa-ad-stge02-02 169.254.0.7 --- aa-ad-stge03-01 169.254.0.9 --- aa-ad-stge03-02 169.254.0.11以上例來說,節點
aa-ad-stge03-01的 IP169.254.0.9和169.254.0.10會用於後續步驟。這是因為169.254.0.9是為節點aa-ad-stge03-01的 cellcfg 定義的 IP,而169.254.0.10是169.254.0.9之後的下一個 IP (以數值來說)。接著,請檢查目前節點的實際叢集互連 IP 值。
network interface show您應該會看到兩個以
169.254開頭的網路介面, 類似下列輸出內容:::> net int show (network interface show) Logical Status Network Current Current Is Vserver Interface Admin/Oper Address/Mask Node Port Home ----------- ---------- ---------- ------------------ ------------- ------- ---- Cluster clus1 up/up 169.254.19.166/16 localhost e3a true clus2 up/up 169.254.19.167/16 localhost e3b true如果
clus1介面的位址與 cellcfg 中定義的值相符,且clus2介面的位址是clus1位址 (以數值表示) 後的下一個 IP,則可跳過這個步驟的其餘部分,直接前往下一個步驟。如果叢集 vserver 只有 1 個介面,請執行
net port show,確認第二個連接埠是否已啟動並執行。如果是這樣,表示您錯過其中一個介面,有兩種方法可以修正:選項 1:使用下列指令手動新增互連網路 IP:
net interface create -vserver Cluster -lif clus2 -role cluster -address <interconnect-ip> -netmask 255.255.0.0 -home-node localhost -home-port <port>interconnect-ip:選擇下一個 IP (以數字表示),也就是目前節點 cellcfg 中指定的叢集互連 IP。舉例來說,如果目前節點的 cellcfg 中指定的叢集互連網路 IP 是
169.254.0.3,請選擇169.254.0.4。通訊埠:通訊埠可能因 ONTAP 型號而異。 請選擇前述輸出內容中未顯示介面的連接埠。
- A250:請選擇 e0c 和 e0d。
- A400:請選擇 e3a 或 e3b。
- 如果是 A800,請選擇 e0a 和 e1a。
方法 2:重設 ONTAP 節點 (這涉及 ONTAP 開機選單中的設定 9a 和 9b)。重設後再次執行指令,確認有 2 個 IP。請注意,建議先嘗試選項 1,只有在無法正常運作時才改用選項 2。
接著,請將
clus1互連 IP 更新為 cellcfg 中目前節點指定的值clusterInterconnectIP。net int modify -vserver Cluster -lif clus1 -address <interconnect-ip>- interconnect-ip:目前節點的 cellcfg 中指定的
clusterInterconnectIP值。
接著,請更新
clus2互連 IP,使其成為 cellcfg 中目前節點指定的clusterInterconnectIP值之後的下一個 IP (以數值表示)。net int modify -vserver Cluster -lif clus2 -address <next-interconnect-ip>- next-interconnect-ip:選擇目前節點 cellcfg 中指定的叢集互連 IP 之後的下一個 IP (以數字表示)。舉例來說,如果目前節點的 cellcfg 中指定的叢集互連網路 IP 為
169.254.0.3,請選擇169.254.0.4。
最後,請檢查目前節點的實際叢集互連 IP 值,是否與 cellcfg 中預期的值相符。
network interface show您應該會看到兩個以
169.254開頭的網路介面, 類似下列輸出內容。clus1介面的位址應與 cellcfg 中定義的值相符。clus2介面的位址應為clus1位址後的下一個 IP (以數字表示)。::> net int show (network interface show) Logical Status Network Current Current Is Vserver Interface Admin/Oper Address/Mask Node Port Home ----------- ---------- ---------- ------------------ ------------- ------- ---- Cluster clus1 up/up 169.254.0.1/16 localhost e3a true clus2 up/up 169.254.0.2/16 localhost e3b true選用:驗證叢集間連線。
ping -lif clus2 -vserver Cluster -destination <interconnect-ip-other-node>interconnect-ip-other-node:從其他節點選擇叢集間 IP。如果連線正常,連線偵測 (ping) 應會回覆。
設定管理員密碼 (所有節點都應使用相同密碼,並在填寫密碼時使用)。請確認密碼符合複雜度規定,否則系統會顯示不符規定的使用者帳戶警告。
::> security login password Enter your current password: Current password is empty, press Enter Enter a new password: Enter NEW_PASSWORD Enter it again: Enter NEW_PASSWORD設定管理 IP 和閘道。請參閱下方的操作說明,瞭解如何取得必要資訊。
::> cluster setup Type yes to confirm and continue: yes Enter the node management interface port: e0M Enter the node management interface IP address: IP_ADDRESS for this node Enter the node management interface netmask: NETMASK for this IP Enter the node management interface default gateway: GATEWAY輸入
ctrl+c設定預設閘道後,即可退出叢集設定精靈。執行下列指令,取得子網路資訊:
# cat cellcfg/*-storage.yaml | /root/release/scripts/yq_linux_amd64 'select(.kind == "StorageCluster") | (.spec.network.clusterManagement.netmask)'畫面會顯示類似以下的輸出:
203.0.113.0執行下列指令來取得閘道資訊:
kubectl get subnetclaim -n root kb-ad-mgmtsw01-stge-os-subnet -o jsonpath={.status.ipv4SubnetStatus.gateway} ; echo畫面會顯示類似以下的輸出:
203.0.113.1以下是取得 IP 資訊的範例:
# cat cellcfg/*-storage.yaml | /root/release/scripts/yq_linux_amd64 'select(.kind == "StorageNode") | (.metadata.name, .spec.network.managementIP)' kb-ad-stge01-01 203.0.113.0 --- kb-ad-stge01-02 203.0.113.0 --- kb-ad-stge02-01 203.0.113.0 --- kb-ad-stge02-02 203.0.113.0為管理員使用者啟用 SSH:
security login create -user-or-group-name admin -application ssh -authentication-method password -role admin將節點重新命名為
cell.yaml中指定的名稱。system node rename -node localhost -newname NODE_NAME確認磁碟設定正確無誤。
執行
storage aggregate show -fields uses-shared-disks,並確認aggr0是否傳回 true。輸出內容範例:::> storage aggregate show -fields uses-shared-disks aggregate uses-shared-disks --------- ----------------- aggr0 true執行
run -node * sysconfig -r,並確認裝置名稱結尾為P3。 這是為了確保磁碟有 3 個磁碟分割區。輸出內容範例:::> run -node * sysconfig -r 1 entry was acted on. Node: localhost Aggregate aggr0 (online, raid_dp) (block checksums) Plex /aggr0/plex0 (online, normal, active, pool0) RAID group /aggr0/plex0/rg0 (normal, block checksums) RAID Disk Device HA SHELF BAY CHAN Pool Type RPM Used (MB/blks) Phys (MB/blks) --------- ------ ------------- ---- ---- ---- ----- -------------- -------------- dparity 0n.18P3 0n 0 18 0 SSD-NVM N/A 63849/16345536 63857/16347584 parity 0n.19P3 0n 0 19 0 SSD-NVM N/A 63849/16345536 63857/16347584 data 0n.20P3 0n 0 20 0 SSD-NVM N/A 63849/16345536 63857/16347584 data 0n.21P3 0n 0 21 0 SSD-NVM N/A 63849/16345536 63857/16347584 data 0n.22P3 0n 0 22 0 SSD-NVM N/A 63849/16345536 63857/16347584執行
run -node local disk show -n,確認磁碟分區為Not Owned,且有2 * <number of disks>個分區。 這個範例顯示 12 個磁碟的 24 個未擁有磁碟分區。::> run -node local disk show -n DISK OWNER POOL SERIAL NUMBER HOME DR HOME ------------ ------------- ----- ------------- ------------- ------------- 0n.21P1 Not Owned NONE S5Y0NA0T100941NP001 0n.21P2 Not Owned NONE S5Y0NA0T100941NP002 0n.22P1 Not Owned NONE S5Y0NA0T100944NP001 0n.22P2 Not Owned NONE S5Y0NA0T100944NP002 0n.18P1 Not Owned NONE S5Y0NA0T101588NP001 0n.18P2 Not Owned NONE S5Y0NA0T101588NP002 0n.20P1 Not Owned NONE S5Y0NA0T100947NP001 0n.20P2 Not Owned NONE S5Y0NA0T100947NP002 0n.3P1 Not Owned NONE S5Y0NA0T100942NP001 0n.3P2 Not Owned NONE S5Y0NA0T100942NP002 0n.1P1 Not Owned NONE S5Y0NA0T100943NP001 0n.1P2 Not Owned NONE S5Y0NA0T100943NP002 0n.5P1 Not Owned NONE S5Y0NA0T101314NP001 0n.5P2 Not Owned NONE S5Y0NA0T101314NP002 0n.2P1 Not Owned NONE S5Y0NA0T100946NP001 0n.2P2 Not Owned NONE S5Y0NA0T100946NP002 0n.23P1 Not Owned NONE S5Y0NA0T100939NP001 0n.23P2 Not Owned NONE S5Y0NA0T100939NP002 0n.19P1 Not Owned NONE S5Y0NA0T101608NP001 0n.19P2 Not Owned NONE S5Y0NA0T101608NP002 0n.0P1 Not Owned NONE S5Y0NA0T100873NP001 0n.0P2 Not Owned NONE S5Y0NA0T100873NP002 0n.4P1 Not Owned NONE S5Y0NA0T101609NP001 0n.4P2 Not Owned NONE S5Y0NA0T101609NP002如果任何步驟失敗,請將系統恢復原廠設定。
16.3. 設定網路時間通訊協定
取得在啟動叢集中執行的 NTP 中繼伺服器 IP:
kubectl get ntpservers -n ntp-system -o jsonpath='{.items[*].status.managementIP}{"\n"}'
針對每個 NTP 伺服器,在第一個 ONTAP 節點上執行下列指令:
cluster time-service ntp server create -server NTP_SERVER_IP
舉例來說,如果 ONTAP 節點為 kb-ad-stge01-01、kb-ad-stge01-02、kb-ad-stge02-01 和 kb-ad-stge02-02,請在 kb-ad-stge01-01 節點上執行指令。
16.4. 檢查 cellcfg 資料夾
如要擷取檔案儲存空間的儲存空間使用者名稱和密碼值,請使用專為儲存空間設計的硬體供應商檔案,例如 WO15_SO7100911835-2_GDCH-4d-A250-A400_DD-010223.xlsx
16.4.1. 驗證管理員密碼
找出 /CELLCFG/file-storage.yaml 參照的 ONTAP 密鑰名稱,如下所示:StorageCluster.spec.adminSecretName。
找出對應的 Secret,並確認已填入值。如果不是,請替換管理員使用者名稱和密碼:
apiVersion: v1
kind: Secret
metadata:
name: SECRET_NAME
namespace: gpc-system
type: Opaque
stringData:
netapp_username: admin
netapp_password: PASSWORD
16.4.2. 驗證 ONTAP 授權
ONTAP 軟體授權必須由硬體廠商提供。
在 /cellcfg/af-storage.yaml 資料夾中找到 StorageCluster.spec.licenses 欄位,並確認授權已填入。
如果沒有,請在欄位中填入執照:
apiVersion: ontap.netapp.storage.private.gdc.goog/v1alpha1
kind: StorageCluster
metadata:
creationTimestamp: null
name: zl-stge-clus-01
namespace: gpc-system
spec:
...
licenses:
- LICENSE_1
- LICENSE_2
- LICENSE_3
以下範例說明授權項目在儲存格設定中的顯示方式:
licenses:
ABGITNWODUEVQELPECCAAAAAAAAA
AHJJWYTTTXKZOFKVBTBAAAAAAAAA
AHZTHBPQACAAAAKVBTBAAAAAAAAA
ALTXOYXSVDDCMADPECCAAAAAAAAA
ANWFPBPQACAAAAKVBTBAAAAAAAAA
APLKENWODUEVQELPECCAAAAAAAAA
ARIHVQFAHJMIWBDPECCAAAAAAAAA
AXFTCRFAHJMIWBDPECCAAAAAAAAA
16.5. 預檢驗證
執行驗證指令:
gdcloud system check-config --config PATH_TO_CELL_CONFIG --artifacts-directory PATH_TO_ARTIFACTS \
--scenario FileBlockStorage
如果記錄中有任何錯誤,請按照訊息修正問題,然後再次執行驗證。
16.5.1. 潛在問題
本節列出對檔案區塊儲存裝置執行預檢驗證時,可能遇到的問題。
16.5.1.1. StorageAggregate 的 NumDisks
忽略磁碟數量不正確的驗證失敗情形,但請手動驗證 StorageAggregate CR 中的 NumDisks 值。StorageAggregate 定義在 xx-storage.yaml 檔案中。
為一個檔案區塊設備設定的 StorageAggregates 磁碟總數,必須與設備中顯示的磁碟數減去備用磁碟數相符。最佳做法是每 12 個磁碟保留一個備用磁碟。
如要計算 NumDisks 的值,請使用下列公式:
NumDisks = (Total_Disks/2) - ceil(Total_Disks/12)
如果您將公式套用至本節所述的 (24/2) - ceil(24/12) 範例,NumDisks 等於 10。
16.6. 執行安裝
執行安裝指令:
gdcloud system storage install -v 3 --config PATH_TO_CELL_CONFIG
這項指令會執行以下作業:
- 設定 NetApp 叢集並新增可用節點
- 建立匯總
- 在資料連接埠上設定 LACP 和 VLAN
- 設定授權
- 設定監控工作
- 設定外部金鑰管理機制
作業完成後,請在 ONTAP 控制台上執行 node show,確認沒有類似下列的警告:
kb-stge-clus-01::> node show
Node Health Eligibility Uptime Model Owner Location
--------- ------ ----------- ------------- ----------- -------- ---------------
kb-ad-stge01-01
true true 5 days 02:49 AFF-A250
kb-ad-stge01-02
true true 6 days 18:24 AFF-A250
kb-ad-stge02-01
true true 5 days 01:52 AFF-A800
kb-ad-stge02-02
true true 5 days 01:52 AFF-A800
kb-ad-stge03-01
true true 7 days 00:15 AFF-A400
kb-ad-stge03-02
true true 7 days 00:26 AFF-A400
Warning: Cluster operation (cluster join) for node "kb-ad-stge03-01" is not complete and the node is not fully functional.
Run "cluster join" on that node to complete the operation.
6 entries were displayed.
如有,請按照操作說明登入這些節點,並執行對應的 cluster join 指令,確保作業完成後節點消失。
16.7. 更新安全性設定
設定登入橫幅:
security login banner modify -vserver <cluster name> -message "<banner>"將 CLI 工作階段逾時時間限制為十分鐘:
system timeout modify 10針對管理員角色強制執行密碼複雜度和登入嘗試次數上限:
security login role config modify -vserver CLUSTER_NAME -role admin -passwd-minlength 15 -passwd-min-special-chars 1 -passwd-min-lowercase-chars 1 -passwd-min-uppercase-chars 1 -passwd-min-digits 1 -disallowed-reuse 25 -max-failed-login-attempts 3將 UI 工作階段逾時時間限制為十分鐘:
::> set diag Warning: These diagnostic commands are for use by NetApp personnel only. Do you want to continue? {y|n}: y ::> cluster application-record create -name sysmgr.inactivitytimeout -value 10 -vserver <cluster name>調整使用者鎖定設定:
::> security login role config modify -vserver * -max-failed-login-attempts 3 -lockout-duration 1 -role * ::> security ssh modify -vserver * -max-authentication-retry-count 3停用 USB 連接埠 (必須重新啟動裝置,變更才會生效):
::> set diag ::*> system node usb-ports modify -node * -is-disabled-next-boot true移除啟動程序憑證。
找出 bootstrap-web-ca 憑證:
::> security certificate show-user-installed如果 bootstrap-web-ca 憑證存在,輸出結果會如下所示:
Vserver Serial Number Certificate Name Type ---------- --------------- -------------------------------------- ------------ aa-aa-stge01 45B86E1B5CF1CC144B874C80A39D2A99 bootstrap-web-ca server-ca Certificate Authority: bootstrap-web-ca Expiration Date: Mon Feb 19 22:55:03 2029
如要重新啟動節點,請使用下列指令一次重新啟動一個節點:
::> system node reboot -node <node-name> -inhibit-takeover true
16.8. 儲存緊急存取使用者
設定期間,系統會自動建立四個緊急存取帳戶,並以 Kubernetes 密碼的形式儲存。
- storage-root-level1
- storage-root-level1-backup
- storage-root-level2
- storage-root-level2-backup
如要儲存及保護 storage-root-level2 和 storage-root-level2-backup 憑證,請按照以下規定以紙本形式儲存:
使用下列指令從密鑰取得使用者名稱和密碼,並將 SECRET_NAME 換成您要使用的密鑰:
kubectl get secret -n gpc-system SECRET_NAME -o jsonpath='{.data.username}' | base64 --decode kubectl get secret -n gpc-system SECRET_NAME -o jsonpath='{.data.password}' | base64 --decode取得 ONTAP 叢集的名稱:
::> cluster identity show注意是否有任何非預期使用者具備管理員權限:
::> useradmin user list- 選用:在基礎架構營運商核准後刪除。一律對實際工作環境和客戶工作負載執行:
::> security login delete -user-or-group-name <username> -vserver <Cluster Name> -authentication-method password -application amqp ::> security login delete -user-or-group-name <username> -vserver <Cluster Name> -authentication-method password -application console ::> security login delete -user-or-group-name <username> -vserver <Cluster Name> -authentication-method password -application http ::> security login delete -user-or-group-name <username> -vserver <Cluster Name> -authentication-method password -application ontapi ::> security login delete -user-or-group-name <username> -vserver <Cluster Name> -authentication-method password -application service-processor ::> security login delete -user-or-group-name <username> -vserver <Cluster Name> -authentication-method password -application ssh ```刪除上一個步驟中建立的 NetApp 管理使用者。
::> security login delete -user-or-group-name admin -vserver <Cluster Name> -authentication-method password -application amqp ::> security login delete -user-or-group-name admin -vserver <Cluster Name> -authentication-method password -application console ::> security login delete -user-or-group-name admin -vserver <Cluster Name> -authentication-method password -application http ::> security login delete -user-or-group-name admin -vserver <Cluster Name> -authentication-method password -application ontapi ::> security login delete -user-or-group-name admin -vserver <Cluster Name> -authentication-method password -application service-processor ::> security login delete -user-or-group-name admin -vserver <Cluster Name> -authentication-method password -application ssh基礎架構作業 (IO) 負責人應在不同的紙張上清楚寫下每個設備的使用者名稱和密碼。他們會將紙張摺疊起來,確保內容不會外洩,並標示紙張內容,例如「TOR 交換器 1 的根憑證」,然後交給 L1 工程師妥善保管。
在 IO 負責人監督下,L1 工程師將紙本文件存放在實體保險箱。
IO 會在密鑰中新增註解,標記密鑰已儲存在安全位置。
kubectl annotate secrets storage-root-level2 -n gpc-system disk.gdc.goog/persisted=''16.9. 更新 NTP 伺服器
安裝管理員叢集後,請執行下列步驟:
取得管理員叢集執行 NTP 中繼服務的新 NTP 伺服器 IP:
kubectl get ntpservers -n gpc-system在 ONTAP 中,刪除所有現有的 NTP 伺服器:
cluster time-service ntp server show cluster time-service ntp server delete -server NTP_SERVER_IP將新的 NTP 伺服器新增至 ONTAP:
cluster time-service ntp server create -server NTP_SERVER_IP