Oracle 데이터베이스 배포를 고려할 요소
퍼블릭 클라우드는 컴퓨팅 및 스토리지에 대한 다양한 선택권을 제공하며, 올바른 유형의 컴퓨팅 인스턴스와 스토리지 엔진을 사용하는 것은 데이터베이스 배포를 시작하기에 좋은 방법입니다. 또한 Oracle 데이터베이스에 최적화된 컴퓨팅 및 스토리지 구성을 선택해야 합니다.
다음 섹션에서는 Azure NetApp Files 저장소가 있는 Azure 가상 머신 인스턴스에서 Azure 퍼블릭 클라우드에 Oracle 데이터베이스를 배포할 때 고려해야 할 주요 사항을 설명합니다.
VM 유형 및 크기
퍼블릭 클라우드에서 관계형 데이터베이스의 성능을 최적화하려면 올바른 VM 유형과 크기를 선택하는 것이 중요합니다. Azure 가상 머신은 Oracle 데이터베이스 워크로드를 호스팅하는 데 사용할 수 있는 다양한 컴퓨팅 인스턴스를 제공합니다. Microsoft 설명서를 참조하세요"Azure의 가상 머신 크기" 다양한 유형의 Azure 가상 머신과 크기에 대해 알아보세요. 일반적으로 NetApp 소규모 및 중규모 Oracle 데이터베이스를 배포할 때 범용 Azure 가상 머신을 사용할 것을 권장합니다. 대규모 Oracle 데이터베이스를 배포하는 경우 메모리 최적화된 Azure VM이 적합합니다. 사용 가능한 RAM이 많을수록 더 큰 Oracle SGA 또는 스마트 플래시 캐시를 구성하여 물리적 I/O를 줄일 수 있으며, 이는 데이터베이스 성능을 향상시킵니다.
Azure NetApp Files Azure 가상 머신에 연결된 NFS 마운트로 작동하여 더 높은 처리량을 제공하고 로컬 스토리지로 스토리지 최적화된 VM 처리량 제한을 극복합니다. 따라서 Azure NetApp Files 에서 Oracle을 실행하면 라이선스가 필요한 Oracle CPU 코어 수와 라이선스 비용을 줄일 수 있습니다. 보다"TR-4780: Microsoft Azure의 Oracle 데이터베이스" , 섹션 7 - Oracle 라이선스는 어떻게 작동합니까?
고려해야 할 다른 요소는 다음과 같습니다.
-
작업 부하 특성에 따라 올바른 vCPU와 RAM 조합을 선택하세요. VM의 RAM 크기가 커질수록 vCPU 코어 수도 늘어납니다. Oracle 라이선스 비용은 vCPU 코어 수에 따라 청구되므로 어느 시점에는 균형이 맞춰질 것입니다.
-
VM에 스왑 공간을 추가합니다. 기본 Azure VM 배포는 스왑 공간을 만들지 않으며, 이는 데이터베이스에 최적화되지 않았습니다.
Azure NetApp Files 성능
Azure NetApp Files 볼륨은 고객이 Azure NetApp Files 스토리지 계정에서 프로비저닝해야 하는 용량 풀에서 할당됩니다. 각 용량 풀은 다음과 같이 할당됩니다.
-
전반적인 성능 역량을 정의하는 서비스 수준입니다.
-
해당 용량 풀에 대해 처음 프로비저닝된 스토리지 용량 또는 계층화입니다. 프로비저닝된 공간당 전체 최대 처리량을 정의하는 서비스 품질(QoS) 수준입니다.
서비스 수준과 처음에 프로비저닝된 스토리지 용량은 특정 Oracle 데이터베이스 볼륨의 성능 수준을 결정합니다.
1. Azure NetApp Files 의 서비스 수준
Azure NetApp Files Ultra, Premium, Standard의 세 가지 서비스 수준을 지원합니다.
-
초대용량 저장공간. 이 계층은 할당된 볼륨 할당량 1TiB당 최대 128MiBps의 처리량을 제공합니다.
-
프리미엄 보관. 이 계층은 할당된 볼륨 할당량 1TiB당 최대 64MiBps의 처리량을 제공합니다.
-
표준 보관. 이 계층은 할당된 볼륨 할당량 1TiB당 최대 16MiBps의 처리량을 제공합니다.
2. 용량 풀 및 서비스 품질
각각의 원하는 서비스 수준에는 프로비저닝된 용량에 대한 관련 비용이 있으며, 프로비저닝된 공간에 대한 전체 최대 처리량을 정의하는 서비스 품질(QoS) 수준이 포함됩니다.
예를 들어, 프리미엄 서비스 수준을 갖춘 10TiB 프로비저닝 단일 용량 풀은 이 용량 풀의 모든 볼륨에 대해 10x 64MBps의 전체 사용 가능 처리량을 제공하므로 40,000(16K) IOP 또는 80,000(8K) IOP로 640MBps가 됩니다.
최소 용량 풀 크기는 4TiB입니다. 스토리지 요구 사항과 비용을 관리하기 위해 작업 부하 요구 사항의 변경에 따라 용량 풀의 크기를 1TiB 단위로 변경할 수 있습니다.
3. 데이터베이스 볼륨의 서비스 수준 계산
Oracle 데이터베이스 볼륨의 처리량 제한은 다음 요소의 조합에 따라 결정됩니다. 볼륨이 속한 용량 풀의 서비스 수준, 볼륨에 할당된 할당량.
다음 다이어그램은 Oracle 데이터베이스 볼륨의 처리량 한도가 계산되는 방식을 보여줍니다.
예제 1에서 프리미엄 스토리지 계층의 용량 풀에서 2TiB 할당량이 할당된 볼륨에는 128MiBps(2TiB * 64MiBps)의 처리량 제한이 할당됩니다. 이 시나리오는 용량 풀 크기나 실제 볼륨 소비량에 관계없이 적용됩니다.
예제 2에서 프리미엄 스토리지 계층의 용량 풀에서 100GiB 할당량이 할당된 볼륨에는 6.25MiBps(0.09765625TiB * 64MiBps)의 처리량 제한이 할당됩니다. 이 시나리오는 용량 풀 크기나 실제 볼륨 소비량에 관계없이 적용됩니다.
최소 볼륨 크기는 100GiB입니다.
저장 레이아웃 및 설정
NetApp 다음과 같은 스토리지 레이아웃을 권장합니다.
-
소규모 데이터베이스의 경우 모든 Oracle 파일에 단일 볼륨 레이아웃을 사용합니다.
-
대규모 데이터베이스의 경우 권장되는 볼륨 레이아웃은 여러 개의 볼륨입니다. 하나는 Oracle 데이터와 복제된 제어 파일용이고, 다른 하나는 Oracle 활성 로그, 보관 로그 및 제어 파일용입니다. NetApp 로컬 드라이브 대신 Oracle 바이너리에 볼륨을 할당하여 데이터베이스를 새로운 호스트로 이전하고 빠르게 복원할 것을 적극 권장합니다.
NFS 구성
가장 흔한 운영체제인 Linux에는 기본 NFS 기능이 포함되어 있습니다. Oracle은 Oracle에 기본적으로 통합된 직접 NFS(dNFS) 클라이언트를 제공합니다. Oracle dNFS는 OS 캐시를 우회하고 병렬 처리를 활성화하여 데이터베이스 성능을 향상시킵니다. Oracle은 20년 이상 NFSv3를 지원해 왔으며, NFSv4는 Oracle 12.1.0.2 이상에서 지원됩니다.
dNFS(Oracle 11g부터 사용 가능)를 사용하면 Azure Virtual Machine에서 실행되는 Oracle 데이터베이스가 기본 NFS 클라이언트보다 훨씬 더 많은 I/O를 처리할 수 있습니다. NetApp 자동화 툴킷을 사용하여 Oracle을 자동으로 배포하면 NFSv3에서 dNFS가 자동으로 구성됩니다.
다음 다이어그램은 Oracle dNFS를 사용한 Azure NetApp Files 의 SLOB 벤치마크를 보여줍니다.
고려해야 할 다른 요소:
-
TCP 슬롯 테이블은 호스트 버스 어댑터(HBA) 대기열 깊이와 동일한 NFS입니다. 이러한 테이블은 한 번에 처리될 수 있는 NFS 작업의 수를 제어합니다. 기본값은 일반적으로 16인데, 이는 최적의 성능을 발휘하기에는 너무 낮습니다. 반대의 문제가 최신 Linux 커널에서 발생하는데, TCP 슬롯 테이블 제한을 자동으로 늘려서 NFS 서버가 요청으로 포화 상태가 될 수 있습니다.
최적의 성능을 얻고 성능 문제를 방지하려면 TCP 슬롯 테이블을 제어하는 커널 매개변수를 128로 조정하세요.
sysctl -a | grep tcp.*.slot_table
-
다음 표는 Linux NFSv3의 단일 인스턴스에 권장되는 NFS 마운트 옵션을 보여줍니다.
|
dNFS를 사용하기 전에 Oracle Doc 1495104.1에 설명된 패치가 설치되어 있는지 확인하세요. NFSv3 및 NFSv4에 대한 NetApp 지원 매트릭스에는 특정 운영 체제가 포함되어 있지 않습니다. RFC를 준수하는 모든 OS가 지원됩니다. 온라인 IMT 에서 NFSv3 또는 NFSv4 지원을 검색할 때 특정 OS를 선택하지 마세요. 일치하는 항목이 표시되지 않습니다. 모든 OS는 일반 정책에 의해 암묵적으로 지원됩니다. |