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.