웹사이트 검색

Rocky Linux에 GlusterFS를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. FQDN 및 /etc/hosts 설정
  3. 파티션 설정
  4. Rocky Linux용 GlusterFS 저장소 추가
  5. GlusterFS 서버 설치
  6. 방화벽이 있는 포트 열기\n
  7. GlusterFS 클러스터 초기화\n
  8. GlusterFS 볼륨 생성
  9. 클라이언트 시스템에 GlusterFS 볼륨 마운트
  10. 쓰기 액세스 및 고가용성 테스트
  11. 결론

GlusterFS 또는 Gluster 파일 시스템은 RedHat에서 개발한 무료 오픈 소스 분산 파일 시스템입니다. GlusterFS는 여러 서버에서 사용자가 GlusterFS 볼륨을 연결하고 마운트할 수 있는 하나의 엔티티 파일 시스템으로 구성된 확장 가능한 파일 시스템입니다.

GlusterFS는 페타바이트 규모의 데이터를 처리할 수 있고 설치 및 유지 관리가 쉬우며 파일 시스템 확장이 쉬운 최신 파일 시스템입니다.

이 자습서에서는 두 개의 Rocky Linux 시스템에 GlusterFS를 설치하고 두 서버 간에 클러스터링을 설정하는 방법을 배웁니다. 클라이언트 시스템에 GlusterFS 볼륨을 마운트하는 방법도 다룰 것입니다.

전제 조건

  • 각 서버에 추가 디스크가 있는 두 개의 Rocky Linux 서버.
  • 루트 암호는 두 서버 모두에서 구성됩니다.\n

FQDN 및 /etc/hosts 설정

시작하기 전에 각 서버에서 FQDN 및 /etc/hosts 파일을 설정해야 합니다.

다음은 GlusterFS 클러스터를 생성하는 데 사용할 자세한 서버입니다.

  • IP 주소가 192.168.10.15인 server1.localdomain.lan
  • IP 주소가 192.168.10.20인 server2.localdomain.lan

각 서버에서 FQDN을 설정하려면 아래의 hostnamectl 명령을 실행하십시오.

server1에서 아래의 hostnamectl 명령을 실행합니다.

sudo hostnamectl set-hostname server1.localdomain.lan

그리고 server2에서 다음 명령을 실행합니다.

sudo hostnamectl set-hostname server2.localdomain.lan

다음으로 nano 편집기를 사용하여 /etc/hosts 구성을 편집합니다.

sudo nano /etc/hosts

다음 구성을 붙여넣습니다.

192.168.10.15 server1.localdomain.lan
192.168.10.20 server2.localdomain.lan

Ctrl+X를 누르고 Y를 입력하여 확인하여 파일을 저장합니다.

이제 아래 ping 명령을 사용하여 server1과 server2 간의 연결을 테스트합니다.

ping -c3 server1.localdomain.lan
ping -c3 server2.localdomain.lan

각 로컬 도메인 이름은 서버의 올바른 IP 주소로 확인됩니다.

파티션 설정

GlusterFS를 배포하려면 특히 프로덕션 환경에 대해 다른 디스크 스토리지를 사용하는 것이 좋습니다.

이 자습서의 경우 server1과 server2 모두 크기가 5GB인 보조 디스크 /dev/vdb1이 있습니다.

이제 nano 편집기를 사용하여 /etc/fstab 구성을 편집하여 디스크를 추가하십시오.

sudo nano /etc/fstab

server1의 경우 /dev/vda1 디스크가 /data/vol1 디렉토리에 마운트됩니다.

/dev/vda1 /data/vol1 ext4 default 0 0

그리고 server2의 경우 /dev/vda1 디스크가 /data/vol2 디렉토리에 마운트됩니다.

/dev/vda1 /data/vol2 ext4 default 0 0

다음으로 아래 명령을 사용하여 /dev/vda1 디스크를 마운트합니다.

sudo mount -a

오류 메시지가 없으면 아래와 같이 df 명령을 실행하여 각 시스템에 마운트된 디스크 목록을 확인합니다.

sudo df -h

/dev/vda1 디스크가 /data 디렉토리에 마운트된 것을 볼 수 있습니다.

이제 GlusterFS 클러스터 설치 및 구성을 시작하기 전에 아래 명령을 실행하여 /data 디렉터리 내에 brick0 디렉터리를 생성합니다.

server1에서 아래 명령을 실행합니다.

sudo mkdir -p /data/vol1/brick0

server2의 경우 아래 명령을 실행합니다.

sudo mkdir -p /data/vol2/brick0

Rocky Linux용 GlusterFS 리포지토리 추가

디스크를 성공적으로 설정한 후 이제 Rocky Linux 서버에 GlusterFS 패키지를 설치하게 됩니다.

현재 Rocky Linux는 여전히 GlusterFS 서버 패키지를 제공하지 않지만 CentOS 릴리스 GlusterFS 패키지를 사용할 수 있습니다.

다음 명령을 사용하여 GlusterFS 리포지토리를 Rocky Linux 시스템에 추가합니다.

sudo dnf install centos-release-gluster9

y를 입력하여 설치를 확인하고 Enter 키를 눌러 계속합니다.

다음으로 /etc/yum.repos.d/ 디렉토리로 이동하여 nano를 사용하여 CentOS-Gluster-9.repo 저장소 구성을 편집합니다. 편집자.

cd /etc/yum.repos.d/
sudo nano CentOS-Gluster-9.repo

Rocky Linux 저장소를 사용하여 baseurl 줄을 변경하고 아래와 같이 mirrorlist 줄을 주석 처리합니다.

# CentOS-Gluster-9.repo
#
# Please see http://wiki.centos.org/SpecialInterestGroup/Storage for more
# information

[centos-gluster9]
name=CentOS-$releasever - Gluster 9
#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=$releasever&repo=storage-gluster-9
baseurl=https://dl.rockylinux.org/vault/centos/8.5.2111/storage/x86_64/gluster-9/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

[centos-gluster9-test]
name=CentOS-$releasever - Gluster 9 Testing
baseurl=http://buildlogs.centos.org/centos/$releasever/storage/$basearch/gluster-9/
gpgcheck=0
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

확인을 위해 Ctrl+X 및 Y를 사용하여 파일을 저장합니다.

이제 다음 명령을 사용하여 Rocky Linux 시스템에서 사용 가능한 저장소를 확인하십시오.

sudo dnf repolist

GlusterFS 9용 CentOS 릴리스 리포지토리가 표시됩니다.

GlusterFS 서버 설치

이제 아래 dnf 명령을 사용하여 Rocky Linux 시스템에 GlusterFS 패키지를 설치합니다.

sudo dnf install glusterfs glusterfs-libs glusterfs-server

Y를 입력하여 설치를 확인하고 Enter 키를 눌러 계속합니다.

설치가 완료되면 glusterfsd 서비스를 시작하고 다음 명령을 사용하여 시스템 시작에 추가합니다.

sudo systemctl enable glusterfsd.service
sudo systemctl start glusterfsd.service

이제 아래 명령을 사용하여 glusterfsd 서비스 상태를 확인합니다.

sudo systemctl status glusterfsd.service

glusterfsd 서비스가 exited 상태로 활성화되어 실행 중임을 의미하지만 systemd 관리자는 모니터링할 데몬을 찾을 수 없습니다.

방화벽으로 포트 열기

GlusterFS 클러스터 구성을 시작하기 전에 GlusterFS 서비스용 포트를 열어야 합니다.

RHEL Linux 기반 운영 체제에서 기본 방화벽 애플리케이션은 방화벽 관리를 위한 명령줄 도구 firewall-cmd를 제공하는 firewalld입니다.

방화벽 구성에 서비스 glusterfs를 추가하고 아래 명령을 사용하여 방화벽을 다시 로드합니다.

sudo firewall-cmd --add-service=glusterfs --permanent
sudo firewall-cmd --reload

그런 다음 다음 명령을 사용하여 firewalld의 서비스 목록을 확인합니다.

sudo firewall-cmd --list-services

glusterfs 서비스가 firewalld에 추가된 것을 볼 수 있습니다.

GlusterFS 클러스터 초기화

다음 단계는 Rocky Linux 시스템에서 GlusterFS 클러스터를 초기화하고 설정하는 것입니다.

먼저 다음 명령을 사용하여 GlusterFS 클러스터를 초기화합니다. 이 명령은 server1 서버에서 실행해야 하며 한 번만 실행할 수 있습니다.

이 명령을 사용하면 server1의 GlusterFS 피어에 server2.localdomain.lan을 추가하게 됩니다. 또한 다음 명령이 완료되면 server2가 자동으로 초기화됩니다.

sudo gluster peer probe server2.localdomain.lan

이제 출력 메시지 peer probe: successful.이 표시되어야 합니다.

다음으로 다음 명령을 사용하여 server1에서 피어 상태를 확인합니다.

sudo gluster peer status

server1에는 하나의 피어만 있어야 합니다.

또한 server2에서 아래 명령을 실행하여 server2에서 사용 가능한 피어를 확인하십시오.

sudo gluster peer status

server2에 피어가 하나만 있는지 확인해야 합니다.

GlusterFS 볼륨 생성

GlusterFS 클러스터를 성공적으로 초기화한 후 클라이언트 시스템에서 사용할 새 GlusterFS 볼륨을 생성하게 됩니다.

이 자습서에서는 server1 및 server2의 2개 디스크에서 유형 replica를 사용하여 myvolume이라는 이름으로 새 볼륨을 생성합니다.

sudo gluster volume create myvolume replica 2 server1.localdomain.lan:/data/vol1/brick0 server2.localdomain.com:/data/vol2/brick0

이제 y를 입력하여 확인하고 Enter 키를 눌러 GlusterFS 볼륨을 생성합니다.

프로세스가 성공하면 다음 스크린샷과 같은 출력이 표시됩니다.

다음으로 다음 명령을 사용하여 Glusterfs 볼륨 myvolume을 시작합니다.

sudo gluster volume start myvolume

myvolume이 시작되었음을 의미하는 출력 메시지 volume start: myvolume: success,가 표시됩니다.

이제 아래 명령을 실행하여 GLusterFS 볼륨 상태를 확인합니다.

sudo gluster volume status

아래에서 myvolume의 상태가 온라인이고 클라이언트가 사용할 준비가 되었음을 확인할 수 있습니다.

선택적으로 다음 명령을 사용하여 GlusterFS 볼륨의 상태를 확인할 수도 있습니다.

sudo gluster volume info

복제 유형의 myvolume 볼륨이 표시되고 상태가 시작됨을 볼 수 있습니다. myvolume은 server1 및 server2의 디스크를 기반으로 합니다.

클라이언트 시스템에 GlusterFS 볼륨 마운트

이제 GlusterFS 볼륨 myvolume을 만들었습니다. 다음으로 클라인 머신을 설정하고 GlusterFS 볼륨을 마운트하는 방법을 배웁니다.

이 자습서에서는 client라는 이름의 클라이언트 시스템을 사용합니다.

nano 편집기를 사용하여 클라이언트 컴퓨터에서 /etc/hosts 구성을 편집합니다.

sudo nano /etc/hosts

다음 구성을 붙여넣습니다.

192.168.10.15 server1.localdomain.lan
192.168.10.20 server2.localdomain.lan

Ctrl+X로 파일을 저장하고 Y를 입력하여 확인합니다.

클라이언트 시스템과 GlusterFS 서버 간의 연결을 확인하려면 아래 ping 명령을 실행하십시오.

ping -c3 server1.localdomain.lan

클라이언트 명령이 GlusterFS 서버에 연결할 수 있음을 알 수 있습니다.

다음으로 다음 명령을 사용하여 AppStream Rocky Linux 리포지토리에서 GlusterFS 클라이언트 패키지를 설치합니다.

sudo dnf install glusterfs-client

y를 입력하여 설치를 확인하고 Enter 키를 눌러 계속합니다.

설치가 완료되면 아래 명령어를 사용하여 새로운 마운트 디렉토리 /data를 생성합니다.

sudo mkdir /data

아래의 마운트 명령을 사용하여 GlusterFS 볼륨 myvolume을 /data 디렉터리에 마운트합니다.

sudo mount.glusterfs server1.localdomain.lan:/myvolume /data

오류가 없으면 GlusterFS 볼륨이 클라이언트 시스템에 성공적으로 마운트된 것입니다.

다음 명령을 실행하여 GlusterFS 볼륨을 확인합니다.

df -h

GlusterFS myvolume이 클라이언트 시스템의 /data 디렉토리에 성공적으로 마운트된 것을 볼 수 있습니다.

쓰기 액세스 및 고가용성 테스트

클라이언트 시스템에서 /data 디렉터리로 이동하고 아래 명령을 사용하여 새 파일을 만듭니다.

이 명령을 사용하면 /data 디렉토리에 5개의 파일을 생성하게 됩니다.

cd /data
touch file{1..5}.md

이제 server1로 이동하고 다음 명령을 사용하여 /data/vol1/brick0 디렉토리를 확인합니다.

ls /data/vol1/brick0

파일이 server1에서 사용 가능한지 확인해야 합니다.

그런 다음 다음 명령을 사용하여 server1을 끄거나 종료합니다.

sudo shutdown -r now

server2로 다시 이동하고 다음 명령을 사용하여 server2에서 GlusterFS의 상태를 확인합니다.

sudo gluster peer status

피어 server1의 상태가 연결 해제됨임을 알 수 있습니다.

server2 /data/vol2/brick0 디렉토리에서 사용 가능한 파일을 확인하십시오.

ls /data/vol2/brick0

클라이언트의 모든 파일이 server2에서도 사용 가능한 것을 볼 수 있습니다. 이는 데이터가 피어 서버에서 복제됨을 의미합니다.

이제 클라이언트 시스템으로 돌아가면 server1이 다운된 경우에도 GlusterFS 서버에 대한 연결 상태가 여전히 활성화되어 실행 중인 것을 볼 수 있습니다. 이는 GlusterFS의 고가용성이 성공했음을 의미합니다.

결론

축하합니다! 이제 Rocky Linux 시스템에 GlusterFS 클러스터 저장소를 성공적으로 설치하고 구성했습니다. 또한 GlusterFS 볼륨을 설정하고 클라이언트 시스템에 GlusterFS 볼륨을 마운트하는 방법도 배웠습니다.