AWS EC2 및 FSx에서 Oracle Deployment Procedures를 단계별로 수행합니다
이 섹션에서는 FSx 스토리지와 함께 Oracle RDS 사용자 지정 데이터베이스를 구축하는 구축 절차를 설명합니다.
EC2 콘솔을 통해 Oracle용 EC2 Linux 인스턴스를 구축합니다
AWS를 처음 사용하는 경우, 먼저 AWS 환경을 설정해야 합니다. AWS 웹 사이트 랜딩 페이지의 문서 탭에는 AWS EC2 콘솔을 통해 Oracle 데이터베이스를 호스팅하는 데 사용할 수 있는 Linux EC2 인스턴스를 구축하는 방법에 대한 EC2 지침 링크가 제공됩니다. 다음 섹션은 이러한 단계를 요약한 것입니다. 자세한 내용은 연결된 AWS EC2 관련 문서를 참조하십시오.
AWS EC2 환경 설정
EC2 및 FSx 서비스에서 Oracle 환경을 실행하는 데 필요한 리소스를 프로비저닝하려면 AWS 계정을 만들어야 합니다. 필요한 세부 정보는 다음 AWS 문서를 참조하십시오.
주요 주제:
-
AWS에 등록하십시오.
-
키 쌍을 생성합니다.
-
보안 그룹을 만듭니다.
AWS 계정 특성에 여러 가용성 영역 설정
아키텍처 다이어그램에 표시된 Oracle 고가용성 구성의 경우 한 지역에서 최소 4개의 가용성 영역을 활성화해야 합니다. 여러 가용성 영역을 여러 지역에 배치하여 재해 복구에 필요한 거리를 충족할 수도 있습니다.
Oracle 데이터베이스를 호스팅하기 위한 EC2 인스턴스 생성 및 연결
자습서를 참조하십시오 "Amazon EC2 Linux 인스턴스를 시작합니다" 을 참조하십시오.
주요 주제:
-
개요.
-
필수 구성 요소.
-
1단계: 인스턴스를 시작합니다.
-
2단계: 인스턴스에 연결합니다.
-
3단계: 인스턴스를 정리하십시오.
다음 스크린샷에서는 Oracle 실행을 위해 EC2 콘솔을 사용하여 M5 형식의 Linux 인스턴스를 구축하는 방법을 보여 줍니다.
-
EC2 대시보드에서 노란색 Launch Instance 버튼을 클릭하여 EC2 인스턴스 구축 워크플로우를 시작합니다.
-
1단계에서 "Red Hat Enterprise Linux 8(HVM), SSD 볼륨 유형 - AMI-0b0af3577fe5e3532(64비트 x86)/AMI-01fc429821bf1f4b4(64비트 ARM)"를 선택합니다.
-
2단계에서 Oracle 데이터베이스 작업 부하에 따라 적절한 CPU 및 메모리 할당이 있는 M5 인스턴스 유형을 선택합니다. "다음: 인스턴스 세부 정보 구성"을 클릭합니다.
-
3단계에서 인스턴스를 배치할 VPC 및 서브넷을 선택하고 공용 IP 할당을 활성화합니다. "다음: 스토리지 추가"를 클릭합니다.
-
4단계에서 루트 디스크에 충분한 공간을 할당합니다. 스왑을 추가하려면 공간이 필요할 수 있습니다. 기본적으로 EC2 인스턴스는 0 스왑 공간을 할당하며, 이 공간은 Oracle 실행에 최적화되어 있지 않습니다.
-
5단계에서 필요한 경우 인스턴스 식별용 태그를 추가합니다.
-
6단계에서 기존 보안 그룹을 선택하거나 인스턴스에 대해 원하는 인바운드 및 아웃바운드 정책을 사용하여 새 보안 그룹을 생성합니다.
-
7단계에서 인스턴스 구성 요약을 검토하고 시작을 클릭하여 인스턴스 배포를 시작합니다. 인스턴스에 액세스하기 위해 키 쌍을 생성하거나 키 쌍을 선택하라는 메시지가 표시됩니다.
-
SSH 키 쌍을 사용하여 EC2 인스턴스에 로그인합니다. 필요에 따라 키 이름과 인스턴스 IP 주소를 변경합니다.
ssh -i ora-db1v2.pem ec2-user@54.80.114.77
아키텍처 다이어그램에 표시된 대로 지정된 가용성 영역에 2개의 EC2 인스턴스를 운영 및 대기 Oracle 서버로 만들어야 합니다.
Oracle 데이터베이스 스토리지용 FSx ONTAP 파일 시스템 프로비저닝
EC2 인스턴스 구축은 운영 체제에 EBS 루트 볼륨을 할당합니다. FSx ONTAP 파일 시스템은 Oracle 바이너리, 데이터 및 로그 볼륨을 비롯한 Oracle 데이터베이스 스토리지 볼륨을 제공합니다. FSx 스토리지 NFS 볼륨은 AWS FSx 콘솔 또는 Oracle 설치에서 프로비저닝될 수 있으며 사용자가 자동화 매개 변수 파일에서 구성할 때 볼륨을 할당하는 구성 자동화도 가능합니다.
FSx ONTAP 파일 시스템 생성
FSx ONTAP 파일 시스템 생성에 대해서는 이 설명서를 참조했습니다. "FSx ONTAP 파일 시스템 관리"
주요 고려 사항:
-
SSD 스토리지 용량: 최소 1024GiB, 최대 192TiB
-
프로비저닝된 SSD IOPS입니다. 워크로드 요구사항에 따라 파일 시스템당 최대 80,000 SSD IOPS
-
처리량 용량:
-
관리자 fsxadmin/vsadmin 암호를 설정합니다. FSx 구성 자동화에 필요합니다.
-
백업 및 유지 관리. 자동 일일 백업을 사용하지 않도록 설정합니다. 데이터베이스 스토리지 백업은 SnapCenter 일정을 통해 실행됩니다.
-
SVM 세부 정보 페이지에서 SVM 관리 IP 주소와 프로토콜별 액세스 주소를 검색합니다. FSx 구성 자동화에 필요합니다.
기본 또는 대기 HA FSx 클러스터를 설정하려면 다음 단계별 절차를 참조하십시오.
-
FSx 콘솔에서 파일 시스템 생성 을 클릭하여 FSx 프로비저닝 워크플로우를 시작합니다.
-
Amazon FSx ONTAP을 선택합니다. 다음 을 클릭합니다.
-
Standard Create를 선택하고 File System Details에서 파일 시스템의 이름을 Multi-AZ HA로 지정합니다. 데이터베이스 워크로드에 따라 자동 또는 사용자 프로비저닝 IOPS 최대 80,000 SSD IOPS를 선택합니다. FSX 스토리지는 백엔드에서 최대 2TiB NVMe 캐싱과 함께 제공되므로 더욱 높은 측정 IOPS를 제공할 수 있습니다.
-
네트워크 및 보안 섹션에서 VPC, 보안 그룹 및 서브넷을 선택합니다. FSx 배포 전에 만들어야 합니다. FSx 클러스터(기본 또는 대기)의 역할에 따라 FSx 스토리지 노드를 적절한 영역에 배치합니다.
-
보안 및 암호화 섹션에서 기본값을 적용하고 fsxadmin 암호를 입력합니다.
-
SVM 이름과 vsadmin 암호를 입력합니다.
-
볼륨 구성은 비워 둡니다. 이 시점에서는 볼륨을 생성할 필요가 없습니다.
-
Summary 페이지를 검토하고 Create File System을 클릭하여 FSx 파일 시스템 프로비저닝을 완료합니다.
Oracle 데이터베이스용 데이터베이스 볼륨 프로비저닝
자세한 내용은 을 "FSx ONTAP 볼륨 관리 - 볼륨 생성" 참조하십시오.
주요 고려 사항:
-
데이터베이스 볼륨의 크기를 적절하게 조정합니다.
-
성능 구성을 위해 용량 풀 계층화 정책을 사용하지 않도록 설정합니다.
-
NFS 스토리지 볼륨에 대해 Oracle dNFS를 사용하도록 설정합니다.
-
iSCSI 스토리지 볼륨에 대한 다중 경로 설정
FSx 콘솔에서 데이터베이스 볼륨을 생성합니다
AWS FSx 콘솔에서 Oracle 데이터베이스 파일 스토리지용 볼륨 3개를 생성할 수 있습니다. 하나는 Oracle 바이너리용이고, 다른 하나는 Oracle 데이터용이고, 다른 하나는 Oracle 로그용입니다. 볼륨 이름이 올바른 식별을 위해 Oracle 호스트 이름(자동화 툴킷의 hosts 파일에 정의되어 있음)과 일치하는지 확인하십시오. 이 예에서는 EC2 인스턴스의 일반적인 IP 주소 기반 호스트 이름 대신 db1을 EC2 Oracle 호스트 이름으로 사용합니다.
iSCSI LUN 생성은 현재 FSx 콘솔에서 지원되지 않습니다. Oracle용 iSCSI LUN 구축의 경우 NetApp 자동화 툴킷을 통해 ONTAP용 자동화 를 사용하여 볼륨 및 LUN을 생성할 수 있습니다. |
FSx 데이터베이스 볼륨이 있는 EC2 인스턴스에 Oracle을 설치 및 구성합니다
NetApp 자동화 팀은 모범 사례에 따라 EC2 인스턴스에서 Oracle 설치 및 구성을 실행할 수 있는 자동화 키트를 제공합니다. 현재 버전의 자동화 키트는 기본 RU 패치 19.8을 사용하여 NFS에서 Oracle 19c를 지원합니다. 필요한 경우 자동화 키트를 다른 RU 패치에 쉽게 적용할 수 있습니다.
자동화를 실행하도록 Ansible 컨트롤러를 준비합니다
다음 섹션의 지침을 따르십시오."Oracle 데이터베이스를 호스팅하기 위한 EC2 인스턴스 생성 및 연결"Ansible 컨트롤러를 실행할 작은 EC2 Linux 인스턴스를 프로비저닝합니다. RedHat을 사용하는 대신 2vCPU 및 8G RAM을 사용하는 Amazon Linux T2.Large로 충분합니다.
NetApp Oracle 구현 자동화 툴킷을 살펴보십시오
1단계에서 EC2-USER로 프로비저닝한 EC2 Ansible 컨트롤러 인스턴스에 로그인하고 EC2-user 홈 디렉토리에서 "git clone" 명령을 실행하여 자동화 코드 복사본을 복제합니다.
git clone https://github.com/NetApp-Automation/na_oracle19c_deploy.git
git clone https://github.com/NetApp-Automation/na_rds_fsx_oranfs_config.git
자동화 툴킷을 사용하여 자동화된 Oracle 19c 구축을 실행합니다
자세한 지침을 참조하십시오 "CLI 구축 Oracle 19c Database" CLI 자동화를 통해 Oracle 19c를 구축합니다. 호스트 액세스 인증에 암호 대신 SSH 키 쌍을 사용하고 있기 때문에 플레이북 실행을 위한 명령 구문이 약간 변경됩니다. 다음 목록은 요약 정보입니다.
-
기본적으로 EC2 인스턴스는 액세스 인증을 위해 SSH 키 쌍을 사용합니다. Ansible 컨트롤러 자동화 루트 디렉토리 '/home/EC2-user/na_oracle19c_deploy' 및 '/home/EC2-user/na_RDS_FSX_oranfs_config'에서 단계에 구축된 Oracle 호스트에 대한 SSH 키 'accessstkey.pem'의 복사본을 만듭니다."Oracle 데이터베이스를 호스팅하기 위한 EC2 인스턴스 생성 및 연결있습니다."
-
EC2 인스턴스 DB 호스트에 EC2-USER로 로그인하여 python3 라이브러리를 설치합니다.
sudo yum install python3
-
루트 디스크 드라이브에서 16G 스왑 공간을 만듭니다. 기본적으로 EC2 인스턴스는 0 스왑 공간을 만듭니다. 다음 AWS 설명서를 참조하십시오. "스왑 파일을 사용하여 Amazon EC2 인스턴스에서 스왑 공간으로 사용할 메모리를 어떻게 할당합니까?".
-
Ansible 컨트롤러('cd/home/EC2-user/na_RDS_FSX_oranfs_config')로 돌아가서 적절한 요구 사항과 'linux_config' 태그를 사용하여 사전 클론 플레이북을 실행합니다.
ansible-playbook -i hosts rds_preclone_config.yml -u ec2-user --private-key accesststkey.pem -e @vars/fsx_vars.yml -t requirements_config
ansible-playbook -i hosts rds_preclone_config.yml -u ec2-user --private-key accesststkey.pem -e @vars/fsx_vars.yml -t linux_config
-
'/home/EC2-user/na_oracle19c_deploy-master' 디렉토리로 전환하고 README 파일을 읽은 다음 글로벌 'vars.yml' 파일에 관련 글로벌 매개 변수를 채웁니다.
-
host_name.yml 파일을 host_vars 디렉토리에 관련 파라미터로 채웁니다.
-
Linux용 플레이북을 실행하고 vsadmin 암호를 묻는 메시지가 표시되면 Enter 키를 누릅니다.
ansible-playbook -i hosts all_playbook.yml -u ec2-user --private-key accesststkey.pem -t linux_config -e @vars/vars.yml
-
Oracle용 플레이북을 실행하고 vsadmin 암호를 묻는 메시지가 표시되면 Enter 키를 누릅니다.
ansible-playbook -i hosts all_playbook.yml -u ec2-user --private-key accesststkey.pem -t oracle_config -e @vars/vars.yml
필요한 경우 SSH 키 파일의 사용 권한 비트를 400으로 변경합니다. host_vars' 파일의 Oracle 호스트('abilities_host')를 EC2 인스턴스 공용 주소로 변경합니다.
기본 및 대기 FSx HA 클러스터 간에 SnapMirror를 설정합니다
고가용성 및 재해 복구를 위해 기본 및 대기 FSx 스토리지 클러스터 간에 SnapMirror 복제를 설정할 수 있습니다. 다른 클라우드 스토리지 서비스와 달리 FSx를 사용하면 원하는 빈도와 복제 처리량으로 스토리지 복제를 제어 및 관리할 수 있습니다. 또한 사용자는 가용성에 영향을 주지 않고 HA/DR을 테스트할 수 있습니다.
다음 단계에서는 운영 FSx 스토리지 클러스터와 대기 FSx 스토리지 클러스터 간에 복제를 설정하는 방법을 보여 줍니다.
-
기본 및 대기 클러스터 피어링을 설정합니다. fsxadmin 사용자로 운영 클러스터에 로그인하고 다음 명령을 실행합니다. 이 상호 생성 프로세스는 운영 클러스터와 대기 클러스터 모두에서 create 명령을 실행합니다. 'standby_cluster_name'을 환경에 적합한 이름으로 바꿉니다.
cluster peer create -peer-addrs standby_cluster_name,inter_cluster_ip_address -username fsxadmin -initial-allowed-vserver-peers *
-
기본 클러스터와 대기 클러스터 간에 SVM 피어링을 설정합니다. vsadmin 사용자로 운영 클러스터에 로그인하고 다음 명령을 실행합니다. 기본_vserver_name, 'standby_vserver_name', 'tandby_cluster_name'을 환경에 적합한 이름으로 바꾸십시오.
vserver peer create -vserver primary_vserver_name -peer-vserver standby_vserver_name -peer-cluster standby_cluster_name -applications snapmirror
-
클러스터 및 SVM 발길이 올바르게 설정되었는지 확인합니다.
-
기본 FSx 클러스터의 각 소스 볼륨에 대해 스탠바이 FSx 클러스터에서 타겟 NFS 볼륨을 생성합니다. 환경에 맞게 볼륨 이름을 바꿉니다.
vol create -volume dr_db1_bin -aggregate aggr1 -size 50G -state online -policy default -type DP
vol create -volume dr_db1_data -aggregate aggr1 -size 500G -state online -policy default -type DP
vol create -volume dr_db1_log -aggregate aggr1 -size 250G -state online -policy default -type DP
-
iSCSI 프로토콜을 데이터 액세스에 사용하는 경우 Oracle 바이너리, Oracle 데이터 및 Oracle 로그에 대한 iSCSI 볼륨 및 LUN을 생성할 수도 있습니다. 볼륨에 약 10%의 여유 공간을 남겨 둡니다.
vol create -volume dr_db1_bin -aggregate aggr1 -size 50G -state online -policy default -unix-permissions ---rwxr-xr-x -type RW
lun create -path /vol/dr_db1_bin/dr_db1_bin_01 -size 45G -ostype linux
vol create -volume dr_db1_data -aggregate aggr1 -size 500G -state online -policy default -unix-permissions ---rwxr-xr-x -type RW
lun create -path /vol/dr_db1_data/dr_db1_data_01 -size 100G -ostype linux
lun create -path /vol/dr_db1_data/dr_db1_data_02 -size 100G -ostype linux
lun create -path /vol/dr_db1_data/dr_db1_data_03 -size 100G -ostype linux
lun create -path /vol/dr_db1_data/dr_db1_data_04 -size 100G -ostype linux
vol create-volume dr_db1_log-aggregate aggr1-size 250g-state online-policy default-unix-permissions — rwxr-XR-x-type rw
lun create -path /vol/dr_db1_log/dr_db1_log_01 -size 45G -ostype linux
lun create -path /vol/dr_db1_log/dr_db1_log_02 -size 45G -ostype linux
lun create -path /vol/dr_db1_log/dr_db1_log_03 -size 45G -ostype linux
lun create -path /vol/dr_db1_log/dr_db1_log_04 -size 45G -ostype linux
-
iSCSI LUN의 경우 바이너리 LUN을 예로 사용하여 각 LUN에 대한 Oracle 호스트 이니시에이터에 대한 매핑을 생성합니다. 사용자 환경에 적합한 이름으로 igroup을 교체하고 각 추가 LUN에 대해 LUN-ID를 늘립니다.
lun mapping create -path /vol/dr_db1_bin/dr_db1_bin_01 -igroup ip-10-0-1-136 -lun-id 0
lun mapping create -path /vol/dr_db1_data/dr_db1_data_01 -igroup ip-10-0-1-136 -lun-id 1
-
기본 데이터베이스 볼륨과 대기 데이터베이스 볼륨 사이에 SnapMirror 관계를 생성합니다. 해당 환경에 적합한 SVM 이름을 교체합니다
snapmirror create -source-path svm_FSxOraSource:db1_bin -destination-path svm_FSxOraTarget:dr_db1_bin -vserver svm_FSxOraTarget -throttle unlimited -identity-preserve false -policy MirrorAllSnapshots -type DP
snapmirror create -source-path svm_FSxOraSource:db1_data -destination-path svm_FSxOraTarget:dr_db1_data -vserver svm_FSxOraTarget -throttle unlimited -identity-preserve false -policy MirrorAllSnapshots -type DP
snapmirror create -source-path svm_FSxOraSource:db1_log -destination-path svm_FSxOraTarget:dr_db1_log -vserver svm_FSxOraTarget -throttle unlimited -identity-preserve false -policy MirrorAllSnapshots -type DP
이 SnapMirror 설정은 NFS 데이터베이스 볼륨용 NetApp 자동화 툴킷을 사용하여 자동화할 수 있습니다. 이 툴킷은 NetApp 공개 GitHub 사이트에서 다운로드할 수 있습니다.
git clone https://github.com/NetApp-Automation/na_ora_hadr_failover_resync.git
설정 및 페일오버 테스트를 시도하기 전에 README 지침을 주의 깊게 읽으십시오.
Oracle 바이너리를 기본 클러스터에서 대기 클러스터로 복제하면 Oracle 라이센스가 영향을 받을 수 있습니다. 자세한 내용은 Oracle 라이센스 담당자에게 문의하십시오. 또는 복구 및 페일오버 시 Oracle을 설치 및 구성해야 합니다. |
SnapCenter 배포
SnapCenter 설치
를 따릅니다 "SnapCenter 서버 설치" SnapCenter 서버를 설치합니다. 이 문서에서는 독립 실행형 SnapCenter 서버를 설치하는 방법에 대해 설명합니다. SnapCenter SaaS 버전은 베타 검토 중이며 곧 제공될 예정입니다. 필요한 경우 NetApp 담당자에게 문의하십시오.
EC2 Oracle 호스트용 SnapCenter 플러그인을 구성합니다
-
자동화된 SnapCenter 설치 후 SnapCenter 서버가 설치된 Windows 호스트의 관리 사용자로 SnapCenter에 로그인합니다.
-
왼쪽 메뉴에서 설정, 자격 증명 및 새로 만들기 를 차례로 클릭하여 SnapCenter 플러그인 설치를 위한 EC2 사용자 자격 증명을 추가합니다.
-
EC2 인스턴스 호스트에서 '/etc/ssh/sshd_config' 파일을 편집하여 EC2-user 암호를 재설정하고 암호 SSH 인증을 활성화합니다.
-
"Sudo 권한 사용" 확인란이 선택되어 있는지 확인합니다. 이전 단계에서 EC2-user 암호를 재설정했습니다.
-
이름 확인을 위해 SnapCenter 서버 이름과 IP 주소를 EC2 인스턴스 호스트 파일에 추가합니다.
[ec2-user@ip-10-0-0-151 ~]$ sudo vi /etc/hosts [ec2-user@ip-10-0-0-151 ~]$ cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.0.1.233 rdscustomvalsc.rdscustomval.com rdscustomvalsc
-
SnapCenter 서버 Windows 호스트에서 Windows 호스트 파일 'C:\Windows\System32\drivers\etc\hosts'에 EC2 인스턴스 호스트 IP 주소를 추가합니다.
10.0.0.151 ip-10-0-0-151.ec2.internal
-
왼쪽 메뉴에서 호스트 > 관리 호스트 를 선택한 다음 추가 를 클릭하여 EC2 인스턴스 호스트를 SnapCenter에 추가합니다.
Oracle Database를 선택하고 제출하기 전에 기타 옵션을 클릭합니다.
사전 설치 검사 건너뛰기 를 선택합니다. Preinstall Checks(사전 설치 검사)를 건너뛰는지 확인한 다음 Save(저장) 후 Submit(제출)을 클릭합니다.
지문 확인 메시지가 표시되면 확인 및 제출 을 클릭합니다.
플러그인 구성이 성공적으로 완료되면 관리 호스트의 전체 상태가 실행 중 으로 표시됩니다.
Oracle 데이터베이스에 대한 백업 정책을 구성합니다
이 섹션을 참조하십시오 "SnapCenter에서 데이터베이스 백업 정책을 설정합니다" Oracle 데이터베이스 백업 정책 구성에 대한 자세한 내용은 를 참조하십시오.
일반적으로 전체 스냅샷 Oracle 데이터베이스 백업에 대한 정책과 Oracle 아카이브 로그 전용 스냅샷 백업에 대한 정책을 생성해야 합니다.
백업 정책에서 Oracle 아카이브 로그 잘라내기 기능을 활성화하여 로그 아카이브 공간을 제어할 수 있습니다. HA 또는 DR을 위해 대기 위치에 복제해야 하는 경우 "2차 복제 옵션 선택"에서 "로컬 스냅샷 복사본을 생성한 후 SnapMirror 업데이트"를 선택합니다. |
Oracle 데이터베이스 백업 및 예약을 구성합니다
SnapCenter의 데이터베이스 백업은 사용자가 구성할 수 있으며 리소스 그룹에서 개별적으로 또는 그룹으로 설정할 수 있습니다. 백업 간격은 RTO 및 RPO 목표에 따라 달라집니다. 전체 데이터베이스 백업을 몇 시간마다 실행하고 빠른 복구를 위해 10-15분 등의 높은 빈도로 로그 백업을 아카이브하는 것이 좋습니다.
의 Oracle 섹션을 참조하십시오 "백업 정책을 구현하여 데이터베이스를 보호합니다" 섹션에 생성된 백업 정책을 구현하기 위한 자세한 단계별 프로세스를 참조하십시오 Oracle 데이터베이스에 대한 백업 정책을 구성합니다 백업 작업 스케줄링에 대한 것입니다.
다음 이미지는 Oracle 데이터베이스를 백업하도록 설정된 리소스 그룹의 예입니다.