쏘ing
perfSONAR Review 본문
1. 소개
perfSONAR는 성능 서비스 지향 네트워크 모니터링 아키텍처로 경로에 대한 연합 적용 범위를 제공하고 종단 간 사용 기대치를 설정하는 데 도움이 되도록 설계된 네트워크 측정 툴킷이다. 전 세계에 구축된 수천 개의 perfSONAR 인스턴스가 있으며, 이 중 다수는 네트워크 성능의 주요 측정값에 대한 공개 테스트에 사용할 수 있다.
perfSONAR는 글로벌 인프라에 문제가 발생할 때 이를 식별하고 격리하는 데 도움이 되므로 엔지니어링 팀이 네트워크 사용자를 지원하는 역할을 보다 쉽게 하고 네트워크 리소스를 활용할 때 생산성을 높일 수 있다. 측정 예약, 균일한 형식의 데이터 저장 및 데이터를 검색하고 시각화를 생성할 수 있는 확장 가능한 방법을 허용하는 통일된 인터페이스를 제공한다.
2. 사용 이유
세계적 수준의 과학협력을 위해서는 효율적이고 신뢰할 수 있는 데이터 교환이 필요하다. 과학 팀을 연결하는 네트워크는 많은 양의 데이터를 처리하고 이를 전 세계의 여러 네트워크에 전달해야 한다. 그러나 최종 사용자는 end to end 성능에만 관심을 두기에 네트워크의 성능이 저하되거나 오류가 발생하면 여러 네트워크에서 문제가 발생할 수 있으므로 문제의 원인을 파악하고 해결하기 어려울 수 있다.
로컬 테스트는 종종 네트워크 내의 어느 곳 혹은 여러 네트워크 간에 데이터 전송시 데이터 경로의 어느 곳에서든 오류가 발생할 수 있기 때문에 원인을 알 수 없다. 하드웨어적 고장은 상대적으로 감지하고 고치기가 쉽지만, 네트워크가 계속 작동하지만 성능이 저하된 소프트웨어의 고장은 몇 년 동안 감지되지 않을 수 있다.
바로 이 부분에서 perfSONAR가 필요한데, perfSONAR가 자동으로 네트워크를 테스트하고 모니터링하여 부진한 성능을 찾아낸다. perfSONAR는 네트워크 사용자와 운영자가 네트워크 성능 문제를 해결하고 관심 경로를 자동으로 모니터링하며 네트워크 성능에 대한 정보를 수집하고 보관할 수 있는 효율적인 방법을 제공한다. perfSONAR는 네트워크상의 위치와 발생 시간대를 기준으로 성능이 낮은 영역을 식별하고 이러한 문제 지점에 플래그를 지정한다.
3. 설지방법
https://wiki.kreonet.net/pages/viewpage.action?pageId=25986401
https://ask.cyberinfrastructure.org/t/perfsonar-install-guide-using-iso/1875
4. 구성도
용어 정리
- iperf
Iperf 는 네트워크 성능 측정 및 조정을 위한 도구로 모든 네트워크에 대해 표준화된 성능 측정을 생성할 수 있는 크로스 플랫폼 도구이다. Iperf에는 클라이언트 및 서버 기능이 있으며 데이터 스트림 을 생성하여 한 방향 또는 양방향으로 두 끝 사이의 처리량을 측정 할 수 있다.
- iperf3
iperf3는 단일 스레드이고 iperf2는 다중 스레드이다. Iperf3은 iperf2와 하위 호환되지 않는다.
- nuttcp
nuttcp는 네트워크 및 시스템 관리자가 사용하기 위한 네트워크 성능 측정 도구로 가장 기본적인 사용법은 상호 연결 네트워크를 통해 소스 시스템에서 대상 시스템으로 메모리 버퍼를 전송하여 원시 TCP(또는 UDP) 네트워크 계층 처리량을 결정하는 것이다. 달성된 네트워크 처리량을 Mbps로 보고하는 것 외에도 nuttcp는 송신기 및 수신기 CPU 사용률, 손실 비율(UDP 전송의 경우)과 같은 데이터 전송과 관련된 추가 정보를 제공한다.
- ping
Ping 은 IP 네트워크에서 호스트의 도달 가능성을 테스트하는 데 사용되는 컴퓨터 네트워크 관리 소프트웨어 유틸리티 이다. 대부분의 임베디드 네트워크 관리 소프트웨어를 포함하여 네트워킹 기능이 있는 거의 모든 운영 체제에서 사용할 수 있다.
- traceroute
traceroute는 컴퓨터 네트워크 진단 명령으로, IP 네트워크를 통해 패킷의 전송 지연을 측정하고 가능한 경로를 표시하기 위한 것이다. 경로의 기록은 경로=에 있는 각 연속 호스트(원격 노드)로부터 수신된 패킷의 왕복 시간으로 기록된다. 송신된 모든 패킷(보통 3개)이 두 번 이상 손실되지 않는 한 계속 진행되며, 그 후 연결이 끊어지면 경로를 평가할 수 없다.
- JSON
- JSON(JavaScript Object Notation) : 사람일 읽을 수 있는 텍스트를 사용해 데이터 개체 저장 및 전송하는 개방형 표준 파일 형식 및 데이터 교환 형식
- pSConfig 템플릿은 JSON 형식으로 지정
- pScheduler
- pScheduler는 여러 소스에서 pSConfig 템플릿을 읽고 pScheduler 작업 세트 생성
1. 템플릿 읽기 및 수정 : 구성된 템플릿을 읽고 선택적으로 로컬 수정 사항 적용
2. 생성할 pScheduler 작업 결정
3. pScheduler와 통신
pSchduler 설치
#CentOS
yum install perfsonar-psconfig-pscheduler
실행
# 시작
systemctl start psconfig-pscheduler-agent
# 중지
systemctl stop psconfig-pscheduler-agent
# 재시작
systemctl restart psconfig-pscheduler-agent
# 상태 확인
systemctl status psconfig-pscheduler-agent
템플릿 구성
# 원격
psconfig remote add "https://10.0.0.1/test.json"
# 로컬 1
psconfig remote add /path/to/template.json
# 로컬 2
cp /path/to/template.json /etc/perfsonar/psconfig/pscheduler.d/template.json
원격은 아카이브 무시가 기본, 아카이브 설정하려면
psconfig remote add --configure-archives "https://10.0.0.1/example.json"
agent에서 사용 중인 원격 템플릿 확인
psconfig remote list
템플릿 제거
psconfig remote delete "https://10.0.0.1/example.json"
- MaDDash
- pSConfig 템플릿을 읽고 MaDDash가 표시할 그리드 세트 생성
- MaDDash 구성 파일 : maddash.yaml
1. 구성된 템플릿 읽고 선택적으로 로컬 수정 사항 적용
2. 작업 표시 방법 결정
3. maddash.yaml 파일 생성
MaDDash 설치
# CentOS
yum install perfsonar-psconfig-maddash
실행
# 시작
systemctl start psconfig-maddash-agent
# 중지
systemctl stop psconfig-maddash-agent
# 재시작
systemctl restart psconfig-maddash-agent
# 상태 확인
systemctl status psconfig-maddash-agent
5. 맡은 일 + 그 부분 코드 설명
https://sso-ing.tistory.com/6?category=994578
perfSONAR 수동으로 성능 측정하기
순서 1. pSConfig에서 json 파일 수정 2. publish, remote add로 pScheduler에서 검사 3. 검사 결과 Esmod로 보내면 웹에서 확인 가능 cd /usr/share/doc/perfsonar/psconfig 예제 파일들 하나 복사해서 테스트..
sso-ing.tistory.com
https://sso-ing.tistory.com/21?category=994578
'KISTI 인턴' 카테고리의 다른 글
perfSONAR 자동 성능 측정 (0) | 2022.02.09 |
---|---|
KREONET 조사 (0) | 2022.02.08 |
홈페이지 개선점 (0) | 2022.02.08 |
해외 연구망 조사 (0) | 2022.02.08 |
perfSONAR 수동으로 성능 측정하기 (0) | 2022.02.07 |