레이블이 10g RAC인 게시물을 표시합니다. 모든 게시물 표시
레이블이 10g RAC인 게시물을 표시합니다. 모든 게시물 표시

2009년 8월 14일 금요일

RAC 설치 전 설정 - Step 1

/boot/grub/grub.conf 설정

   

  1. "/boot/grub/grub.conf" 파일을 편집하여 kernel /boot/ 라인에 "clock=pit nosmp noapic nolapic" 옵션을 추가합니다. 이제 양쪽 커널에 옵션을 추가하는 작업을 완료했습니다. 변경 작업은 현재 사용 중인 커널에 대해서만 수행해 주면 됩니다.
  2. rac1 리부트합니다.
    # reboot

   

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

   

오라클 사용자 환경 파일의 생성

   

파일시스템 디렉토리 구조의 생성 : oracle 사용자로 로그인하여 아래와 같이 실행합니다:

   

oracle 사용자의 Shell Limit 설정. 텍스트 편집기를 사용하여 아래 라인을 /etc/security/limits.conf, /etc/pam.d/login, /etc/profile 추가합니다. 보다 상세한 정보는 제품 문서에서 확인하실 있습니다.

   

/etc/security/limits.conf

   

/etc/pam.d/login

/etc/profile

   

Enterprise Linux 소프트웨어 패키지의 설치. 오라클 소프트웨어 설치를 위해 추가해 주어야 하는 패키지가 아래와 같습니다. Enterprise Linux 64 비트 버전을 설치한 경우에는, 인스톨러가 패키지를 이미 설치한 상태이어야 합니다.

  • libaio-0.3.105-2.i386.rpm
  • openmotif21-2.1.30-11.RHEL4.6.i386.rpm

root 사용자로 로그인하여 ISO CD에서 패키지를 추출하고 아래 커맨드를 실행합니다.

   

커널 매개변수 설정. 텍스트 편집기를 사용하여 /etc/sysctl.conf 아래 라인을 추가합니다. 변경 사항을 즉시 적용하기 위해 "/sbin/sysctl -p" 실행합니다.

/etc/hosts 파일의 수정.

   

hangcheck-timer 커널 모듈의 설정. hangcheck timer 커널 모듈은 시스템의 상태를 모니터링하고 장애가 발생한 RAC 노드를 재시작합니다. 노드의 장애 상황을 파악하기 위해 사용되는 가지 매개변수로 hangcheck_tick(시스템 모니터링 빈도 정의) hangcheck_margin(RAC 노드의 리셋을 수행하기 위한 최대 지연 허용 시간) 있습니다.

/etc/modprobe.conf 파일에 아래 라인을 추가하여 hangcheck 커널 모듈 매개변수를 설정해 줍니다.

/etc/modprobe.conf

모듈을 즉시 로드하기 위해 "modprobe -v hangcheck-timer" 명령을 실행합니다.

   

OCFS2, Oracle ASM 위한 디스크 파티션 생성. OCFS2(/dev/sdb) Oracle ASM(/dev/sdc, /dev/sdd, /dev/sde) 위한 로우 디스크를 생성합니다.

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

   

   

oracleasmlib 패키지 설치. OTN에서 ASM 라이브러리를 다운로드하고 root 사용자로 ASM RPM 설치합니다.

   

ASM 디스크를 위한 로우 디바이스 매핑. 로우 디바이스 매핑(raw device mapping) 표준 Linux I/O 이용하여 ASM 디스크를 생성하는 경우에만 필요합니다. ASM 디스크를 생성하는 다른 방법으로 오라클이 제공하는 ASM 라이브러리 드라이버를 이용할 수도 있습니다. ASM 라이브러리 드라이버를 이용하여 ASM 디스크를 설정하는 방법은 뒷부분에서 설명합니다.

아래 작업을 수행하여 로우 디바이스를 앞에서 생성한 공유 파티션에 매핑합니다. 로우 디바이스는 클러스터 노드가 부팅될 때마다 블록 디바이스에 바인딩되어야 합니다.

/etc/sysconfig/rawdevices 파일에 아래 라인을 추가합니다.

   

/etc/sysconfig/rawdevices

   

매핑 설정을 즉시 적용하려면, root 사용자로 로그인하여 아래 커맨드를 실행합니다:

raw 디바이스의 사용권한 변경

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

/etc/udev/permissions.d/50-udev.permissions 수정 로우 디바이스는 부팅 시점에 리매핑 됩니다. 디폴트 설정에서 로우 디바이스의 오너십은 부팅 시점에 root 사용자에게 귀속됩니다. 하지만 oracle 사용자에게 오너십이 귀속되지 않는 경우, ASM 공유 파티션에 접근할 문제가 발생할 있습니다. /etc/udev/permissions.d/50-udev.permissions 파일의 "raw/*:root:disk:0660" 라인을 주석 처리하고 새로운 라인 "raw/*:oracle:dba:0660"을 추가합니다.

/etc/udev/permissions.d/50-udev.permissions

[RAC] 두번째 가상머신 생성 및 설정 - Step 2

번째 가상 머신을 생성하기 위해, 번째 가상 머신을 셧다운하고, d:\vm\rac\rac1 모든 파일을 d:\vm\rac\rac2 복사한 다음 가지 설정을 변경해 줍니다.

네트워크 설정 변경.

  • rac1에서 root 사용자로 로그인한 ,
    " # shutdown ?h now"
    실행합니다.
  • 호스트 시스템에서 rac1 폴더의 모든 파일을 rac2 복사합니다.
    D:\>copy d:\vm\rac\rac1 d:\vm\rac\rac2
  • VMware Server 콘솔에서 Ctrl-O 눌러 번째 가상 머신, d:\rac\rac2\Red Hat Enterprise Linux 4.vmx 엽니다.
  • VMware Server console:
    • o 가상 머신의 이름을 rac1에서 rac2 변경합니다. rac1 탭을 마우스 오른쪽 버튼으로 클릭하고 Settings 선택합니다.
      • Options탭을 선택합니다.
        1. Virtual machine name: Virtual machine name: "rac2"
        입력합니다.
      • Start this virtual machine 클릭하여 (rac1 셧다운된 상태에서) rac2 시작합니다.

   

root 사용자로 로그인한 상태에서 system-config-network 실행하여 네트워크 설정을 변경합니다.

   

IP Address: 각각의 이더넷 디바이스를 더블 클릭하고 아래 표를 참고하여 변경 작업을 수행합니다.

디바이스

IP 주소

서브넷 마스크

디폴트 게이트웨이 주소

eth0

192.168.128.132

255.255.255.0

192.168.128.2

eth1

10.10.10.32

255.255.255.0

<공란으로 비워 >

MAC Address: Hardware Device탭으로 이동하여 이더넷 디바이스의 새로운 MAC 어드레스를 조회합니다.

Hostname and DNS: 아래 표를 참고하여 DNS 탭의 항목을 변경하고 Ctrl-S 눌러 저장합니다.

Hostname

Primary DNS

Secondary DNS

DNS search path

rac2.mycorpdomain.com

DNS IP 주소를 입력하거나 공란으로 비워 둡니다.

DNS IP 주소를 입력하거나 공란으로 비워 둡니다.

디폴트 설정을 승인하거나 공란으로 비워 둡니다.

마지막으로, 이더넷 디바이스를 활성화합니다.

   

/etc/hosts 파일 수정

   

VIPCA Oracle Clusterware 소프트웨어 설치 과정에서 루프백 주소를 사용하려 시도하게 됩니다.

   

/export/home/oracle/.profile 변경. ORACLE_SID 값을 devdb2 변경합니다.

   

SSH 이용한 user equivalence 설정. Cluster Ready Services(CRS) RAC 설치 과정에서, Oracle Universal Installer(OUI) oracle 사용자로 (패스워드를 별도로 입력하지 않고) 모든 RAC 노드에 소프트웨어를 복사할 있어야 합니다. Oracle 10g에서는 rsh 대신 ssh 이용하여 작업을 수행할 있습니다.

user equivalence 설정하기 위해, oracle 사용자를 위한 퍼블릿/프라이빗 키를 양쪽 노드에 생성해 줍니다. rac1 시작한 , 양쪽 노드에서 아래와 같이 작업을 수행해 줍니다.

▶먼저 rac1에서 아래와 같이 작업합니다:

   

   

▶ 다음으로 rac2에서 아래와 같이 작업합니다:

rac1에서 아래와 같이 작업합니다:

▣ 각 노드의 연결을 테스트합니다. 아래 명령을 번째 실행했을 패스워드를 묻는 프롬프트가 뜨지 않음을 확인합니다.

[RAC] Oracle Automatic Storage Management (ASM) 설정 - Step 3

Oracle ASM 오라클 데이터베이스와 긴밀하게 통합되어 있으며 오라클의 데이터베이스 관리 툴과 연동합니다. Oracle ASM 데이터베이스 스토리지 관리 업무를 단순화하고 로우 디스크 I/O 성능을 개선하는 효과를 제공합니다.

   

ASMLib 설정. root 사용자로 로그인하여 양쪽 노드에서 ASMLib 설정해 줍니다.

   

ASM 디스크의 생성. root 사용자로 노드 하나에서 ASM 디스크를 생성합니다.

Oracle Cluster File System (OCFS2) 설정 - Step 4

OCFS2 오라클이 개발한 범용 클러스터 파일 시스템으로 Enterprise Linux 커널과 통합되어 있습니다. OCFS2 전체 노드가 클러스터 파일 시스템에 동시 접근하는 것을 가능하게 하며, 로우 디바이스 관리의 필요성을 제거합니다. 가이드에서는 OCFS2 파일 시스템에 OCR Voting Disk 위치시키는 방법을 사용합니다. OCFS2 대한 자세한 정보는 OCFS2 사용자 가이드에서 확인하실 있습니다.

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

   

  • OCFS2 Console: Cluster, Configure Nodes 선택합니다.
  • "The cluster stack has been started": Close 클릭합니다.
  • Node Configuration: Add 클릭합니다.
  • 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

   

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

   

▣ 설정 파일을 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 사용자로 로그인하여 아래와 같이 실행합니다:

   

파일 시스템의 포맷. 파일 시스템의 포맷, 마운팅을 수행하기 전에, OC2B 양쪽 노드에서 온라인 상태인지 확인합니다. O2CB heartbeat 파일 시스템이 마운트되기 전까지 활성화되지 않습니다.

   

▣ 파일 시스템 포맷 작업은 노드 하나에서만 수행합니다. root 사용자로 rac1 로그인하여 아래와 같이 실행합니다:

  • OCFS2 Console: Tasks, Format 선택합니다.
  • Format:
    • Available devices: /dev/sdb1
    • Volume label: oracle
    • Cluster size: Auto
    • Number of node slots: 4
    • Block size: Auto
  1. OCFS2 Console: CTRL-Q 눌러 종료합니다.

▣ 파일 시스템의 마운트. 파일 시스템을 마운트하기 위해, 양쪽 노드에서 아래와 같이 명령을 실행합니다.

   

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

/etc/fstab

   

Oracle Clusterware 디렉토리 생성. OCFS2 파일 시스템에 OCR, Voting Disk 위치할 디렉토리를 생성합니다.

rac1에서 아래와 같이 작업합니다:

   

이것으로 OCFS2 셋업 과정을 완료하였습니다. 양쪽 노드의 공유 클러스터 파일 시스템에서 파일 읽기/쓰기를 수행할 있는지 확인합니다.