웹사이트 검색

Debian 11에 MinIO 개체 스토리지 서버를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. Minio 서버 설치
  3. Minio 스토리지용 파티션 생성
  4. Minio 구성
  5. Minio 대시보드 액세스
  6. 결론

Minio는 인기 있는 오픈 소스 자체 호스팅 Amazon S3 호환 객체 스토리지 서버로 Go로 작성되었습니다. 개체 스토리지 서버에 대한 더 많은 제어가 필요한 경우 AWS S3에 대한 매우 유용한 대안입니다. 사진, 비디오, 로그 파일, 백업 및 컨테이너/VM 이미지를 저장할 수 있습니다. 명령줄 클라이언트, 브라우저 인터페이스를 제공하고 AMQP도 지원합니다. 지속적인 데이터 복제를 위해 대규모 배포에서 Minio를 사용할 수 있습니다.

이 기사에서는 Debian 11에 Minio 서버를 설치하는 방법을 보여줍니다.

전제 조건

  • Debian 11을 실행하는 서버.\n
  • 루트 암호는 서버에서 구성됩니다.\n

미니오 서버 설치

먼저 다음 명령을 사용하여 최신 버전의 Minio 바이너리를 다운로드합니다.

wget https://dl.min.io/server/minio/release/linux-amd64/minio

다음으로 실행 권한을 부여하고 Minio 바이너리를 시스템 경로로 이동합니다.

chmod +x minio
mv minio /usr/local/bin/

다음으로 다음 명령을 사용하여 Minio 전용 사용자를 생성합니다.

useradd -r minio -s /sbin/nologin

다음으로 Minio 바이너리의 소유권을 minio 사용자로 변경합니다.

chown minio:minio /usr/local/bin/minio

다음으로 다음 명령을 사용하여 설치된 Minio 버전을 확인합니다.

minio --version

다음과 같은 결과가 표시됩니다.

minio version RELEASE.2022-02-26T02-54-46Z

Minio 스토리지용 파티션 생성

다음으로 별도의 디스크에 GPT 파티션을 생성해야 합니다. 먼저 다음 명령을 사용하여 연결된 모든 하드 드라이브를 나열합니다.

fdisk -l

다음 출력에 연결된 모든 하드 드라이브가 표시되어야 합니다.

Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: QEMU HARDDISK   
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x7d36ef95

Device     Boot Start       End   Sectors Size Id Type
/dev/sda1        2048 104855552 104853505  50G 83 Linux


Disk /dev/sdb: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk model: Volume          
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

다음으로 다음 명령을 사용하여 /dev/sdb 디스크에 GPT 파티션을 만듭니다.

parted -s -a optimal -- /dev/sdb mklabel gpt
parted -s -a optimal -- /dev/sdb mkpart primary 0% 100%
parted -s -- /dev/sdb align-check optimal 1

그런 다음 다음 명령을 사용하여 파티션을 포맷합니다.

mkfs.ext4 /dev/sdb1

다음과 같은 결과가 표시됩니다.

mke2fs 1.46.2 (28-Feb-2021)
Discarding device blocks: done                            
Creating filesystem with 13106688 4k blocks and 3276800 inodes
Filesystem UUID: bd18a11d-a9d9-44a2-a381-f30ba0798661
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done   

다음으로 Minio 디스크의 마운트 지점을 만듭니다.

mkdir /mnt/minio

그런 다음 /etc/fstab 파일에 항목을 추가하여 마운트 지점에 파티션을 마운트합니다.

nano /etc/fstab

다음 줄을 추가합니다.

/dev/sdb1 /mnt/minio ext4 rw 0 0

파일을 저장하고 닫은 후 다음 명령을 사용하여 파티션을 마운트합니다.

mount -a

그런 다음 다음 명령을 사용하여 마운트된 디스크를 확인합니다.

df -h

다음 출력이 표시되어야 합니다.

Filesystem      Size  Used Avail Use% Mounted on
udev            976M     0  976M   0% /dev
tmpfs           199M  388K  198M   1% /run
/dev/sda1        50G  1.6G   46G   4% /
tmpfs           992M     0  992M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           199M     0  199M   0% /run/user/0
/dev/sdb1        49G   24K   47G   1% /mnt/minio

다음으로 Minio 마운트의 소유권을 minio로 변경합니다.

chown minio:minio /mnt/minio

Minio 구성

다음으로 다음 명령을 사용하여 Minio 구성 디렉토리를 만듭니다.

mkdir /etc/minio

다음으로 Minio 구성 디렉토리의 소유권을 변경합니다.

chown minio:minio /etc/minio

다음으로 Minio 구성 파일을 만듭니다.

nano /etc/default/minio

다음 줄을 추가합니다.

MINIO_ACCESS_KEY="minioaccesskey"
MINIO_VOLUMES="/mnt/minio"
MINIO_OPTS="-C /etc/minio --address 0.0.0.0:9000"
MINIO_SECRET_KEY="miniosecretkey"

파일을 저장하고 닫은 후 다음 명령을 사용하여 Minio 서비스 파일을 다운로드합니다.

wget https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service

다음으로 다음 명령을 사용하여 Minio 서비스 파일을 편집합니다.

nano minio.service

아래와 같이 파일을 변경합니다.

[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]
WorkingDirectory=/usr/local/

User=minio
Group=minio
ProtectProc=invisible

EnvironmentFile=/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES

# Let systemd restart this service always
Restart=always

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=1048576

# Specifies the maximum number of threads this process can create
TasksMax=infinity

# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

파일을 저장하고 닫은 다음 Minio 서비스 파일을 /etc/systemd/system/에 복사합니다.

mv minio.service /etc/systemd/system/

다음으로 systemd 데몬을 다시 로드하여 변경 사항을 적용합니다.

systemctl daemon-reload

다음으로 다음 명령을 사용하여 Minio 서비스를 시작하고 활성화합니다.

systemctl start minio
systemctl enable minio

다음으로 다음 명령을 사용하여 Minio 서비스를 확인합니다.

systemctl status minio

다음 출력이 표시되어야 합니다.

? minio.service - MinIO
     Loaded: loaded (/etc/systemd/system/minio.service; disabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-02-28 02:18:31 UTC; 4s ago
       Docs: https://docs.min.io
    Process: 861 ExecStartPre=/bin/bash -c if [ -z "${MINIO_VOLUMES}" ]; then echo "Variable MINIO_VOLUMES not set in /etc/default/minio"; ex>
   Main PID: 862 (minio)
      Tasks: 7
     Memory: 55.2M
        CPU: 759ms
     CGroup: /system.slice/minio.service
             ??862 /usr/local/bin/minio server -C /etc/minio --address 0.0.0.0:9000 /mnt/minio

Feb 28 02:18:31 debian11 systemd[1]: Starting MinIO...
Feb 28 02:18:31 debian11 systemd[1]: Started MinIO.
Feb 28 02:18:32 debian11 minio[862]: WARNING: MINIO_ACCESS_KEY and MINIO_SECRET_KEY are deprecated.
Feb 28 02:18:32 debian11 minio[862]:          Please use MINIO_ROOT_USER and MINIO_ROOT_PASSWORD
Feb 28 02:18:32 debian11 minio[862]: API: http://0.0.0.0:9000
Feb 28 02:18:32 debian11 minio[862]: Console: http://209.208.97.78:42459 http://127.0.0.1:42459
Feb 28 02:18:32 debian11 minio[862]: Documentation: https://docs.min.io
Feb 28 02:18:32 debian11 minio[862]: WARNING: Console endpoint is listening on a dynamic port (42459), please use --console-address ":PORT" t>

Minio 대시보드에 액세스

이제 웹 브라우저를 열고 URL http://your-server-ip:9000을 사용하여 Minio 웹 인터페이스에 액세스하십시오. Minio 로그인 페이지로 리디렉션됩니다.

그런 다음 구성 파일의 액세스 키와 개인 키를 사용자 이름과 암호로 사용한 다음 로그인 버튼을 클릭합니다. 다음 페이지에 Minio 대시보드가 표시되어야 합니다.

버킷 생성 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

버킷 이름을 입력하고 Create Bucket 버튼을 클릭합니다. 다음 페이지가 표시됩니다.

여기에서 웹 브라우저에서 파일을 업로드하고 다운로드할 수 있습니다.

모니터링 => 메트릭 버튼을 클릭합니다. 다음 페이지에서 버킷 지표를 확인해야 합니다.

로그 버튼을 클릭합니다. 다음 페이지에 Minio 서버 로그가 표시되어야 합니다.

결론

축하합니다! Debian 11에 Minio 스토리지 서버를 성공적으로 설치했습니다. 이제 AWS S3 스토리지에 의존할 필요가 없습니다. 조직을 위한 자체 S3 호환 스토리지 서버를 생성할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.