Red Hat Enterprise Linux에서 Azure NetApp Files를 사용하여 Azure VM에 대기 노드가 있는 SAP HANA 스케일 아웃 시스템 배포

이 문서에서는 공유 스토리지 볼륨에 Azure NetApp Files를 사용하여 Azure Red Hat Enterprise Linux VM(가상 머신)에서 대기 상태의 스케일 아웃 구성에 고가용성 SAP HANA 시스템을 배포하는 방법을 설명합니다.

예제 구성, 설치 명령 등에서 HANA 인스턴스는 03이고 HANA 시스템 ID는 HN1입니다. 예제는 HANA 2.0 SP4 및 SAP 7.6용 Red Hat Enterprise Linux를 기반으로 합니다.

참고 항목

이 문서에는 Microsoft가 더 이상 사용하지 않는 용어에 대한 참조가 포함되어 있습니다. 이러한 용어가 소프트웨어에서 제거되면 이 문서에서도 제거할 것입니다.

시작하기 전에 다음 SAP Note와 문서를 참조하세요.

개요

HANA 고가용성을 달성하는 한 가지 방법은 호스트 자동 장애 조치(failover)를 구성하는 것입니다. 호스트 자동 장애 조치를 구성하려면 하나 이상의 가상 머신을 HANA 시스템에 추가하여 대기 노드로 구성합니다. 활성 노드에 장애가 발생하면 대기 노드가 자동으로 인수합니다. Azure 가상 머신으로 제시된 구성에서는 Azure NetApp Files에서 NFS를 사용하여 자동 장애 조치를 수행합니다.

참고 항목

대기 노드는 모든 데이터베이스 볼륨에 액세스할 수 있어야 합니다. HANA 볼륨은 NFSv4 볼륨으로 탑재되어야 합니다. NFSv4 프로토콜의 향상된 파일 임대 기반 잠금 메커니즘은 I/O 펜싱에 사용됩니다.

Important

지원되는 구성을 빌드하려면 HANA 데이터 및 로그 볼륨을 NFSv4.1 볼륨으로 배포하고 NFSv4.1 프로토콜을 사용하여 탑재해야 합니다. 대기 노드가 있는 HANA 호스트 자동 장애 조치 구성은 NFSv3에서 지원되지 않습니다.

SAP NetWeaver High Availability overview

SAP HANA 네트워크 권장 사항을 따르는 위의 다이어그램에는 3개의 서브넷이 하나의 Azure 가상 네트워크 내에 표시됩니다.

  • 클라이언트 통신용
  • 스토리지 시스템과의 통신용
  • 내부 HANA 노드 간 통신용

Azure NetApp 볼륨은 Azure NetApp Files에 위임된 별도의 서브넷에 있습니다.

이 예제 구성에서 서브넷은 다음과 같습니다.

  • client 10.9.1.0/26
  • storage 10.9.3.0/26
  • hana 10.9.2.0/26
  • anf 10.9.0.0/26(Azure NetApp Files에 위임된 서브넷)

Azure NetApp Files 인프라 설정

Azure NetApp Files 인프라 설정을 진행하기 전에 Azure NetApp Files 설명서를 숙지하세요.

Azure NetApp Files는 여러 Azure 지역에서 사용할 수 있습니다. 선택한 Azure 지역에서 Azure NetApp Files를 제공하는지 확인하세요.

Azure 지역별 Azure NetApp Files 가용성에 대한 자세한 내용은 Azure 지역별 Azure NetApp Files 가용성을 참조하세요.

중요 사항

대기 노드 시나리오를 사용하여 SAP HANA 스케일 아웃을 위한 Azure NetApp Files 볼륨을 생성할 때 SAP HANA용 Azure NetApp Files의 NFS v4.1 볼륨에 설명된 중요한 고려 사항에 유의하세요.

Azure NetApp Files에서 HANA 데이터베이스 크기 조정

Azure NetApp Files 볼륨의 처리량은 Azure NetApp Files에 대한 서비스 수준에 설명된 대로 볼륨 크기와 서비스 수준의 함수입니다.

Azure NetApp Files를 사용하여 Azure의 SAP HANA에 대한 인프라를 설계하는 동안 SAP HANA용 Azure NetApp Files의 NFS v4.1 볼륨에 대한 권장 사항을 알고 있어야 합니다.
이 문서의 구성에는 간단한 Azure NetApp Files 볼륨이 제공됩니다.

Important

성능이 핵심인 프로덕션 시스템의 경우 SAP HANA용 Azure NetApp Files 애플리케이션 볼륨 그룹을 평가하고 사용하는 것이 좋습니다.

Azure NetApp Files 리소스 배포

다음 지침에서는 Azure 가상 네트워크를 이미 배포했다고 가정합니다. Azure NetApp Files 리소스가 탑재될 Azure NetApp Files 리소스와 VM을 동일한 Azure 가상 네트워크 또는 피어링된 Azure 가상 네트워크에 배포해야 합니다.

  1. NetApp 계정 만들기의 지침에 따라 선택한 Azure 지역에서 NetApp 계정을 만듭니다.

  2. Azure NetApp Files 용량 풀 설정의 지침에 따라 Azure NetApp Files 용량 풀을 설정합니다.

    이 문서에 제시된 HANA 아키텍처는 Ultra 서비스 수준에서 단일 Azure NetApp Files 용량 풀을 사용합니다. Azure의 HANA 워크로드의 경우 Azure NetApp Files Ultra 또는 Premium서비스 수준을 사용하는 것이 좋습니다.

  3. Azure NetApp Files에 서브넷 위임의 지침에 따라 Azure NetApp Files에 서브넷을 위임합니다.

  4. Azure NetApp Files에 대한 NFS 볼륨 만들기의 지침에 따라 Azure NetApp Files 볼륨을 배포합니다.

    볼륨을 배포할 때 NFSv4.1 버전을 선택해야 합니다. 지정된 Azure NetApp Files 서브넷에 볼륨을 배포합니다. Azure NetApp 볼륨의 IP 주소는 자동으로 할당됩니다.

    Azure NetApp Files 리소스와 Azure VM은 동일하거나 피어링된 Azure 가상 네트워크에 있어야 합니다. 예를 들어 HN1-data-mnt00001, HN1-log-mnt00001 등은 볼륨 이름이고 nfs://10.9.0.4/HN1-data-mnt00001, nfs://10.9.0.4/HN1-log-mnt00001 등은 Azure NetApp Files 볼륨의 파일 경로입니다.

    • volume HN1-data-mnt00001(nfs://10.9.0.4/HN1-data-mnt00001)
    • volume HN1-data-mnt00002(nfs://10.9.0.4/HN1-data-mnt00002)
    • volume HN1-log-mnt00001(nfs://10.9.0.4/HN1-log-mnt00001)
    • volume HN1-log-mnt00002(nfs://10.9.0.4/HN1-log-mnt00002)
    • volume HN1-shared(nfs://10.9.0.4/HN1-shared)

    이 예제에서는 각 HANA 데이터 및 로그 볼륨에 대해 별도의 Azure NetApp Files 볼륨을 사용했습니다. 소규모 시스템이나 비프로덕션 시스템에 대한 구성 비용을 최적화하려면, 모든 데이터 탑재를 단일 볼륨에 배치하고 모든 로그 탑재를 다른 단일 볼륨에 배치할 수 있습니다.

Azure Portal을 통한 Linux 가상 머신 배포

먼저 Azure NetApp Files 볼륨을 만들어야 합니다. 그런 후 다음 단계를 수행합니다.

  1. Azure 가상 네트워크Azure 가상 네트워크 서브넷을 만듭니다.

  2. VM을 배포합니다.

  3. 네트워크 인터페이스를 추가로 만들고 네트워크 인터페이스를 해당 VM에 연결합니다.

    각 가상 머신에는 세 개의 Azure 가상 네트워크 서브넷(client, storage, hana)에 해당하는 세 개의 네트워크 인터페이스가 있습니다.

    자세한 내용은 여러 네트워크 인터페이스 카드를 사용하여 Azure에서 Linux 가상 머신을 만들기를 참조하세요.

Important

SAP HANA 워크로드의 경우 짧은 대기 시간이 매우 중요합니다. 짧은 대기 시간을 달성하려면 Microsoft 담당자와 협력하여 가상 머신과 Azure NetApp Files 볼륨이 근접하게 배포되도록 해야 합니다. SAP HANA Azure NetApp Files를 사용하는 새 SAP HANA 시스템을 온보딩하는 경우에는 필요한 정보를 제출하세요.

다음 지침에서는 리소스 그룹, Azure 가상 네트워크, 3개의 Azure 네트워크 서브넷(client, storage, hana)을 이미 만들었다고 가정합니다. VM을 배포할 때 클라이언트 서브넷을 선택합니다. 그래야 클라이언트 네트워크 인터페이스가 VM의 기본 인터페이스가 됩니다. 또한 스토리지 서브넷 게이트웨이를 통해 Azure NetApp Files 위임 서브넷에 대한 명시적 경로를 구성해야 합니다.

Important

선택하는 OS가 사용 중인 특정 VM 유형에서 SAP HANA용으로 인증된 SAP인지 반드시 확인하세요. SAP HANA 인증 VM 유형과 이러한 유형의 OS 릴리스 목록은 SAP HANA 인증 IaaS 플랫폼 사이트에서 확인할 수 있습니다. 특정 유형의 SAP HANA 지원 OS 릴리스 전체 목록을 보려면 목록에 있는 VM 유형의 세부 정보를 클릭하세요.

  1. SAP HANA에 대한 가용성 집합을 만듭니다. 최대 업데이트 도메인을 설정해야 합니다.

  2. 다음 단계를 수행하여 세 개의 가상 머신(hanadb1, hanadb2, hanadb3)을 만듭니다.

    a. SAP HANA에 대해 지원되는 Azure 갤러리의 Red Hat Enterprise Linux 이미지를 사용합니다. 여기서는 RHEL-SAP-HA 7.6 이미지를 사용했습니다.

    b. SAP HANA용으로 이전에 만든 가용성 집합을 선택합니다.

    c. 클라이언트 Azure 가상 네트워크 서브넷을 선택합니다. 가속화된 네트워크를 선택합니다.

    가상 머신을 배포하면 네트워크 인터페이스 이름이 자동으로 생성됩니다. 편의를 위해 이 지침에서는 자동으로 생성된 네트워크 인터페이스를 참조합니다. 이것은 클라이언트 Azure 가상 네트워크 서브넷에 hanadb1-client, hanadb2-client, hanadb3-client으로 연결됩니다.

  3. 세 개의 네트워크 인터페이스를 각 가상 머신당 하나씩 storage 가상 네트워크 서브넷용으로 만듭니다(이 예제의 경우 hanadb1-storage, hanadb2-storage, hanadb3-storage).

  4. 세 개의 네트워크 인터페이스를 각 가상 머신당 하나씩 hana 가상 네트워크 서브넷용으로 만듭니다(이 예제의 경우 hanadb1-hana, hanadb2-hana, hanadb3-hana).

  5. 다음 단계를 수행하여 새로 만든 가상 네트워크 인터페이스를 해당 가상 머신에 연결합니다.

    a. Azure Portal에서 가상 머신으로 이동합니다.

    b. 왼쪽 창에서 Virtual Machines를 선택합니다. 가상 머신 이름(예: hanadb1)을 필터링한 다음, 가상 머신을 선택합니다.

    c. 개요 창에서 중지를 선택하여 가상 머신의 할당을 취소합니다.

    d. 네트워킹을 선택하고 네트워크 인터페이스를 연결합니다. 네트워크 인터페이스 연결 드롭다운 목록에서 storagehana 서브넷용으로 이미 생성된 네트워크 인터페이스를 선택합니다.

    e. 저장을 선택합니다.

    f. 나머지 가상 머신에 대해 b~e 단계를 반복합니다(이 예제의 경우 hanadb2hanadb3).

    g. 지금은 가상 머신을 중지 상태로 둡니다. 이제 새로 연결된 모든 네트워크 인터페이스에 대해 가속화된 네트워킹을 사용하도록 설정합니다.

  6. 다음 단계를 수행하여 storagehana 서브넷의 추가 네트워크 인터페이스에 가속화된 네트워킹을 사용하도록 설정합니다.

    a. Azure Portal에서 Azure Cloud Shell을 엽니다.

    b. 다음 명령을 실행하여 storagehana 서브넷에 연결된 추가 네트워크 인터페이스에 가속화된 네트워킹을 사용하도록 설정합니다.

    
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-storage --accelerated-networking true
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-storage --accelerated-networking true
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-storage --accelerated-networking true
    
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-hana --accelerated-networking true
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-hana --accelerated-networking true
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-hana --accelerated-networking true
    
     
  7. 다음 단계를 수행하여 가상 머신을 시작합니다.

    a. 왼쪽 창에서 Virtual Machines를 선택합니다. 가상 머신 이름(예: hanadb1)을 필터링한 다음, 선택합니다.

    b. 개요 창에서 시작을 선택합니다.

운영 체제 구성 및 준비

다음 섹션의 지침에는 다음 중 하나가 접두사로 추가됩니다.

  • [A]: 모든 노드에 적용 가능
  • [1]: 노드 1에만 적용 가능
  • [2]: 노드 2에만 적용 가능
  • [3]: 노드 3에만 적용 가능

다음 단계를 수행하여 OS를 구성하고 준비합니다.

  1. [A] 가상 머신에서 호스트 파일을 유지 관리합니다. 모든 서브넷에 대한 항목을 포함합니다. 이 예제의 /etc/hosts에 추가된 항목은 다음과 같습니다.

    
     # Storage
     10.9.3.4   hanadb1-storage
     10.9.3.5   hanadb2-storage
     10.9.3.6   hanadb3-storage
     # Client
     10.9.1.5   hanadb1
     10.9.1.6   hanadb2
     10.9.1.7   hanadb3
     # Hana
     10.9.2.4   hanadb1-hana
     10.9.2.5   hanadb2-hana
     10.9.2.6   hanadb3-hana
     
  2. [A] Azure NetApp Files에 대한 통신이 스토리지 네트워크 인터페이스를 통해 이동하도록 네트워크 경로를 추가합니다.

    이 예제에서는 Networkmanager를 사용하여 추가 네트워크 경로를 구성합니다. 다음 지침에서는 스토리지 네트워크 인터페이스가 eth1인 것으로 가정합니다.
    먼저 디바이스 eth1의 연결 이름을 결정합니다. 이 예제에서 디바이스 eth1의 연결 이름은 Wired connection 1입니다.

    
     # Execute as root
     nmcli connection
     # Result
     #NAME                UUID                                  TYPE      DEVICE
     #System eth0         5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
     #Wired connection 1  4b0789d1-6146-32eb-83a1-94d61f8d60a7  ethernet  eth1
     

    그런 다음, eth1을 통해 Azure NetApp Files 위임된 네트워크에 대한 추가 경로를 구성합니다.

    
     # Add the following route 
     # ANFDelegatedSubnet/cidr via StorageSubnetGW dev StorageNetworkInterfaceDevice
     nmcli connection modify "Wired connection 1" +ipv4.routes "10.9.0.0/26 10.9.3.1"
     

    VM을 다시 부팅하여 변경 내용을 활성화합니다.

  3. [A] NFS 클라이언트 패키지를 설치합니다.

    
     yum install nfs-utils
     
  4. [A] SAP Note 3024346 - NetApp NFS용 Linux 커널 설정에 설명된 대로 NFS를 사용하여 Azure NetApp에서 SAP HANA를 실행하기 위한 OS를 준비합니다. NetApp 구성 설정에 대한 구성 파일 /etc/sysctl.d/91-NetApp-HANA.conf를 만듭니다.

    
     vi /etc/sysctl.d/91-NetApp-HANA.conf
     # Add the following entries in the configuration file
     net.core.rmem_max = 16777216
     net.core.wmem_max = 16777216
     net.ipv4.tcp_rmem = 4096 131072 16777216
     net.ipv4.tcp_wmem = 4096 16384 16777216
     net.core.netdev_max_backlog = 300000 
     net.ipv4.tcp_slow_start_after_idle=0 
     net.ipv4.tcp_no_metrics_save = 1
     net.ipv4.tcp_moderate_rcvbuf = 1
     net.ipv4.tcp_window_scaling = 1
     net.ipv4.tcp_timestamps = 1
     net.ipv4.tcp_sack = 1
     
  5. [A] 추가 최적화 설정을 사용하여 /etc/sysctl.d/ms-az.conf 구성 파일을 만듭니다.

    
     vi /etc/sysctl.d/ms-az.conf
     # Add the following entries in the configuration file
     net.ipv6.conf.all.disable_ipv6 = 1
     net.ipv4.tcp_max_syn_backlog = 16348
     net.ipv4.conf.all.rp_filter = 0
     sunrpc.tcp_slot_table_entries = 128
     vm.swappiness=10
     

SAP 호스트 에이전트가 포트 범위를 관리할 수 있도록 sysctl 구성 파일에서 net.ipv4.ip_local_port_range 및 net.ipv4.ip_local_reserved_ports를 명시적으로 설정하지 마세요. 자세한 내용은 SAP Note 2382421을 참조하세요.

  1. [A] SAP Note 3024346 - NetApp NFS용 Linux 커널 설정에 권장된 대로 sunrpc 설정을 조정합니다.

    
     vi /etc/modprobe.d/sunrpc.conf
     # Insert the following line
     options sunrpc tcp_max_slot_table_entries=128
     
  2. [A] HANA 구성을 위한 Red Hat입니다.

    SAP Note 2292690, 2455582, 2593824 및 Red Hat note 2447641의 설명에 따라 RHEL을 구성합니다.

    참고 항목

    HANA 2.0 SP04를 설치하는 경우 SAP HANA 설치하려면 먼저 SAP Note 2593824에 설명된 대로 compat-sap-c++-7 패키지를 설치해야 합니다.

Azure NetApp Files 볼륨 탑재

  1. [A] HANA 데이터베이스 볼륨에 대한 탑재 지점을 만듭니다.

    
     mkdir -p /hana/data/HN1/mnt00001
     mkdir -p /hana/data/HN1/mnt00002
     mkdir -p /hana/log/HN1/mnt00001
     mkdir -p /hana/log/HN1/mnt00002
     mkdir -p /hana/shared
     mkdir -p /usr/sap/HN1
     
  2. [1]HN1-shared에서 /usr/sap에 대한 노드 관련 디렉터리를 만듭니다.

    
     # Create a temporary directory to mount HN1-shared
     mkdir /mnt/tmp
     # if using NFSv3 for this volume, mount with the following command
     mount 10.9.0.4:/HN1-shared /mnt/tmp
     # if using NFSv4.1 for this volume, mount with the following command
     mount -t nfs -o sec=sys,nfsvers=4.1 10.9.0.4:/HN1-shared /mnt/tmp
     cd /mnt/tmp
     mkdir shared usr-sap-hanadb1 usr-sap-hanadb2 usr-sap-hanadb3
     # unmount /hana/shared
     cd
     umount /mnt/tmp
     
  3. [A] NFS 도메인 설정을 확인합니다. 도메인이 기본 Azure NetApp Files 도메인(예: defaultv4iddomain.com)으로 구성되어 있고 매핑이 nobody로 설정되어 있는지 확인합니다.

    Important

    VM의 /etc/idmapd.conf에서 NFS 도메인을 Azure NetApp Files의 기본 도메인 구성(defaultv4iddomain.com)과 일치하도록 설정해야 합니다. NFS 클라이언트(예: VM)의 도메인 구성과 NFS 서버(예: Azure NetApp 구성)가 일치하지 않는 경우 VM에 탑재된 Azure NetApp 볼륨의 파일에 대한 사용 권한이 nobody로 표시됩니다.

    
     sudo cat /etc/idmapd.conf
     # Example
     [General]
     Domain = defaultv4iddomain.com
     [Mapping]
     Nobody-User = nobody
     Nobody-Group = nobody
     
  4. [A]nfs4_disable_idmapping을 확인합니다. Y로 설정되어야 합니다. nfs4_disable_idmapping이 있는 디렉터리 구조를 만들려면 mount 명령을 실행합니다. 커널/드라이버용으로 액세스가 예약되어 있기 때문에 /sys/modules 아래에 디렉터리를 수동으로 만들 수 없습니다.

    
     # Check nfs4_disable_idmapping 
     cat /sys/module/nfs/parameters/nfs4_disable_idmapping
     # If you need to set nfs4_disable_idmapping to Y
     mkdir /mnt/tmp
     mount 10.9.0.4:/HN1-shared /mnt/tmp
     umount  /mnt/tmp
     echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
     # Make the configuration permanent
     echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
     

    nfs4_disable_idmapping 매개 변수 변경 방법에 대한 자세한 내용은 https://access.redhat.com/solutions/1749883을 참조하세요.

  5. [A] 공유 Azure NetApp Files 볼륨을 탑재합니다.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/HN1-data-mnt00001 /hana/data/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     10.9.0.4:/HN1-data-mnt00002 /hana/data/HN1/mnt00002  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     10.9.0.4:/HN1-log-mnt00001 /hana/log/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     10.9.0.4:/HN1-log-mnt00002 /hana/log/HN1/mnt00002  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     10.9.0.4:/HN1-shared/shared /hana/shared  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     # Mount all volumes
     sudo mount -a 
     

    더 높은 처리량이 필요한 워크로드의 경우 SAP HANA용 Azure NetApp Files의 NFS v4.1 볼륨에 설명된 대로 nconnect 탑재 옵션을 사용하는 것이 좋습니다. nconnect를 Linux 릴리스에서 Azure NetApp Files가 지원하는지 확인합니다.

  6. [1]hanadb1에 노드별 볼륨을 탑재합니다.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/HN1-shared/usr-sap-hanadb1 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     # Mount the volume
     sudo mount -a 
     
  7. [2]hanadb2에 노드별 볼륨을 탑재합니다.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/HN1-shared/usr-sap-hanadb2 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     # Mount the volume
     sudo mount -a 
     
  8. [3]hanadb3에 노드별 볼륨을 탑재합니다.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/HN1-shared/usr-sap-hanadb3 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     # Mount the volume
     sudo mount -a 
     
  9. [A] 모든 HANA 볼륨이 NFS 프로토콜 버전 NFSv4로 탑재되었는지 확인합니다.

    
    sudo nfsstat -m
    # Verify that flag vers is set to 4.1 
    # Example from hanadb1
    /hana/data/HN1/mnt00001 from 10.9.0.4:/HN1-data-mnt00001
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/log/HN1/mnt00002 from 10.9.0.4:/HN1-log-mnt00002
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/data/HN1/mnt00002 from 10.9.0.4:/HN1-data-mnt00002
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/log/HN1/mnt00001 from 10.9.0.4:/HN1-log-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /usr/sap/HN1 from 10.9.0.4:/HN1-shared/usr-sap-hanadb1
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/shared from 10.9.0.4:/HN1-shared/shared
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    

설치

이 예제에서는 Azure에서 대기 노드를 사용하여 스케일 아웃 구성에 SAP HANA를 배포하기 위해 HANA 2.0 SP4를 사용했습니다.

HANA 설치 준비

  1. [A] HANA 설치 전에 루트 암호를 설정합니다. 설치가 완료된 후 루트 암호를 사용하지 않도록 설정할 수 있습니다. root 명령 passwd로 실행합니다.

  2. [1] 암호를 입력하지 않고 SSH를 통해 hanadb2hanadb3에 로그인할 수 있는지 확인합니다.

    
     ssh root@hanadb2
     ssh root@hanadb3
     
  3. [A] HANA 2.0 SP4에 필요한 추가 패키지를 설치합니다. 자세한 내용은 SAP Note 2593824를 참조하세요.

    
     yum install libgcc_s1 libstdc++6 compat-sap-c++-7 libatomic1 
     
  4. [2], [3] SAP HANA datalog 디렉터리 소유권을 hn1adm으로 변경합니다.

    
     # Execute as root
     sudo chown hn1adm:sapsys /hana/data/HN1
     sudo chown hn1adm:sapsys /hana/log/HN1
     
  5. [A] HANA 설치를 방해하지 않도록 방화벽을 일시적으로 사용하지 않도록 설정합니다. HANA 설치가 완료된 후 다시 사용하도록 설정할 수 있습니다.

    
     # Execute as root
     systemctl stop firewalld
     systemctl disable firewalld
    

HANA 설치

  1. [1]SAP HANA 2.0 설치 및 업데이트 가이드의 지침에 따라 SAP HANA를 설치합니다. 이 예제에서는 마스터, 작업자 1개, 대기 노드 1개로 SAP HANA 스케일 아웃을 설치합니다.

    a. HANA 설치 소프트웨어 디렉터리에서 hdblcm 프로그램을 시작합니다. internal_network 매개변수를 사용하고, 내부 HANA 노드 간 통신에 사용되는 서브넷의 주소 공간을 전달합니다.

    
     ./hdblcm --internal_network=10.9.2.0/26
     

    b. 프롬프트에서 다음 값을 입력합니다.

    • 작업 선택: 1 입력(설치의 경우)
    • 설치할 추가 구성요소: 2, 3 입력
    • 설치 경로: Enter 키 누르기(기본값은 /hana/shared).
    • 로컬 호스트 이름: Enter 키를 눌러 기본값 적용
    • 시스템에 호스트를 추가하시겠습니까?: y 입력
    • 추가할 쉼표로 구분된 호스트 이름: hanadb2, hanadb3 입력
    • 루트 사용자 이름 [root]: Enter 키를 눌러 기본값 적용
    • 호스트 hanadb2의 역할: 1 입력(작업자의 경우)
    • 호스트 hanadb2에 대한 호스트 장애 조치 그룹 [기본값]: Enter 키를 눌러 기본값 적용
    • 호스트 hanadb2의 스토리지 파티션 번호의 경우 [<<자동 할당>>]: Enter 키를 눌러 기본값을 적용합니다.
    • 호스트 hanadb2에 대한 작업자 그룹 [기본값]: Enter 키를 눌러 기본값 적용
    • 호스트 hanadb3의 역할 선택: 2 입력(대기)
    • 호스트 hanadb3에 대한 호스트 장애 조치 그룹 [기본값]: Enter 키를 눌러 기본값 적용
    • 호스트 hanadb3에 대한 작업자 그룹 [기본값]: Enter 키를 눌러 기본값 적용
    • SAP HANA 시스템 ID: HN1 입력
    • 인스턴스 번호 [00]: 03 입력
    • 로컬 호스트 작업자 그룹 [기본값]: Enter 키를 눌러 기본값 적용
    • 시스템 사용량 선택/인덱스 입력 [4]: 4 입력(사용자 지정)
    • 데이터 볼륨의 위치 [/hana/data/HN1]: Enter 키를 눌러 기본값 적용
    • 로그 볼륨의 위치 [/hana/log/HN1]: Enter 키를 눌러 기본값 적용
    • 최대 메모리 할당을 제한하려고 하나요? [n]: n 입력
    • 호스트 hanadb1의 인증서 호스트 이름 [hanadb1]: Enter를 눌러 기본값 적용
    • 호스트 hanadb2의 인증서 호스트 이름 [hanadb2]: Enter를 눌러 기본값 적용
    • 호스트 hanadb3의 인증서 호스트 이름 [hanadb3]: Enter를 눌러 기본값 적용
    • 시스템 관리자(hn1adm) 암호: 암호 입력
    • 시스템 데이터베이스 사용자(system) 암호: 시스템 암호 입력
    • 시스템 데이터베이스 사용자(system) 암호 확인: 시스템 암호 입력
    • 컴퓨터 다시 부팅 후 컴퓨터를 다시 시작하려고 하나요? [n]: n을 입력합니다.
    • 계속하시겠습니까(y/n): 요약의 유효성을 검사하고 모든 항목이 양호하면 y 입력
  2. [1] global.ini 확인

    global.ini를 표시하고 내부 SAP HANA 노드 간 통신에 대한 구성이 준비되었는지 확인합니다. 통신 섹션을 확인합니다. hana 서브넷의 주소 공간이 있어야 하고 listeninterface.internal로 설정되어야 합니다. internal_hostname_resolution 섹션을 확인합니다. hana 서브넷에 속하는 HANA 가상 머신의 IP 주소가 있어야 합니다.

    
     sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
     # Example 
     #global.ini last modified 2019-09-10 00:12:45.192808 by hdbnameserve
     [communication]
     internal_network = 10.9.2.0/26
     listeninterface = .internal
     [internal_hostname_resolution]
     10.9.2.4 = hanadb1
     10.9.2.5 = hanadb2
     10.9.2.6 = hanadb3
    
  3. [1] 클라이언트 IP 주소가 클라이언트 통신에 사용되도록 호스트 매핑을 추가합니다. public_host_resolution 섹션을 추가하고 클라이언트 서브넷에서 해당 IP 주소를 추가합니다.

    
     sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
     #Add the section
     [public_hostname_resolution]
     map_hanadb1 = 10.9.1.5
     map_hanadb2 = 10.9.1.6
     map_hanadb3 = 10.9.1.7
    
  4. [1] SAP HANA를 다시 시작하여 변경 내용을 활성화합니다.

    
     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
    
  5. [1] 클라이언트 인터페이스에서 통신용 client 서브넷의 IP 주소를 사용하는지 확인합니다.

    
     # Execute as hn1adm
     /usr/sap/HN1/HDB03/exe/hdbsql -u SYSTEM -p "password" -i 03 -d SYSTEMDB 'select * from SYS.M_HOST_INFORMATION'|grep net_publicname
     # Expected result
     "hanadb3","net_publicname","10.9.1.7"
     "hanadb2","net_publicname","10.9.1.6"
     "hanadb1","net_publicname","10.9.1.5"
    

    구성을 확인하는 방법은 SAP 노트 2183363 - SAP HANA 내부 네트워크 구성을 참조하세요.

  6. [A] 방화벽을 다시 사용하도록 설정합니다.

    • HANA 중지

      
         sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
        
    • 방화벽을 다시 사용하도록 설정합니다.

      
         # Execute as root
         systemctl start firewalld
         systemctl enable firewalld
        
    • 필요한 방화벽 포트 열기

      Important

      HANA 노드 간 통신 및 클라이언트 트래픽을 허용하는 방화벽 규칙을 만듭니다. 필수 포트 목록은 모든 SAP 제품의 TCP/IP 포트에 나열되어 있습니다. 다음 명령은 예제입니다. 이 시나리오에서는 시스템 번호 03이 사용됩니다.

      
         # Execute as root
         sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp --permanent
         sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp
        
    • HANA 시작

      
         sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
        
  7. 기본 Azure NetApp Files 스토리지에 대해 SAP HANA를 최적화하려면 다음 SAP HANA 매개 변수를 설정합니다.

    • max_parallel_io_requests128
    • async_read_submiton
    • async_write_submit_activeon
    • async_write_submit_blocksall

    자세한 내용은 SAP HANA의 I/O 스택 구성을 참조하세요.

    SAP HANA 2.0 시스템부터는 global.ini에서 매개 변수를 설정할 수 있습니다. 자세한 내용은 SAP Note 1999930을 참조하세요.

    SAP HANA 1.0 시스템 버전 SPS12 이하의 경우 SAP Note 2267798의 설명대로 이러한 매개 변수는 설치 중에 설정할 수 있습니다.

  8. Azure NetApp Files에서 사용하는 스토리지의 파일 크기 제한은 16TB(테라바이트)입니다. SAP HANA는 스토리지 제한을 암시적으로 인식하지 않으며 파일 크기 제한인 16TB에 도달해도 자동으로 새 데이터 파일을 만들지 않습니다. SAP HANA가 16TB를 초과하여 파일을 확장하려고 시도하면 오류가 발생하고 결국 인덱스 서버 작동이 중단됩니다.

    Important

    SAP HANA가 스토리지 하위 시스템의 16TB 제한을 초과하여 데이터 파일을 늘리는 것을 방지하려면 global.ini에서 다음 매개 변수를 설정합니다.

    • datavolume_striping = true
    • datavolume_striping_size_gb = 15000 자세한 내용은 SAP Note 2400005를 참조하세요. SAP Note 2631285에 유의하세요.

SAP HANA 장애 조치 테스트

  1. SAP HANA 작업자 노드에서 노드 크래시를 시뮬레이트합니다. 다음을 수행합니다.

    a. 노드 충돌을 시뮬레이트하기 전에 hn1adm으로 다음 명령을 실행하여 환경의 상태를 캡처합니다.

    
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | yes    | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
    

    b. 노드 충돌을 시뮬레이트하려면 작업자 노드(이 경우 hanadb2)에서 루트로 다음 명령을 실행합니다.

    
     echo b > /proc/sysrq-trigger
    

    c. 시스템에서 장애 조치 완료 여부를 모니터링합니다. 장애 조치가 완료되면 상태를 캡처합니다. 예를 들면 다음과 같습니다.

    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | no     | info   |          |        |         2 |         0 | default  | default  | master 2   | slave      | worker      | standby     | worker  | standby | default | -       |
     | hanadb3 | yes    | info   |          |        |         0 |         2 | default  | default  | master 3   | slave      | standby     | slave       | standby | worker  | default | default |
    

    Important

    노드에 커널 패닉이 발생하면 ‘모든’ HANA 가상 머신에서 kernel.panic을 20초로 설정하여 SAP HANA 장애 조치로 인한 지연을 방지합니다. 이 구성은 /etc/sysctl에서 수행합니다. 가상 머신을 다시 부팅하여 변경 내용을 활성화합니다. 이 변경을 수행하지 않으면 노드에 커널 패닉이 발생할 때 장애 조치가 10분 이상 걸릴 수 있습니다.

  2. 다음을 수행하여 이름 서버를 종료합니다.

    a. 테스트 전에 hn1adm으로 다음 명령을 실행하여 환경의 상태를 확인합니다.

    
     #Landscape status 
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | yes    | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
    

    b. 활성 마스터 노드(이 경우 hanadb1)에서 hn1adm으로 다음 명령을 실행합니다.

    
         hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB kill
     

    대기 노드 hanadb3이 마스터 노드가 됩니다. 장애 조치 테스트가 완료된 후 리소스 상태는 다음과 같습니다.

    
      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | no     | info   |          |        |         1 |         0 | default  | default  | master 1   | slave      | worker      | standby     | worker  | standby | default | -       |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | yes    | info   |          |        |         0 |         1 | default  | default  | master 3   | master     | standby     | master      | standby | worker  | default | default |
     

    c. hanadb1(즉, 이름 서버가 종료된 동일한 가상 머신)에서 HANA 인스턴스를 다시 시작합니다. hanadb1 노드는 환경에 다시 참여하고 대기 역할을 유지합니다.

    
     hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB start
    

    hanadb1에서 SAP HANA가 시작된 후 다음 상태가 예상됩니다.

    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | no     | info   |          |        |         1 |         0 | default  | default  | master 1   | slave      | worker      | standby     | worker  | standby | default | -       |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | yes    | info   |          |        |         0 |         1 | default  | default  | master 3   | master     | standby     | master      | standby | worker  | default | default |
    

    d. 다시, 현재 활성 마스터 노드(즉, 노드 hanadb3)에서 이름 서버를 종료합니다.

    
     hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB kill
    

    노드 hanadb1이 마스터 노드의 역할을 재개합니다. 장애 조치 테스트가 완료된 후 상태는 다음과 같습니다.

    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
    

    e. hanadb3에서 SAP HANA를 시작하면 대기 노드로 사용할 준비가 됩니다.

    
     hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB start
    

    hanadb3에서 SAP HANA가 시작된 후 상태는 다음과 같습니다.

    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList & python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
    

다음 단계