CentOS4 에서 OCFS2 설정하기

. Oracle Cluster File System(OCFS2) 설정

OCFS2는 오라클이 개발한 범용 클러스터 파일 시스템으로 Enterprise Linux 커널과 통합되어 있습니다.

OCFS2는 전체 노드가 클러스터 파일 시스템에 동시 접근하는 것을 가능하게 하며,

로우 디바이스 관리의 필요성을 제거합니다.

본 가이드에서는 OCFS2 파일 시스템에 OCR과 Voting Disk를 위치시키는 방법을 사용합니다.

OCFS2에 대한 자세한 정보는 OCFS2 사용자 가이드에서 확인하실 수 있습니다.

최신 커널 모듈은 http://oss.oracle.com/projects/ocfs2/files/ 에서,

툴은 http://oss.oracle.com/projects/ocfs2-tools/files/ 에서 다운로드할 수 있습니다

Enterprise Linux 설치 과정에서 이미 OCFS2 RPM이 설치되었을 것입니다.

양쪽 노드에 RPM이 선택되었는지 확인합니다.

rac1-> rpm -qa | grep ocfs

ocfs2-tools-1.2.2-2

ocfs2console-1.2.2-2

ocfs2-2.6.9-42.0.0.0.1.ELsmp-1.2.3-2

OCFS2 설정 파일의 생성. root 사용자로 로그인하여 아래와 같이 실행합니다:

# ocfs2console

1. OCFS2 Console: Cluster, Configure Nodes를 선택합니다.

2. “The cluster stack has been started”: Close를 클릭합니다.

3. Node Configuration: Add를 클릭합니다.

4. Add Node: 아래 노드를 추가한 후 Apply를 클릭합니다.

Name: rac1

IP Address: 192.168.2.131

IP Port: 7777

Name: rac2

IP Address: 192.168.2.132

IP Port: 7777

생성된 설정 파일의 내용을 확인합니다.

# more /etc/ocfs2/cluster.conf

node:

        ip_port = 7777

        ip_address = 192.168.2.131

        number = 0

        name = rac1

        cluster = ocfs2

node:

        ip_port = 7777

        ip_address = 192.168.2.132

        number = 1

        name = rac2

        cluster = ocfs2

cluster:

         node_count = 2

         name = ocfs2

24. 설정 파일을 rac2로 복사합니다. 위에서 설명한 과정을 rac2에서 재실행하거나, 또는 rac1의 OCFS2 콘솔에서 Cluster, Propagate Configuration을 선택하여 설정 파일을 rac2로 복사할 수 있습니다.

CO2CB 드라이버 설정. O2CB는 노드와 클러스터 파일 시스템 간의 커뮤니케이션을 관리하는 일련의 클러스터링 서비스로 구성됩니다. 각 서비스에 대한 설명이 아래와 같습니다:

•NM: Node Manager ? cluster.conf에 설정된 모든 노드의 상태를 추적

•HB: Heartbeat 서비스 ? 노드가 클러스터에 가입/탈퇴하는 경우 업/다운 통보를 전달

•TCP: 노드 간의 커뮤니케이션을 처리

•DLM: Distributed Lock Manager ? 락, 락의 소유자 및 상태 정보를 추적

•CONFIGFS: 사용자 공간(/config)에 마운트되는 구성 파일 시스템

•DLMFS: 커널 스페이스 DLM을 위한 사용자 공간 인터페이스

양쪽 노드에 아래 작업을 수행하여 부팅 시 O2CB가 실행되도록 설정해 줍니다.

heartbeat dead threshold를 묻는 프롬프트에서 7 이상의 값을 입력하여 낮은 성능의 IDE 디스크 드라이브로 인해

노드 크래시가 발생하는 것을 방지해 주어야 합니다.

heartbeat dead threshold는 fence time을 계산하기 위한 변수로 활용됩니다.

Fence time (seconds) = (heartbeat dead threshold -1) * 2

본 가이드의 구성에서는 120 초의 fence time이면 충분합니다.

heartbeat dead threshold 값은 양쪽 노드에 동일하게 설정되어야 합니다.

root 사용자로 로그인하여 아래와 같이 실행합니다:

# /etc/init.d/o2cb unload

Stopping O2CB cluster ocfs2: OK

Unmounting ocfs2_dlmfs filesystem: OK

Unloading module “ocfs2_dlmfs”: OK

Unmounting configfs filesystem: OK

Unloading module “configfs”: OK

# /etc/init.d/o2cb configure

Configuring the O2CB driver.

This will configure the on-boot properties of the O2CB driver.

The following questions will determine whether the driver is loaded on

boot.  The current values will be shown in brackets (‘[]’).  Hitting

without typing an answer will keep that current value.  Ctrl-C

will abort.

Load O2CB driver on boot (y/n) [y]: y

Cluster to start on boot (Enter “none” to clear) [ocfs2]:

Specify heartbeat dead threshold (>=7) [7]: 61

Writing O2CB configuration: OK

Loading module “configfs”: OK

Mounting configfs filesystem at /config: OK

Loading module “ocfs2_nodemanager”: OK

Loading module “ocfs2_dlm”: OK

Loading module “ocfs2_dlmfs”: OK

Mounting ocfs2_dlmfs filesystem at /dlm: OK

Starting O2CB cluster ocfs2: OK

파일 시스템의 포맷. 파일 시스템의 포맷, 마운팅을 수행하기 전에,

OC2B가 양쪽 노드에서 온라인 상태인지 확인합니다.

O2CB heartbeat는 파일 시스템이 마운트되기 전까지 활성화되지 않습니다.

# /etc/init.d/o2cb status

Module “configfs”: Loaded

Filesystem “configfs”: Mounted

Module “ocfs2_nodemanager”: Loaded

Module “ocfs2_dlm”: Loaded

Module “ocfs2_dlmfs”: Loaded

Filesystem “ocfs2_dlmfs”: Mounted

Checking O2CB cluster ocfs2: Online

Checking O2CB heartbeat: Not active

파일 시스템 포맷 작업은 두 노드 중 하나에서만 수행합니다.

root 사용자로 rac1에 로그인하여 아래와 같이 실행합니다:

# ocfs2console

1. OCFS2 Console: Tasks, Format을 선택합니다.

2. Format:

o Available devices: /dev/sdb1

o Volume label: oracle

o Cluster size: Auto

o Number of node slots: 4

o Block size: Auto

3. OCFS2 Console: CTRL-Q를 눌러 종료합니다.

파일 시스템의 마운트. 파일 시스템을 마운트하기 위해,

양쪽 노드에서 아래와 같이 명령을 실행합니다.

# mount -t ocfs2 -o datavolume,nointr /dev/sdb1 /ocfs

부팅 시에 파일 시스템이 마운트되도록, 양쪽 노드의 /etc/fstab에 아래 라인을 추가해 줍니다.

/etc/fstab

/dev/sdb1 /ocfs ocfs2 _netdev,datavolume,nointr 0 0

양쪽 노드의 공유 클러스터 파일 시스템에서 파일 읽기/쓰기를 수행할 수 있는지 확인합니다

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

페이스북/트위트/구글 계정으로 댓글 가능합니다.