Azure Files의 NFS를 사용하는 SUSE Linux Enterprise Server의 Azure VM에 있는 SAP NetWeaver에 대한 고가용성
이 문서에서는 Azure Files의 NFS를 사용하여 VM을 배포 및 구성하고, 클러스터 프레임워크를 설치하고, HA SAP NetWeaver 시스템을 설치하는 방법을 설명합니다. 예제 구성에서는 SLES(SUSE Linux Enterprise Server)에서 실행되는 VM을 사용합니다.
SAP 애플리케이션 15용 SLES를 새로 구현하려는 경우 간단한 탑재 구성에서 SAP ASCS/ERS에 대한 고가용성을 배포하는 것이 좋습니다. 이 문서에 설명하는 SAP 중앙 서비스 디렉터리에 대한 클러스터 제어 파일 시스템을 기반으로 하는 클래식 Pacemaker 구성은 계속 지원됩니다.
필수 조건
- Azure Files 설명서.
- SAP Note 1928533, 다음 항목을 포함합니다.
- SAP 소프트웨어 배포에 지원되는 Azure VM 크기 목록
- Azure VM 크기에 대한 중요한 용량 정보.
- 지원되는 SAP 소프트웨어 및 운영 체제(OS)와 데이터베이스 조합
- Microsoft Azure에서 Windows 및 Linux에 필요한 SAP 커널 버전입니다.
- SAP Note 2015553는 Azure에서 SAP을 지원하는 SAP 소프트웨어 배포에 대한 필수 구성 요소를 나열합니다.
- SAP Note 2205917은 SAP 애플리케이션용 SUSE Linux Enterprise Server에 권장되는 OS 설정이 나와 있습니다.
- SAP Note 2178632는 Azure에서 SAP에 대해 보고된 모든 모니터링 메트릭에 대한 자세한 정보를 포함하고 있습니다.
- SAP Note 2191498는 Azure에서 Linux에 필요한 SAP Host Agent 버전을 포함하고 있습니다.
- SAP Note 2243692는 Azure에서 Linux의 SAP 라이선스에 대한 정보를 포함하고 있습니다.
- SAP Note 1984787은 SUSE LINUX Enterprise Server 12에 대한 일반 정보를 포함하고 있습니다.
- SAP Note 2578899는 SUSE Linux Enterprise Server 15에 대한 일반 정보를 포함하고 있습니다.
- SAP Note 1999351은 SAP용 Azure 고급 모니터링 확장을 위한 추가 문제 해결 정보를 포함하고 있습니다.
- SAP Community WIKI는 Linux에 필요한 모든 SAP Note를 포함하고 있습니다.
- Linux에서 SAP용 Azure Virtual Machines 계획 및 구현.
- Linux에서 SAP용 Azure Machines 배포
- Linux에서 SAP용 Azure Virtual Machines DBMS 배포
- SUSE SAP HA 모범 사례 가이드. 이 가이드는 Netweaver HA 및 SAP HANA 시스템 복제 온-프레미스를 설정하는 데 필요한 모든 정보를 포함하고 있습니다. 이 가이드를 일반 기준으로 사용하세요. 여기서 훨씬 더 자세한 정보를 제공합니다.
- SUSE 고가용성 확장 릴리스 정보.
개요
SAP NetWeaver 애플리케이션 계층을 배포하려면 환경에 /sapmnt/SID
및 /usr/sap/trans
와 같은 공유 디렉터리가 필요합니다. 또한 HA SAP 시스템을 배포할 때 /sapmnt/SID
및 /usr/sap/SID/ASCS
와 같은 고가용성 파일 시스템을 보호하고 만들어야 합니다.
이제 Azure Files의 NFS에 이러한 파일 시스템을 배치할 수 있습니다. Azure Files의 NFS는 HA 스토리지 솔루션입니다. 이 솔루션은 동기 ZRS(영역 중복 스토리지)를 제공하며 가용성 영역에 배포된 SAP ASCS/ERS 인스턴스에 적합합니다. SAP Netweaver 중앙 서비스(ASCS/SCS)와 같은 단일 실패 지점 구성 요소를 보호하려면 Pacemaker 클러스터가 여전히 필요합니다.
예제 구성 및 설치 명령은 다음 인스턴스 번호를 사용합니다.
인스턴스 이름 | 인스턴스 번호 |
---|---|
ASCS(ABAP SAP Central Services) | 00 |
ERS | 01 |
PAS(기본 애플리케이션 서버) | 02 |
AAS(추가 애플리케이션 서버) | 03 |
SAP 시스템 식별자 | NW1 |
이 다이어그램은 일반적인 SAP Netweaver HA 아키텍처를 보여줍니다. "sapmnt" 및 "saptrans" 파일 시스템은 Azure Files의 NFS 공유에 배포됩니다. SAP 중앙 서비스는 Pacemaker 클러스터로 보호됩니다. 클러스터형 VM은 Azure 부하 분산 장치 뒤에 있습니다. NFS 공유는 프라이빗 엔드포인트를 통해 탑재됩니다.
인프라 준비
SAP 인스턴스의 리소스 에이전트는 SAP 애플리케이션의 SUSE Linux Enterprise Server에 포함되어 있습니다. SAP 애플리케이션 12 또는 15용 SUSE Linux Enterprise Server에 대한 이미지는 Azure Marketplace에서 사용할 수 있습니다. 이미지를 사용하여 새 VM을 배포할 수 있습니다.
Azure Portal을 통해 수동으로 Linux VM 배포
이 문서에서는 리소스 그룹, Azure Virtual Network 및 서브넷을 이미 배포했다고 가정합니다.
SAP 애플리케이션용 SLES 이미지를 사용하여 가상 머신을 배포합니다. SAP 시스템에 지원되는 적합한 버전의 SLES 이미지를 선택합니다. 가상 머신 확장 집합, 가용성 영역 또는 가용성 집합 같은 배포 옵션 중 하나에서 VM을 선택합니다.
Azure Load Balancer 구성
VM 구성 중에 네트워킹 섹션에서 기존 부하 분산 장치를 만들거나 선택할 수 있는 옵션이 있습니다. 아래 단계에 따라 SAP ASCS 및 SAP ERS의 고가용성 설정에 대한 표준 부하 분산 장치를 구성합니다.
부하 분산 장치 만들기 가이드를 따라 Azure Portal을 사용하여 고가용성 SAP 시스템용 표준 부하 분산 장치를 설정합니다. 부하 분산 장치를 설정하는 동안 다음 사항을 고려합니다.
- 프런트 엔드 IP 구성: 두 개의 프런트 엔드 IP(ASCS용 및 ERS용)를 만듭니다. ASCS/ERS 가상 머신과 동일한 가상 네트워크 및 서브넷을 선택합니다.
- 백 엔드 풀: 백 엔드 풀을 만들고 ASCS 및 ERS VM을 추가합니다.
- 인바운드 규칙: ASCS용과 ERS용으로 하나씩 두 개의 부하 분산 규칙을 만듭니다. 두 부하 분산 규칙 모두에 대해 동일한 단계를 수행합니다.
- 프런트 엔드 IP 주소: 프런트 엔드 IP 선택
- 백 엔드 풀: 백 엔드 풀 선택
- "고가용성 포트" 확인
- 프로토콜: TCP
- 상태 프로브: 아래 세부 정보로 상태 프로브 만들기(ASCS 및 ERS 모두에 적용)
- 프로토콜: TCP
- 포트: [예: ASCS의 경우 620<인스턴스 번호>, ERS의 경우 621<인스턴스 번호>]
- 간격: 5
- 프로브 임계값: 2
- 유휴 제한 시간(분): 30
- "부동 IP 사용" 확인
참고 항목
상태 프로브 구성 속성 numberOfProbes(포털에서 “비정상 임계값”으로 알려짐)는 적용되지 않습니다. 따라서 성공하거나 실패한 연속 프로브 수를 제어하려면 "probeThreshold" 속성을 2로 설정합니다. 현재 Azure Portal을 사용하여 이 속성을 설정할 수 없으므로 Azure CLI 또는 PowerShell 명령을 사용합니다.
참고 항목
공용 IP 주소가 없는 VM이 내부(공용 IP 주소 없음) 표준 Azure 부하 분산 장치의 백 엔드 풀에 배치되는 경우 공용 엔드포인트로 라우팅을 허용하기 위해 추가 구성을 수행하지 않는 한 아웃바운드 인터넷 연결이 없습니다. 아웃바운드 연결을 설정하는 방법에 대한 자세한 내용은 SAP 고가용성 시나리오에서 Azure 표준 Load Balancer를 사용하는 Virtual Machines에 대한 퍼블릭 엔드포인트 연결을 참조하세요.
Important
- Azure Load Balancer 뒤에 배치되는 Azure VM에서 TCP 타임스탬프를 사용하도록 설정하면 안 됩니다. TCP 타임스탬프를 사용하도록 설정하면 상태 프로브에 오류가 발생합니다.
net.ipv4.tcp_timestamps
매개 변수를0
로 설정합니다. 자세한 내용은 Load Balancer 상태 프로브를 참조하세요. - saptune이 수동으로 설정된
net.ipv4.tcp_timestamps
값을0
에서 다시1
(으)로 변경하지 못하게 하려면 saptune 버전을 3.1.1 이상으로 업데이트해야 합니다. 자세한 내용은 saptune 3.1.1 – 업데이트가 필요하나요?를 참조하세요.
Azure Files 스토리지 계정 및 NFS 공유 배포
Azure Files의 NFS는 Azure Files 프리미엄 스토리지 위에서 실행됩니다. Azure Files의 NFS를 설정하기 전에 NFS 공유를 만드는 방법을 참조하세요.
Azure 지역 내에는 중복성에 대한 두 가지 옵션이 있습니다.
- LRS(로컬 중복 스토리지)는 로컬, 영역 내 동기 데이터 복제를 제공합니다.
- ZRS(영역 중복 스토리지)는 지역에 있는 세 개의 가용성 영역에서 데이터를 동기적으로 복제합니다.
선택한 Azure 지역이 적절한 중복성으로 Azure Files의 NFS 4.1을 제공하는지 확인합니다. Premium Files Storage에서 Azure 지역별 Azure Files의 가용성을 검토합니다. 시나리오가 ZRS를 활용하는 경우 ZRS를 사용하는 프리미엄 파일 공유가 Azure 지역에서 지원되는지 확인합니다.
Azure 프라이빗 엔드포인트를 통해 Azure Storage 계정에 액세스하는 것이 좋습니다. NFS 공유를 동일한 Azure VNet 또는 피어링된 Azure VNet에 탑재해야 하는 Azure Files 스토리지 계정 엔드포인트 및 VM을 배포해야 합니다.
sapafsnfs
라는 File Storage 계정을 배포합니다. 이 예제에서는 ZRS를 사용합니다. 프로세스에 익숙하지 않은 경우 Azure Portal에 대한 스토리지 계정 만들기를 참조하세요.- 기본 사항 탭에서 다음 설정을 사용합니다.
- 스토리지 계정 이름에
sapafsnfs
를 입력합니다. - 성능에 대해 프리미엄을 선택합니다.
- 프리미엄 계정 유형에 대해 FileStorage를 선택합니다.
- 복제에 대해 ZRS(영역 중복)를 선택합니다.
- 스토리지 계정 이름에
- 다음을 선택합니다.
- 고급 탭에서 REST API 작업을 위한 보안 전송 필요를 선택 취소합니다. 이 옵션을 선택 취소하지 않으면 VM에 NFS 공유를 탑재할 수 없습니다. 탑재 작업 시간이 초과됩니다.
- 다음을 선택합니다.
- 네트워킹 섹션에서 다음 설정을 구성합니다.
- 네트워킹 연결에서 연결 방법으로 프라이빗 엔드포인트를 선택합니다.
- 프라이빗 엔드포인트에서 프라이빗 엔드포인트 추가를 선택합니다.
- 프라이빗 엔드포인트 만들기 창에서 구독, 리소스 그룹 및 위치를 선택합니다.
이름에
sapafsnfs_pe
를 입력합니다. 스토리지 하위 리소스에 대해 파일을 선택합니다. 네트워킹에서 가상 네트워크에 대해 사용할 VNet 및 서브넷을 선택합니다. 다시 말해, SAP VM이 있는 VNet 또는 피어링된 VNet을 사용할 수 있습니다. 프라이빗 DNS 통합에서 프라이빗 DNS 영역과 통합에 대해 기본 옵션인 예를 적용합니다. 프라이빗 DNS 영역을 선택해야 합니다. 확인을 선택합니다. - 네트워킹 탭에서 다시 다음을 선택합니다.
- 데이터 보호 탭에서 모든 기본 설정을 유지합니다.
- 검토 + 만들기를 선택하여 구성의 유효성을 검사합니다.
- 유효성 검사가 완료될 때까지 기다립니다. 계속하기 전에 문제를 해결합니다.
- 검토 + 만들기 탭에서 만들기를 선택합니다.
다음으로, 사용자가 만든 스토리지 계정에 NFS 공유를 배포합니다. 이 예제에는 두 개의 NFS 공유인 sapnw1
및 saptrans
가 있습니다.
Azure Portal에 로그인합니다.
스토리지 계정을 선택하거나 검색합니다.
스토리지 계정 페이지에서 sapafsnfs를 선택합니다.
sapafsnfs의 리소스 메뉴에 있는 데이터 스토리지에서 파일 공유를 선택합니다.
파일 공유 페이지에서 파일 공유를 선택합니다.
- 이름에
sapnw1
,saptrans
를 입력합니다. - 적절한 공유 크기를 선택합니다. 예를 들어 128GB입니다. 공유, IOP 및 처리량 요구 사항에 저장된 데이터의 크기를 고려합니다. 자세한 내용은 Azure 파일 공유 대상을 참조하세요.
- 프로토콜로 NFS를 선택합니다.
- 루트 Squash 없음을 선택합니다. 그렇지 않으면 VM에 공유를 탑재할 때 파일 소유자 또는 그룹을 볼 수 없습니다.
Important
위의 공유 크기는 예제일 뿐입니다. 공유 크기를 적절하게 조정해야 합니다. 크기는 공유에 저장된 데이터의 크기뿐만 아니라 IOPS 및 처리량에 대한 요구 사항을 기반으로 합니다. 자세한 내용은 Azure 파일 공유 대상을 참조하세요.
NFS를 통해 탑재할 필요가 없는 SAP 파일 시스템은 Azure 디스크 스토리지에 배포할 수도 있습니다. 이 예제에서는 Azure 디스크 스토리지에
/usr/sap/NW1/D02
및/usr/sap/NW1/D03
을 배포할 수 있습니다.- 이름에
Azure Files 공유의 NFS에 대한 중요한 고려 사항
Azure Files의 NFS를 통해 배포를 계획할 때는 다음과 같은 중요한 사항을 고려하세요.
- 최소 공유 크기는 100GiB입니다. 프로비전된 공유의 용량에 대해서만 비용을 지불합니다.
- 용량 요구 사항뿐만 아니라 IOPS 및 처리량 요구 사항에 따라 NFS 공유 크기를 정합니다. 자세한 내용은 Azure 파일 공유 대상을 참조하세요.
- 워크로드를 테스트하여 크기 조정의 유효성을 검사하고 성능 목표를 충족하는지 확인합니다. Azure Files의 성능 문제를 해결하는 방법을 알아보려면 Azure 파일 공유 성능 문제 해결을 참조하세요.
- SAP J2EE 시스템의 경우 Azure Files의 NFS에
/usr/sap/<SID>/J<nr>
를 배치할 수 없습니다. - SAP 시스템에 대량의 일괄 처리 작업 부하가 있는 경우 수백만 개의 작업 로그가 있을 수 있습니다. SAP 일괄 처리 작업 로그가 파일 시스템에 저장되어 있는 경우
sapmnt
공유의 크기 조정에 특히 주의해야 합니다. SAP_BASIS 7.52부터 일괄 처리 작업 로그의 기본 동작은 데이터베이스에 저장됩니다. 자세한 내용은 데이터베이스의 작업 로그를 참조하세요. - 각 SAP 시스템에 대해 별도의
sapmnt
공유를 배포합니다. - 인터페이스와 같은 다른 작업에
sapmnt
공유를 사용하지 말거나saptrans
하세요. - 인터페이스와 같은 다른 작업에
saptrans
공유를 사용하지 말거나sapmnt
하세요. - 단일 스토리지 계정에 너무 많은 SAP 시스템의 공유를 통합하지 않도록 합니다. Storage 계정 성능 크기 조정 목표도 있습니다. 스토리지 계정에 대한 제한을 초과하지 않도록 주의해야 합니다.
- 일반적으로 단일 스토리지 계정에 5개를 초과하는 SAP 시스템에 대한 공유를 통합하지 마세요. 이 지침은 스토리지 계정 제한을 초과하지 않도록 방지하고 성능 분석을 간소화하는 데 도움이 됩니다.
- 일반적으로 동일한 스토리지 계정의 비프로덕션 및 프로덕션 SAP 시스템에 대해
sapmnt
와 같은 공유를 혼합하지 않도록 합니다. - NFS 클라이언트 개선 사항을 활용하려면 SLES 15 SP2 이상에 배포하는 것이 좋습니다.
- 프라이빗 엔드포인트를 사용합니다. 영역 오류가 발생할 가능성이 낮으면 NFS 세션이 자동으로 정상 영역으로 리디렉션됩니다. VM에서 NFS 공유를 다시 탑재할 필요가 없습니다.
- 가용성 영역에 VM을 배포하는 경우 ZRS를 지원하는 Azure 지역의 ZRS에서 Storage 계정을 사용합니다.
- Azure Files는 현재 재해 복구 시나리오에 대해 지역 간 자동 복제를 지원하지 않습니다.
(A)SCS 설정
다음으로 SAP ASCS 및 ERS 인스턴스를 준비하고 설치합니다.
Pacemaker 클러스터 만들기
Azure의 SUSE Linux Enterprise Server에서 Pacemaker 설정 단계에 따라 SAP (A)SCS용 기본 Pacemaker 클러스터를 만듭니다.
설치
다음 항목에는 접두사 [A](모든 노드에 적용됨), [1](노드 1에만 적용됨), [2](노드 2에만 적용됨) 접두사가 표시되어 있습니다.
[A] 최신 버전의 SUSE Connector 설치
sudo zypper install sap-suse-cluster-connector
참고 항목
호스트 이름에 대시 사용과 관련된 알려진 문제는 패키지 sap-suse-cluster-connector의 버전 3.1.1에서 해결되었습니다. 호스트 이름에 대시가 있는 클러스터 노드를 사용하는 경우 패키지 sap-suse-cluster-connector의 버전 3.1.1 이상을 사용하고 있는지 확인하세요. 대시를 사용하면 클러스터가 작동하지 않습니다.
SAP SUSE 클러스터 커넥터의 새 버전을 설치했는지 확인합니다. 기존 버전은 sap_suse_cluster_connector라고 하며 새 버전은 sap suse-cluster-connector라고 합니다.
[A] SAP 리소스 에이전트 업데이트
이 문서에서 설명하는 새 구성을 사용하려면 리소스 에이전트 패키지용 패치가 필요합니다. 다음 명령을 사용하여 패치가 이미 설치되었는지를 확인할 수 있습니다.
sudo grep 'parameter name="IS_ERS"' /usr/lib/ocf/resource.d/heartbeat/SAPInstance
다음과 같은 출력이 표시되어야 합니다.
<parameter name="IS_ERS" unique="0" required="0">;
grep 명령을 실행하여 IS_ERS 매개 변수를 찾을 수 없는 경우에는 SUSE 다운로드 페이지에 나와 있는 패치를 설치해야 합니다.
[A] 호스트 이름 확인 설정
DNS 서버를 사용하거나 모든 노드의 /etc/hosts를 수정할 수 있습니다. 이 예에서는 /etc/hosts 파일 사용 방법을 보여줍니다. 다음 명령에서 IP 주소와 호스트 이름 바꾸기
sudo vi /etc/hosts
다음 줄을 /etc/hosts에 삽입합니다. 환경에 맞게 IP 주소와 호스트 이름 변경
# IP address of cluster node 1 10.90.90.7 sap-cl1 # IP address of cluster node 2 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers
[1] NFS 공유에 SAP 디렉터리를 만듭니다.
VM 중 하나의 NFS 공유 sapnw1을 임시로 탑재하고 중첩된 탑재 지점으로 사용할 SAP 디렉터리를 만듭니다.# mount temporarily the volume sudo mkdir -p /saptmp sudo mount -t nfs sapnfs.file.core.windows.net:/sapnfsafs/sapnw1 /saptmp -o noresvport,vers=4,minorversion=1,sec=sys # create the SAP directories sudo cd /saptmp sudo mkdir -p sapmntNW1 sudo mkdir -p usrsapNW1ascs sudo mkdir -p usrsapNW1ers sudo mkdir -p usrsapNW1sys # unmount the volume and delete the temporary directory cd .. sudo umount /saptmp sudo rmdir /saptmp
SAP NetWeaver 설치 준비
[A] 공유 디렉터리 만들기
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo mkdir -p /usr/sap/NW1/SYS sudo mkdir -p /usr/sap/NW1/ASCS00 sudo mkdir -p /usr/sap/NW1/ERS01 sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans sudo chattr +i /usr/sap/NW1/SYS sudo chattr +i /usr/sap/NW1/ASCS00 sudo chattr +i /usr/sap/NW1/ERS01
[A] Pacemaker 클러스터에 의해 제어되지 않는 파일 시스템을 탑재합니다.
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1sys/ /usr/sap/NW1/SYS nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems mount -a
[A] 스왑 파일 구성
sudo vi /etc/waagent.conf # Check if property ResourceDisk.Format is already set to y and if not, set it ResourceDisk.Format=y # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
에이전트를 다시 시작하여 변경 내용을 활성화합니다.
sudo service waagent restart
SAP NetWeaver ASCS/ERS 설치
[1] ASCS 인스턴스에 대한 가상 IP 리소스 및 상태 프로브 만들기
Important
다음 패키지 버전 요구 사항과 함께 패키지 리소스 에이전트의 일부인 azure-lb 리소스 에이전트를 사용하는 것이 좋습니다.
- SLES 12 SP4/SP5의 경우 버전은 resource-agents-4.3.018.a7fb5035-3.30.1 이상이어야 합니다.
- SLES 15 이상의 경우 버전은 resource-agents-4.3.0184.6ee15eb2-4.13.1 이상이어야 합니다.
sudo crm node standby sap-cl2 sudo crm configure primitive fs_NW1_ASCS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ascs' directory='/usr/sap/NW1/ASCS00' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s sudo crm configure primitive vip_NW1_ASCS IPaddr2 \ params ip=10.90.90.10 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ASCS azure-lb port=62000 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ASCS fs_NW1_ASCS nc_NW1_ASCS vip_NW1_ASCS \ meta resource-stickiness=3000
클러스터 상태가 정상이며 모든 리소스가 시작되었는지 확인합니다. 리소스가 실행되는 노드는 중요하지 않습니다.
sudo crm_mon -r # Node sap-cl2: standby # Online: [ sap-cl1 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started sap-cl1 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
[1] SAP NetWeaver ASCS 설치
ASCS에 대한 부하 분산 장치 프런트 엔드 구성의 IP 주소에 매핑되는 가상 호스트 이름(예: sapascs, 10.90.90.10) 및 부하 분산 장치의 프로브에 사용한 인스턴스 번호(예: 00)를 사용하여 첫 번째 노드에 SAP NetWeaver ASCS를 루트로 설치합니다.
sapinst 매개 변수 SAPINST_REMOTE_ACCESS_USER를 사용하면 루트 권한이 없는 사용자의 sapinst 연결을 허용할 수 있습니다. 매개 변수 SAPINST_USE_HOSTNAME을 사용하여 가상 호스트 이름으로 SAP를 설치할 수 있습니다.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=<virtual_hostname>
설치에서 /usr/sap/NW1/ASCS00에 하위 폴더를 만들지 못하면 ASCS00 폴더의 소유자와 그룹을 설정하고 다시 시도합니다.
chown nw1adm /usr/sap/NW1/ASCS00 chgrp sapsys /usr/sap/NW1/ASCS00
[1] ERS 인스턴스에 대한 가상 IP 리소스 및 상태 검사 프로브 만들기
sudo crm node online sap-cl2 sudo crm node standby sap-cl1 sudo crm configure primitive fs_NW1_ERS Filesystem device='sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/usrsapNW1ers' directory='/usr/sap/NW1/ERS01' fstype='nfs' options='noresvport,vers=4,minorversion=1,sec=sys' \ op start timeout=60s interval=0 \ op stop timeout=60s interval=0 \ op monitor interval=20s timeout=40s sudo crm configure primitive vip_NW1_ERS IPaddr2 \ params ip=10.90.90.9 \ op monitor interval=10 timeout=20 sudo crm configure primitive nc_NW1_ERS azure-lb port=62101 \ op monitor timeout=20s interval=10 sudo crm configure group g-NW1_ERS fs_NW1_ERS nc_NW1_ERS vip_NW1_ERS
클러스터 상태가 정상이며 모든 리소스가 시작되었는지 확인합니다. 리소스가 실행되는 노드는 중요하지 않습니다.
sudo crm_mon -r # Node sap-cl1: standby # Online: [ sap-cl2 ] # # Full list of resources: # # stonith-sbd (stonith:external/sbd): Started sap-cl2 # Resource Group: g-NW1_ASCS # fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl2 # Resource Group: g-NW1_ERS # fs_NW1_ERS (ocf::heartbeat:Filesystem): Started sap-cl2 # nc_NW1_ERS (ocf::heartbeat:azure-lb): Started sap-cl2 # vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started sap-cl2
[2] SAP NetWeaver ERS 설치
ERS용 부하 분산 장치 프런트 엔드 구성의 IP 주소에 매핑되는 가상 호스트 이름(예: sapers, 10.90.90.9)과 부하 분산 장치의 프로브에 사용했던 인스턴스 번호(예: 01)를 사용하여 두 번째 노드에 루트로 SAP NetWeaver ERS를 설치합니다.
sapinst 매개 변수 SAPINST_REMOTE_ACCESS_USER를 사용하면 루트 권한이 없는 사용자의 sapinst 연결을 허용할 수 있습니다. 매개 변수 SAPINST_USE_HOSTNAME을 사용하여 가상 호스트 이름으로 SAP를 설치할 수 있습니다.
<swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin SAPINST_USE_HOSTNAME=virtual_hostname
참고 항목
SWPM SP 20 PL 05 이상을 사용합니다. 그 이전 버전은 권한을 올바르게 설정하지 않으므로 설치가 실패합니다.
설치에서 /usr/sap/NW1/ERS01에 하위 폴더를 만들지 못하면 ERS01 폴더의 소유자와 그룹을 설정하고 다시 시도합니다.
chown nw1adm /usr/sap/NW1/ERS01 chgrp sapsys /usr/sap/NW1/ERS01
[1] ASCS/SCS 및 ERS 인스턴스 프로필 조정
- ASCS/SCS 프로필
sudo vi /sapmnt/NW1/profile/NW1_ASCS00_sapascs # Change the restart command to a start command #Restart_Program_01 = local $(_EN) pf=$(_PF) Start_Program_01 = local $(_EN) pf=$(_PF) # Add the following lines service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # Add the keep alive parameter, if using ENSA1 enque/encni/set_so_keepalive = TRUE
ENSA1 및 ENSA2 모두에서
keepalive
OS 매개 변수는 SAP Note 1410736에 설명된 대로 설정해야 합니다.- ERS 프로필
sudo vi /sapmnt/NW1/profile/NW1_ERS01_sapers # Change the restart command to a start command #Restart_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) Start_Program_00 = local $(_ER) pf=$(_PFL) NR=$(SCSID) # Add the following lines service/halib = $(DIR_CT_RUN)/saphascriptco.so service/halib_cluster_connector = /usr/bin/sap_suse_cluster_connector # remove Autostart from ERS profile # Autostart = 1
[A] 연결 유지 구성
SAP NetWeaver 애플리케이션 서버와 ASCS/SCS 간의 통신은 소프트웨어 부하 분산 장치를 통해 라우팅됩니다. 부하 분산 장치는 구성 가능한 시간 제한이 지나면 비활성 연결을 끊습니다. 이를 방지하려면 ENSA1을 사용하는 경우 SAP NetWeaver ASCS/SCS 프로필에서 매개 변수를 설정해야 합니다. ENSA1/ENSA2에 대해 모든 SAP 서버에서 Linux 시스템
keepalive
설정을 변경합니다. 자세한 내용은 SAP Note 1410736을 참조하세요.# Change the Linux system configuration sudo sysctl net.ipv4.tcp_keepalive_time=300
[A] 설치 후 SAP 사용자 구성
# Add sidadm to the haclient group sudo usermod -aG haclient nw1adm
[1]
sapservice
파일에 ASCS 및 ERS SAP 서비스 추가ASCS 서비스 항목을 두 번째 노드에 추가하고 ERS 서비스 항목을 첫 번째 노드에 복사합니다.
cat /usr/sap/sapservices | grep ASCS00 | sudo ssh sap-cl2 "cat >>/usr/sap/sapservices" sudo ssh sap-cl2 "cat /usr/sap/sapservices" | grep ERS01 | sudo tee -a /usr/sap/sapservices
[A] ASCS 및 ERS SAP 인스턴스의
systemd
서비스를 사용하지 않도록 설정합니다. 이 단계는 SAP Note 3115048에 따라 SAP 시작 프레임워크가 systemd에 의해 관리되는 경우에만 적용됩니다.참고 항목
SLES 클러스터 구성을 사용하여 SAP ASCS 및 SAP ERS와 같은 SAP 인스턴스를 관리하는 경우 클러스터를 네이티브 systemd 기반 SAP 시작 프레임워크와 통합하기 위해 추가로 수정해야 합니다. 이를 통해 유지 관리 절차가 클러스터 안정성을 손상시키지 않도록 할 수 있습니다. SAP Note 3115048에 따라 SAP 시작 프레임워크를 systemd 지원 설정으로 설치 또는 전환한 후에는 ASCS 및 ERS SAP 인스턴스에 대해
systemd
서비스를 사용하지 않도록 설정해야 합니다.# Stop ASCS and ERS instances using <sid>adm sapcontrol -nr 00 -function Stop sapcontrol -nr 00 -function StopService sapcontrol -nr 01 -function Stop sapcontrol -nr 01 -function StopService # Execute below command on VM where you have performed ASCS instance installation (e.g. sap-cl1) sudo systemctl disable SAPNW1_00 # Execute below command on VM where you have performed ERS instance installation (e.g. sap-cl2) sudo systemctl disable SAPNW1_01
[1] SAP 클러스터 리소스 만들기
ENSA1 또는 ENSA2 시스템을 실행하는지 여부에 따라 해당 탭을 선택하여 리소스를 정의합니다. SAP는 SAP NetWeaver 7.52에서 복제를 포함하여 ENSA2에 대한 지원을 도입했습니다. ABAP 플랫폼 1809부터 ENSA2가 기본적으로 설치됩니다. ENSA2 지원은 SAP Note 2630416을 참조하세요.
sudo crm configure property maintenance-mode="true" sudo crm configure primitive rsc_sap_NW1_ASCS00 SAPInstance \ operations \$id=rsc_sap_NW1_ASCS00-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ASCS00_sapascs START_PROFILE="/sapmnt/NW1/profile/NW1_ASCS00_sapascs" \ AUTOMATIC_RECOVER=false \ meta resource-stickiness=5000 failure-timeout=60 migration-threshold=1 priority=10 sudo crm configure primitive rsc_sap_NW1_ERS01 SAPInstance \ operations \$id=rsc_sap_NW1_ERS01-operations \ op monitor interval=11 timeout=60 on-fail=restart \ params InstanceName=NW1_ERS01_sapers START_PROFILE="/sapmnt/NW1/profile/NW1_ERS01_sapers" AUTOMATIC_RECOVER=false IS_ERS=true \ meta priority=1000 sudo crm configure modgroup g-NW1_ASCS add rsc_sap_NW1_ASCS00 sudo crm configure modgroup g-NW1_ERS add rsc_sap_NW1_ERS01 sudo crm configure colocation col_sap_NW1_no_both -5000: g-NW1_ERS g-NW1_ASCS sudo crm configure location loc_sap_NW1_failover_to_ers rsc_sap_NW1_ASCS00 rule 2000: runs_ers_NW1 eq 1 sudo crm configure order ord_sap_NW1_first_start_ascs Optional: rsc_sap_NW1_ASCS00:start rsc_sap_NW1_ERS01:stop symmetrical=false sudo crm_attribute --delete --name priority-fencing-delay sudo crm node online sap-cl1 sudo crm configure property maintenance-mode="false"
이전 버전에서 업그레이드하고 큐에 넣기 서버 2로 전환하는 경우 SAP note 2641019를 참조하세요.
클러스터 상태가 정상이며 모든 리소스가 시작되었는지 확인합니다. 리소스가 실행되는 노드는 중요하지 않습니다.
sudo crm_mon -r
# Full list of resources:
#
# stonith-sbd (stonith:external/sbd): Started sap-cl2
# Resource Group: g-NW1_ASCS
# fs_NW1_ASCS (ocf::heartbeat:Filesystem): Started sap-cl1
# nc_NW1_ASCS (ocf::heartbeat:azure-lb): Started sap-cl1
# vip_NW1_ASCS (ocf::heartbeat:IPaddr2): Started sap-cl1
# rsc_sap_NW1_ASCS00 (ocf::heartbeat:SAPInstance): Started sap-cl1
# Resource Group: g-NW1_ERS
# fs_NW1_ERS (ocf::heartbeat:Filesystem): Started sap-cl2
# nc_NW1_ERS (ocf::heartbeat:azure-lb): Started sap-cl2
# vip_NW1_ERS (ocf::heartbeat:IPaddr2): Started sap-cl2
# rsc_sap_NW1_ERS01 (ocf::heartbeat:SAPInstance): Started sap-cl1
SAP NetWeaver 애플리케이션 서버 준비
일부 데이터베이스에서는 데이터베이스 인스턴스 설치가 애플리케이션 서버에서 실행되어야 합니다. 이러한 경우 애플리케이션 서버 가상 머신을 사용할 수 있도록 준비합니다.
아래 단계에서는 ASCS/SCS 및 HANA 서버와 다른 서버에 애플리케이션 서버를 설치한다고 가정합니다. 그 외의 경우에는 호스트 이름 확인을 구성하는 단계 등 아래의 일부 단계를 수행할 필요가 없습니다.
다음 항목에는 [A] - PAS와 AAS에 모두 적용, [P] - PAS에만 적용 또는 [S] - AAS에만 적용이 접두사로 붙습니다.
[A] 운영 체제 구성
더티 캐시의 크기를 줄입니다. 자세한 내용은 큰 RAM이 있는 SLES 11/12 서버의 쓰기 성능 저하를 참조하세요.
sudo vi /etc/sysctl.conf # Change/set the following settings vm.dirty_bytes = 629145600 vm.dirty_background_bytes = 314572800
[A] 호스트 이름 확인 설정
DNS 서버를 사용하거나 모든 노드의 /etc/hosts를 수정할 수 있습니다. 이 예에서는 /etc/hosts 파일 사용 방법을 보여줍니다. 다음 명령에서 IP 주소와 호스트 이름 바꾸기
sudo vi /etc/hosts
다음 줄을 /etc/hosts에 삽입합니다. 환경에 맞게 IP 주소와 호스트 이름 변경
10.90.90.7 sap-cl1 10.90.90.8 sap-cl2 # IP address of the load balancer frontend configuration for SAP Netweaver ASCS 10.90.90.10 sapascs # IP address of the load balancer frontend configuration for SAP Netweaver ERS 10.90.90.9 sapers 10.90.90.12 sapa01 10.90.90.13 sapa02
[A] sapmnt 디렉터리 만들기
sudo mkdir -p /sapmnt/NW1 sudo mkdir -p /usr/sap/trans sudo chattr +i /sapmnt/NW1 sudo chattr +i /usr/sap/trans
[A] 파일 시스템 탑재
vi /etc/fstab # Add the following lines to fstab, save and exit sapnfs.file.core.windows.net:/sapnfsafs/saptrans /usr/sap/trans nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 sapnfs.file.core.windows.net:/sapnfsafs/sapnw1/sapmntNW1 /sapmnt/NW1 nfs noresvport,vers=4,minorversion=1,sec=sys 0 0 # Mount the file systems mount -a
[A] 스왑 파일 구성
sudo vi /etc/waagent.conf # Set the property ResourceDisk.EnableSwap to y # Create and use swapfile on resource disk. ResourceDisk.EnableSwap=y # Set the size of the SWAP file with property ResourceDisk.SwapSizeMB # The free space of resource disk varies by virtual machine size. Make sure that you do not set a value that is too big. You can check the SWAP space with command swapon # Size of the swapfile. ResourceDisk.SwapSizeMB=2000
에이전트를 다시 시작하여 변경 내용을 활성화합니다.
sudo service waagent restart
데이터베이스 설치
이 예제에서는 SAP NetWeaver가 SAP HANA에 설치됩니다. 이 설치에 지원되는 모든 데이터베이스를 사용할 수 있습니다. Azure에서 SAP HANA를 설치하는 방법에 대한 자세한 내용은 Azure VM(Virtual Machines)의 SAP HANA 고가용성을 참조하세요. 지원되는 데이터베이스 목록은 SAP Note 1928533을 참조하세요.
데이터베이스에 대한 부하 분산 장치 프런트 엔드 구성의 IP 주소에 매핑되는 가상 호스트 이름을 사용하여 SAP NetWeaver 데이터베이스 인스턴스를 루트로 설치합니다.
sapinst 매개 변수 SAPINST_REMOTE_ACCESS_USER를 사용하면 루트 권한이 없는 사용자의 sapinst 연결을 허용할 수 있습니다.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
SAP NetWeaver 애플리케이션 서버 설치
다음 단계에 따라 SAP 애플리케이션 서버를 설치합니다.
[A] 애플리케이션 서버 준비. 위에 있는 SAP NetWeaver 애플리케이션 서버 준비 챕터의 단계에 따라 애플리케이션 서버를 준비합니다.
[A] SAP NetWeaver 애플리케이션 서버를 설치합니다.
기본 또는 추가 SAP NetWeaver 애플리케이션 서버를 설치합니다.sapinst 매개 변수 SAPINST_REMOTE_ACCESS_USER를 사용하면 루트 권한이 없는 사용자의 sapinst 연결을 허용할 수 있습니다.
sudo <swpm>/sapinst SAPINST_REMOTE_ACCESS_USER=sapadmin
[A] SAP HANA 보안 저장소 업데이트
설치한 SAP HANA System Replication의 가상 이름을 가리키도록 SAP HANA 보안 저장소를 업데이트합니다.
다음 명령을 실행하여 항목을 나열합니다.
hdbuserstore List
이 명령은 모든 항목을 나열해야 하며 다음과 유사해야 합니다.
DATA FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.DAT KEY FILE : /home/nw1adm/.hdb/sapa01/SSFS_HDB.KEY KEY DEFAULT ENV : 10.90.90.5:30313 USER: SAPABAP1 DATABASE: NW1
이 예제에서 기본 진입점의 IP 주소는 부하 분산 장치가 아니라 VM을 가리킵니다. 항목을 부하 분산 장치의 가상 호스트 이름을 가리키도록 변경합니다. 동일한 포트와 데이터베이스 이름을 사용해야 합니다. 예를 들어 샘플 출력의
30313
및NW1
이 있습니다.su - nw1adm hdbuserstore SET DEFAULT nw1db:30313@NW1 SAPABAP1 <password of ABAP schema>
클러스터 설정 테스트
Pacemaker 클러스터를 철저히 테스트합니다. 일반적인 장애 조치(failover) 테스트를 실행합니다.
다음 단계
- SAP 애플리케이션 다중 SID에 대한 SLES의 Azure VM에서 SAP NW용 HA 가이드
- SAP용 Azure Virtual Machines 계획 및 구현
- SAP용 Azure Virtual Machines 배포
- SAP용 Azure Virtual Machines DBMS 배포
- Azure VM에서 SAP HANA의 재해 복구를 계획하고 고가용성을 설정하는 방법을 알아보려면 Azure VM(Virtual Machines)의 SAP HANA 고가용성을 참조하세요.