반응형

MLOps/MinIO 8

MinIO 서버 자동 재시작 및 S3 Browser를 이용한 파일 전송

오늘은 MinIO 서버를 Cronjob을 이용하여 재시작 하는 내용과 S3 Browser를 이용한 파일 다운로드/업로드 하는 작업에 대해 다뤄보고자 합니다. 왜 이 주제를 다루게 되었는지는 본문에서 설명하도록 하겠습니다.MinIO 서버 재시작  앞서서 여러 부하테스트(벤치마크, 실사용 테스트 등)을 진행하니 메모리 점유율이 2~3GB 단위를 넘어가는 상황이 발생했습니다. 늘어난 메모리는 다시 줄어들지 않았는데, 앞서 말씀드렸다시피 K8S 클러스터들은 MinIO 서비스 뿐만 아니라 다른 일들(대부분 ML)도 처리를 해야 하는데요, 이러한 상황에서 메모리를 많이 점유하고 있기엔 부담스러웠습니다. ( 최소 32GB의 메모리를 요구하는걸 보면 못해도 절반은 사용할 것으로 예상했습니다. )  따라서 사람들이 자주..

MLOps/MinIO 2024.08.06

MinIO Client with Python

지금까지 진행한 MinIO 설치과정은 모두 Python에서 사용하기 위해서 였습니다.Python에서 업로드와 다운로드를 수행하는 코드를 마지막으로 마무리하고자 합니다.warp을 이용한 부하테스트(벤치마크)가 아니라 실제 파일을 가지고 업로드 테스트를 했을때는 속도가 생각만큼 나오진 않았다. *이전 업로드 테스트에서 학습데이터 낱개파일을 모두 올리는건 시간이 너무 오래 걸려 압축 파일로 관리하기로 약속했다.현재 서버 구성은 500Mbps로 추정되는 3대 서버와 2대의 100Mbps 서버로 구성되어 있다. 이전글에서 언급했듯, 물리적 거리 또한 떨어져 있는데, 이번에는 NginX에서 리버스 프록시를 2대의 서버를 제외하고 로드밸런싱 하도록 수정하고 동일 테스트를 수행했다. minio.conf: | u..

MLOps/MinIO 2024.07.17

MinIO 부하 테스트 with NginX

2024.07.09 - [MLOps/MinIO] - MinIO MNMD on Kubernetes with Prometheus MinIO MNMD on Kubernetes with Prometheus이번에는 Distributed Mode MinIO(MNMD)를 구성한 방법에 대해 작성하고자 합니다.기존에는 3개 서버 정도에 5개의 디스크를 사용하려 했으나, 계획을 변경하여 여러 서버들을 모아 7개 서버에 10개의 디ainotes.tistory.com이 글에서 부하 분산에 걱정을 남기며 마무리 했었습니다.임의로 부하를 테스트할 수 있는 방법을 찾아보니, MinIO에서 warp라는 테스트 도구를 제공하고 있어, 이 도구를 사용하여 부하 테스트를 진행했습니다.Warp 설치MinIO 부하 테스트를 위한 warp ..

MLOps/MinIO 2024.07.16

MinIO MNMD on Kubernetes with Prometheus

이번에는 Distributed Mode MinIO(MNMD)를 구성한 방법에 대해 작성하고자 합니다.기존에는 3개 서버 정도에 5개의 디스크를 사용하려 했으나, 계획을 변경하여 여러 서버들을 모아 7개 서버에 10개의 디스크를 확보하고, 최종적으로 5개 노드에 10개의 디스크(1.65T씩 사용)를 띄우는 것으로 완료했습니다.규모가 커지게된 배경에는 이전 SNSD에서는 1 SSD / 1 HDD 였기때문에 HDD에 들어있는 데이터를 가져오게되면 시간이 오래 걸렸지만(최대 4 Mb/s), 여러개의 HDD를 붙인다면 데이터를 분산해서 가져오기 때문에 HDD의 한계를 어느정도 극복할 수 있을 것이라 생각했습니다. ( 실제로 최소 7~8 Mb/s는 확보하게 되었습니다. )디스크 드라이브 세팅7개의 서버는 1개 디스..

MLOps/MinIO 2024.07.09

Minio SNSD on Kubernetes (2/2)

2024.07.04 - [MLOps/MinIO] - Minio SNSD on Kubernetes (1/2) Minio SNSD on Kubernetes (1/2)2024.07.01 - [MLOps/Kubernetes] - 쿠버네티스 실행 쿠버네티스 실행2024.06.17 - [MLOps/Kubernetes] - 쿠버네티스 개요 및 설치 쿠버네티스 개요 및 설치MinIO 서버를 구성하면서 최소 3개의 서버를 사용하게 될ainotes.tistory.com이전 글에 이어, File Server는 Web UI에서 사용하는 것을 가정했기 때문에 속도(10Mb/s 이상)가 중요했습니다. 이번에는 SNSD 설치 과정에서 겪은 시행착오에 대해 작성하고 SNSD(File Server)는 마무리 하도록 하겠습니다. 데이터..

MLOps/MinIO 2024.07.08

Minio SNSD on Kubernetes (1/2)

2024.07.01 - [MLOps/Kubernetes] - 쿠버네티스 실행 쿠버네티스 실행2024.06.17 - [MLOps/Kubernetes] - 쿠버네티스 개요 및 설치 쿠버네티스 개요 및 설치MinIO 서버를 구성하면서 최소 3개의 서버를 사용하게 될 예정인데, 향후 확장 및 관리의 편리성을 위해 쿠버네티스를ainotes.tistory.com 쿠버네티스 실행에 이어, 이번에는 쿠버네티스 위에 SNSD (앞서 말한 File Server) 를 올렸던 작업에 대해 설명하려고 합니다. 이전글에서는 MNMD를 구현한다고 했으나, 속도 이슈가 있어서 SNSD 두 개를 구현하는 것으로 마무리 했습니다. 자세한 내용은 차근차근 풀어가도록 하겠습니다.용어 정리File Server : 문서 / 비교적 가벼운 단일..

MLOps/MinIO 2024.07.04

MinIO 개요

" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 팀내에서 사용하는 데이터 양이 많아지면서 개별 관리의 어려움과 중복 데이터 발생 등으로 인하여 데이터 인프라의 필요성을 느끼고, 구축하는 과정을 적어보고자 합니다.데이터 인프라를 구성하는데 쉬운 방법 중 하나는 Amazon S3를 선택하는것 이겠지만, 지속적인 비용 지출의 어려움이 있어, Amazon S3 클라우드 스토리지 서비스와 완벽하게 호환되는 MinIO를 선택하게 되었습니다.MinIO 선택 이유AWS S3 API와 호환되기 때문에 마이그레이션이 쉬움WebUI를 통하여 쉽게 업로드와 다운로드가 가능 ( NAS와 비슷하게 사용할 수 있음 )FS(File System)과 EC(Erasure Code) 두가지 모드 제공FS를 이..

MLOps/MinIO 2024.06.10
반응형