- 1 -
일자 VERSION 변경내역작성자 2007. 8. 27 0.1 초기작성손명선 - 2 -
1. 문서개요 4 가. 문서의목적 4 나. 본문서의사용방법 4 2. 테스트절차내역 5 가. Encluster HA 설치테스트 5 나. OCFS2 설치테스트 6 다. Oracle 10g 설치테스트 8 라. MySQL 설치테스트 14 마. Encluster HA 구동테스트 15 바. OCFS2 구동테스트 16 사. Encluster HA와 OCFS2 연동테스트 17 아. Oracle 10g 고가용성테스트 47 자. MySQL 고가용성테스트 49-3 -
1. 문서개요 본문서는리눅스기반 HA 솔루션인 Encluster HA와 Oracle CFS 솔루션인 OCFS2와의연동을이용한각종 DBMS(Oracle, MySQL) 고가용성테스트환경에서의호환성및기능성검증을중심으로테스트하여향후관련솔루션업체의참고자료활용을위해제작되었다. 가. 문서의목적 다음과같은세부적인목적을달성하기위하여작성되었다. 0 Linux Platform(RHEL4AS, Asianux2.0, Booyo2.0) 의 Encluster HA 설치결과 0 Linux Platform(RHEL4AS, Asianux2.0, Booyo2.0) 의 OCFS2 설치결과 0 Linux Platform(RHEL4AS, Asianux2.0, Booyo2.0) 의 Encluster HA와 OCFS의연동기능검증 0 Linux Platform(RHEL4AS, Asianux2.0, Booyo2.0) 의 Oracle, MySQL DBMS 고가용성기능테스트결과 0 진행중문제발생사항과각각의진행사항 나. 본문서의사용방법 다음과같은방법으로사용할수있다. 0 Linux Platform(RHEL4AS, Asianux2.0, Booyo2.0) 에서 Encluster HA 설치결과를확인한다. 0 Linux Platform(RHEL4AS, Asianux2.0, Booyo2.0) 에서 OCFS2 설치결과를확인한다. 0 Linux Platform(RHEL4AS, Asianux2.0, Booyo2.0) 에서 Encluster HA와 OCFS의연동기능검증을확인한다. 0 Linux Platform(RHEL4AS, Asianux2.0, Booyo2.0) 에서 Oracle, MySQL DBMS 고가용성기능테스트결과를확인한다. - 4 -
2. 테스트절차내역 가. Encluster HA 설치테스트 단계 시험항목 Encluster HA 설치 항목 / 시험 / 결과 시험절차 rpm -Uvh ECM-1.7.0-0.i386.rpm EnCluster-3.0.0-0.i386.rpm rrdtool-1.2.23-3.i386.rpm erbd-1.0-2.i386.rpm 1. 설치패키지 EnCluster-HA 1.0 을구동하기위해설치할패키지는다음과같다. ECM-1.7.0-0.i386.rpm EnCluster-3.0-0.i386.rpm erbd-1.0-2.i386.rpm License.key 1 시험결과 2. rpm 패키지설치하기 설치되는 Default directory 는 /usr/clx 이다. # rpm ivh ECM-1.7.0-0.i386.rpm # rpm ivh EnCluster-3.0-0.i386.rpm # rpm ivh erbd-1.0-2.i386.rpm # cp license.key /usr/clx/etc 비 고 - 5 -
나. OCFS2 설치테스트 단계 시험항목 OCFS2 설치 항목 / 시험 / 결과 시험절차 rpm -Uvh ocfs2-2.6.9-42.0.3.elsmp-1.2.4-2.i686.rpm ocfs2-tools-1.2.3-1.i386.rpm ocfs2console-1.2.3-1.i386.rpm 1. 다운로드위치 OCFS2 패키지는아래 URL 에서다운로드받을수있다. http://oss.oracle.com/projects/ocfs2 2. rpm 패키지설치하기 # rpm -Uvh ocfs2-2.6.9-42.0.3.elsmp-1.2.4-2.i686.rpm ocfs2-tools-1.2.3-1.i386.rpm ocfs2console-1.2.3-1.i386.rpm 1 시험결과 3. OCFS2 설정하기 vi /etc/ocfs2/cluster.conf ----------------------------------------------------------- node: ip_port = 7777 ip_address = 192.168.123.107 number = 1 name = gfs02 cluster = ocfs2 node: ip_port = 7777-6 -
ip_address = 192.168.123.106 number = 0 name = gfs01 cluster = ocfs2 cluster: node_count = 2 name = ocfs2 ----------------------------------------------------------- 비 고 - 7 -
다. Oracle 10g 설치테스트 단계 항목 / 시험 / 결과 시험항목 시험절차 Oracle10g 설치 Oracle10g 설치 1. 커널버전요구사항 (uname -r 을통해커널버전확인 ) RHEL4 : 2.6.9-5.EL ( 또는이후버전 ) 2. 패키지요구사항 ( 아래와동일하거나그이후의버전 ) RHEL4 : * gcc-3.4.3-9.el4 * make-3.80-5 * binutils- 2.15.92.0.2-10.EL4 * openmotif-2.1.30-11 * setarch-1.6-1 * compat-db-4.1.25-9 1 시험결과 3. 시스템요구사항의검증최소메모리요구사양은 512MB, swap 공간의최소요구사항은 1GB입니다. Oracle Database 10g 소프트웨어를위해 2.5 GB의공간이필요하며, 이와별도로데이타베이스를위해 1.2 GB의추가공간이요구됩니다. /tmp 디렉토리에는최소한 400 MB의여유공간이있어야합니다. 4. 오라클프로그램다운로드 (x86) ship.db_disk1.lnxx86.cpio, ship.db_disk2.lnxx86.cpio 을다운 http://otn.oracle.com/software/products/database/oracle10g/index.html 아래의명령으로압축을풉니다. # zcat ship.db_disk1.lnxx86.cpio cpio -idmv # zcat ship.db_disk2.lnxx86.cpio cpio -idmv - 8 -
5.OS 환경변경 Oracle Universal Installer는설치전에운영체제의버전을점검하고지원가능여부를검증합니다 Oracle Database 10g 10.1.0.3의 Installer에게지원가능한버전임을인식시키기위해 runinstaller를실행하기전에아래작업을수행해야합니다. echo " Red Hat Enterprise Linux AS release 3 (Taroon)" > /etc/redhat-release 6. 사용자및그룹생성 아래의명령으로사용자및그룹을생성합니다. # groupadd dba # groupadd oinstall # useradd -g oinstall -G dba oracle # passwd oracle 오라클이설치될디렉토리를생성합니다. # mkdir -p /u01/app/oracle # mkdir -p /u02/oradata # chown -R oracle.oinstall /u01/app/oracle # chown -R oracle.oinstall /u02/oradata # chmod -R 755 /u01/app/oracle # chmod -R 755 /u02/oradata 7. Linux 커널매개변수의설정 Oracle Database 10g 가요구하는커널매개변수설정이아래와같습니다. 아래설정된수치는최소값을의미하며, 시스템이아래명시된것보다높은수치로설정되어있는경우에는변경하지마시기바랍니다. cat /etc/sysctl.conf ----------------------------------------------------------- kernel.shmall = 2097152 kernel.shmmax = 2147483648-9 -
공개SW기술지원센터 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 ----------------------------------------------------------- 커널매개변수설정예 ) Ex: # cat >> /etc/sysctl.conf <<EOF > kernel.shmall = 2097152 > kernel.shmmax = 2147483648 > kernel.shmmni = 4096 > kernel.sem = 250 32000 100 128 > fs.file-max = 65536 > net.ipv4.ip_local_port_range = 1024 65000 > EOF # /sbin/sysctl -p( 변경된설정을반영, Novell SUSE Linux 운영체제의경우 /sbin/chkconfig boot.sysctl on) net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 kernel.sysrq = 0 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 8. oracle 사용자계정의 Shell Limit 설정 오라클은 Linux 계정별로실행되는프로세스와열린파일의수를제한하는 것을권장합니다 cat >> /etc/security/limits.conf <<EOF oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536-10 -
EOF cat >> /etc/pam.d/login <<EOF session required /lib/security/pam_limits.so EOF 9. 오라클사용자의환경변수추가 /home/oracle/.bash_profile 파일의뒤에아래내용을추가합니다. ############################################## ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_SID=ORCL; export ORACLE_SID ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1; export ORACLE_HOME PATH=$PATH:$ORACLE_HOME/bin ; export PATH DISPLAY=:0.0; export DISPLAY LD_ASSUME_KERNEL=2.4.19; export LD_ASSUME_KERNEL ############################################## -------------------------------------------------------- Bourne and Korn shells RHEL4 / SLES9의경우 : LD_ASSUME_KERNEL=2.4.19; export LD_ASSUME_KERNEL -------------------------------------------------------- C shell RHEL4 / SLES9의경우 : setenv LD_ASSUME_KERNEL 2.4.19 10. 관리자 (root) 권한으로아래의명령을실행 # xhost + 127.0.0.1 ( 오라클설치는로컬서버에서모든작업을하시는것이좋습니다.) 11. 오라클설치시작 지금부터는반드시 oracle 사용자계정으로실행해야합니다. - 11 -
오라클설치프로그램을압축푼장소로이동하여, 아래파일을찾아서 실행시킵니다. $ sh runinstaller 만약글자가깨져서보인다면, 프로그램을종료하고아래명령을입력한후 다시프로그램을실행합니다. $ unset LANG 설치중아래사항외에는디폴트로 "Next" 클릭 Specify Inventory directory and credentials 경고창이나타납니다. /u01/app/oracle/orainventory/orainstroot.sh를실행하라는내용입니다. 콘솔을띄워서 root 권한으로변경한다음, 아래와같이스크립트파일을실행합니다. # /u01/app/oracle/orainventory/orainstroot.sh 팝업창의 Continue를클릭합니다. Select Installation Type Enterprise Editions 선택 Select Database Configuration General purpose 선택 Specify Database Configuration Options 데이터베이스명은 SID와반드시동일하게할것 : orcl Korean KO16KSC5601 선택 "create database wth sample schemas" 을반드시체크 Specify database configuration options 오라클관리를위한계정들의패스워드를입력합니다. (SYS, SYSTEM, SYSMAN, DBSNMP 등 ) 개별적으로입력해도되며, 하단의 "Use the same password for all the accounts" 를선택하여한번에동일하게입력가능합니다. password : 영문자만사용특히숫자를넣지말것 Setup Privileges [OK] 버튼을클릭하면 root.sh 파일을실행하라는창이나타납니다. - 12 -
root 권한으로아래와같이스크립트파일을실행합니다. # /u01/app/oracle/product/10.1.0/db_1/root.sh End of Installation 이제설치가모두종료되었습니다. Exit 버튼을눌러서프로그램을종료합니다 비 고 - 13 -
라. MySQL 설치테스트 단계 시험항목 시험절차 MySQL 설치 항목 / 시험 / 결과 RedHat 기본제공 RPM 패키지파일을이용한설치 1 시험결과 # rpm -Uvh mysql-devel-4.1.20-1.rhel4.1.rpm mysql-bench-4.1.20-1.rhel4.1.rpm mysqlclient10-3.23.58-4.rhel4.1.rpm mysqlclient10-devel-3.23.58-4.rhel4.1.rpm mysql-4.1.20-1.rhel4.1.rpm mysql-server-4.1.20-1.rhel4.1.rpm freeradius-mysql-1.0.1-3.rhel4.3.rpm mod_auth_mysql-2.6.1-2.2.rpm php-mysql-4.3.9-3.15.rpm libdbi-dbd-mysql-0.6.5-10.rhel4.1.rpm 비 고 - 14 -
마. Encluster HA 구동테스트 단계 항목 / 시험 / 결과 시험항목 Encluster HA 서비스시작 시험절차 /usr/clx/bin/ecmctl start 1 시험결과 [root@host01 bin]#./ecmctl start Starting ebcd: [ OK ] Starting edbd: [ OK ] Starting egid: [ OK ] 비 고 시험항목 Encluster HA 서비스정지 시험절차 /usr/clx/bin/ecmctl stop 2 시험결과 [root@host01 bin]#./ecmctl stop Shutting down egid: [ OK ] Shutting down edbd: [ OK ] Shutting down ebcd: [ OK ] 비 고 - 15 -
바. OCFS2 구동테스트 단계 시험항목 시험절차 항목 / 시험 / 결과 OCFS2 서비스시작 /etc/rc.d/init.d/o2cb status /etc/rc.d/init.d/o2cb load /etc/rc.d/init.d/o2cb online ocfs2 1 시험결과 [root@host01 bin]# /etc/rc.d/init.d/o2cb status Module "configfs": Not loaded Filesystem "configfs": Not mounted Module "ocfs2_nodemanager": Not loaded Module "ocfs2_dlm": Not loaded Module "ocfs2_dlmfs": Not loaded Filesystem "ocfs2_dlmfs": Not mounted [root@host01 bin]# /etc/rc.d/init.d/o2cb load 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 [root@host01 bin]# /etc/rc.d/init.d/o2cb online ocfs2 Starting O2CB cluster ocfs2: OK 비 고 시험항목 OCFS2 서비스정지 시험절차 /etc/rc.d/init.d/o2cb stop 2 시험결과 비 고 [root@host01 bin]# /etc/rc.d/init.d/o2cb stop Stopping O2CB cluster ocfs2: OK Unloading module "ocfs2": OK Unmounting ocfs2_dlmfs filesystem: OK Unloading module "ocfs2_dlmfs": OK Unmounting configfs filesystem: OK Unloading module "configfs": OK - 16 -
사. Encluster HA 와 OCFS2 연동테스트 단계 항목 / 시험 / 결과 시험항목 Encluster HA 웹관리툴을이용한 Service 및 VNSS 설정 시험절차 http:/nodeip:910 1. ECX 로그인하기 앞서설명한바와같이웹인터페이스인 ECX 에접속을하면, 다음과같은화면이나타 납니다. 1 시험결과 그림 1 로그인화면 계정과비밀번호를입력하면, ECX 에로그인하게됩니다. 클러스터란, EnCluster-HA 의구성상가장밖에있는모델로서하나의클러스터링된노드 들의묶음을말합니다. 클러스터는내부적으로그룹, 노드, 서비스를포함합니다. 클러스터를관리하는노드를마스터라고하고설정정보를저장합니다거나, ECX 와같은 - 17 -
공개SW기술지원센터웹인터페이스에접속할수있도록하고, 로그를기록하며모니터링정보를저장하는역할을수행하는노드입니다. 마스터노드가다운되는경우, 남아있는다른노드들중에서하나의노드가선출되어마스터역할을이어받게됩니다. 로그인을한후 ECX 창의왼쪽프레임의 Cluster 을클릭하면클러스터정보화면이보입 니다. 상단의설정을클릭하면그림 3 와같은클러스터설정화면이보입니다. 그림 2 클러스터정보페이지 - 18 -
그림 3 클러스터설정페이지 설명을입력하고클러스터 IP를설정합니다. 클러스터 IP를설정하고적용을하고그 IP로 ECX를접근하면, http://< 클러스터 IP>:910/ecx 클러스터 IP는마스터에서설정이되는가상 IP이므로마스터가변경이되어도위의 URL로계속마스터의 ECX에접근이됩니다. 설정한후이거나 ECX 창의왼쪽프레임의 Cluster 라는항목을클릭하면그림 4 와같은 클러스터정보화면이보입니다. - 19 -
그림 4 클러스터정보페이지 2 그림 3에서클러스터의이름이 testha, 설명이 testha for manual, IP가 192.168.123.108 로지정되어있는것을볼수있는데, 이내용은 2.2.1. 에서설정과동일함을확인할수있습니다. 또한, 마스터노드가 gfs01, 전체노드가 2 노드이며, 현재동작중인노드가 2 노드임을보여주고있습니다. 노드그룹이란, EnCluster-HA 모델중클러스터내에포함되면서그자신은노드와서비스 를포함할수있습니다. 여러노드를하나의그룹으로정의하여서비스를제공하여관리 의편의를제공합니다. 하나의노드는다수의그룹에포함될수있습니다. ECX 페이지의왼쪽프레임에서 Node Groups 를클릭하면, 그림 5 와같은페이지가나 타납니다. 그림 5 노드그룹목록 - 20 -
그룹목록을추가설정한후에는아래와같이보여집니다. 그림 6 노드그룹목록 2 그림 5 에서상단의추가버튼을클릭하면여기서는노드그룹의이름과포함노드들을 선택, 변경할수있고제공할서비스를선택할수있습니다. - 21 -
그림 7 노드그룹설정 그림 7 페이지에서적용을클릭하면그림 8 과같은그룹목록페이지로이동하고해당 그룹을선택하면그룹이포함하고있는노드들에대한정보와노드그룹을제어할수있 는페이지로이동합니다. - 22 -
그림 8 서비스목록페이지 EnCluster-HA 에서는서버애플리케이션, deamon 등을서비스라는모델로정의합니다. EnCluster-HA 로제공하고자하는서비스를추가하기위해서그림 8 에서상단메뉴에서 추가버튼을클릭합니다. - 23 -
그림 9 서비스추가 그림 9와같은서비스추가페이지에서서비스이름, 서비스명령, 서비스모니터링을위한 Port, proc name을입력합니다. 설정된 Port와 proc name은 VNSS 서비스설정시해당값에대해모니터링을할수있습니다. 서비스추가후그림 10 와같이서비스의정보페이지로이동합니다. 목록에서해당서비스를클릭하면해당서비스의정보를볼수있고그페이지에서상단 의설정을클릭하면수정할수있는페이지로이동합니다. - 24 -
그림 10 서비스추가후서비스목록 VNSS란, 가상노드싱글서비스의약어로하나의가상노드에서하나의노드만이서비스를수행하는모델을말합니다. 가상노드라함은그룹단위의노드들의묶음을하나의 IP를통해서비스를함으로서일반사용자는 1대의노드처럼느껴지게하는모델입니다. 다만, VNSS에서는 High Availability( 고가용성 ) 을위해가상노드상 ( 여러대의서버 ) 에서 1대의노드만이서비스를하고 (Active) 나머지노드들은대기상태로 (Standby) 있습니다가서비스를하는싱글노드에장애가발생하였을경우그중 1대가서비스를다시하게됩니다. (Fail-over) 이부분은 VNSS 테스트시 RESOURCE 설정시별도의디스크볼륨을가지고있지않을 경우를위한내용입니다. 별도의디스크볼륨이있습니다면다음장으로넘어가십시요. # dd if=/dev/zero of=testfile bs=4096 count=40960 # losetup /dev/loop0 testfile # mke2fs /dev/loop0-25 -
왼쪽메뉴중 HA Management->VNSS for HA 를클릭하면다음과같은초기페이지가보 입니다. 그림 11 VNSS 목록페이지 그림 19 에서상단의추가버튼을클릭하면그림 12 의 VNSS 설정페이지로이동합니다. - 26 -
그림 12 VNSS 설정페이지 1 그림 12 에이름을입력하고가상 IP 를입력합니다. 가상 IP 는 VNSS 설정후시작시해당서비스에접근할수있는가상 IP 입니다. 포함그룹선택 에서추가버튼을클릭하면그림 13 과같은그룹의목록이보이는페이 지로이동합니다. 그룹을설정하지않았다면 포함그룹선택 섹션은보이지않습니다. - 27 -
그림 13 VNSS 그룹추가페이지 적용할그룹선택후적용을클릭하게되면추가되고그림 14 와같은설정페이지로이 동됩니다. - 28 -
그림 14 VNSS 설정페이지 2 포함서비스선택 섹션에서추가버튼을클릭하면그림 15 과같은서비스의목록이보 이는페이지로이동합니다. 서비스를추가하지않았다면이섹션은보이지않습니다. - 29 -
그림 15 VNSS 서비스추가페이지 적용할그룹을선택한후적용을클릭하면서비스가추가되고그림 16 과같이설정됩니 다. - 30 -
그림 16 VNSS 설정페이지 3 HA 관련모니터링, 실패시재시도횟수, 후속액션등을설정하기위해서그림 24 에서서 비스설정후생성된서비스 (MySQL) 를클릭하면 VNSS 서비스설정페이지로이동합니 다. - 31 -
그림 17 VNSS 서비스설정페이지 4 VNSS 서비스설정페이지상단은기본서비스설정과같습니다. 수정할내용이나추가 할내용을추가, 제거하시면되고, 하단에는 HA 관련내용을설정합니다. HA 서비스설정 섹션에서 모니터링명령 은 HA대상서비스에대해기본모니터링 ( 포트모니터링, 프로세스모니터링 ) 이외의관리자가작성한모니터링명령을절대경로로입력합니다. HA 모니터링명령작성시성공일경우 exit값을 0으로실패일경우 0이외의값을설정하여야합니다. 서비스장애시설정 섹션에서재시도횟수를입력하고후속액션을선택합니다. 재시도횟수는후속액션마다재시도를하는횟수이며다수의후속액션선택시위에서부 터순차적으로수행됩니다. 서비스모니터링설정 섹션에서는사용할모니터링을선택합니다. 다수의모니터링선 택시 HA 모니터링에우선권이있습니다. ( 포트와프로세스이름선택시둘중하나만성공 - 32 -
이어도서비스는살아있습니다고판단합니다.) 입력이완료되었으면적용을클릭합니다. 그러면그림 11 페이지가다시보입니다. 그림 18 VNSS 설정페이지 리소스설정 에서추가버튼을클릭합니다. 그러면리소스의목록이보이는페이지로이 동합니다. - 33 -
그림 19 VNSS 리소스추가페이지 적용할리소스를선택한후적용을클릭하면그림 20 과같이설정됩니다. - 34 -
그림 20 VNSS 설정페이지 4 생성된리소스 (ERBD) 클릭해서리소스설정을합니다 - 35 -
그림 21 VNSS 리소스설정페이지 (ERBD) 그림 21 와같이이름을입력하고 sync rate, 가상장치, 포트을선택하고사용할 Volume 을설정하고 IP 를선택합니다. - 36 -
그림 22 VNSS 정보페이지 1 VNSS 목록페이지에서해당 VNSS 아이콘을클릭하면그림 22 로이동합니다. 상단의 우선순위 버튼을클릭하면다음과같은페이지가보여집니다. - 37 -
그림 23 우선순위설정페이지 우선순위설정페이지에서는이전에설정하였던 VIP, 서비스, 사용자명령, 리소스를 실행하는데순차적으로실행되어야하는명령들을정렬할수있습니다. 오른쪽의설정버튼으로순서를조정한후적용버튼을누릅니다. 그림 22 의 포함리소스 섹션에서 ERBD 에만명령버튼이존재합니다. (NFS, DISK 는 VNSS 시작시마운트됩니다.) ERBD 를시작하지않고 VNSS 를시작하면경고창이뜨게됩니다. 그림 22 에서 ERBD 를시작하면그림 24 과같이상태가표시됩니다. - 38 -
그림 24 VNSS 정보페이지 2 그림 24 는 ERBD 가정상동작중임을나타냅니다. 해당리소스 (ERBD) 를클릭하면좀더 자세한정보를볼수있는페이지로이동합니다. ( 그림 25) - 39 -
그림 25 ERBD 정보페이지 그림 25 는 ERBD 가현재동기화중임을나타내고있고진행율, 예상완료시간, 진행속도를 보여줍니다. 일시정지버튼을클릭하면동기화가일시정지됩니다. 그림 25 는상단의설정버튼을클릭하면 ERBD 를설정할수있는페이지로이동하고 삭제버튼을누르면 ERBD 가삭제됩니다. - 40 -
그림 26 ERBD 정보페이지 동기화가끝나면그림 26 과같은페이지가보여집니다. 볼륨정보와연결 IP, 연결상태 를보여주며명령버튼들을보여줍니다. 명령버튼들은다음과같은역할을합니다. l 시작명령 : ERBD의시작과종료 l 디스크명령 : DISK의 attach, detach l 연결명령 : ERBD의연결과연결종료 l 복구명령 : ERBD가장애가발생하였을경우활성화되며장애노드의 B 버튼을클릭한후비장애노드의 G 버튼을클릭하면장애가복구됩니다. 리소스중 NFS 나 DISK 를선택하였을경우정보페이지에는마운트상태를보여줍니다. 그림 22 의 VNSS 정보페이지상단의 control 버튼중시작버튼을클릭을하면 VNSS 가 시작이되고정상적으로실행이되었다면그림 27 과같은상태로보여집니다. - 41 -
그림 27 VNSS 정상실행 VNSS 가실행중이거나정지상태일경우설정을하기위해서는그림 27 페이지에서상단의 설정버튼을클릭합니다. - 42 -
그림 28 VNSS 설정페이지 그림 28은 VNSS 실행상태중일경우의설정페이지입니다. 정지상태일경우포함그룹, 포함서비스, 포함리소스, 사용자명령을추가하거나삭제할수있는버튼이활성화됩니다. 그림 28에서는싱글노드 ( 서비스를제공하는노드 ) 를변경하기위해싱글노드의가중치를 GFS01노드에 200을설정했습니다. - 43 -
그림 29 싱글노드변경후정보페이지 그림 29 는싱글노드가중치변경후싱글노드가변경된것을보여줍니다. 그림 29 설정페이지상단의모니터링버튼을클릭하면네트워크연결상태를감시할수 있는설정페이지로이동합니다. - 44 -
그림 30 네트워크모니터설정페이지 네트워크모니터는노드간의연결이끊긴경우연결 IP(Gateway와같이항상살아있습니다고가정할수있는노드의 IP) 에연결을시도하여실패시시도횟수만큼재시도하고연결실패로판단될경우연결실패시액션을수행합니다. Pass Over : 아무런동작을하지않습니다. EnCluster STOP : EnCluster-HA를정지합니다. System REBOOT : 시스템을재부팅합니다. 그림 30, VNSS 정보페이지상의각개체아이콘의색으로상태를알수있습니다. VNSS 아이콘 - 초록색 : HA 명령스크립트가정상적으로동작했습니다. - 노란색 : 하나의 nd에서 HA 명령스크립스실행이실패했습니다. - 빨간색 : 모든노드에서 HA 명령스크립스실행이실패했습니다. - 흰색 : VNSS가시작되지않은상태입니다. 리소스아이콘 - 초록색 : 정상동작중이거나 syncing 상태입니다. - 45 -
비 고 공개SW기술지원센터 - p : primary - S : secondary - 빨간색 : 리소스의 state가재대로 setting되지않아동작하지않는상태입니다. - p : primary - S : secondary - 노란색 : 정지되지는않았으나정상작동하지않고있는상태입니다. - D : Diskless - S : Standalone - 흰색 : 리소스가시작되지않은상태입니다. - 46 -
아. Oracle 10g 고가용성테스트 단계 시험항목 시험절차 항목 / 시험 / 결과 Oracle10g 설치폴더 ERBD 파티션으로이동 mkfs.ocfs2 -b 4K -C 32K -N 4 -L data /dev/erbd0 mount -t ocfs2 /dev/erbd0 /ocfs2/ mv /u01 /u02 /ocfs2 1 시험결과 [root@host01 bin]# mkfs.ocfs2 -b 4K -C 32K -N 4 -L data /dev/erbd0 [root@host01 bin]# mount -t ocfs2 /dev/erbd0 /ocfs2/ [root@host01 bin]# mv /u01 /u02 /ocfs2 비고시험항목시험절차 Oracle10g FailOver 테스트 Active 노드에서 Oracle10g 서비스종료또는시스템재부팅을통한 Standby 노드에서 FailOver 를수행하는지확인 - Active 노드 [root@host01 bin]# shutdown 2 시험결과 - Standby 노드 1. ERBD 볼륨마운트확인 [root@host02 bin]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb2 17876120 11564400 5403648 69% / none 1037464 0 1037464 0% /dev/shm /dev/erbd0 9850996 4658768 4691824 50% /ocfs2 2. Oracle10g 서비스확인 [root@host02 bin]# ps aux grep oracle oracle 21892 0.0 0.2 41732 5700? Ssl 11:28 0:00 /u01/app/oracle/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit oracle 21990 0.0 0.5 689596 12432? Ss 11:28 0:00 ora_pmon_orcl oracle 21992 0.0 0.5 688960 10612? Ss 11:28 0:00 ora_psp0_orcl oracle 21994 0.0 0.9 688960 19340? Ss 11:28 0:00-47 -
공개SW기술지원센터 ora_mman_orcl oracle 21996 0.0 0.7 691028 15468? Ss 11:28 0:00 ora_dbw0_orcl oracle 21998 0.0 0.9 704520 19056? Ss 11:28 0:00 ora_lgwr_orcl oracle 22000 0.0 0.8 689148 16880? Ss 11:28 0:00 ora_ckpt_orcl oracle 22002 0.1 2.8 689560 58592? Ss 11:28 0:00 ora_smon_orcl oracle 22004 0.0 0.8 689020 16900? Ss 11:28 0:00 ora_reco_orcl oracle 22006 0.0 1.1 690628 23180? Ss 11:28 0:00 ora_cjq0_orcl oracle 22008 0.1 2.2 691816 47336? Ss 11:28 0:00 ora_mmon_orcl oracle 22010 0.0 0.7 689000 16588? Ss 11:28 0:00 ora_mmnl_orcl oracle 22012 0.0 0.5 689600 10520? Ss 11:28 0:00 ora_d000_orcl oracle 22014 0.0 0.4 689600 10260? Ss 11:28 0:00 ora_s000_orcl oracle 22026 0.0 0.5 688964 11896? Ss 11:28 0:00 ora_qmnc_orcl oracle 22041 0.0 0.6 688988 13528? Ss 11:28 0:00 ora_q000_orcl oracle 22047 0.0 0.5 688988 11128? Ss 11:28 0:00 ora_q001_orcl root 22461 0.0 0.0 6692 688 pts/1 S+ 11:37 0:00 grep oracle 비 고 - 48 -
자. MySQL 고가용성테스트 단계 항목 / 시험 / 결과 시험항목 시험절차 MySQL Datadir ERBD 파티션으로설정 vi /etc/my.cnf 1 시험결과 [root@host01 bin]# vi /etc/my.cnf [mysqld] datadir=/ocfs2/mysql <--- 이부분을 ERBD 파티션으로설정 socket=/var/lib/mysql/mysql.sock 비고시험항목시험절차 MySQL FailOver 테스트 Active 노드에서 MySQL 서비스종료또는시스템재부팅을통한 Standby 노드에서 FailOver 를수행하는지확인 - Active 노드 [root@host01 bin]# shutdown 2 시험결과 - Standby 노드 ERBD 볼륨마운트확인 [root@host02 bin]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sdb2 17876120 11564400 5403648 69% / none 1037464 0 1037464 0% /dev/shm /dev/erbd0 9850996 4658768 4691824 50% /ocfs2 MySQL 서비스확인 [root@host02 ocfs2]# ps aux grep mysql root 23464 0.1 0.0 6584 1192 pts/1 S 11:58 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/my.cnf --pid-file=/var/run/mysqld/mysqld.pid mysql 23497 1.3 0.8 118248 17008 pts/1 Sl 11:58 0:00 /usr/libexec/mysqld --defaults-file=/etc/my.cnf --basedir=/usr --datadir=/ocfs2/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock 비 고 - 49 -