OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
3.2.2. 블록 스토리지에서 블록 교체
리소스가 부족하거나 문제가 있는 노드에서 블록을 교체하려면 새 노드로 교체할 수 있습니다.
새 IP로 Gluster 블록 PV를 업데이트하려면 노드 교체 후 https://access.redhat.com/solutions/5042501를 참조하십시오.
다음 명령을 실행합니다.
다음 명령을 실행하여 heketi에서 영역 및 클러스터 정보를 가져옵니다.
heketi-cli topology info --user=<user> --secret=<user key>
# heketi-cli topology info --user=<user> --secret=<user key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - --user
- heketi 사용자
- --secret
- 지정된 사용자의 시크릿 키
- 클러스터 ID 및 영역 ID를 가져온 후 새 노드 추가 를 참조하여 새 노드를 추가합니다.
다음 명령을 실행하여 장치를 추가합니다.
heketi-cli device add --name=<device name> --node=<node id> --user=<user> --secret=<user key>
# heketi-cli device add --name=<device name> --node=<node id> --user=<user> --secret=<user key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - --name
- 추가할 장치 이름
- --node
- 새로 추가된 노드 ID
예를 들면 다음과 같습니다.
heketi-cli device add --name=/dev/vdc --node=2639c473a2805f6e19d45997bb18cb9c --user=admin --secret=adminkey
# heketi-cli device add --name=/dev/vdc --node=2639c473a2805f6e19d45997bb18cb9c --user=admin --secret=adminkey Device added successfullyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 새로운 노드와 관련 장치가 heketi에 추가되면 결함이 있거나 원치 않는 노드가 heketi에서 제거 될 수 있습니다.
heketi에서 노드를 제거하려면 다음 워크플로우를 따르십시오.
- node disable (DEallow usage of a node byplacing it offline)
- node replace(노드 제거 및 Heketi에서 연결된 모든 장치 제거)
- 장치 삭제( Heketi 노드에서 장치 삭제)
- 노드 삭제( Heketi 관리에서 노드 삭제)
다음 명령을 실행하여 heketi에서 노드 목록을 가져옵니다.
#heketi-cli node list --user=<user> --secret=<user key>
#heketi-cli node list --user=<user> --secret=<user key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
heketi-cli node list --user=admin --secret=adminkey
# heketi-cli node list --user=admin --secret=adminkey Id:05746c562d6738cb5d7de149be1dac04 Cluster:607204cb27346a221f39887a97cf3f90 Id:ab37fc5aabbd714eb8b09c9a868163df Cluster:607204cb27346a221f39887a97cf3f90 Id:c513da1f9bda528a9fd6da7cb546a1ee Cluster:607204cb27346a221f39887a97cf3f90 Id:e6ab1fe377a420b8b67321d9e60c1ad1 Cluster:607204cb27346a221f39887a97cf3f90Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 heketi에서 삭제해야 하는 노드의 노드 정보를 가져옵니다.
heketi-cli node info <nodeid> --user=<user> --secret=<user key>
# heketi-cli node info <nodeid> --user=<user> --secret=<user key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 heketi에서 노드를 비활성화합니다. 그러면 노드가 오프라인 상태가 됩니다.
heketi-cli node disable <node-id> --user=<user> --secret=<user key>
# heketi-cli node disable <node-id> --user=<user> --secret=<user key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
heketi-cli node disable ab37fc5aabbd714eb8b09c9a868163df --user=admin --secret=adminkey
# heketi-cli node disable ab37fc5aabbd714eb8b09c9a868163df --user=admin --secret=adminkey Node ab37fc5aabbd714eb8b09c9a868163df is now offlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Heketi에서 노드와 연결된 모든 장치를 제거합니다.
#heketi-cli node remove <node-id> --user=<user> --secret=<user key>
#heketi-cli node remove <node-id> --user=<user> --secret=<user key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
heketi-cli node remove ab37fc5aabbd714eb8b09c9a868163df --user=admin --secret=adminkey
# heketi-cli node remove ab37fc5aabbd714eb8b09c9a868163df --user=admin --secret=adminkey Node ab37fc5aabbd714eb8b09c9a868163df is now removedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 heketi 노드에서 장치를 삭제합니다.
heketi-cli device delete <device-id> --user=<user> --secret=<user key>
# heketi-cli device delete <device-id> --user=<user> --secret=<user key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
heketi-cli device delete 0fca78c3a94faabfbe5a5a9eef01b99c --user=admin --secret=adminkey
# heketi-cli device delete 0fca78c3a94faabfbe5a5a9eef01b99c --user=admin --secret=adminkey Device 0fca78c3a94faabfbe5a5a9eef01b99c deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 Heketi 관리에서 노드를 삭제합니다.
#heketi-cli node delete <nodeid> --user=<user> --secret=<user key>
#heketi-cli node delete <nodeid> --user=<user> --secret=<user key>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
heketi-cli node delete ab37fc5aabbd714eb8b09c9a868163df --user=admin --secret=adminkey
# heketi-cli node delete ab37fc5aabbd714eb8b09c9a868163df --user=admin --secret=adminkey Node ab37fc5aabbd714eb8b09c9a868163df deletedCopy to Clipboard Copied! Toggle word wrap Toggle overflow gluster Pod 중 하나에서 다음 명령을 실행하여 문제가 있는 노드를 새 노드로 교체합니다.
다음 명령을 실행하여 block-hosting-volume에서 호스팅되는 블록 볼륨 목록을 가져옵니다.
gluster-block list <block-hosting-volume> --json-pretty
# gluster-block list <block-hosting-volume> --json-prettyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 블록 볼륨을 호스팅하는 서버 목록을 가져오고 나중에 사용할 수 있도록 GBID 및 managers 값을 저장합니다.
gluster-block info <block-hosting-volume>/<block-volume> --json-pretty
# gluster-block info <block-hosting-volume>/<block-volume> --json-prettyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 문제가 있는 노드를 새 노드로 교체합니다.
gluster-block replace <volname/blockname> <old-node> <new-node> [force]
# gluster-block replace <volname/blockname> <old-node> <new-node> [force]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
참고다음 단계는 교체할 블록이 아직 사용 중인 경우에만 실행해야 합니다.
블록 볼륨이 현재 마운트되어 있지 않은 경우 이 단계를 건너뜁니다. 블록 볼륨이 애플리케이션에서 사용 중인 경우 이니시에이터 측에서 매퍼 장치를 다시 로드해야 합니다.
이니시에이터 노드 및 targetname을 식별합니다.
이니시에이터 노드를 찾으려면 다음을 수행합니다.
oc get pods -o wide | grep <podname>
# oc get pods -o wide | grep <podname>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여기서 podname은 blockvolume이 마운트된 Pod의 이름입니다.
예를 들면 다음과 같습니다
oc get pods -o wide | grep cirros1 cirros1-1-x6b5n 1/1 Running 0 1h 10.130.0.5 dhcp46-31.lab.eng.blr.redhat.com <none>
# oc get pods -o wide | grep cirros1 cirros1-1-x6b5n 1/1 Running 0 1h 10.130.0.5 dhcp46-31.lab.eng.blr.redhat.com <none>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 대상 이름을 찾으려면 다음을 수행합니다.
oc describe pv <pv_name> | grep IQN
# oc describe pv <pv_name> | grep IQNCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
oc describe pv pvc-c50c69db-5f76-11ea-b27b-005056b253d1 | grep IQN
# oc describe pv pvc-c50c69db-5f76-11ea-b27b-005056b253d1 | grep IQN IQN: iqn.2016-12.org.gluster-block:87ffbcf3-e21e-4fa5-bd21-7db2598e8d3fCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이니시에이터 노드에서 다음 명령을 실행하여 매퍼 장치를 찾습니다.
mount | grep <targetname>
# mount | grep <targetname>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 매퍼 장치를 다시 로드합니다.
multipath -r mpathX
# multipath -r mpathXCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
mount | grep iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a/dev/mapper/mpatha on /var/lib/origin/openshift.local.volumes/plugins/kubernetes.io/iscsi/iface-default/192.168.124.63:3260-iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a-lun-0 type xfs (rw,relatime,seclabel,attr2,inode64,noquota) multipath -r mpatha
# mount | grep iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a/dev/mapper/mpatha on /var/lib/origin/openshift.local.volumes/plugins/kubernetes.io/iscsi/iface-default/192.168.124.63:3260-iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a-lun-0 type xfs (rw,relatime,seclabel,attr2,inode64,noquota) # multipath -r mpathaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
이니시에이터에서 다음 명령을 실행하여 이전 포털에서 로그아웃합니다.
iscsiadm -m node -T <targetname> -p <old node> -u
# iscsiadm -m node -T <targetname> -p <old node> -uCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
iscsiadm -m node -T iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a -p 192.168.124.63 -u
# iscsiadm -m node -T iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a -p 192.168.124.63 -u Logging out of session [sid: 8, target: iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a, portal: 192.168.124.63,3260] Logout of [sid: 8, target: iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a, portal: 192.168.124.63,3260] successful.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 노드를 다시 검색하려면 다음 명령을 실행합니다.
iscsiadm -m discovery -t st -p <new node>
# iscsiadm -m discovery -t st -p <new node>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
iscsiadm -m discovery -t st -p 192.168.124.73
# iscsiadm -m discovery -t st -p 192.168.124.73 192.168.124.79:3260,1 iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a 192.168.124.73:3260,2 iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9aCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음을 실행하여 새 포털에 로그인합니다.
인증 인증 정보 업데이트 (단계 11ii에서 GBID 및 암호 해독 사용)
iscsiadm -m node -T <targetname> -o update -n node.session.auth.authmethod -v CHAP -n node.session.auth.username -v <GBID> -n node.session.auth.password -v <PASSWORD> -p <new node ip>
# iscsiadm -m node -T <targetname> -o update -n node.session.auth.authmethod -v CHAP -n node.session.auth.username -v <GBID> -n node.session.auth.password -v <PASSWORD> -p <new node ip>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 새 포털에 로그인합니다.
iscsiadm -m node -T <targetname> -p <new node ip> -l
# iscsiadm -m node -T <targetname> -p <new node ip> -lCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
iscsiadm -m node -T iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a -o update -n node.session.auth.authmethod -v CHAP -n node.session.auth.username -v d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a -n node.session.auth.password -v a6a9081f-3d0d-4e8b-b9b0-d2be703b455d -p 192.168.124.73 iscsiadm -m node -T iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a -p 192.168.124.73 -l
# iscsiadm -m node -T iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a -o update -n node.session.auth.authmethod -v CHAP -n node.session.auth.username -v d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a -n node.session.auth.password -v a6a9081f-3d0d-4e8b-b9b0-d2be703b455d -p 192.168.124.73 # iscsiadm -m node -T iqn.2016-12.org.gluster-block:d6d18f43-8a74-4b2c-a5b7-df1fa3f5bc9a -p 192.168.124.73 -lCopy to Clipboard Copied! Toggle word wrap Toggle overflow
활성화된 호스팅 볼륨이 교체되고 성공적으로 실행 중인지 확인하려면 이니시에이터에서 다음 명령을 실행합니다.
ll /dev/disk/by-path/ip-* | grep <targetname> | grep <“new node ip”>
# ll /dev/disk/by-path/ip-* | grep <targetname> | grep <“new node ip”>Copy to Clipboard Copied! Toggle word wrap Toggle overflow