2.2. etcd에 대한 하드웨어 검증
OpenShift Container Platform 클러스터를 생성하기 전이나 후에 etcd에 대한 하드웨어를 검증하려면 fio를 사용할 수 있습니다.
사전 요구 사항
- Podman이나 Docker와 같은 컨테이너 런타임은 테스트 중인 머신에 설치됩니다.
-
데이터는
/var/lib/etcd경로에 기록됩니다.
프로세스
Fio를 실행하고 결과를 분석합니다.
Podman을 사용하는 경우 다음 명령을 실행하세요.
sudo podman run --volume /var/lib/etcd:/var/lib/etcd:Z quay.io/cloud-bulldozer/etcd-perf
$ sudo podman run --volume /var/lib/etcd:/var/lib/etcd:Z quay.io/cloud-bulldozer/etcd-perfCopy to Clipboard Copied! Toggle word wrap Toggle overflow Docker를 사용하는 경우 다음 명령을 실행하세요.
sudo docker run --volume /var/lib/etcd:/var/lib/etcd:Z quay.io/cloud-bulldozer/etcd-perf
$ sudo docker run --volume /var/lib/etcd:/var/lib/etcd:Z quay.io/cloud-bulldozer/etcd-perfCopy to Clipboard Copied! Toggle word wrap Toggle overflow
실행에서 캡처된 fsync 지표의 99번째 백분위수를 비교한 후 속도가 10ms 미만인지를 확인하여 디스크 속도가 etcd를 호스팅하는 데 충분한지 여부가 출력에 표시됩니다. I/O 성능에 영향을 받을 수 있는 가장 중요한 etcd 메트릭은 다음과 같습니다.
-
etcd_disk_wal_fsync_duration_seconds_bucket메트릭은 etcd의 WAL fsync 기간을 보고합니다. -
etcd_disk_backend_commit_duration_seconds_bucket메트릭은 etcd 백엔드 커밋 대기 시간을 보고합니다. -
etcd_server_leader_changes_seen_total메트릭은 리더 변경 사항을 보고합니다.
etcd는 모든 멤버 간에 요청을 복제하므로 성능은 네트워크 입력/출력(IO) 대기 시간에 따라 달라집니다. 네트워크 지연 시간이 길어 지면 etcd 하트비트가 선택 시간 초과보다 오래 걸릴 수 있으며 이로 인해 리더 선택이 발생하여 클러스터가 손상될 수 있습니다. 배포된 OpenShift Container Platform 클러스터에서 모니터링되는 주요 메트릭은 각 etcd 클러스터 멤버에서 etcd 네트워크 피어 대기 시간의 99번째 백분위 수입니다. 이러한 메트릭을 추적하려면 Prometheus를 사용하십시오.
histogram_quantile(0.99, rate(etcd_network_peer_round_trip_time_seconds_bucket[2m])) 메트릭은 etcd가 멤버 간 클라이언트 요청 복제를 완료하는 데 걸리는 왕복 시간을 보고합니다. 50ms 이하인지 확인하세요.