고가용성 추가 기능 관리

Similar documents
Pacemaker/Corosync 클러스터에서 GFS2구성

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

Red Hat Virtualization 4.0 SR-IOV를 구현하기 위한 하드웨어 고려 사항

Packstack 을이용한 Openstack 설치

NFS 설정 가이드

PowerPoint 프레젠테이션

Windows 8에서 BioStar 1 설치하기

Windows Server 2012

2 노드

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

Linux Server 리눅스왕초보실무를익혀라! 리눅스서버 20 fedora 김영훈ㆍ정거룡지음

워드표준 가이드

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

소프트웨어설치 1. 소프트웨어설치및제거 ( 소스코드 ) 소스코드컴파일을이용한 S/W 설치 1. 소스코드다운로드 - 예 ) httpd tar.gz - 압축해제 : #tar xzvf httpd tar.gz - INSTALL 또는 README파일참조

< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

PowerPoint 프레젠테이션

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

Windows Server 8

RHEV 2.2 인증서 만료 확인 및 갱신

System Recovery 사용자 매뉴얼

PowerPoint 프레젠테이션

View Licenses and Services (customer)

vRealize Automation용 VMware Remote Console - VMware

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

Microsoft Word - wiseCLOUD_v2.4_InstallGuide.docx

Microsoft PowerPoint - ch07.ppt

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

ThinkVantage Fingerprint Software

운영체제실습_명령어

슬라이드 1

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Mango220 Android How to compile and Transfer image to Target

Install stm32cubemx and st-link utility

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

PowerPoint Presentation

Sun Java System Messaging Server 63 64

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

SBR-100S User Manual

Microsoft Word - Armjtag_문서1.doc

FlexCloud Linux Server 원격접속및볼륨확장매뉴얼 Date: Hostway IDC Corporation Copyright 2011 Hostway IDC Inc. All rights reserved. TEL: URL:

작성자 : saint Overview BackTrack 는 LILO 를부트로더로사용한다. BactTrack 을기본환경설정그대로설치하면부팅할수없는경우가있는데, 이것은실린더크기가 1024 보다큰하드디스크에설치하면 LILO 가 OS 를정상적으로읽어올수없기때문이다. 요즘나오는

ISP and CodeVisionAVR C Compiler.hwp

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

미디어 및 엔터테인먼트 업계를 위한 Adobe Experience Manager Mobile

Assign an IP Address and Access the Video Stream - Installation Guide

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

untitled

목 차 1. 드라이버 설치 설치환경 드라이버 설치 시 주의사항 USB 드라이버 파일 Windows XP에서 설치 Windows Vista / Windows 7에서 설치 Windows

Microsoft Word - release note-VRRP_Korean.doc

Microsoft Word - LVM으로리눅스설치및운용.doc

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

SAS9.2_SAS_Enterprise_Miner_install_guide_single_user_v2

워드표준 가이드

Office 365, FastTrack 4 FastTrack. Tony Striefel FastTrack FastTrack

Microsoft Word - CAE 클러스터 환경 구축-ABAQUS.doc

01장

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

Windows 2000 Advanced Server Clustering 설치

vm-웨어-앞부속

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

PowerPoint 프레젠테이션

Report Designer V3.0 사용설명서 2장

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

Microsoft PowerPoint - Linux_10gRAC_3Node

KISA-GD

Windows 10 General Announcement v1.0-KO

Oracle Database 11g R2 Installation Guide for OEL5(x86) Writer : 이경호

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

슬라이드 1

BEA_WebLogic.hwp

슬라이드 1

슬라이드 제목 없음

User Guide

BACK TO THE BASIC C++ 버그 헌팅: 버그를 예방하는 11가지 코딩 습관

APOGEE Insight_KR_Base_3P11

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

Remote UI Guide

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

LXR 설치 및 사용법.doc

SPECweb Install

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목 차

Acronis® Backup & Recovery™ 10 Server for Linux

Cisco FirePOWER 호환성 가이드

NTD36HD Manual

Apache install guide

chapter1,2.doc

Agenda 오픈소스 트렌드 전망 Red Hat Enterprise Virtualization Red Hat Enterprise Linux OpenStack Platform Open Hybrid Cloud

Microsoft PowerPoint - 03-Development-Environment-2.ppt

Windows Server 2008 MSCS Installatoin Guide

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

내용물 시작 3 구성품 4 MDA200 기본 사항 5 액세서리 6 헤드셋 연결 7 탁상 전화기: 연결 및 통화 8 탁상 전화기(표준) 8 탁상 전화기+ HL10 거치대와 전원 공급 장치(별도 구매) 10 탁상 전화기+ EHS 케이블 12 컴퓨터: 연결 및 통화 13 컴

문서 대제목

단계

Transcription:

Red Hat Enterprise Linux 7 고가용성추가기능관리 고가용성추가기능설정및관리

Red Hat Enterprise Linux 7 고가용성추가기능관리 고가용성추가기능설정및관리

법적공지 Copyright 2015 Red Hat, Inc. and others. This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux is the registered trademark of Linus Torvalds in the United States and other countries. Java is a registered trademark of Oracle and/or its affiliates. XFS is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project. The OpenStack Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community. All other trademarks are the property of their respective owners. 초록 고가용성추가기능관리에서는 Red Hat Enterprise Linux 7 의고가용성추가기능의설정및관리에대해설명합니다.

차례 차례. 1장... 페이스메이커...........(Pacemaker)........... 를.. 사용한...... Red.... Hat... 고가용성........ 클러스터........ 생성.................................... 2. 1.1. 클러스터소프트웨어설치 1.2. 클러스터생성 1.3. 차단장치설정. 2장... Red.... Hat.... 고가용성....... 클러스터에.......... 있는.... 활성..../ 수동.... Apache....... 웹.. 서버........................................... 6. 2.1. ext4 파일시스템이있는 LVM 볼륨설정 2.2. 웹서버설정 2.3. 클러스터에서볼륨그룹의단독활성화 2.4. pcs 명령을사용한리소스및리소스그룹생성 2.5. 리소스설정테스트. 3장... Red.... Hat.... 고가용성....... 클러스터에.......... 있는.... 활성..../ 수동.... NFS.... 서버............................................... 13.. 3.1. NFS 클러스터생성 3.2. ext4 파일시스템이있는 LVM 볼륨설정 3.3. NFS 공유설정 3.4. 클러스터에서볼륨그룹의단독활성화 3.5. 클러스터리소스설정 3.6. 리소스설정테스트 부록..... A... 고친.... 과정................................................................................. 22.. 2 3 4 7 8 8 10 11 13 13 14 15 16 19 1

고가용성추가기능관리 1장. 페이스메이커 (Pacemaker) 를사용한 Red Hat 고가용성클러스터생성 다음부분에서는 pcs 를사용해서 Red Hat 고가용성 2 노드클러스를생성하는방법에대해설명합니다. 클러스터를생성한후사용자가필요로하는리소스와리소스그룹을설정할수있습니다. 여기에설명되어있는방법에따라클러스터를설정하려면다음과같은구성요소가시스템에설치되어야합니다 : 클러스터생성에사용될두개의노드. 예를들어, z1.example.com 그리고 z2.example.com 인두개의노드가사용됩니다. 클러스터노드그리고네트워크전원스위치와파이버채널스위치와같은다른클러스터하드웨어와통신하는데필요한비공개네트워크용네트워크스위치 클러스터의각노드별전원차단 (power fencing) 장치. 예를들어, zapc.example.com 호스트명을갖고있는 APC 전원스위치의포트를두개사용합니다. 이는다음과같은부분으로구성되어있습니다. 1.1 절. 클러스터소프트웨어설치 는클러스터소프트웨어설치절차를설명합니다. 1.2 절. 클러스터생성 은 2 노드클러스설정절차를설명합니다. 1.3 절. 차단장치설정 은클러스터의각노드에대한차단장치설정절차를설명합니다. 1.1. 클러스터소프트웨어설치 다음의절차를통해클러스터를설치하고설정합니다. 1. 클러스터의각노드에서 Red Hat 고가용성추가기능소프트웨어패키지와함께고가용성채널에서사용가능한모든차단에이전트를설치합니다. # yum install pcs fence-agents-all 2. 사용자가 firewalld 데몬을실행중이라면다음의명령을실행해서 Red Hat 고가용성추가기능에의해요구되는포트를활성화합니다. 사용자는 rpm -q firewalld 명령을실행해서 firewalld 데몬이시스템에설치되어있는지확인할수있습니다. firewalld 데몬이설치되어있다면그것이실행중인지확인하기위해 firewall-cmd --state 명령을실행합니다. # firewall-cmd --permanent --add-service=high-availability # firewall-cmd --add-service=high-availability 3. pcs 를사용해서클러스터를설정하고노드간에통신하려면 pcs 관리계정인사용자 ID hacluster 의암호를각노드에설정해야합니다. hacluster 사용자의암호를각노드에서동일하게하는것을권장합니다. # passwd hacluster 2

1장. 페이스메이커 (Pacemaker) 를사용한 Red Hat 고가용성클러스터생성 Changing password for user hacluster. New password: Retype new password: passwd: all authentication tokens updated successfully. 4. 클러스터가설정되기전에 pcsd 데몬이반드시시작되어야하며각노드에서시작시부팅되도록활성화되어야합니다. 이데몬은 pcs 명령을사용해서해당클러스터에있는모든노드의설정을관리할수있습니다. 클러스터의각노드에서다음의명령을실행해서시스템시작시 pcsd 서비스를시작하고 pcsd 를활성화하도록합니다. # systemctl start pcsd.service # systemctl enable pcsd.service 5. 사용자가 pcs 를실행하게될노드에서 pcs 사용자 hacluster 를클러스터의각노드에대해인증합니다. 다음의명령을사용해서예시와같은 2 노드클러스터의두노드 z1.example.com 과 z2.example.com 모두를위해 z1.example.com 에서 hacluster 사용자를인증합니다. [root@z1 ~]# pcs cluster auth z1.example.com z2.example.com Username: hacluster Password: z1.example.com: Authorized z2.example.com: Authorized 1.2. 클러스터생성 다음의절차에따라 z1.example.com 과 z2.example.com 노드로구성된 Red Hat 고가용성추가기능클러스터를생성합니다. 1. z1.example.com 에서다음의명령을실행해서 z1.example.com 과 z2.example.com 노드로구성된 2 노드클러스터인 my_cluster 를생성합니다. 이를통해클러스터의두노드모두에클러스터설정파일을전달합니다. 이명령은클러스터의두노드모두에서클러스터서비스를시작하게해주는 --start 옵션을포함합니다. [root@z1 ~]# pcs cluster setup --start --name my_cluster \ z1.example.com z2.example.com z1.example.com: Succeeded z1.example.com: Starting Cluster... z2.example.com: Succeeded z2.example.com: Starting Cluster... 2. 노드가부팅되었을때클러스터의각노드에서클러스터서비스가실행되도록활성화합니다. 3

고가용성추가기능관리 사용자의특정환경에서는다음의단계를생략해서클러스터서비스를비활성화된상태로둘수도있습니다. 이렇게하면노드가작동하지않게되었을때사용자의클러스터나리소스에문제가있을경우해당노드가클러스터에다시참여하기전에이문제가해결되도록할수있습니다. 클러스터서비스를비활성화된상태로두면사용자가노드를재부팅할때해당노드에서 pcs cluster start 명령을실행해서서비스를수동으로시작해야합니다. # pcs cluster enable --all pcs cluster status 명령을사용해서클러스터의현재상태를표시할수있습니다. 사용자가 pcs cluster setup 명령의 --start 옵션을사용해서클러스터서비스를시작했을때클러스터가시작및실행되는데약간시간이걸릴수있으므로클러스터서비스를시작한후클러스터와클러스터설정에다른동작을실행하기전에먼저클러스터가시작및실행중인지확인해야합니다. [root@z1 ~]# pcs cluster status Cluster Status: Last updated: Thu Jul 25 13:01:26 2013 Last change: Thu Jul 25 13:04:45 2013 via crmd on z2.example.com Stack: corosync Current DC: z2.example.com (2) - partition with quorum Version: 1.1.10-5.el7-9abe687 2 Nodes configured 0 Resources configured 1.3. 차단장치설정 사용자는클러스터에있는각노드에대해차단장치를설정해야합니다. 차단장치설정에관한일반적인정보는 Red Hat Enterprise Linux 7 High Availability Add-On Reference 를참조하십시오. 차단장치를설정할때사용자의차단장치가제어하는노드와그장치가전원을공유하고있지않은지확인합니다. 다음의예시에서는노드를차단하기위해 zapc.example.com 호스트명을갖고있는 APC 전원스위치와 fence_apc_snmp 차단에이전트를사용합니다. 두노드가모두동일한차단에이전트에의해차단될것이므로사용자는 pcmk_host_map 과 pcmk_host_list 옵션을사용해서두차단장치를단일리소스로설정할수있습니다. pcs stonith create 명령을사용해서차단장치를 stonith 리소스로설정해서생성합니다. 다음의명령을사용해서 z1.example.com 과 z2.example.com 노드에대해 fence_apc_snmp 차단에이전트를사용하는 myapc 라는이름의 stonith 리소스를설정합니다. pcmk_host_map 옵션을사용해서 z1.example.com 을포트 1 에매핑하고 z2.example.com 을포트 2 에매핑합니다. APC 장치의로그인값과암호는모두 apc 입니다. 기본값으로이장치는각노드에대해 60 초의모니터간격을둡니다. 노드를위한호스트명을지정할때 IP 주소를사용할수있습니다. [root@z1 ~]# pcs stonith create myapc fence_apc_snmp params \ 4

1장. 페이스메이커 (Pacemaker) 를사용한 Red Hat 고가용성클러스터생성 ipaddr="zapc.example.com" pcmk_host_map="z1.example.com:1;z2.example.com:2" \ pcmk_host_check="static-list" pcmk_host_list="z1.example.com,z2.example.com" \ login="apc" passwd="apc" 사용자가 fence_apc_snmp stonith 장치를생성할때다음과같은경고메시지가표시될수도있지만무시해도됩니다 : Warning: missing required option(s): 'port, action' for resource type: stonith:fence_apc_snmp 다음의명령을사용해서기존 STONITH 장치의매개변수를표시합니다. [root@rh7-1 ~]# pcs stonith show myapc Resource: myapc (class=stonith type=fence_apc_snmp) Attributes: ipaddr=zapc.example.com pcmk_host_map=z1.example.com:1;z2.example.com:2 pcmk_host_check=static-list pcmk_host_list=z1.example.com,z2.example.com login=apc passwd=apc Operations: monitor interval=60s (myapc-monitor-interval-60s) 5

고가용성추가기능관리 2장. Red Hat 고가용성클러스터에있는활성 / 수동 Apache 웹서버 다음부분에서는클러스터리소스를설정하는데 pcs 를사용해서 2 노드 Red Hat Enterprise Linux 고가용성추가기능클러스터에활성 / 수동 Apache 웹서버를설정하는방법에대해설명합니다. 이렇게사용되는경우클라이언트가부동 IP 주소를통해 Apache 웹서버에액세스합니다. 웹서버는클러스터에있는두노드중하나에서실행됩니다. 웹서버가실행되고있는노드가실행불가능하게될경우, 웹서버가클러스터에있는두번째노드에다시시작되면서서비스장애를최소화합니다. 그림 2.1. Red Hat 고가용성 2 노드클러스터에있는 Apache 웹서버 는클러스터의전반적인개요를보여줍니다. 이클러스터는네트워크전원스위치및공유스토리지가설정되어있는 2 노드 Red Hat 고가용성클러스터입니다. 이클러스터노드는클라이언트가가상 IP 를통해 Apache 웹서버에액세스할수있도록공개네트워크에연결되어있습니다. Apache 서버는 Node 1 또는 Node 2 에서실행되며, 각노드는 Apache 데이터가저장되는스토리지에액세스할수있습니다. 그림 2.1. Red Hat 고가용성 2 노드클러스터에있는 Apache 웹서버 이렇게사용하려면다음과같은구성요소가시스템에설치되어야합니다 : 각노드에전원차단 (power fencing) 이설정되어있는 2 노드 Red Hat 고가용성클러스터. 이절차는 1 장. 페이스메이커 (Pacemaker) 를사용한 Red Hat 고가용성클러스터생성에제시된클러스터예시를사용합니다. Apache 웹서버에요구되는공개된가상 IP 주소 iscsi 또는파이버 (Fibre) 채널을사용하는클러스터의노드를위한공유스토리지 이클러스터는웹서버가요구하는클러스터구성요소인 LVM 리소스, 파일시스템리소스, IP 주소리소스, 웹서버리소스등이들어있는 Apache 리소스그룹이설정되어있습니다. 이리소스그룹은클러스터의한노드에서다른노드로페일오버하므로두노드중어느노드에서도웹서버를실행할수있습니다. 이클러스터를위한리소스그룹을생성하기전에사용자는다음의절차를실행합니다 : 1. 2.1 절. ext4 파일시스템이있는 LVM 볼륨설정 에있는설명에따라서 my_lv 논리볼륨에마운트되어있는 ext4 파일시스템을설정합니다. 2. 2.2 절. 웹서버설정 에있는설명에따라서웹서버를설정합니다. 6

2장. Red Hat 고가용성클러스터에있는활성 / 수동 Apache 웹서버 3. 2.3 절. 클러스터에서볼륨그룹의단독활성화 에있는설명에따라서오직그클러스터만이 my_lv 를포함하는볼륨그룹을활성화할수있으며, 그볼륨그룹은시작시클러스터밖에서활성화되지않도록확인합니다. 이절차를실행한후에 2.4 절. pcs 명령을사용한리소스및리소스그룹생성 에있는설명에따라서리소스그룹과거기에포함된리소스를생성합니다. 2.1. ext4 파일시스템이있는 LVM 볼륨설정 이렇게사용하는경우클러스터의노드사이에공유된스토리지에있는 LVM 논리볼륨을생성하도록요구됩니다. 다음의절차에따라 LVM 논리볼륨을생성한후그볼륨에 ext4 파일시스템을생성합니다. 이예시에서는공유파티션 /dev/sdb1 이 LVM 물리볼륨을저장하는데사용되며, 여기에서 LVM 논리볼륨이생성됩니다. 클러스터노드가사용하는 LVM 볼륨과이와연관된파티션과장치는반드시클러스터노드에만연결되어있어야합니다. /dev/sdb1 파티션은공유된스토리지이므로, 이절차는단하나의노드에만수행합니다. 1. /dev/sdb1 파티션에 LVM 물리볼륨을생성합니다. # pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created 2. 물리볼륨 /dev/sdb1 으로구성된볼륨그룹 my_vg 를생성합니다. # vgcreate my_vg /dev/sdb1 Volume group "my_vg" successfully created 3. 볼륨그룹 my_vg 를사용해서논리볼륨을생성합니다. # lvcreate -L450 -n my_lv my_vg Rounding up size to full physical extent 452.00 MiB Logical volume "my_lv" created lvs 명령을사용해서논리볼륨을표시할수있습니다. # lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert my_lv my_vg -wi-a---- 452.00m... 4. 논리볼륨 my_lv 에 ext4 파일시스템을생성합니다. # mkfs.ext4 /dev/my_vg/my_lv mke2fs 1.42.7 (21-Jan-2013) Filesystem label= 7

고가용성추가기능관리 OS type: Linux... 2.2. 웹서버설정 다음의절차에따라 Apache 웹서버를설정합니다. 1. Apache HTTPD 서버가클러스터의각노드에설치되어있는것을확인합니다. 또한 Apache 웹서버의상태를확인할수있기위해서는 wget 도구가클러스터에설치되어있어야합니다. 각노드에서다음의명령을실행합니다. # yum install -y httpd wget 2. Apache 리소스에이전트가 Apache 웹서버의상태를받기위해서는다음의텍스트가클러스터의각노드에있는 /etc/httpd/conf/httpd.conf 파일에존재하며주석으로처리되지않도록해야합니다. 해당텍스트가존재하지않는다면파일마지막에이텍스트를추가합니다. <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 </Location> 3. Apache 가제공할웹페이지를생성합니다. 클러스터에있는하나의노드에서사용자가 2.1 절. ext4 파일시스템이있는 LVM 볼륨설정 에서생성한파일시스템을마운트하고그파일시스템에 index.html 파일을생성한후파일시스템마운트를해제합니다. # mount /dev/my_vg/my_lv /var/www/ # mkdir /var/www/html # mkdir /var/www/cgi-bin # mkdir /var/www/error # restorecon -R /var/www # cat <<-END >/var/www/html/index.html <html> <body>hello</body> </html> END # umount /var/www 2.3. 클러스터에서볼륨그룹의단독활성화 다음의절차에따라볼륨그룹을설정하면오직클러스터만이볼륨그룹을활성화시킬수있고시작시볼륨그룹이클러스터밖에서활성화되지않도록설정됩니다. 만약볼륨그룹이클러스터밖에있는시스템에의해활성화되면볼륨그룹의메타데이터가손상될수있는위험이있습니다. 다음의절차에따라 /etc/lvm/lvm.conf 설정파일에있는 volume_list 항목을수정합니다. volume_list 목록에있는볼륨그룹은클러스터관리자의제어범위를벗어난로컬노드에서자동으로활성화되는게허용됩니다. 그노드의로컬루트와홈디렉토리에관련된볼륨그룹이이목록에포함되어야합니다. 클러스터관리자가관리하는모든볼륨그룹은 volume_list 항목에서제외되어야합니다. 이절차는 clvmd 의사용을필요로하지않습니다. 8

2장. Red Hat 고가용성클러스터에있는활성 / 수동 Apache 웹서버 클러스터의각노드에다음과같은절차를수행합니다. 1. locking_type 이 1 로설정되어있고 /etc/lvm/lvm.conf 파일에서 use_lvmetad 가 0 으로설정되어있도록확실히하기위해다음의명령을실행합니다. 이명령은모든 lvmetad 프로세스를즉시비활성화및중지합니다. # lvmconf --enable-halvm --services --startstopservices 2. 다음의명령을사용해서어느볼륨그룹이현재사용자의로컬스토리지에설정되어있는지확인합니다. 이명령을통해현재설정되어있는볼륨그룹목록이표시됩니다. 이노드에루트와홈디렉토리를위해각각의볼륨그룹에공간을할당해놓았다면다음의예시에서와같이표시된목록에서그볼륨을볼수있습니다. # vgs --noheadings -o vg_name my_vg rhel_home rhel_root 3. my_vg ( 사용자가방금클러스터를위해정의한볼륨그룹 ) 이외의볼륨그룹을 /etc/lvm/lvm.conf 설정파일에항목으로추가합니다. 예를들어, 각각의볼륨그룹에루트와홈디렉토리를위한공간을할당해놓았다면 lvm.conf 파일의 volume_list 행을주석해제처리하고그볼륨그룹을다음과같이 volume_list 에항목으로추가합니다. volume_list = [ "rhel_root", "rhel_home" ] 클러스터관리자밖에서활성화되는노드에로컬볼륨그룹이하나도없다하더라도사용자는 volume_list 항목을 volume_list = []( 으 ) 로초기화해야합니다. 4. 부트이미지가클러스터에의해제어되는볼륨그룹을활성화하려고시도하지않도록확실히하기위해 initramfs 부트이미지를재구축합니다. 다음의명령을사용해서 initramfs 장치를업데이트합니다. 이명령이완료되려면 1 분정도소요될것입니다. # dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r) 5. 노드를재부팅합니다. 사용자가부트이미지를생성한노드를부팅한후새로운 Linux 커널을설치했다면새로운 initrd 이미지는사용자가노드를재부팅했을때실행중인새로운커널이아니라사용자가부트이미지를생성했을때실행중이었던커널을위한것입니다. 올바른 initrd 장치를사용중인지확인하려면재부팅전과후에 uname -r 명령을실행해서실행중인커널릴리즈를확인합니다. 릴리즈가동일하지않다면새로운커널로재부팅하고나서 initrd 파일을업데이트한후노드를재부팅합니다. 9

고가용성추가기능관리 6. 노드가재부팅된후그노드에클러스터서비스가다시시작되었는지확인하기위해그노드에서 pcs cluster status 명령을실행합니다. 이를통해 Error: cluster is not currently running on this node 라는메시지가표시된다면다음의명령을실행합니다. # pcs cluster start 다른방법으로, 클러스터의각노드가재부팅될때까지기다린후에다음의명령을실행해서각노드에클러스터서비스를시작합니다. # pcs cluster start --all 2.4. pcs 명령을사용한리소스및리소스그룹생성 이렇게사용하는경우사용자가네개의클러스터리소스를생성하도록요구됩니다. 이리소스가모두같은노드에서실행되도록하기위해 apachegroup 리소스그룹의일부로설정됩니다. 사용자가생성할리소스목록은다음과같이리소스가시작하는순서대로정리되어있습니다. 1. 사용자가 2.1 절. ext4 파일시스템이있는 LVM 볼륨설정 에서생성한 LVM 볼륨그룹을사용하는 my_lvm 이라는이름의 LVM 리소스 2. 사용자가 2.1 절. ext4 파일시스템이있는 LVM 볼륨설정 에서생성한파일시스템장치인 /dev/my_vg/my_lv 를사용하는 my_fs 라는이름의 Filesystem 리소스 3. apachegroup 리소스그룹을위한부동 IP 주소인 IPaddr2 리소스. 해당 IP 주소는이미연결된물리적노드가없어야합니다. IPaddr2 리소스의 NIC 장치가지정되지않은경우해당부동 IP 는반드시클러스터노드에서사용되는정적으로할당된 IP 주소와같은네트워크에존재해야하며, 그렇지않을경우부동 IP 주소를할당할 NIC 장치가제대로인식되지않습니다. 4. 사용자가 2.2 절. 웹서버설정 에서정의한 index.html 파일과 Apache 설정을사용하는 Website 라는이름의 apache 리소스 다음의절차에따라 apachegroup 리소스그룹과그그룹에포함되는리소스를생성합니다. 사용자가리소스를그룹에추가한순서대로리소스가시작되며, 그룹에추가된역순으로중지됩니다. 클러스터의단하나의노드에서만이절차를실행합니다. 1. 다음의명령을사용해서 my_lvm 이라는 LVM 리소스를생성합니다. 오직클러스터만이 LVM 논리볼륨을활성화할수있도록하기위해이명령은 exclusive=true 매개변수를지정합니다. 아직 apachegroup 리소스그룹이존재하지않으므로이명령은리소스그룹을생성합니다. [root@z1 ~]# pcs resource create my_lvm LVM volgrpname=my_vg \ exclusive=true --group apachegroup 사용자가리소스를생성했을때그리소스는자동적으로시작됩니다. 리소스가생성및시작되었다는것을확인하기위해다음의명령을사용할수있습니다. # pcs resource show Resource Group: apachegroup my_lvm (ocf::heartbeat:lvm): Started 사용자는 pcs resource disable 및 pcs resource enable 명령을사용해서개별리소스를수동으로중지하고시작할수있습니다. 2. 다음의명령을사용해서설정을위해남은리소스를생성하고이리소스를기존의 apachegroup 리소스그룹에추가합니다. 10

2장. Red Hat 고가용성클러스터에있는활성 / 수동 Apache 웹서버 [root@z1 ~]# pcs resource create my_fs Filesystem \ device="/dev/my_vg/my_lv" directory="/var/www" fstype="ext4" --group \ apachegroup [root@z1 ~]# pcs resource create VirtualIP IPaddr2 ip=198.51.100.3 \ cidr_netmask=24 --group apachegroup [root@z1 ~]# pcs resource create Website apache \ configfile="/etc/httpd/conf/httpd.conf" \ statusurl="http://127.0.0.1/server-status" --group apachegroup 3. 리소스와그리소스를포함하는리소스그룹을생성한후사용자는클러스터의상태를확인할수있습니다. 4 개의리소스가모두동일한노드에서실행중인것을확인합니다. [root@z1 ~]# pcs status Cluster name: my_cluster Last updated: Wed Jul 31 16:38:51 2013 Last change: Wed Jul 31 16:42:14 2013 via crm_attribute on z1.example.com Stack: corosync Current DC: z2.example.com (2) - partition with quorum Version: 1.1.10-5.el7-9abe687 2 Nodes configured 6 Resources configured Online: [ z1.example.com z2.example.com ] Full list of resources: myapc (stonith:fence_apc_snmp): Started z1.example.com Resource Group: apachegroup my_lvm (ocf::heartbeat:lvm): Started z1.example.com my_fs (ocf::heartbeat:filesystem): Started z1.example.com VirtualIP (ocf::heartbeat:ipaddr2): Started z1.example.com Website (ocf::heartbeat:apache): Started z1.example.com 사용자의클러스터를위한차단장치를 1.3 절. 차단장치설정 에나와있는것처럼설정하지않았다면기본값으로리소스가시작되지않습니다. 4. 클러스터가시작및실행중이면사용자가 IPaddr2 리소스로정의한 IP 주소를브라우저에입력해서디스플레이예시를볼수있으며, 이디스플레이는 "Hello" 라는간단한단어로구성되어있습니다. Hello 사용자가설정한리소스가실행되고있지않다면, 그리소스의설정을테스트하기위해 pcs resource debug-start resource 명령을실행할수있습니다. pcs resource debug-start 명령에대한자세한내용은 High Availability Add-On Reference 매뉴얼을보세요. 2.5. 리소스설정테스트 2.4 절. pcs 명령을사용한리소스및리소스그룹생성 에서표시되는클러스터상태디스플레이에서는모든리소스가 z1.example.com 노드에서실행중입니다. 사용자는다음의절차를통해첫노드를 standby 모드로놓아서해당노드가더이상리소스를호스트할수없게만들어서리소스그룹이 z2.example.com 노드로페일오버하는지테스트할수있습니다. 11

고가용성추가기능관리 1. 다음의명령을사용해서 z1.example.com 노드를 standby 모드로놓습니다. root@z1 ~]# pcs cluster standby z1.example.com 2. z1 노드를대기모드로놓은후클러스터상태를확인합니다. 이제모든리소스가 z2 에서실행중이어야합니다. [root@z1 ~]# pcs status Cluster name: my_cluster Last updated: Wed Jul 31 17:16:17 2013 Last change: Wed Jul 31 17:18:34 2013 via crm_attribute on z1.example.com Stack: corosync Current DC: z2.example.com (2) - partition with quorum Version: 1.1.10-5.el7-9abe687 2 Nodes configured 6 Resources configured Node z1.example.com (1): standby Online: [ z2.example.com ] Full list of resources: myapc (stonith:fence_apc_snmp): Started z1.example.com Resource Group: apachegroup my_lvm (ocf::heartbeat:lvm): Started z2.example.com my_fs (ocf::heartbeat:filesystem): Started z2.example.com VirtualIP (ocf::heartbeat:ipaddr2): Started z2.example.com Website (ocf::heartbeat:apache): Started z2.example.com 정의된 IP 주소에있는웹사이트는여전히중단없이표시되어야합니다. 3. z1 을 standby 모드에서제거하려면다음의명령을실행합니다. root@z1 ~]# pcs cluster unstandby z1.example.com standby 모드에서어떤노드를제거하는것만으로리소스가해당노드로페일오버하게만들지는않습니다. 리소스가실행되는노드를제어하는데대한자세한정보는 Red Hat High Availability Add-On Reference 에있는클러스터리소스설정에대한설명을확인합니다. 12

3장. Red Hat 고가용성클러스터에있는활성 / 수동 NFS 서버 3장. Red Hat 고가용성클러스터에있는활성 / 수동 NFS 서버 다음부분에서는공유스토리지를사용해서 2 노드 Red Hat Enterprise Linux 고가용성추가기능클러스터에고가용성활성 / 수동 NFS 서버를설정하는방법에대해설명합니다. 이절차는 pcs 를사용해서페이스메이커 (Pacemaker) 클러스터리소스를설정합니다. 이렇게사용되는경우클라이언트가부동 IP 주소를통해 NFS 파일시스템에액세스합니다. NFS 서버는클러스터에있는두노드중하나에서실행됩니다. NFS 서버가실행되고있는노드가실행불가능하게될경우, NFS 서버가클러스터에있는두번째노드에다시시작되면서서비스장애를최소화합니다. 이렇게사용하려면다음과같은구성요소가시스템에설치되어야합니다 : Apache 웹서버를실행하는클러스터를만드는데사용될두개의노드. 예를들어, z1.example.com 그리고 z2.example.com 인두개의노드가사용됩니다. webfarm 클러스터의각노드별전원차단 (power fencing) 장치. 예를들어, zapc.example.com 호스트명을갖고있는 APC 전원스위치의포트를두개사용합니다. NFS 서버에요구되는공개된가상 IP 주소 iscsi 또는파이버 (Fibre) 채널을사용하는클러스터의노드를위한공유스토리지 2 노드 Red Hat Enterprise Linux 에고가용성활성 / 수동 NFS 서버를설정하기위해서는다음의단계를수행해야합니다. 1. 3.1 절. NFS 클러스터생성 에있는설명에따라서 NFS 서버를실행하는클러스터를생성하고클러스터에있는각노드에대한차단을설정합니다. 2. 3.2 절. ext4 파일시스템이있는 LVM 볼륨설정 에있는설명에따라서클러스터노드를위한공유스토리지에있는 LVM 논리볼륨 my_lv 에마운트된 ext4 파일시스템을설정합니다. 3. 3.3 절. NFS 공유설정 에있는설명에따라서 LVM 논리볼륨에있는공유스토리지에 NFS 공유를설정합니다. 4. 3.4 절. 클러스터에서볼륨그룹의단독활성화 에있는설명에따라서오직그클러스터만이논리볼륨 my_lv 을포함하는 LVM 볼륨그룹을활성화할수있으며그볼륨그룹은시작시클러스터밖에서활성화되지않도록확인합니다. 5. 3.5 절. 클러스터리소스설정 에있는설명에따라서클러스터리소스를생성합니다. 6. 3.6 절. 리소스설정테스트 에있는설명에따라서사용자가설정한 NFS 서버를테스트합니다. 3.1. NFS 클러스터생성 다음의절차에따라 NFS 클러스터를설치하고생성합니다. 1. 1.1 절. 클러스터소프트웨어설치 에설명된절차에따라 z1.example.com 과 z2.example.com 노드에클러스터소프트웨어를설치합니다. 2. 1.2 절. 클러스터생성 에설명된절차에따라 z1.example.com 과 z2.example.com 으로구성된 2 노드웹팜을생성합니다. 이렇게사용하는경우절차에있는예시처럼클러스터를 my_cluster 라고이름짓습니다. 3. 1.3 절. 차단장치설정 에설명된절차에따라웹팜클러스터의각노드에펜싱장치를설정합니다. 절차에있는예시에서는 zapc.example.com 이라는호스트명을갖고있는 APC 전원스위치의두포트를사용해서차단을설정합니다. 3.2. ext4 LVM 13

고가용성추가기능관리 3.2. ext4 파일시스템이있는 LVM 볼륨설정 이렇게사용하는경우클러스터의노드사이에공유된스토리지에있는 LVM 논리볼륨을생성하도록요구됩니다. 다음의절차에따라 LVM 논리볼륨을생성한후그볼륨에 ext4 파일시스템을생성합니다. 다음의예시에서는공유파티션 /dev/sdb1 이 LVM 물리볼륨을저장하는데사용되며, 여기에서 LVM 논리볼륨이생성됩니다. 클러스터노드가사용하는 LVM 볼륨과이와연관된파티션과장치는반드시클러스터노드에만연결되어있어야합니다. /dev/sdb1 파티션이공유된스토리지이므로, 이절차는단하나의노드에만수행합니다. 1. /dev/sdb1 파티션에 LVM 물리볼륨을생성합니다. [root@z1 ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created 2. 물리볼륨 /dev/sdb1 으로구성된볼륨그룹 my_vg 를생성합니다. [root@z1 ~]# vgcreate my_vg /dev/sdb1 Volume group "my_vg" successfully created 3. 볼륨그룹 my_vg 를사용해서논리볼륨을생성합니다. [root@z1 ~]# lvcreate -L450 -n my_lv my_vg Rounding up size to full physical extent 452.00 MiB Logical volume "my_lv" created lvs 명령을사용해서논리볼륨을표시할수있습니다. [root@z1 ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert my_lv my_vg -wi-a---- 452.00m... 4. 논리볼륨 my_lv 에 ext4 파일시스템을생성합니다. [root@z1 ~]# mkfs.ext4 /dev/my_vg/my_lv mke2fs 1.42.7 (21-Jan-2013) Filesystem label= OS type: Linux... 3.3. NFS 공유설정 14

3장. Red Hat 고가용성클러스터에있는활성 / 수동 NFS 서버 다음의절차에따라데몬페일오버 (daemon failover) 를위한 NFS 공유를설정합니다. 이절차는클러스터에있는단하나의노드에만수행합니다. 1. /nfsshare 디렉토리를생성합니다. [root@z1 ~]# mkdir /nfsshare 2. 3.2 절. ext4 파일시스템이있는 LVM 볼륨설정 에서사용자가생성한 ext4 파일시스템을 /nfsshare 디렉토리에마운트합니다. [root@z1 ~]# mount /dev/my_vg/my_lv /nfsshare 3. exports 디렉토리트리 (tree) 를 /nfsshare 디렉토리에생성합니다. [root@z1 ~]# mkdir -p /nfsshare/exports [root@z1 ~]# mkdir -p /nfsshare/exports/export1 [root@z1 ~]# mkdir -p /nfsshare/exports/export2 4. NFS 클라이언트가액세스할수있도록파일을 exports 디렉토리에넣습니다. 다음의예시에서는 clientdatafile1 과 clientdatafile2 라는이름의테스트파일을생성합니다. [root@z1 ~]# touch /nfsshare/exports/export1/clientdatafile1 [root@z1 ~]# touch /nfsshare/exports/export2/clientdatafile2 5. ext4 파일시스템의마운트를해제하고 LVM 볼륨그룹을비활성화합니다. [root@z1 ~]# umount /dev/my_vg/my_lv [root@z1 ~]# vgchange -an my_vg 3.4. 클러스터에서볼륨그룹의단독활성화 다음의절차에따라 LVM 볼륨그룹을설정하면오직클러스터만이볼륨그룹을활성화시킬수있고시작시클러스터밖에서볼륨그룹이활성화되지않도록설정됩니다. 만약볼륨그룹이클러스터밖에있는시스템에의해활성화되면볼륨그룹의메타데이터가손상될수있는위험이있습니다. 이절차는 /etc/lvm/lvm.conf 설정파일에있는 volume_list 항목을수정합니다. volume_list 목록에있는볼륨그룹은클러스터관리자의제어범위를벗어난로컬노드에서자동으로활성화되는게허용됩니다. 그노드의로컬루트와홈디렉토리에관련된볼륨그룹이이목록에포함되어야합니다. 클러스터관리자가관리하는모든볼륨그룹은 volume_list 항목에서제외되어야합니다. 이절차는 clvmd 의사용을필요로하지않습니다. 클러스터의각노드에다음과같은절차를수행합니다. 1. locking_type 이 1 로설정되어있고 /etc/lvm/lvm.conf 파일에서 use_lvmetad 가 0 으로설정되어있도록확실히하기위해다음의명령을실행합니다. 이명령은모든 lvmetad 프로세스를즉시비활성화및중지합니다. # lvmconf --enable-halvm --services --startstopservices 2. 다음의명령을사용해서어느볼륨그룹이현재사용자의로컬스토리지에설정되어있는지확인합니다. 이명령을통해현재설정되어있는볼륨그룹목록이표시됩니다. 이노드에루트와홈디렉토리를위해각각의볼륨그룹에공간을할당해놓았다면다음의예시에서와같이그볼륨을표시된목록에서볼수있습니다. 15

고가용성추가기능관리 # vgs --noheadings -o vg_name my_vg rhel_home rhel_root 3. my_vg ( 사용자가방금클러스터를위해정의한볼륨그룹 ) 이외의볼륨그룹을 /etc/lvm/lvm.conf 설정파일에항목으로추가합니다. 예를들어, 각각의볼륨그룹에루트와홈디렉토리를위한공간을할당해놓았다면 lvm.conf 파일의 volume_list 행을주석해제처리하고그볼륨그룹을다음과같이 volume_list 에항목으로추가합니다. volume_list = [ "rhel_root", "rhel_home" ] 클러스터관리자밖에서활성화되는노드에로컬볼륨그룹이하나도없다하더라도사용자는 volume_list 항목을 volume_list = [] 로초기화해야합니다. 4. 부트이미지가클러스터에의해제어되는볼륨그룹을활성화하려고시도하지않도록보장하기위해 initramfs 부트이미지를재구축합니다. 다음의명령을사용해서 initramfs 장치를업데이트합니다. 이명령이완료되려면 1 분정도소요될것입니다. # dracut -H -f /boot/initramfs-$(uname -r).img $(uname -r) 5. 노드를재부팅합니다. 사용자가부트이미지를생성한노드를부팅한후새로운 Linux 커널을설치했다면새로운 initrd 이미지는사용자가노드를재부팅했을때실행중인새로운커널이아니라사용자가부트이미지를생성했을때실행중이었던커널을위한것입니다. 올바른 initrd 장치를사용중인지확인하려면재부팅전과후에 uname -r 명령을실행해서실행중인커널릴리즈를확인합니다. 릴리즈가동일하지않다면새로운커널로재부팅하고나서 initrd 파일을업데이트한후노드를재부팅합니다. 6. 노드가재부팅된후그노드에클러스터서비스가다시시작되었는지확인하기위해그노드에서 pcs cluster status 명령을실행합니다. 이를통해 Error: cluster is not currently running on this node 라는메시지가표시된다면다음의명령을실행합니다. # pcs cluster start 다른방법으로, 클러스터의각노드가재부팅될때까지기다린후에다음의명령을실행해서클러스터의모든노드에클러스터서비스를시작합니다. # pcs cluster start --all 3.5. 클러스터리소스설정 16

3장. Red Hat 고가용성클러스터에있는활성 / 수동 NFS 서버 다음부분에서는아래와같은용도로클러스터리소스를설정하는절차가설명됩니다. pcs resource create 를사용해서클러스터리소스를생성하면그리소스가아직실행중인지확인하기위해즉시 pcs status 명령을실행하는것이권장됩니다. 사용자의클러스터를위한차단장치를 1.3 절. 차단장치설정 에나와있는것처럼설정하지않았다면기본값으로리소스가시작되지않습니다. 사용자가설정한리소스가실행되고있지않다면, 그리소스의설정을테스트하기위해 pcs resource debug-start resource 명령을실행할수있습니다. 이렇게하면클러스터의제어와인식밖에서서비스가시작됩니다. 설정된리소스가다시실행되는시점에 pcs cluster cleanup resource 를실행해서클러스터가업데이트에대해알고있도록합니다. pcs resource debugstart 명령에대한자세한내용은 High Availability Add-On Reference 설명을참조하십시오. 다음의절차에따라시스템리소스를설정합니다. 이리소스가모두같은노드에서실행되도록하기위해 nfsgroup 리소스그룹의일부로설정됩니다. 사용자가리소스를그룹에추가한순서대로리소스가시작되며, 그룹에추가된역순으로중지됩니다. 클러스터의단하나의노드에서만이절차를실행합니다. 1. 다음의명령을사용해서 my_lvm 이라는이름의 LVM 리소스를생성합니다. 오직클러스터만이 LVM 논리볼륨을활성화할수있도록하기위해이명령은 exclusive=true 매개변수를지정합니다. 아직 nfsgroup 리소스그룹이존재하지않으므로이명령은리소스그룹을생성합니다. [root@z1 ~]# pcs resource create my_lvm LVM volgrpname=my_vg \ exclusive=true --group nfsgroup 리소스가실행중인지검증하기위해클러스터상태를확인합니다. root@z1 ~]# pcs status Cluster name: my_cluster Last updated: Thu Jan 8 11:13:17 2015 Last change: Thu Jan 8 11:13:08 2015 Stack: corosync Current DC: z2.example.com (2) - partition with quorum Version: 1.1.12-a14efad 2 Nodes configured 3 Resources configured Online: [ z1.example.com z2.example.com ] Full list of resources: myapc (stonith:fence_apc_snmp): Started z1.example.com Resource Group: nfsgroup my_lvm (ocf::heartbeat:lvm): Started z1.example.com PCSD Status: z1.example.com: Online z2.example.com: Online 17

고가용성추가기능관리 Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled 2. 클러스터를위한 Filesystem 리소스를설정합니다. options=options 매개변수를가지고있는 Filesystem 리소스를위한리소스설정의일부로써마운트옵션을지정할수있습니다. 전체설정옵션을표시하려면 pcs resource describe Filesystem 명령을실행합니다. 다음의명령을사용해서 nfsgroup 리소스그룹의일부로써 nfsshare 라는이름의 ext4 Filesystem 리소스를설정합니다. 이파일시스템은사용자가 3.2 절. ext4 파일시스템이있는 LVM 볼륨설정 에서생성한 LVM 볼륨그룹과 ext4 파일시스템을사용하며사용자가 3.3 절. NFS 공유설정 에서생성한 /nfsshare 디렉토리에마운트됩니다. [root@z1 ~]# pcs resource create nfsshare Filesystem \ device=/dev/my_vg/my_lv directory=/nfsshare \ fstype=ext4 --group nfsgroup my_lvm 및 nfsshare 리소스가실행중인지확인합니다. [root@z1 ~]# pcs status... Full list of resources: myapc (stonith:fence_apc_snmp): Started z1.example.com Resource Group: nfsgroup my_lvm (ocf::heartbeat:lvm): Started z1.example.com nfsshare (ocf::heartbeat:filesystem): Started z1.example.com... 3. nfsgroup 리소스그룹의일부로써 nfs-daemon 이라는이름의 nfsserver 리소스를생성합니다. [root@z1 ~]# pcs resource create nfs-daemon nfsserver \ nfs_shared_infodir=/nfsshare/nfsinfo nfs_no_notify=true \ --group nfsgroup [root@z1 ~]# pcs status... 4. /nfsshare/exports 디렉토리를내보내기위해 exportfs 리소스를추가합니다. 이리소스는 nfsgroup 리소스그룹의일부입니다. 이것은 NFSv4 클라이언트를위한가상디렉토리를구축합니다. NFSv3 클라이언트도이렇게내보낸디렉토리에액세스할수있습니다. [root@z1 ~]# pcs resource create nfs-root exportfs \ clientspec=192.168.122.0/255.255.255.0 \ options=rw,sync,no_root_squash \ directory=/nfsshare/exports \ fsid=0 --group nfsgroup [root@z1 ~]# # pcs resource create nfs-export1 exportfs \ 18

3장. Red Hat 고가용성클러스터에있는활성 / 수동 NFS 서버 clientspec=192.168.122.0/255.255.255.0 \ options=rw,sync,no_root_squash directory=/nfsshare/exports/export1 \ fsid=1 --group nfsgroup [root@z1 ~]# # pcs resource create nfs-export2 exportfs \ clientspec=192.168.122.0/255.255.255.0 \ options=rw,sync,no_root_squash directory=/nfsshare/exports/export2 \ fsid=2 --group nfsgroup 5. nfs 클라이언트가 nfs 공유에액세스하기위해사용할부동 IP 주소를추가합니다. 사용자가지정하는부동 IP 주소는 DNS 역방향검색이요구되거나또는클러스터에있는모든노드의 /etc/hosts 에지정되어있어야합니다. 이리소스는 nfsgroup 리소스그룹의일부입니다. 다음의배포예시에서는 192.168.122.200 을부동 IP 주소로사용하고있습니다. [root@z1 ~]# pcs resource create nfs_ip IPaddr2 \ ip=192.168.122.200 cidr_netmask=24 --group nfsgroup 6. 전체 NFS 배포가초기화된후 NFSv3 재부팅알림을보내기위한 nfsnotify 리소스를추가합니다. NFS 알림이올바르게처리되려면부동 IP 주소와연결된호스트명이반드시있어야하며, 이호스트명은 nfs 서버와 nfs 클라이언트모두에서일관되어야합니다. [root@z1 ~]# pcs resource create nfs-notify nfsnotify \ source_host=192.168.122.200 리소스와리소스제한을생성한후클러스터의상태를확인할수있습니다. 모든리소스가동일한노드에서실행중인것을확인합니다. [root@z1 ~]# pcs status... Full list of resources: myapc (stonith:fence_apc_snmp): Started z1.example.com Resource Group: nfsgroup my_lvm (ocf::heartbeat:lvm): Started z1.example.com nfsshare (ocf::heartbeat:filesystem): Started z1.example.com nfs-daemon (ocf::heartbeat:nfsserver): Started z1.example.com nfs-root (ocf::heartbeat:exportfs): Started z1.example.com nfs-export1 (ocf::heartbeat:exportfs): Started z1.example.com nfs-export2 (ocf::heartbeat:exportfs): Started z1.example.com nfs_ip (ocf::heartbeat:ipaddr2): Started z1.example.com nfs-notify (ocf::heartbeat:nfsnotify): Started z1.example.com... 3.6. 리소스설정테스트 다음의절차를사용해서사용자의시스템설정을검증할수있습니다. 사용자는 NFSv3 나 NFSv4 를사용해서내보낸파일시스템을마운트할수있습니다. 19

고가용성추가기능관리 1. 클러스터밖에있으며배포된것과동일한네트워크에있는노드에서 NFS 공유가표시되는지검증하기위해 NFS 공유를마운트합니다. 다음의예시에서는 192.168.122.0/24 네트워크를사용하고있습니다. # showmount -e 192.168.122.200 Export list for 192.168.122.200: /nfsshare/exports/export1 192.168.122.0/255.255.255.0 /nfsshare/exports 192.168.122.0/255.255.255.0 /nfsshare/exports/export2 192.168.122.0/255.255.255.0 2. NFSv4 에 NFS 공유를마운트할수있는지검증하려면클라이언트노드에있는디렉토리에 NFS 공유를마운트합니다. 마운트후내보내기디렉토리의내용이보이는지확인합니다. 테스트후에공유마운트를해제합니다. # mkdir nfsshare # mount -o "vers=4" 192.168.122.200:export1 nfsshare # ls nfsshare clientdatafile1 # umount nfsshare 3. NFSv3 에 NFS 공유를마운트할수있는지검증합니다. 마운트후 clientdatafile1 테스트파일이보이는지확인합니다. NFSv4 와달리 NFSV3 는가상파일시스템을사용하지않기때문에사용자가특정내보내기를마운트해야합니다. 테스트후에마운트를해제합니다. # mkdir nfsshare # mount -o "vers=3" 192.168.122.200:/nfsshare/exports/export2 nfsshare # ls nfsshare clientdatafile2 # umount nfsshare 4. 페일오버를테스트하기위해다음의단계를실행합니다. a. 클러스터밖의노드에 nfs 공유를마운트하고사용자가 3.3 절. NFS 공유설정 에서생성한 clientdatafile1 에액세스할수있는지확인합니다. # mkdir nfsshare # mount -o "vers=4" 192.168.122.200:export1 nfsshare # ls nfsshare clientdatafile1 b. 클러스터의어느노드에서 nfsgroup 이실행중인지클러스터내의노드에서확인합니다. 다음의예시에서 nfsgroup 은 z1.example.com 에서실행중입니다. [root@z1 ~]# pcs status... Full list of resources: myapc (stonith:fence_apc_snmp): Started z1.example.com Resource Group: nfsgroup my_lvm (ocf::heartbeat:lvm): Started z1.example.com nfsshare (ocf::heartbeat:filesystem): Started z1.example.com nfs-daemon (ocf::heartbeat:nfsserver): Started z1.example.com nfs-root (ocf::heartbeat:exportfs): Started 20

3장. Red Hat 고가용성클러스터에있는활성 / 수동 NFS 서버 z1.example.com nfs-export1 (ocf::heartbeat:exportfs): Started z1.example.com nfs-export2 (ocf::heartbeat:exportfs): Started z1.example.com nfs_ip (ocf::heartbeat:ipaddr2): Started z1.example.com nfs-notify (ocf::heartbeat:nfsnotify): Started z1.example.com... c. 클러스터내의노드에서 nfsgroup 을실행중인노드를대기모드로놓습니다. [root@z1 ~]#pcs cluster standby z1.example.com d. 다른클러스터노드에서 nfsgroup 이성공적으로시작되는지확인합니다. [root@z1 ~]# pcs status... Full list of resources: Resource Group: nfsgroup my_lvm (ocf::heartbeat:lvm): Started z2.example.com nfsshare (ocf::heartbeat:filesystem): Started z2.example.com nfs-daemon (ocf::heartbeat:nfsserver): Started z2.example.com nfs-root (ocf::heartbeat:exportfs): Started z2.example.com nfs-export1 (ocf::heartbeat:exportfs): Started z2.example.com nfs-export2 (ocf::heartbeat:exportfs): Started z2.example.com nfs_ip (ocf::heartbeat:ipaddr2): Started z2.example.com nfs-notify (ocf::heartbeat:nfsnotify): Started z2.example.com... e. 사용자가 nfs 공유를마운트한클러스터밖의노드에서이외부노드가 NFS 마운트내의테스트파일에아직액세스할수있는지확인합니다. # ls nfsshare clientdatafile1 페일오버가잠시진행되는동안클라이언트에대한서비스가잠시끊기지만클라이언트는사용자작업없이복구됩니다. 기본적으로 NFSv4 를사용하는클라이언트는마운트복구에 90 초정도소요됩니다. 이 90 초는시작시서버가준수하는 NFSv4 파일임대유예시간을나타냅니다. NFSv3 클라이언트는단몇초만에마운트에대한액세스를회복할수있습니다. f. 클러스터내의노드에서초기에 nfsgroup 을대기모드에서실행중이던노드를제거합니다. 이작업자체가클러스터리소스를이노드로다시옮기지는않습니다. [root@z1 ~]# pcs cluster unstandby z1.example.com 21

고가용성추가기능관리 부록 A. 고친과정 고침 1.2-3.1 Fri Jul 22 2016 Red Hat Localization Services XML 소스 1.2-3 버전과번역파일을동기화 고침 1.2-3 Mon Nov 9 2015 Steven Levine 7.2 GA 공개용문서준비 고침 1.2-2 Tue Aug 18 2015 Steven Levine 7.2 Beta 공개용문서준비 고침 1.1-19 Mon Feb 16 2015 Steven Levine 7.1 GA 릴리즈버전 고침 1.1-10 Thu Dec 11 2014 Steven Levine 7.1 Beta 릴리즈버전 고침 1.1-9 Tue Dec 9 2014 Steven Levine nfs 클러스터설정절차추가 고침 1.1-6 Mon Dec 8 2014 Steven Levine 로드밸런서클러스터절차업데이트 고침 1.1-5 Thu Dec 05 2014 Steven Levine 7.1 Beta 릴리즈버전 고침 0.1-34 Fri Dec 4 2014 Steven Levine Red Hat Enterprise Linux 스플래시페이지에새로운정렬순서도입을위한업데이트 고침 0.1-33 Mon Jun 2 2014 Steven Levine 7.0 GA 릴리즈버전 고침 0.1-31 Wed May 21 2014 Steven Levine 문제해결 : #886235 volume_list 사용기록 고침 0.1-29 Tue May 20 2014 Steven Levine 스타일변경과업데이트된초안을위해다시빌드 고침 0.1-20 Wed Apr 9 2014 Steven Levine 업데이트된 Beta 초안 고침 0.1-8 Fri Dec 6 2013 Steven Levine Beta 초안 고침 0.0-1 Wed Jan 16 2013 Steven Levine 첫번째 Red Hat Enterprise Linux 7 버전 22