CENTOS 5.3에서 GFS 구성하기

리눅스/OS 일반|2014. 12. 31. 00:02
반응형

< CENTOS 5.3에서 GFS 구성하기 >

 

이런거 정리해도 될라나.. ..

 

아래는 node1과 node2 두대의 서버에서 gfs2로 구성하는 세부 방법이다.

[root@]# uname -a
Linux VM1.test.co.kr 2.6.18-128.1.10.el5.xs5.5.0.51xen #1 SMP Fri May 29 07:20:04 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux


>>>GFS 구성을 위한 패키지 설치

 

 

yum groupinstall "Cluster Storage"
 yum groupinstall "Clustering"
 

 

 

 기존 5.3버젼에 openais에 버그가 있어서 
 service cman start시에 아래와 같은 오류가 나타난다. 이는 버그이므로 아래의 버젼으로 다운그레이드 해서 재설치 해야한다.
  Starting cman... failed
  /usr/sbin/cman_tool: aisexec daemon didn't start

 

 

 rpm -e --nodeps openais-0.80.3-22.el5
 wget http://people.centos.org/z00dax/misc/c53/x86_64/RPMS/openais-0.80.6-8.el5.x86_64.rpm
 rpm -ivh openais-0.80.6-8.el5.x86_64.rpm


 

>>> cluster 설정파일을 만든다.
우선 한대의 노드에서 system-config-cluster를 이용하여 만들 수 있따.

 

 

[root@]# cat /etc/cluster/cluster.conf
<?xml version="1.0"?>
<cluster alias="cluster112" config_version="5" name="cluster112">
        <fence_daemon post_fail_delay="0" post_join_delay="30"/>
        <clusternodes>
                <clusternode name="vm1.test.co.kr" nodeid="1" votes="1">
                        <fence>
                                <method name="1">
                                        <device name="mf1" nodename="vm1.test.co.kr"/>
                                </method>
                        </fence>
                </clusternode>
                <clusternode name="vm2.test.co.kr" nodeid="2" votes="1">
                        <fence>
                                <method name="1">
                                        <device name="mf1" nodename="vm2.test.co.kr"/>
                                </method>
                        </fence>
                </clusternode>
        </clusternodes>
        <cman expected_votes="1" two_node="1"/>
        <fencedevices>
                <fencedevice agent="fence_manual" name="mf1"/>
        </fencedevices>
        <rm>
                <failoverdomains>
                        <failoverdomain name="fd_domain" ordered="0" restricted="0">
                                <failoverdomainnode name="vm1.test.co.kr" priority="1"/>
                                <failoverdomainnode name="vm2.test.co.kr" priority="1"/>
                        </failoverdomain>
                </failoverdomains>
                <resources/>
        </rm>
</cluster>


만드는 방법은 system-config-cluster에서 cluster이름을 넣고, 노드들을 만들고, fence device를 지정하고, resource와 서비스는 만들지 않고 저장하고 나온다.
보다 상셍한 것은 
http://kbase.redhat.com/faq/docs/DOC-4293 를 참고한다.
위의 파일과 같이 한대에 만들어 지면, 다른 노드의 /etc/cluster/cluster.conf 파일로 복사한다.
잘 모르겠으면 위의 메뉴얼 팬스로 사용한 것을 그냥 복사한다.


>>>gfs2 파일시스템의 생성
 5.3부터 gfs2 가 들어가 있으므로 gfs2 파일시스템으로 만들 수 있다.

 
 1. gfs로 쓸 파티션을 lvm으로 만든다. (공유 스토리지가 /dev/sda일 경우, 이 디스크는 node1과 node2에서 동시에 보여야 한다.)

  pvcreate /dev/sda
  vgcreate volGFS /dev/sda
  lvcreate  -L 8G volGFS
  pvscan
  vgscan

 

 2. gfs 파티션으로 포맷 (혹시 몰라서 저널은 3개로 넣었다. 이 값은 gfs의 node 개수를 의미한다.)

  mkfs.gfs2 -p lock_dlm -t cluster112:gfs1 -j 3 /dev/volGFS/lvol0

 

 3. gfs 파티션을 마운트
  

mount -t gfs2 -o upgrade /dev/volGFS/lvol0  /mnt/gfs

 

 4. /etc/fstab 에 마운트정보 삽입 

 /dev/volGFS/lvol0       /mnt/gfs                gfs2    defaults        0 0

 

 

>>>서비스의 시작과 설정
 양쪽노드에서 서비스를 하나씩 실행해서 마운트 한다.

 service cman start
 service clvmd start
 service gfs2 restart


 chkconfig cman on
 chkconfig clvmd on
 chkconfig gfs2 on
 chkconfig acpid off


>>>서비스의 확인

 

[root@VM1 mnt]# cman_tool nodes
 Node  Sts   Inc   Joined               Name
    1   M     12   2009-10-19 20:17:01  vm1.test.co.kr
    2   M     16   2009-10-19 20:17:01  vm2.test.co.kr


 [root@VM1 mnt]# cman_tool status
 Version: 6.2.0
 Config Version: 5
 Cluster Name: cluster112
 Cluster Id: 41720
 Cluster Member: Yes
 Cluster Generation: 16
 Membership state: Cluster-Member
 Nodes: 2
 Expected votes: 1
 Total votes: 2
 Quorum: 1
 Active subsystems: 8
 Flags: 2node Dirty
 Ports Bound: 0 11
 Node name: vm1.test.co.kr
 Node ID: 1
 Multicast addresses: 239.192.162.155
 Node addresses: 192.168.0.192

 


>>>주의 사항
 1. /etc/hosts 안에는 두 노드간 통신할 수 있는 ip가 사설로 되어 있어야 하며, 이 ip를 gigabit으로 연결되는 구성이어야 한다.
 /etc/hosts 내에 
 192.168.0.11 vm1.test.co.kr
 192.168.0.12 vm2.test.co.kr
 위와 같은 형태 여야 한다.

 2.두 노드에서 /etc/sysconfig/network 에는 hostname이 fqdn으로 vm1.test.co.kr 과 같이 설정되어 있어야 한다.
 3. acpid는 off되어 있어야 한다.

 

 

[출처] RedHat X 엔지니어 기술공유 까페 | 가우스 (http://cafe.naver.com/redhatx/1)

반응형

댓글()