[vsphere] vMotion - HA 실습
네트워크 HA 실습 1 (Teaming)
실습 ⑴ 스위치에 Failback 옵션이 설정된 경우
시나리오 1) Active - Standby로 설정된 어댑터에서 사용 중인 어댑터에 장애를 일으킨다
- 현재 구성도


현재 상태

네트워크 단절

연결 단절 후
어댑터가 Standby였던 어댑터로 변경됨

다시 네트워크 연결

다시 Active인 vmnic1로 변경
결론 : Active-Standby 연결인 경우 Active 장비 장애 발생 시 Standby가 네트워크 연결 역할을 대신하며 만약 다시 복구가 된다면 네트워크가 원래의 어댑터로 변경되어 통신
실습 2) Active - Active로 설정된 어댑터에서 사용 중인 어댑터에 장애를 일으킨다

현재 상태

vmnic3 연결 단절

다른 링크인 vmnic2로 변경됨

다시 네트워크 연결

변경된 사항 확인 완료
결론 : fail back 옵션으로 인해서 다시 원래 어댑터로 돌아가 네트워크 연결
실습 ⑵ Failback 옵션 제거 후 다시 시도

표준 스위치 - failback no 설정

분산 스위치 - failback no 설정
+) 네트워크 분산 스위치 : 네트워크 - 분산 스위치에서 편집해야 함

시나리오) Active - Standby와 Active - Active 사용 중인 어댑터에 장애를 일으킨다

현재 상태

어댑터 연결 단절 후

네트워크 다시 연결

다시 연결이 됨
결론 : vmnic2,3은 개념적으로는 failback으로 장애 발생 시 vmvic2에서 가동 중이라면 vmnic3으로 바뀌지 않는 게 맞는 거지만 설정 시 우선순위가 설정되어 vmnic3가 붙게 되는 것이다.

vmnic2가 vmnic3보다 위에 있어 우선순위가 높다.
부록]
HA 서비스 중 오류 발생 시 원인을 찾을 수 없다면 HA의 로그를 기록해 놓는 파일로 들어가 로그 분석 필요
- 로그 중 오류 검색
grep -i error /scratch/log/fdm.log //HA 선택시 실행되는 fdm의 fdm.log를 분석
- GUI로 설정
dcui //SSH로 연결된 CLI 환경에서 GUI로 변경하여 설정할 수 있게
표준 스위치 vs 분산 스위치 설정 환경
⑴ 표준 스위치 - Management Network


이중화에 네트워크 인터페이스를 사용할 경우 각 nic의 mac 주소가 겹치지 않게 관리가 필요

전송되는 트래픽을 모양을 예쁘게 만들기 위해 사용

네트워크 어댑터

- Route based on IP hash : switch에서 ip 주소를 가지고 스위치에서 추가적인 작업을 통해 부하 분산 진행(사용 x)
- Router based on source MAC hash : 업링크로 MAC을 가지고 통신을 하는데 이때, hash 값으로 구분(사용 x)
- Route based on originating virtual port : 포트 ID 값을 가지고 결정
- Use explicit failover order : Active Standby로 사용
⑵ 분산 스위치

- Route based on physical NIC load : 해싱 연산을 하지 않으며 정해진 대역폭보다 많이 사용되면 다른 nic 어댑터로 부하 분산이 이루어짐
가상머신 HA 실습 2 (서버 오류)
물리적인 ESXi 서버에 장애를 일으켜 HA 서비스가 수행되어 있는지 확인하는 실습을 진행한다.
+) 이때, 가상으로 장애를 일으키기 위해 PSOD를 만들어 진행한다
- 선행 학습
가상 머신을 제작 후 진행
ESXi 서버 중 한 대 오류 발생
- POSD(Pupple Screen On Death)
vsish -e set /reliability/crashMe/Panic 1

- PSOD 발생 확인

· No place on disk to dump data : 덤프 데이터를 위치할 공간이 없다.
· Finalized dump header (15/15) FileDump: Successful : 덤프 파일이 만들어졌습니다.
※ 이 문구에서 Success가 나오지 않았다는 것은 덤프 파일이 생성되지 않았으므로 장비를 restart 하면 x(덤프 : 오류 원인 분석용 파일)
· No Port for remote debugger : 원격에서 문제를 역으로 추적할 수 있는 포트가 없다.(포트 RS232)
· "Escape" for local debugger : ESC 키를 누르면 로컬 디버거가 동작된다는 의미

+) 문제를 역으로 추적하여 해결하려는 것을 디버깅이라고 한다.
> ESC > h 입력

Log 분석을 원할 시 l 입력

정상적으로 동작 됨
- 최종 확인

서버에서 오류 발생 시 해당 서버의 자원을 사용하고 있던 가상머신은 다른 가상머신으로 이동하여 지속적인 서비스 제공 가능
HA 로그 분석(fdm.log)
FDM
: HA 서비스는 fdm이 관리하며 HA 중 오류 사항이나 자세한 내용은 fdm.log를 확인하여 분석할 수 있다.
- GUI로 이벤트 상황 확인 가능(만약 안될 시 CLI로 분석 필요)


※ Primary는 모든 HA 중 발생하는 모든 로그를 수집하는 서버. 만약, 오류 발생 시 개별적으로 문제가 발생한 서버에서 확인 가능하지만 되도록 Primary에서 전체적인 로그를 확인하는 것을 추천
cd /scratch/log
ls -alht fdm*

- 경고/오류 나온 로그만 확인
grep -i warn fdm.log
grep -i err fdm.log
egrep -i "err|warn|dead" fdm.log | more
egrep -i "err" fdm.log | grep -i "2021-09-27"
egrep -in "err" fdm.log | grep -i "2021-09-27" // n:라인 출력
