케이블 포설 작업을 위한 준비에 많은 시간이 걸렸지만, 일단 준비물이 갖춰지고 나서는 빠르게 실장에 들어갈 수 있었다.
해외 구매한 파트들이 배송되는 동안 트랜시버와 랜카드의 호환성 검증, MPO Breakout 트랜시버와 25G SFP28 트랜시버 간 호환성 확인을 마쳤고, 스위치 설정 구성에 대한 초안을 마련했다.
그리고 기존에 사용하던 RJ-45 연선을 경선으로 교체하는 작업을 함께 진행하기로 결정했다. 초기 랩 구성 단계에서는 케이블 레이스웨이가 없었기 때문에 포설이 편한 연선을 사용했으나, 이제는 잠재적인 안정성을 희생해가며 연선을 사용할 이유가 없기 때문이다.
또한, 이전 단계에서 중구난방으로 연결된 매니지먼트/IPMI 포트의 재결선을 진행해야 한다는 것도 이 결정에 영향을 주었다.
[그림 1. 패치 패널 - 코어 스위치 포트맵]
가장 먼저 포트 맵을 업데이트 했다. 본래는 시각적으로 코어 스위치와 패치 패널의 배열이 1:1로 대응되도록 구성하였으나, 실제 패치 패널을 받고 보니, 포트 번호를 좌에서 우로 메기도록 되어 있어서 패치 패널의 포트 맵을 수정하였다.
그리고 PTP를 위한 포트는 Fortigate 방화벽의 업링크로 사용하는 것으로 변경하였다. 이 결정에 대해서는 이전 포스트에서 다룬 바 있다.
[그림 2. 매니지먼트 스위치 포트맵]
매니지먼트 스위치의 포트 매핑은 위와 같다.
ESXi 호스트 8대의 매니지먼트 인터페이스는 두 개의 스위치로 이중화되고, Out-of-band Management 인터페이스는 두 개의 스위치에 각각 나뉘어서 연결된다. 스위치 자체의 관리 인터페이스와 방화벽 업링크는 서로 분리된다. 이 때문에 각 스위치에서 방화벽으로는 두 가닥의 선이 올라가야 한다.
[그림 3. 트랜시버 실장 작업]
다음으로는 스위치와 서버에 트랜시버들을 장착한다. 100G 트랜시버는 DOA 확인이 끝났지만, 새로 구매한 25G 트랜시버들은 그렇지 않다. 나중에 전체 랩 시스템을 브링업하면서 검증해야 할 것이다.
그리고 이제 실제로 케이블링을 시작한다.
[그림 4. OS-2 케이블링 작업]
케이블 포설 작업은 광케이블 다발을 레이스웨이로 올리고, 각 엔드포인트에 연결하는 단순 반복 작업이다. 물론, 포설 과정에서 라벨링을 잊어서는 안 될 것이다. 라벨링 작업에는 광케이블용 라벨 코어를 사용했으며, 라벨링 규칙은 다음과 같다.
CORE <N> - Node <X-Y>
라벨에는 위와 같이 코어 스위치의 포트 번호와 엔드포인트 노드 번호, 그리고 100G NIC의 포트 번호를 기록한다.
라벨링 작업은 스위치단/서버단에 각각 진행하였다. 이 작업을 수행해 준 두 팀원들에게 감사의 말을 남긴다.
[그림 5. 코어 스위치 광케이블 포설 완료]
코어 스위치쪽의 작업이 끝났으니, 이제 개별 랙을 대상으로 패치 패널 작업을 진행해야 한다.
패치 패널은 케이블을 커넥터에 탈착하는 과정에서 간선 케이블이 손상되는 것을 막기 위해, 케이블을 한 번 종단해 주는 역할을 한다.
광 케이블의 경우에도 전용 패치 패널이 있으며, 사용할 파이버와 커넥터의 종류에 맞춰서 구매해야 한다.
나는 FS사의 OS-2 전용 패치 패널을 구매했고, 각각 최대 48포트 / 24포트를 수용할 수 있다.
[그림 6. 광 패치패널 설치]
위와 같이 RJ-45 연선을 제거하고, 광 패치 패널을 설치하였다.
이제 매니지먼트 스위치와 서버 사이의 RJ-45 UTP 케이블을 다시 연결해야 한다.
[그림 7. RJ-45 UTP 케이블 재결선]
새로 작성한 포트 맵에 맞춰 매니지먼트 스위치와 서버 사이에 케이블들을 연결한다.
RJ-45 UTP 케이블에도 마찬가지로 라벨링을 진행했으며, 랩 전체의 라벨링 작업에는 셀프 라미네이팅 라벨을 사용했다.
[그림 8. 셀프 라미네이팅 라벨 예시]
셀프 라미네이팅 라벨의 경우, 라벨을 케이블에 부착한 뒤 플라스틱 수지로 된 보호용 층을 한 바퀴 두르도록 되어 있는데, 이를 통해 라벨 프린트의 물리적/화학적 손상을 방지할 수 있으며, 보호 층의 접착제가 라벨을 한번 더 고정시켜 줌으로써 서버 후면의 열기를 받더라도 라벨이 들뜨지 않게 하는 역할을 한다.
이렇게 라벨을 부착한 뒤 한 바퀴 더 감는 방식이 아니라, 라미네이트 층이 라벨 자체에 존재하는 경우에는 케이블이 열을 받게 되면 부착된 라벨이 접착력을 잃고 떨어져 나가는 일이 생길 수 있기에 주의를 기울여야 한다.
[그림 9. 랙 케이블링 완료]
케이블 연결과 라벨링 작업을 마치면, 이제 25/100GbE 네트워크를 사용하기 위한 하드웨어적인 작업은 모두 마무리 된 것이다.
...라고 생각했을 때가 있었다.
하지만 실장이 완료되고, 검증을 위해 장비들의 전원을 올리자 문제가 발생했다.
일부 포트들의 연결이 Flapping을 일으킨 것이다.
[그림 10. 포트 플래핑 로그]
Arista 스위치의 경우, 이러한 문제가 발생했을 때 에러의 원인을 보다 파악하기 쉽도록 PHY/MAC 레이어의 진단 정보를 확인할 수 있는 명령어를 제공한다.
가장 많은 플래핑이 발생한 Ethernet 3/8/1을 기준으로 원인 파악을 위한 분석을 진행한다.
[그림 11. Ethernet 3/8/1 Phy Layer detail status]
콘솔에show interface ethernet 3/8/1 phy detail
을 입력하면 위와 같은 화면이 나타난다.
이를 통해서 해당 인터페이스가 현재 Up 상태이며, RX Local Fault, RX Remote Fault가 모두 발생한 것을 알 수 있다.
[그림 12. Ethernet 3/2/1 Phy Layer detail status]
해당 출력을 정상 포트와 비교하면 차이가 명확하게 드러난다. 다수의 FEC 에러가 확인되며, FEC 코드워드의 정정에 실패한 경우도 13회나 된다.
트랜시버의 불량일까? 우선은 아리스타 스위치단 트랜시버의 Tx 출력을 확인해 본다.
[그림 13. Ethernet 3/8/1 트랜시버 출력 모니터링]
Tx 출력과 Rx 출력 모두 정상 범위에 들어간다. 양 쪽 다 링크를 확립한 상태이며, 트랜시버의 출력에는 문제가 없다는 것을 의미하는 값이다.
검증을 위해 서버단 NIC의 진단 정보를 확인해 보았다.
[그림 14. Mlxlink 트랜시버 출력 모니터링]
Rx/Tx 모두 -2~0dBm으로 정상 범위인 것을 확인할 수 있다.
다시 말해서, 트랜시버의 발광부와 수광부의 동작에는 둘 다 이상이 없다. 이것이 트랜시버 불량의 가능성을 완전히 제거해 주는 것은 아니지만, 트랜시버의 전기적 불량 가능성은 우선 배제해도 좋을 것 같다.
따라서, 광 케이블 트러블슈팅의 가장 기본인 케이블 접점 청소를 진행하였다.
[그림 15. 포트 플래핑 증상 재현]
하지만, 케이블 접점 청소 이후에도 증상은 계속 재발하였고, 패치와 번치 케이블을 제거한 직결 링크에서도 동일 증상이 재현되는 것을 확인하였다.
즉, 트랜시버 광학부의 오염 문제일 가능성이 제일 높은 상황이 되었다.
하지만, 현재 서버실에는 트랜시버의 광학부 오염을 확인하고 제거할 수 있는 도구가 없는 상황이다. 우선 장애의 원인이 트랜시버에 있다는 것을 확인하였으므로, 예비용으로 보관중이었던 트랜시버와 장애를 일으킨 트랜시버를 교체하여 해당 문제를 해결하였다.
이슈가 발생한 포트가 총 8개인데 반해, 현재 스페어로 보유중인 트랜시버는 6개이므로, 추가 주문한 20개의 트랜시버가 도착하기 전까지는 전체 트랜시버를 교체할 수 없었다. 그래서 우선적으로 잦은 장애를 일으킨 1번, 3번, 5번, 6번, 8번을 대상으로 서버단 트랜시버 교체 작업을 진행하였다.
근본적인 원인 해결을 위해서는 Optical Fiber inspector와 세척 도구가 필요한 상황이기에, 현재 해당 장비들을 임대할 수 있는 곳을 수배중이다.
전체 랩 시스템의 브링업과 안정화에는 조금 더 시간이 필요할 것 같다 :)