* 개요
: 여러대의 서버에 대해 스토리지 클러스터링을 쓸 수 있는 오픈소스 플러그인 이다. 별도 공유스토리지(NAS 등)가 없는 경우 사용하는 방식이다.
: 이러한 볼륨 플러그인은 매우 많은 종류가 있다. 대표적으로 Ceph를 많이 쓰는 듯 함.
* 환경 구성
: CentOS 7 Server 2대, 추가 disk partition(sdb),
* 스토리지 구성
: 1번 서버 브릭 생성
# 스토리지 현황 확인
lsblk
fdisk -l
# 스토리지 볼륨 추가
mkfs -t xfs /dev/sdb
mkdir -p /gluster/bricks/1/brick
mount /dev/sdb /gluster/bricks/1/brick
# mount 체크
df -h
# brick 생성 및 마운트 영구 적용
vi /etc/fstab
/dev/sdb /gluster/bricks/1/brick xfs default,noatime 1 1
: 2번 서버 브릭 생성
# 파일 시스템 생성
mkfs -t xfs /dev/sdb
# 디렉토리 생성 및 마운트
mkdir -p /gluster/bricks/2/brick
mount /dev/sdb /gluster/bricks/2/brick
# 브릭 맵핑 및 설정 영구 적용
vi /etc/fstab
/dev/sdb /gluster/bricks/2/brick xfs defaults,noatime 1 1
* GlusterFS 셋업
# host 설정
cat << EOF >> /etc/hosts
172.30.1.81 fsnode1
172.30.1.82 fsnode2
EOF
# 방화벽 해제
: 포트 24007, 24008, 24009, 49152, 111
firewall-cmd --permanent --zone=public --add-port=24007/tcp
firewall-cmd --permanent --zone=public --add-port=24008/tcp
firewall-cmd --permanent --zone=public --add-port=24009/tcp
firewall-cmd --permanent --zone=public --add-port=49152/tcp
firewall-cmd --permanent --zone=public --add-port=111/tcp
firewall-cmd --reload
# plugin 설치
yum install -y xfsprogs.x86_64
yum install -y attr.x86_64
yum install -y glusterfs.x86_64
yum install -y centos-release-gluster7.noarch
yum install -y glusterfs-server.x86_64
systemctl enable glusterfsd
systemctl start glusterd
# Peer probe
gluster peer probe fsnode1
gluster peer probe fsnode2
# Check gluster pool
: peer들이 잘 등록 되었는지 체크
gluster pool list
# volume 생성
gluster volume create gfs \
replica 2 \
fsnode1:/gluster/bricks/1/brick \
fsnode2:/gluster/bricks/2/brick \
force
# 1번 서버
mkdir -p /mapping_folder_name
gluster volume start gfs
gluster volume set gfs auth.allow 172.30.1.81,172.30.1.82
mount.glusterfs localhost:/gfs /mapping_folder_name
# 2번서버
mkdir -p /mapping_folder_name
gluster volume set gfs auth.allow 172.30.1.81,172.30.1.82
mount.glusterfs localhost:/gfs /mapping_folder_name
* 테스트
: 1번 서버에서 만든 파일이 2번 서버에서 보여지는지 체크
* 참고자료
- 플러그인 종류 : https://docs.docker.com/engine/extend/legacy_plugins/#volume-plugins
- linux root volume reduce 방법 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=dlatjgns&logNo=220033221806
'Docker & Kubernetes' 카테고리의 다른 글
[Docker] docker desktop 유료화에 따른 WSL로 무료 사용 하기 (0) | 2023.05.04 |
---|---|
[Docker] Docker 로그 관리 (0) | 2023.03.15 |
[Docker] Docker Swarm 클러스터 구축 (1) | 2022.12.26 |
[Kubernetes] Dashboard 셋업 및 외부 접속 설정 (1) | 2022.11.23 |
[Kubernetes] 클러스터 환경 구축 (0) | 2022.11.04 |