Transcript 20060421GFS

클루닉스 2006년
기술부 1차 세미나 - GFS
기술부/부장 서
진우
* Clunix
Rev 1.0
Copyright © by
All rightsInc.
reserved.
Copyright
©Clunix.
2005IncClunix,
 목차
 GFS란..
 GFS설치 환경 준비
 GNBD를 이용한 GFS 환경 구축
 GFS,GNBD,CLVMD를 이용한 GFS 환경 구축
 GFS,GNBD,DRBD를 이용한 고 가용성 환경 구축
 GFS를 마치며..
Rev 1.0
Copyright © 2005 Clunix, Inc.
GFS란.
• GFS란
–
–
–
–
–
–
Rev 1.0
Sistina 에서 시작된 클러스터 파일 시스템 프로젝트
Redhat 에 의해 연구 개발권 인수
SAN(DAS)스토리지 환경 기반의 클러스터 파일 시스템
단일 볼륨에 대한 분산 노드의 R/W 권한 부여
NFS와 외향적으로 유사함 (구조, 성능 차이 큼)
주요 사이트
http://gfs.wikidev.net/Installation
http://gfs.wikidev.net/GNBD_installation#Starting_the_service
s_.28DLM.2C_CCSD.2C_FENCE.29
http://www.redhat.com/docs/manuals/csgfs/
http://code.ximeta.com/cgi-bin/trac.cgi/wiki/HowToGFS
https://open.datacore.ch/DCwiki.open/Wiki.jsp?page=GFS
http://sources.redhat.com/cluster
Copyright © 2005 Clunix, Inc.
GFS 설치 환경 준비
• GFS 설치 환경 준비
– GFS는 커널에 속한 기능 (NFS는 어플리케이션 기반)
– Redhat사에 소유권 이전 후 Redhat패키지 의존성 강함
– 주요 패키지
ccs-1.0.0-0.i686.rpm
gulm-1.0.0-0.i686.rpm
cman-1.0.0-0.i686.rpm
dlm-1.0.0-0.i686.rpm
fence-1.32.1-0.i686.rpm
gnbd-1.0.0-0.i686.rpm
gfs-6.1.0-0.i386.rpm
lvm2-2.01.08-1.0.RHEL4.i386.rpm
lvm2-cluster-2.01.09-5.0.RHEL4.i386.rpm
Rev 1.0
Copyright © 2005 Clunix, Inc.
GFS 설치 환경 준비
• GFS 기본 구성도
FC/SCSI
GFS
FC/SCSI
GFS
FC/SCSI
GFS
SAN Switch
Storage(FC/SCSI)
Rev 1.0
Copyright © 2005 Clunix, Inc.
GFS 설치 환경 준비
• 설치 시 주의 사항 및 주요 진행 단계
–
–
–
–
–
–
–
Rev 1.0
GFS노드간 Time Sync (시간 단위의 오차 시 오류 발생)
Disk interface drive 설정 및 네트워크 설정(hosts)
Ccs 설정 (노드간 클러스터 요소 정의 및 통신,Fencing 방법 정의)
GFS 관련 modules 탑재
Storage Disk Partitioning
GFS File System 생성
GFS Disk mount
Copyright © 2005 Clunix, Inc.
GFS 설치 환경 준비
• CCS 설정 예제 (/etc/cluster/cluster.conf)
<?xml version="1.0"?>
<cluster name="cluster" config_version="1">
<cman>
</cman>
<clusternodes>
<clusternode name="node01" votes="1">
<fence>
<method name="single">
<device name="human" ipaddr="node01"/>
</method>
</fence>
</clusternode>
<clusternode name="node02" votes="1">
<fence>
<method name="single">
<device name="human" ipaddr="node02"/>
</method>
</fence>
</clusternode>
</clusternodes>
<fence_devices>
<device name="human" agent="fence_manual"/>
</fence_devices>
</cluster>
Rev 1.0
Copyright © 2005 Clunix, Inc.
GFS 설치 환경 준비
• GFS 구동 절차
모듈 탑재
#
#
#
#
depmod -a
modprobe dm-mod
modprobe gfs
modprobe lock_dlm
Mount
# mkdir /gfs
# mount –t gfs /dev/sda1 /gfs
데몬 시작
# ccsd
# cman_tool join
# fence_tool join
파티셔닝
# fdisk
GFS 파일 시스템 생성
# gfs_mkfs -p lock_dlm -t cluster:enfs -j 2 /dev/sda1
Rev 1.0
Copyright © 2005 Clunix, Inc.
GNBD를 이용한 GFS환경 구축
• GNBD란..
– Network 상의 Remote host의 block device를 nbd(network
block device)를 통해 연결
– Network application에 의한 데이터 전송이 아닌 block device간
의 데이터 전송 효과
– FC/SCSI 인터페이스가 없이 네트워크 상에 Direct Attached
Storage 구성 가능
– 비용적인 절감 효과와 확장성에서 우수
– 네트워크 상태에 의한 안정성 문제 존재
– SAN 과 GNBD를 이용하여 대용량 클러스터 파일 시스템 구축 가
능
Rev 1.0
Copyright © 2005 Clunix, Inc.
GNBD를 이용한 GFS 설치 환경 준
비
• GNBD+GFS 기본 구
성도
GFS
GNBD Client
L2 Switch
Gigabit
Rev 1.0
GFS
GNBD Client
GFS
GNBD Client
GNBD File Server
GFS
Copyright © 2005 Clunix, Inc.
GNBD를 이용한 GFS 환경 구축
• 기본 환경 구축은 GFS와 동일
• GNBD modules 탑재
• GNBD Server : gnbd_serv, gnbd_export 실행
# gnbd_serv –v
# gnbd_export -v -e gnbd0 -d /dev/sda1
• GNBD Client : gnbd_import 실행
# gnbd_import -v -i GNBD_Server
• GFS 파일시스템 생성(GNBD_Server)
# gfs_mkfs -p lock_dlm -t cluster:gnbdfs -j 3 /dev/sda1
• GFS Mount (GNBD_Client)
# mount -t gfs /dev/gnbd/gnbd0 /gfs
Rev 1.0
Copyright © 2005 Clunix, Inc.
GFS,GNBD,CLVMD를 이용한 GFS 환경구
축
• CLVMD란..
–
–
–
–
Lvm 기반의 클러스터 볼륨 메니저
Lvm2,lvm2_cluster 패키지 준비
GFS노드간 LVM 볼륨 환경을 실시간 동기화함
GNBD서버간의 디스크를 LVM으로 구성 후 GNBD클
라이언트에서 CLVMD를 통해 볼륨 관리
– 네트워크상에 존재하는 Disk를 Span mode로 확장 가
능, 대용량 스토리지 구성 가능
Rev 1.0
Copyright © 2005 Clunix, Inc.
GNBD를 이용한 GFS 설치 환경 준
비
• GNBD+GFS+CLVMD 기본 구성도
CLVMD
GFS
GNBD Client
CLVMD
GFS
GNBD Client
CLVMD
GFS
GNBD Client
L2 Switch
Gigabit
LVM2
GNBD Server
GFS
CLVMD
Rev 1.0
GNBD Server
GFS
CLVMD
Copyright © 2005 Clunix, Inc.
GNBD를 이용한 GFS 환경 구축
- 모든 노드에서 clvmd 데몬 시작
# /etc/rc.d/init.d/clvmd start
- lvm2구성 (node01)
#
#
#
#
partprobe
pvcreate /dev/gnbd/gnbd1 /dev/gnbd/gnbd2
vgcreate vg0 /dev/gnbd/gnbd1 /dev/gnbd/gnbd2
lvcreate -L 100G -n lvm0 vg0
- LVM2 구성 확인
node01,02,03,04,05 에서 아래 방식으로 node01 에서 적용한 볼륨 구성이
동기화가 되었는지 확인한다.
# pvdisplay
-> physical volume 구성 확인
# vgdisplay
-> volume group 구성 확인
# lvdisplay
-> logical volume 구성 확인
Rev 1.0
Copyright © 2005 Clunix, Inc.
GNBD를 이용한 GFS 환경 구축
- GFS 파일 시스템 구성
node01 에서 GFS 로 파일 시스템을 포맷한다.
# gfs_mkfs -p lock_dlm -t cluster:enfs -j 5 /dev/vg0/lvm0
- GFS mount
모든 노드에서 아래와 같이 gfs 파일 시스템에 mount 를 한다.
# mount -t gfs /dev/vg0/lvm0
Rev 1.0
/gfs
Copyright © 2005 Clunix, Inc.
GFS,GNBD,DRBD를 이용한 GFS 환경구축
• DRBD란..
– Network를 통한 remote block device간의 mirroring
기능제공
– Primary/Secondary 형식으로 read/write 권한 제어
– GNBD,GFS 구성에 포함하여 클러스터 파일 시스템
HA 구현 가능
– DRBD-0.8 Version 부터 GFS를 겨냥한
Primary/Primary기능 제공
– Active/Active File 클러스터 시스템 구축 가능
Rev 1.0
Copyright © 2005 Clunix, Inc.
GFS,GNBD,DRBD를 이용한 GFS 환경구축
• GNBD+GFS+DRBD 기본 구성도
GFS
GNBD Client
GFS
GNBD Client
GFS
GNBD Client
L2 Switch
Gigabit
DRBD
GNBD Server
GFS
Rev 1.0
GNBD Server
GFS
Copyright © 2005 Clunix, Inc.
GFS를 마치며…
• Linux 기반의 SAN Cluster File System으로의
가치 높음
• 안정성 보장에 대한 검증 필요
• DRBD-0.8과 연동하면 HA 기술의 혁신이 될 가
능큼
• NFS 대체 파일 서비스에 비중을 둠
Rev 1.0
Copyright © 2005 Clunix, Inc.