glusterFS 설치

glusterFS 는 노드 볼륨을 상호 동기화 하기 위한 도구

주요 작업 내용

  • 각 노드에 gluster 서버 기동
  • 노드 간 클러스터링 설정
  • 동기화 할 볼륨 생성
  • 각 노드에 사용할 경로에 볼륨 마운트

1. 노드별 gluster Server 생성

  • 기존 도커 중지
    • docker stop gluster-server
  • 도커 실행

docker run –rm \
-v glusterfs-lib:/var/lib/glusterd:z \
-v glusterfs-fs:/gluster/fs \
-d –privileged=true –net=host \
–restart on-failure –name gluster-server gluster/gluster-centos

2. gluster Server (컨테이너) 작업

한 컨테이너에서 실행

docker exec -it $(docker ps -q -f name=gluster) bash

노드간 클러스터링 설정

  • export replica=클러스터링 노드수
    • export node0=노드1 IP
    • export node1=노드2 IP
  • 클러스터링 노드 등록 (접속한 노드는 등록하지 않아도 됨)
    • gluster peer probe ${node0}
    • gluster peer probe ${node1}
  • 클러스터링 등록/연결 상태 조회
    • gluster peer status

볼륨 생성

  • 볼륨 삭제
    • gluster volume stop gVol
    • gluster volume delete gVol
  • 볼륨 생성
    • gluster volume create gVol replica ${replica} transport tcp ${node0}:/gluster/fs ${node1}:/gluster/fs force
  • 볼륨 설정
    • gluster volume set gVol network.ping-timeout 1
    • gluster volume set gVol ctime off
  • 볼륨 사용
    • gluster volume start gVol
  • 상태 조회
    • gluster volume info gVol
    • gluster volume status gVol

3. 노드별 볼륨 마운트

gluster client 설치 (glusterfs 파일시스템 사용을 위함)

  • 우분투
    • apt install glusterfs-client
  • centos
    • yum install glusterfs-client

볼륨 마운트

  • 마운트 제거
    • umount ${GVOL_HOME}
  • 마운트 생성
    • mount -t glusterfs localhost:/gVol /data/test
  • 상태 확인
    • mount |grep gVol
  • 권한 설정
    • chmod -R 777 ${GVOL_HOME}