1. 개요
하드디스크의 read, wirte IOPS 및 bandwidth를 테스트를 할 수 있는 FIO 명령어를 사용하여 HDD, SSD과 같은 저장장치의 성능 측정을 진행한다.
이는 기존의 경우 쉘스크립트로 진행이 되었지만, 다음과 같은 단점 때문에 ansible로 구성하려 한다.
기존 동작방식
- ssh 접속
- putty 등을 사용해 fio 명령어 실행
- IOPS 값 grep 후 복사
- Excel로 붙혀넣기
단점(개선 필요점)
- 동시 동작을 진행시킬 수 없어 명확한 성능 측정을 진행할 수 없음 (Random read, write / Sequential read, write)
-> Ansible은 하나의 task가 종료시 까지 기다린 후 다음 task를 동시 진행
- 성능 테스트(fio)를 진행 후 Client 별로 접속하여 결과값을 일일이 도출해내야함
-> 결과값에서 필요 부분을 가져와 Fetch 모듈
로 Server로 일괄 전송
► Ansible Disk 성능 테스트를 Ansible로 구성하여 기능 테스트 진행
2. DISK fio-test 진행 과정

Client 디렉토리 구성
- output: iodep Random R/W, Sequential R/W 결과값 결과값들 저장
- result: /output 디렉토리에서 확인할 특정 결과값 저장 - output에서 grep 한 값 저장
- tmp: 마운트할 디렉토리 경로
Playbook 진행도
apt update
fio 설치
Iodepth 별 Random/Sequential R/W
IOPS 값 정제 후 nodename.txt으로 저장
client에서 server로 파일 전송
playbook 설명

3. 결과(개선 필요점 해결)
<동시 동작 확인>


- 동시 동작을 함으로써 동일한 시간(트레픽)에서 fio test를 진행 가능
<output 디렉토리>

<필요 IOPS 값를 서버로 일괄 전송>

필요한 값만을 서버로 일괄 전송
4. 결론
<Ansible을 사용한 fio test 자동화 진행 전>
- 일일이 ssh연결 시도
- 클라이언트에
일일이 접속
하여 성능 측정값 grep 및 data 복사/붙혀넣기 진행
- 개별 진행으로 동일한 조건에서 테스트 불가능
<Ansible을 사용한 fio test 자동화 진행 후>
- host ip 기술하여 ssh 개별 연결 불필요
- server로 필요한 성능 측정값 일괄 전송
- 동시 동작을 하기 때문에 동일한 조건에서 테스트 진행 가능
--> Ansibl을 사용하여 개선 필요점 해결 가능