본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 06. 25. 03:36

NVIDIA의 AI 스토리지 AIStore와 Splunk Observability Cloud로 구현하는 고성능 스토리지 운용

요약

NVIDIA의 오픈소스 분산 오브젝트 스토리지인 AIStore의 개념과 사용법을 소개합니다. AI 학습 효율을 높이기 위한 데이터 로딩 가속화 방법과 aisloader를 이용한 부하 테스트, Splunk를 활용한 모니터링 과정을 다룹니다.

핵심 포인트

  • AIStore는 AI/ML 워크로드 가속을 위해 설계된 고성능 분산 오브젝트 스토리지임
  • S3 호환성을 지원하며 GPU 컴퓨팅 리소스와 연계하여 높은 병렬 성능 제공
  • ais 명령어를 통해 버킷 생성 및 데이터 입출력이 간편하게 가능함
  • aisloader 도구를 활용하여 스토리지의 스루풋과 레이턴시를 쉽게 측정 가능

서론

AI 학습을 실행하는 중에 "GPU 사용률이 올라가지 않는다", "데이터 로딩 대기 시간 때문에 학습 시간이 길어지고 있다"와 같은 고민에 직면한 적이 없으신가요?

AI 학습에 있어 데이터셋에 대한 액세스 속도는 학습 효율을 좌우하는 요인 중 하나입니다.

여기서 주목해야 할 것이 AIStore입니다. "AIStore?"라고 생각하시는 분들도 많겠지만, 이는 AI/ML 워크로드(Workload)를 가속화하기 위해 NVIDIA가 설계하고 OSS(Open Source Software)로 공개한 분산 오브젝트 스토리지(Distributed Object Storage)입니다.

본 기사에서는 AIStore의 기초부터 실전적인 부하 테스트, 그리고 Splunk Observability Cloud를 활용한 AIStore의 메트릭(Metric) 수집까지 소개합니다.

1. AIStore (AIS)란 무엇인가?

AIStore는 AI 워크로드에 특화되어 설계된 확장 가능한 분산 오브젝트 스토리지입니다. 단순한 스토리지가 아니라, 컴퓨팅 리소스와 연계하여 데이터를 고속으로 제공하는 능력을 갖추고 있습니다.

높은 병렬 성능: 컴퓨트 노드와 스토리지가 연계되어 GPU 등의 컴퓨팅 리소스를 최대한 활용 -
S3 호환성: 기존의 S3 도구를 그대로 이용 가능 -
경량성: 배포가 용이하면서도 대규모 데이터셋을 다루기 위한 기능

먼저, 현재 가동 중인 클러스터(Cluster)의 상태를 확인해 보겠습니다.

user01@precision01:~/data/otel$ ais show cluster
PROXY MEM USED(%) MEM AVAIL SYS CPU(%) UPTIME STATUS
p[IksgpvZF][P] 0.20% 23.93GiB 0% 6h4m40s online
...

출력을 통해 현재 1개의 프록시(Proxy)와 1개의 타겟(Target)이 가동 중이며, 클러스터가 "online" 상태임을 알 수 있습니다. 현재의 사용 용량 및 가용성도 파악할 수 있습니다.

2. AIStore 기본 조작: 버킷 생성 및 데이터 입력

AIStore의 조작은 복잡하지 않기 때문에 금방 익숙해질 수 있습니다.

버킷 생성

ais create 명령어로 새로운 버킷(Bucket)을 생성합니다.

$ ais create ais://my-bucket
"ais://my-bucket" created

파일 PUT

생성한 버킷으로 로컬 파일을 업로드합니다.

$ ais put ./sample.txt ais://my-bucket/test.txt
PUT "/home/user01/data/otel/sample.txt" => ais://my-bucket/test.txt

이와 같이 심플한 명령어로 데이터를 저장할 수 있으며, ais ls 명령어로 저장된 데이터를 확인할 수 있습니다.

$ ais ls ais://my-bucket
NAME SIZE
test.txt 14B

3. aisloader를 이용한 부하 테스트

AIStore에는 표준으로 aisloader 도구가 부속되어 있어, 간단하게 스루풋(Throughput)을 측정할 수 있습니다. 다음 명령은 4개의 워커(Worker)를 사용하여 2분(120초) 동안 PUT 부하를 가했을 때의 실행 예시입니다.

$ aisloader -bucket=ais://mybucket -duration=120s -numworkers=4 -pctput=100 -cleanup=false
==== COMMAND LINE ARGUMENTS ====
=========== DEFAULTS ===========
...

테스트를 실행하면 실시간으로 스루풋과 레이턴시(Latency)가 콘솔에 표시됩니다.

실행 결과 (발췌):

평균 스루풋: 약 445.11 MiB/s

총 전송량: 54.9 GiB

평균 레이턴시: 4.069s

수치 측정은 시스템 구성이 최적인지를 판단하는 중요한 자료가 됩니다.

4. Splunk Observability Cloud로의 메트릭 전송

AIStore의 퍼포먼스 수치를 지속적으로 모니터링하기 위해서는 메트릭을 외부 시스템으로 통합하여 관리할 수 있어야 합니다. 이번에는 Splunk OpenTelemetry Collector를 이용하여 Splunk Observability Cloud로 데이터를 전송하는 설정을 진행했습니다.

otel-config.yml 구성

AIStore의 Prometheus 메트릭 (Metrics)을 수집하여 Splunk로 전송하기 위한 설정 파일입니다.

receivers:
prometheus:
config:
...

Target 설정에서 AIStore의 Proxy(localhost:51080)와 Target(localhost:51081)을 지정하여, 각 노드로부터 Prometheus 형식으로 메트릭을 수집하고 Splunk로 전송하는 파이프라인을 구축할 수 있습니다.

AIStore 메트릭 (Metrics)

AIStore의 표준 메트릭은 Proxy와 Target을 합쳐 총 62개가 준비되어 있습니다.

이 중에서 운영에 필요한 메트릭을 선택하여 Splunk Observability Cloud에서 대시보드화하여 사용할 수 있습니다.

표준으로 많은 메트릭이 준비되어 있지만, 주요 메트릭을 소개합니다.

평균 레이턴시 (Average Latency) (ais_target_get_ns_total, ais_target_put_ns_total)

읽기 또는 쓰기 응답 시간을 밀리초(ms) 단위로 산출

평균 처리량 (Average Throughput) (ais_target_get_ns_total, ais_target_put_ns_total)

초당 전송 바이트 수(MB/s)를 모니터링

디스크 사용률 (Disk Utilization)

각 디스크의 I/O 포화 상태를 모니터링

이 외에도 데이터 전송 에러 카운터나 데이터 리밸런싱 (Rebalancing) 관련 메트릭 등 스토리지 운영에 필요한 값들을 가져올 수 있습니다.

요약

AI 인프라를 구축할 때, 구축하는 것만으로 끝내버리면 추후 트러블슈팅 (Troubleshooting) 조사에 막대한 시간을 소비하게 됩니다. AIStore와 Observability 플랫폼을 결합하여 "지금 스토리지에서 어떤 일이 일어나고 있는가"를 정확하게 파악할 수 있는 환경을 갖춤으로써, 안정적인 AI 개발 기반을 구축하는 것이 가능해집니다.

※ 본 기사는 개인의 자택 환경에서 테스트한 검증 기록입니다. 업무에서 다루는 특정 제품이나 솔루션을 권장하는 것이 아니며, 기술적인 흥미에 기반한 결과로 참고해 주시기 바랍니다. 또한 내용은 개인의 검증 및 의견을 바탕으로 하며, 소속 조직의 견해를 대표하지 않습니다.

Discussion

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0