GlusterFS (파일 시스템) 소개 및 RHEL/CentOS 및 Fedora에 설치하는 방법

우리는 데이터가 예측할 수 없는 방식으로 증가하는 세계에서 살고 있으며, 구조화되거나 구조화되지 않은 데이터를 효율적으로 저장해야 하는 필요가 있습니다. 분산 컴퓨팅 시스템은 중앙 집중식 컴퓨팅 시스템에 비해 다양한 이점을 제공합니다. 여기서 데이터는 여러 노드로 구성된 분산 방식으로 저장됩니다.

GlusterFS Storage

메타데이터 서버 개념은 분산 파일 시스템에서 더 이상 필요하지 않습니다. 분산 파일 시스템에서는 서로 다른 서버에 분리된 모든 파일의 공통된 관점을 제공합니다. 이러한 저장 서버의 파일/디렉토리는 일반적인 방식으로 액세스됩니다.

예를 들어, 파일/디렉토리의 권한은 일반 시스템 권한 모델처럼 설정할 수 있습니다. 파일 시스템에 대한 액세스는 기본적으로 해당 프로토콜이 작동하도록 설계된 방식에 따라 달라집니다.

GlusterFS는 무엇인가요?

GlusterFS는 사용자 공간에서 사용되도록 정의된 분산 파일 시스템으로, 사용자 공간 파일 시스템(FUSE)입니다. 이는 소프트웨어 기반 파일 시스템으로, 자체적인 유연성 기능을 제공합니다.

다음 도표를 살펴보세요. 이 도표는 계층적 모델에서 GlusterFS의 위치를 개략적으로 나타냅니다. 기본적으로 GlusterFS에서는 TCP 프로토콜이 사용됩니다.

GlusterFS Design

GlusterFS의 장점

  1. 혁신 – 메타데이터를 제거하고 성능을 현저히 향상시킬 수 있어 데이터와 객체를 통합하는 데 도움이 됩니다.
  2. 탄력성 – 데이터의 크기 증가 및 축소에 적응합니다.
  3. 선형으로 확장 – 페타바이트 이상의 용량을 가지고 있습니다.
  4. 간단함 – 사용자 공간에서 실행되는 동안 커널과 독립적으로 관리하기 쉽습니다.

다른 분산 파일 시스템 중에서 Gluster를 뛰어나게 만드는 것은 무엇인가요?

  1. 확장 가능함 – 메타데이터 서버의 부재로 더 빠른 파일 시스템을 제공합니다.
  2. 가격이 저렴함 – 일반 하드웨어에 배포됩니다.
  3. 유연함 – 앞서 말한 대로, GlusterFS는 소프트웨어 전용 파일 시스템입니다. 여기서 데이터는 ext4, xfs 등과 같은 네이티브 파일 시스템에 저장됩니다.
  4. 오픈 소스 – 현재 GlusterFS는 레드햇 주식회사에 의해 유지보수되고 있으며, 이는 10억 달러 규모의 오픈 소스 기업인 레드햇 스토리지의 일부입니다.

GlusterFS의 저장 개념

  1. 브릭 – 브릭은 신뢰할 수 있는 저장 풀 사이에서 공유되어야 하는 모든 디렉토리입니다.
  2. 신뢰할 수 있는 저장 풀 – 설계된 프로토콜에 기반한 이러한 공유 파일/디렉토리의 모음입니다.
  3. 블록 저장소 – 데이터가 블록 형식으로 시스템 간에 이동되는 장치입니다.
  4. 클러스터 – 레드햇 스토리지에서 클러스터와 신뢰할 수 있는 저장 풀은 정의된 프로토콜에 기반한 저장 서버의 협력을 의미합니다.
  5. 분산 파일 시스템 – 데이터가 다른 노드에 분산되어 있어 사용자가 파일의 실제 위치를 알지 못해도 파일에 액세스할 수 있는 파일 시스템입니다. 사용자는 원격 액세스의 느낌을 경험하지 않습니다.
  6. FUSE – 사용자가 커널 코드를 관련시키지 않고 커널 위에 파일 시스템을 생성할 수 있게 하는 로드 가능한 커널 모듈입니다.
  7. glusterd – glusterd는 파일 시스템의 중추인 GlusterFS 관리 데몬으로, 서버가 활성 상태일 때 항상 실행됩니다.
  8. POSIX – 이중 Unix 변형 간의 호환성 문제를 해결하기 위해 IEEE에서 정의한 표준 패밀리로, 응용 프로그램 프로그래밍 인터페이스(API) 형태로 제공됩니다.
  9. RAID – Redundant Array of Independent Disks (RAID)는 중복을 통해 증가된 저장소 신뢰성을 제공하는 기술입니다.
  10. Subvolume – 적어도 하나의 번역기에 의해 처리된 브릭입니다.
  11. Translator – 사용자가 마운트 지점에서 시작한 기본 작업을 수행하는 코드 조각으로, 하나 이상의 서브 볼륨을 연결합니다.
  12. Volume – 볼륨은 논리적인 브릭의 모음입니다. 사용자가 생성한 다양한 유형의 볼륨에 기반하여 모든 작업이 수행됩니다.
다양한 유형의 볼륨

다양한 유형의 볼륨 및 이러한 기본 볼륨 유형 간의 조합을 나타내는 표현도 허용됩니다.

Distributed Volume
Replicated Volume
Striped Volume
분산 복제 볼륨

분산 복제 볼륨의 표현.

Distributed Replicated Volume

RHEL / CentOS 및 Fedora에 GlusterFS 설치

이 문서에서는 저장 공간의 고가용성을 위해 처음으로 GlusterFS를 설치하고 구성합니다. 이를 위해 볼륨을 생성하고 데이터를 복제하기 위해 두 대의 서버를 사용합니다.

단계 :1 적어도 두 노드가 있어야 합니다

  1. 두 노드에 CentOS 6.5 (또는 다른 OS)를 설치합니다.
  2. 호스트 이름을 ” server1 ” 및 ” server2 “로 지정합니다.
  3. A working network connection.
  4. 두 노드의 저장 디스크를 ” /data/brick “로 지정합니다.

단계 2: EPEL 및 GlusterFS 저장소 활성화

서버 양쪽에 GlusterFS를 설치하기 전에 외부 종속성을 충족하기 위해 EPELGlusterFS 저장소를 활성화해야 합니다. 다음 링크를 사용하여 양쪽 시스템에 epel 저장소를 설치하고 활성화합니다.

  1. RHEL/CentOS에서 EPEL 저장소 활성화하는 방법

다음으로 두 서버에서 GlusterFs 저장소를 활성화해야 합니다.

# wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo

단계 3: GlusterFS 설치

소프트웨어를 두 서버에 설치합니다.

# yum install glusterfs-server

GlusterFS 관리 데몬을 시작합니다.

# service glusterd start

이제 데몬의 상태를 확인합니다.

# service glusterd status
샘플 출력
service glusterd start
  service glusterd status
  glusterd.service - LSB: glusterfs server
   	  Loaded: loaded (/etc/rc.d/init.d/glusterd)
  	  Active: active (running) since Mon, 13 Aug 2012 13:02:11 -0700; 2s ago
  	 Process: 19254 ExecStart=/etc/rc.d/init.d/glusterd start (code=exited, status=0/SUCCESS)
  	  CGroup: name=systemd:/system/glusterd.service
  		  ├ 19260 /usr/sbin/glusterd -p /run/glusterd.pid
  		  ├ 19304 /usr/sbin/glusterfsd --xlator-option georep-server.listen-port=24009 -s localhost...
  		  └ 19309 /usr/sbin/glusterfs -f /var/lib/glusterd/nfs/nfs-server.vol -p /var/lib/glusterd/...

단계 4: SELinux 및 iptables 구성

열기 ‘/etc/sysconfig/selinux‘하고 서버 양쪽에서 SELinux를 “허용” 또는 “비활성화” 모드로 변경하십시오. 파일을 저장하고 닫으십시오.

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

다음으로, 두 노드의 iptables를 플러시하거나 다른 노드로의 액세스를 iptables를 통해 허용해야 합니다.

# iptables -F

단계 5: 신뢰할 수 있는 풀 구성

Server1‘에서 다음 명령을 실행하십시오.

gluster peer probe server2

Server2‘에서 다음 명령을 실행하십시오.

gluster peer probe server1

참고: 이 풀에 연결된 후에는 신뢰할 수 있는 사용자만이 이 풀로 새 서버를 조사할 수 있습니다.

단계 6: GlusterFS 볼륨 설정

server1server2 모두에서.

# mkdir /data/brick/gv0

단일 서버에서 볼륨을 생성하고 볼륨을 시작하십시오. 여기서 ‘Server1‘을 사용했습니다.

# gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0
# gluster volume start gv0

다음으로, 볼륨의 상태를 확인하십시오.

# gluster volume info

참고: 만약 볼륨이 시작되지 않은 경우, 오류 메시지는 한 서버 또는 양쪽 서버의 ‘/var/log/glusterfs‘에 기록됩니다.

단계 7: GlusterFS 볼륨 확인

볼륨을 ‘/mnt‘ 디렉토리에 마운트하십시오.

# mount -t glusterfs server1:/gv0 /mnt

이제 파일 시스템의 단일 뷰로 마운트 지점에서 파일을 생성하고 편집할 수 있습니다.

GlusterFS의 특징

  1. 자가 치유 – 복제된 볼륨의 벽 중 하나가 다운되고 사용자가 다른 벽 내에서 파일을 수정하는 경우 자동 자가 치유 데몬은 벽이 다음에 다시 올라오면 즉시 작동하여 다운 타임 동안 발생한 트랜잭션이 동기화됩니다.
  2. 재분배 – 기존 볼륨에 새로운 벽을 추가하는 경우 이전에 많은 양의 데이터가 있었던 경우 데이터를 새로 추가된 벽을 포함한 모든 벽 사이에 분배하기 위해 재분배 작업을 수행할 수 있습니다.
  3. 지오 복제 – 재해 복구를 위한 데이터 백업을 제공합니다. 여기에는 마스터 및 슬레이브 볼륨의 개념이 포함됩니다. 따라서 마스터가 다운되면 데이터 전체를 슬레이브를 통해 액세스할 수 있습니다. 이 기능은 지리적으로 분리된 서버 간에 데이터를 동기화하는 데 사용됩니다. 지오 복제 세션을 초기화하려면 일련의 글러스터 명령이 필요합니다.

여기에는 지오 복제 모듈을 보여주는 화면 캡처가 있습니다.

Geo Replication

참조 링크

GlusterFS 홈페이지

지금까지입니다! 자가 치유 및 재분배, 지오 복제 등의 기능에 대한 자세한 설명은 제 다음 기사에서 확인하세요.

Source:
https://www.tecmint.com/introduction-to-glusterfs-file-system-and-installation-on-rhelcentos-and-fedora/