MinIO 사용해 보기 – 자체 호스팅 S3 호환 고성능 개체 스토리지

서버에서 호스팅할 객체 스토리지 소프트웨어를 찾고 계십니까?

네?

AWS S3 및 여기서 언급한 다른 것과 같은 클라우드 기반 객체 스토리지가 많이 있습니다. 그러나 서버에서 데이터를 호스팅해야 하는 경우 MinIO가 데이터 센터 내에서 도움이 될 수 있습니다.

MiniIO 널리 사용되는 오픈 소스 분산 객체 스토리지 소프트웨어이며 S3와 호환됩니다. 엔터프라이즈급이며 고성능으로 잘 알려져 있습니다.

간단한 웹 애플리케이션에서 분석 및 기계 학습 애플리케이션을 위한 대규모 데이터 배포 워크로드에 이르기까지 MinIO를 사용할 수 있습니다. 많은 사용 사례에서 도움이 될 수 있습니다.

  • 표준 플랫 파일 스토리지
  • 다중 클라우드 데이터 배포
  • 재해 복구
  • 데이터 분석

부피가 큰 소프트웨어입니까?

아니요, 약 50MB 정도이며 Kubernetes에 친숙합니다. 데이터와 메타데이터를 객체로 작성합니다. 이는 메타데이터를 저장하고 성능을 향상시키기 위해 추가 데이터베이스 또는 소프트웨어에 대한 의존성을 제거합니다.

공식 사이트의 아래 아키텍처.

주목할 가치가 있는 몇 가지 기능을 살펴보겠습니다.

  • 고성능 – 제목 그대로입니다. ~170GB/s의 속도로 읽기/쓰기가 가능합니다. 많이!
  • 확장 가능 – 필요에 따라 클러스터링 및 확장 가능
  • 클라우드 네이티브
  • 삭제 코드 방식을 사용한 데이터 보호
  • AES-CBC, AES-256-GCM, ChaCha20을 포함한 다중 암호화 지원
  • 일반 KMS와 호환
  • 애플리케이션 및 사용자 ID
  • 이벤트 알림
  • etcd 및 CoreDNS를 사용한 페더레이션

MinIO는 소프트웨어 정의 스토리지에 적합한 선택입니다. 설정 방법에 대해 알아보겠습니다.

MiniIO 서버 설치

당신은 할 수 있습니다 설치 Linux, Windows, macOS 및 Kubernetes를 통해. 소스를 통한 구축을 선호하십니까? 물론 Golang이 설치되어 있으면 할 수 있습니다.

이 데모에서는 다음에서 호스팅되는 CentOS에 설치하겠습니다. 카마테라.

  • 서버에 로그인
  • 원하는 파일 시스템 아래에 폴더를 만듭니다. 어쩌면 미니오 서버
  • 새로 생성된 폴더로 이동하여 아래 wget 명령을 실행합니다.
wget https://dl.min.io/server/minio/release/linux-amd64/minio

바이너리 파일을 다운로드하고 다음과 같이 보일 것입니다.

-rw-r--r--  1 root root 48271360 Oct 18 21:57 minio

chmod 명령으로 파일을 실행 가능하게 만드십시오.

chmod 755 minio

MinIO를 서버로 시작합시다.

./minio server /data &

위에서 언급한 /data는 MinIO가 개체를 저장할 파일 시스템입니다.

  전체 크기 트위터 프로필 사진을 다운로드하는 방법

시작이 빠르고 아래와 같이 시작 정보가 표시되어야 합니다.

Endpoint:  http://xx.71.141.xx:9000 http://127.0.0.1:9000      
AccessKey: minioadmin 
SecretKey: minioadmin 

Browser Access:
   http://xx.71.141.xx:9000 http://127.0.0.1:9000      

Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide
   $ mc alias set myminio http://xx.71.141.xx:9000 minioadmin minioadmin

Object API (Amazon S3 compatible):
   Go:         https://docs.min.io/docs/golang-client-quickstart-guide
   Java:       https://docs.min.io/docs/java-client-quickstart-guide
   Python:     https://docs.min.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
   .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide
Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately using 'MINIO_ACCESS_KEY' and 'MINIO_SECRET_KEY'

기본 자격 증명으로 브라우저에서 MinIO에 액세스합시다 – minioadmin:minioadmin

인터페이스는 매우 깔끔하고 깨끗하지만 무엇보다 위험을 노출하므로 기본 자격 증명을 변경합시다. 브라우저가 아닌 환경 변수를 통해 관리자 자격 증명을 변경하는 옵션은 없습니다.

MinIO 기본 자격 증명을 변경하기 위해 아래와 같이 액세스 및 비밀 키를 내보내고 MinIO를 시작합니다.

export MINIO_ACCESS_KEY=koreantech.org
export MINIO_SECRET_KEY=geekpassword
./minio server /data &

이제 기본 자격 증명 감지 경고에 대해 불평해서는 안 됩니다.

일부 파일을 업로드해 보겠습니다.

  • 오른쪽 하단의 + 아이콘을 클릭하여 버킷을 생성합니다.
  • 테스트 파일을 업로드했고 브라우저에 즉시 표시됨

그리고, 서버에서

[[email protected] geekflare]# ls -ltr
total 4
-rw-r--r-- 1 root root 11 Oct 19 11:09 MinIO-Test.txt
[[email protected] geekflare]#

브라우저에서 파일 공유 버튼을 클릭하면 공유 가능한 링크와 만료 설정 옵션이 표시됩니다.

미니IO 클라이언트

MinIO 클라이언트는 스토리지를 관리할 수 있는 aws-cli 이상입니다. 클라이언트는 Windows, macOS 및 Linux에서 사용할 수 있습니다.

Linux에 설치하려면 다음을 실행하십시오.

wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod 755 mc

명령 도움말을 보려면 mc 명령을 실행하십시오.

[[email protected] ~]# ./mc
NAME:
  mc - MinIO Client for cloud storage and filesystems.

USAGE:
  mc [FLAGS] COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]

COMMANDS:
  alias      set, remove and list aliases in configuration file
  ls         list buckets and objects
  mb         make a bucket
  rb         remove a bucket
  cp         copy objects
  mirror     synchronize object(s) to a remote site
  cat        display object contents
  head       display first 'n' lines of an object
  pipe       stream STDIN to an object
  share      generate URL for temporary access to an object
  find       search for objects
  sql        run sql queries on objects
  stat       show object metadata
  mv         move objects
  tree       list buckets and objects in a tree format
  du         summarize disk usage recursively
  retention  set retention for object(s)
  legalhold  manage legal hold for object(s)
  diff       list differences in object name, size, and date between two buckets
  rm         remove objects
  version    manage bucket versioning
  ilm        manage bucket lifecycle
  encrypt    manage bucket encryption config
  event      manage object notifications
  watch      listen for object notification events
  undo       undo PUT/DELETE operations
  policy     manage anonymous access to buckets and objects
  tag        manage tags for bucket and object(s)
  replicate  configure server side bucket replication
  admin      manage MinIO servers
  update     update mc to latest release
  
GLOBAL FLAGS:
  --autocompletion              install auto-completion for your shell
  --config-dir value, -C value  path to configuration folder (default: "/root/.mc")
  --quiet, -q                   disable progress bar display
  --no-color                    disable color theme
  --json                        enable JSON lines formatted output
  --debug                       enable debug output
  --insecure                    disable SSL certificate verification
  --help, -h                    show help
  --version, -v                 print the version
  
TIP:
  Use 'mc --autocompletion' to enable shell autocompletion

VERSION:
  RELEASE.2020-10-03T02-54-56Z
[[email protected] ~]#

mc 명령어로 업로드한 파일을 나열해 봅시다.

  부모의 허가 없이 Family Link를 제거하는 방법

먼저 별칭을 관리하려는 스토리지로 설정해야 합니다.

[[email protected] ~]# ./mc alias set minio http://xx.71.141.xx:9000/ koreantech.org geekpassword
Added `minio` successfully.
[[email protected] ~]#
  • minio는 별칭 이름입니다. 원하는 대로 변경할 수 있습니다.
  • HTTP 끝점을 실제 끝점으로 변경
  • 귀하의 액세스 및 비밀 키 변경

그리고 나열하자면 아래와 같이 ls 명령을 사용합니다.

[[email protected] ~]# ./mc ls --recursive minio 
[2020-10-19 11:09:06 UTC]    11B koreantech.org/MinIO-Test.txt
[[email protected] ~]#

엄청난. 효과가있다!

말 그대로 클라이언트를 통해 모든 것을 할 수 있습니다. MinIO 클라우드 스토리지뿐만 아니라 GCS, AWS S3, Azure도 관리할 수 있습니다.

이것을 확인하십시오 클라이언트 빠른 시작 가이드 자세한 사항은.

미니IO SDK

애플리케이션 스택에 따라 SDK를 사용하여 프로그래밍 방식으로 객체 스토리지와 상호 작용할 수 있습니다. Go, Python, Node.js, .NET, Haskell 및 Java를 지원합니다.

미니IO 게이트웨이

MiniIO 게이트웨이를 S3, Azure, NAS, HDFS에 추가하여 MinIO 브라우저 및 디스크 캐싱을 활용합니다.

결론

프라이빗, 하이브리드 또는 다중 클라우드 개체 스토리지를 찾고 있다면 MinIO가 유망해 보입니다. 한 번 시도하면 사랑에 빠질 것입니다. 물건을 테스트하려면 다음을 얻을 수 있습니다. Kamatera의 MinIO VM 또는 클라우드 서버에 직접 설치하십시오.