분산 파일 시스템인 SeaweedFS는 대량의 작은 파일을 효율적으로 저장하도록 설계되었습니다. 고성능과 뛰어난 확장성을 자랑하는 이 시스템을 CentOS 운영체제에 설치하고 기본적인 설정을 완료하는 과정을 상세히 안내합니다.
시스템 준비
성공적인 SeaweedFS 설치를 위해 다음 준비 단계를 따르십시오.
- 시스템 요구사항 확인: CentOS 시스템이 SeaweedFS 운영에 필요한 최소한의 자원(최소 1GB RAM, 1GB 디스크 공간 권장)을 갖추고 있는지 확인합니다.
- 운영체제 업데이트: 시스템의 모든 패키지를 최신 상태로 유지하여 잠재적인 호환성 문제를 방지합니다.
- 필수 유틸리티 설치: 파일 다운로드(wget) 및 압축 해제(tar)를 위한 기본 도구를 설치합니다.
sudo yum update -y
sudo yum install wget tar -y
SeaweedFS 다운로드
SeaweedFS의 최신 버전은 공식 GitHub 릴리스 페이지에서 얻을 수 있습니다. 시스템 아키텍처(예: x86_64)에 맞는 .tar.gz 또는 .tar.xz 파일을 선택하여 다운로드합니다.
- SeaweedFS GitHub 릴리스 페이지를 방문합니다.
- 적절한 바이너리 패키지 링크를 복사한 후,
wget명령을 사용하여 다운로드합니다. 아래 예시에서RELEASE_TAG는 실제 버전 태그로 대체해야 합니다.
wget https://github.com/chrislusf/seaweedfs/releases/download/RELEASE_TAG/seaweedfs_linux_amd64.tar.gz
파일 압축 해제 및 설치
다운로드한 SeaweedFS 아카이브를 시스템의 적절한 위치에 압축 해제합니다.
- 다운로드한 파일을
/usr/local디렉토리와 같은 위치에 압축 해제합니다. - 이 명령을 실행하면
/usr/local경로 아래에weed라는 디렉토리가 생성되고, 그 안에 SeaweedFS 실행 파일들이 위치하게 됩니다.
sudo tar -xzvf seaweedfs_linux_amd64.tar.gz -C /usr/local/
SeaweedFS 설정 및 시작
이제 SeaweedFS를 구성하고 마스터 노드와 볼륨 서버를 시작할 차례입니다.
- 환경 변수 설정 (선택 사항): 어느 경로에서든 SeaweedFS 명령을 쉽게 실행할 수 있도록, 실행 파일 경로를 시스템의 PATH 환경 변수에 추가하는 것을 권장합니다.
/etc/profile또는~/.bashrc파일을 편집하여 다음 줄을 추가합니다. - 마스터 노드 시작: SeaweedFS의 마스터 노드는 파일 메타데이터를 관리하고 조율하는 핵심 역할을 합니다. 데이터 저장을 위한 작업 디렉토리를 생성한 후 마스터 노드를 실행합니다.
- 볼륨 서버 시작: 실제 파일 데이터를 저장할 볼륨 서버를 하나 이상 시작해야 합니다. 마스터 서버의 주소를 지정해야 합니다.
- 설치 확인: 별도의 터미널을 열고 SeaweedFS의 파일 업로드 도구를 사용하여 설치가 정상적으로 작동하는지 테스트할 수 있습니다.
export PATH=$PATH:/usr/local/weed/bin
변경사항을 적용하려면 다음 명령 중 하나를 실행합니다.
source /etc/profile
또는
source ~/.bashrc
mkdir -p /data/seaweedfs/master
/usr/local/weed/bin/weed master -mdir="/data/seaweedfs/master"
mkdir -p /data/seaweedfs/volumes
/usr/local/weed/bin/weed volume -dir="/data/seaweedfs/volumes" -max=0 -mserver="localhost:9333"
여기서 -max=0은 저장할 볼륨의 수에 제한을 두지 않음을 의미하며, -mserver는 마스터 서버의 주소를 지정합니다.
/usr/local/weed/bin/weed shell upload file_to_upload.txt
모든 설정이 올바르다면, 파일이 SeaweedFS에 성공적으로 업로드되고 해당 파일의 URL이 반환될 것입니다.
시스템 서비스 등록 (선택 사항)
SeaweedFS를 시스템 부팅 시 자동으로 시작되는 서비스로 등록하려면 systemd 서비스 유닛 파일을 작성해야 합니다. 이 과정은 특정 환경과 요구사항에 따라 세부적인 설정이 달라질 수 있습니다.
보안 및 네트워크 고려사항
운영 환경에서는 적절한 방화벽 규칙과 보안 대책을 적용하는 것이 필수적입니다. SeaweedFS가 기본적으로 사용하는 포트(예: 마스터 노드의 9333, 볼륨 서버의 8080)는 시스템 방화벽에서 외부 접속을 허용하도록 설정해야 할 수 있습니다.