Skip to content

Commit c48357b

Browse files
authored
Merge pull request #100714 from rdeltcheva/anfsap-nfs4
Add instructions how to mount Azure NetApp Files NFS 4.1 volumes
2 parents c5484e1 + 2b7bd8b commit c48357b

File tree

5 files changed

+228
-47
lines changed

5 files changed

+228
-47
lines changed

articles/virtual-machines/workloads/sap/get-started.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ ms.service: virtual-machines-linux
1515
ms.topic: article
1616
ms.tgt_pltfrm: vm-linux
1717
ms.workload: infrastructure-services
18-
ms.date: 12/23/2019
18+
ms.date: 01/10/2020
1919
ms.author: juergent
2020
ms.custom: H1Hack27Feb2017
2121

@@ -119,6 +119,8 @@ For information on integration of Azure services into SAP components, see:
119119

120120

121121
## Change Log
122+
- 01/10/2020: Changes in [SAP HANA scale-out with standby node on Azure VMs with Azure NetApp Files on SLES](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/sap-hana-scale-out-standby-netapp-files-suse) and in [SAP HANA scale-out with standby node on Azure VMs with Azure NetApp Files on RHEL](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/sap-hana-scale-out-standby-netapp-files-rhel) to add instructions on how to make `nfs4_disable_idmapping` changes permanent.
123+
- 01/10/2020: Changes in [High availability for SAP NetWeaver on Azure VMs on SLES with Azure NetApp Files for SAP applications](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/high-availability-guide-suse-netapp-files) and in [Azure Virtual Machines high availability for SAP NetWeaver on RHEL with Azure NetApp Files for SAP applications](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/high-availability-guide-rhel-netapp-files) to add instructions how to mount Azure NetApp Files NFSv4 volumes.
122124
- 12/23/2019: Release of [High availability for SAP NetWeaver on Azure VMs on SLES multi-SID guide](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/high-availability-guide-suse-multi-sid)
123125
- 12/18/2019: Release of [SAP HANA scale-out with standby node on Azure VMs with Azure NetApp Files on RHEL](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/sap-hana-scale-out-standby-netapp-files-rhel)
124126
- 11/21/2019: Changes in [SAP HANA scale-out with standby node on Azure VMs with Azure NetApp Files on SUSE Linux Enterprise Server](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/sap-hana-scale-out-standby-netapp-files-suse) to simplify the configuration for NFS ID mapping and change the recommended primary network interface to simplify routing.

articles/virtual-machines/workloads/sap/high-availability-guide-rhel-netapp-files.md

Lines changed: 107 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ms.service: virtual-machines-windows
1414
ms.topic: article
1515
ms.tgt_pltfrm: vm-windows
1616
ms.workload: infrastructure-services
17-
ms.date: 11/07/2019
17+
ms.date: 01/10/2020
1818
ms.author: radeltch
1919

2020
---
@@ -172,6 +172,7 @@ When considering Azure NetApp Files for the SAP Netweaver on SUSE High Availabil
172172
- The selected virtual network must have a subnet, delegated to Azure NetApp Files.
173173
- Azure NetApp Files offers [export policy](https://docs.microsoft.com/azure/azure-netapp-files/azure-netapp-files-configure-export-policy): you can control the allowed clients, the access type (Read&Write, Read Only, etc.).
174174
- Azure NetApp Files feature isn't zone aware yet. Currently Azure NetApp Files feature isn't deployed in all Availability zones in an Azure region. Be aware of the potential latency implications in some Azure regions.
175+
- Azure NetApp Files volumes can be deployed as NFSv3 or NFSv4.1 volumes. Both protocols are supported for the SAP application layer (ASCS/ERS, SAP application servers).
175176

176177
## Setting up (A)SCS
177178

@@ -255,11 +256,46 @@ First you need to create the Azure NetApp Files volumes. Deploy the VMs. Afterwa
255256
1. Additional ports for the ASCS ERS
256257
* Repeat the steps above under "d" for ports 32**01**, 33**01**, 5**01**13, 5**01**14, 5**01**16 and TCP for the ASCS ERS
257258

258-
> [!Note]
259-
> When VMs without public IP addresses are placed in the backend pool of internal (no public IP address) Standard Azure load balancer, there will be no outbound internet connectivity, unless additional configuration is performed to allow routing to public end points. For details on how to achieve outbound connectivity see [Public endpoint connectivity for Virtual Machines using Azure Standard Load Balancer in SAP high-availability scenarios](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/high-availability-guide-standard-load-balancer-outbound-connections).
259+
> [!Note]
260+
> When VMs without public IP addresses are placed in the backend pool of internal (no public IP address) Standard Azure load balancer, there will be no outbound internet connectivity, unless additional configuration is performed to allow routing to public end points. For details on how to achieve outbound connectivity see [Public endpoint connectivity for Virtual Machines using Azure Standard Load Balancer in SAP high-availability scenarios](https://docs.microsoft.com/azure/virtual-machines/workloads/sap/high-availability-guide-standard-load-balancer-outbound-connections).
260261
261-
> [!IMPORTANT]
262-
> Do not enable TCP timestamps on Azure VMs placed behind Azure Load Balancer. Enabling TCP timestamps will cause the health probes to fail. Set parameter **net.ipv4.tcp_timestamps** to **0**. For details see [Load Balancer health probes](https://docs.microsoft.com/azure/load-balancer/load-balancer-custom-probe-overview).
262+
> [!IMPORTANT]
263+
> Do not enable TCP timestamps on Azure VMs placed behind Azure Load Balancer. Enabling TCP timestamps will cause the health probes to fail. Set parameter **net.ipv4.tcp_timestamps** to **0**. For details see [Load Balancer health probes](https://docs.microsoft.com/azure/load-balancer/load-balancer-custom-probe-overview).
264+
265+
## Disable ID mapping (if using NFSv4.1)
266+
267+
The instructions in this section are only applicable, if using Azure NetApp Files volumes with NFSv4.1 protocol. Perform the configuration on all VMs, where Azure NetApp Files NFSv4.1 volumes will be mounted.
268+
269+
1. Verify the NFS domain setting. Make sure that the domain is configured as the default Azure NetApp Files domain, i.e. **`defaultv4iddomain.com`** and the mapping is set to **nobody**.
270+
271+
> [!IMPORTANT]
272+
> Make sure to set the NFS domain in `/etc/idmapd.conf` on the VM to match the default domain configuration on Azure NetApp Files: **`defaultv4iddomain.com`**. If there's a mismatch between the domain configuration on the NFS client (i.e. the VM) and the NFS server, i.e. the Azure NetApp configuration, then the permissions for files on Azure NetApp volumes that are mounted on the VMs will be displayed as `nobody`.
273+
274+
<pre><code>
275+
sudo cat /etc/idmapd.conf
276+
# Example
277+
[General]
278+
Domain = <b>defaultv4iddomain.com</b>
279+
[Mapping]
280+
Nobody-User = <b>nobody</b>
281+
Nobody-Group = <b>nobody</b>
282+
</code></pre>
283+
284+
4. **[A]** Verify `nfs4_disable_idmapping`. It should be set to **Y**. To create the directory structure where `nfs4_disable_idmapping` is located, execute the mount command. You won't be able to manually create the directory under /sys/modules, because access is reserved for the kernel / drivers.
285+
286+
<pre><code>
287+
# Check nfs4_disable_idmapping
288+
cat /sys/module/nfs/parameters/nfs4_disable_idmapping
289+
# If you need to set nfs4_disable_idmapping to Y
290+
mkdir /mnt/tmp
291+
mount 192.168.24.5:/sap<b>QAS</b>
292+
umount /mnt/tmp
293+
echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
294+
# Make the configuration permanent
295+
echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
296+
</code></pre>
297+
298+
For more details on how to change `nfs4_disable_idmapping` parameter see https://access.redhat.com/solutions/1749883.
263299

264300
### Create Pacemaker cluster
265301

@@ -295,9 +331,12 @@ The following items are prefixed with either **[A]** - applicable to all nodes,
295331
Mount temporarily the Azure NetApp Files volume on one of the VMs and create the SAP directories(file paths).
296332
297333
```
298-
#mount temporarily the volume
334+
# mount temporarily the volume
299335
sudo mkdir -p /saptmp
336+
# If using NFSv3
300337
sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp 192.168.24.5:/sapQAS /saptmp
338+
# If using NFSv4.1
339+
sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys,tcp 192.168.24.5:/sapQAS /saptmp
301340
# create the SAP directories
302341
sudo cd /saptmp
303342
sudo mkdir -p sapmntQAS
@@ -361,6 +400,7 @@ The following items are prefixed with either **[A]** - applicable to all nodes,
361400
362401
1. **[A]** Add mount entries
363402
403+
If using NFSv3:
364404
```
365405
sudo vi /etc/fstab
366406

@@ -370,8 +410,18 @@ The following items are prefixed with either **[A]** - applicable to all nodes,
370410
192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,vers=3
371411
```
372412
413+
If using NFSv4.1:
414+
```
415+
sudo vi /etc/fstab
416+
417+
# Add the following lines to fstab, save and exit
418+
192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys
419+
192.168.24.5:/sapQAS/usrsapQASsys /usr/sap/QAS/SYS nfs rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys
420+
192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys
421+
```
422+
373423
> [!NOTE]
374-
> Make sure to match the NFS protocol version of the Azure NetApp Files volumes, when mounting the volumes. In this example the Azure NetApp Files volumes were created as NFSv3 volumes.
424+
> Make sure to match the NFS protocol version of the Azure NetApp Files volumes, when mounting the volumes. If the Azure NetApp Files volumes are created as NFSv3 volumes, use the corresponding NFSv3 configuration. If the Azure NetApp Files volumes are created as NFSv4.1 volumes, follow the instructions to disable ID mapping and make sure to use the corresponding NFSv4.1 configuration. In this example the Azure NetApp Files volumes were created as NFSv3 volumes.
375425
376426
Mount the new shares
377427
@@ -410,11 +460,16 @@ The following items are prefixed with either **[A]** - applicable to all nodes,
410460
411461
```
412462
sudo pcs node standby anftstsapcl2
413-
463+
# If using NFSv3
414464
sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \
415465
directory='/usr/sap/QAS/ASCS00' fstype='nfs' \
416466
--group g-QAS_ASCS
417467

468+
# If using NFSv4.1
469+
sudo pcs resource create fs_QAS_ASCS Filesystem device='192.168.24.5:/sapQAS/usrsapQASascs' \
470+
directory='/usr/sap/QAS/ASCS00' fstype='nfs' options='sec=sys,vers=4.1' \
471+
--group g-QAS_ASCS
472+
418473
sudo pcs resource create vip_QAS_ASCS IPaddr2 \
419474
ip=192.168.14.9 cidr_netmask=24 \
420475
--group g-QAS_ASCS
@@ -466,10 +521,16 @@ The following items are prefixed with either **[A]** - applicable to all nodes,
466521
sudo pcs node unstandby anftstsapcl2
467522
sudo pcs node standby anftstsapcl1
468523

524+
# If using NFSv3
469525
sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \
470526
directory='/usr/sap/QAS/ERS01' fstype='nfs' \
471527
--group g-QAS_AERS
472-
528+
529+
# If using NFSv4.1
530+
sudo pcs resource create fs_QAS_AERS Filesystem device='192.168.24.5:/sapQAS/usrsapQASers' \
531+
directory='/usr/sap/QAS/ERS01' fstype='nfs' options='sec=sys,vers=4.1' \
532+
--group g-QAS_AERS
533+
473534
sudo pcs resource create vip_QAS_AERS IPaddr2 \
474535
ip=192.168.14.10 cidr_netmask=24 \
475536
--group g-QAS_AERS
@@ -724,7 +785,7 @@ The following items are prefixed with either **[A]** - applicable to all nodes,
724785
```
725786

726787
1. **[A]** Add mount entries
727-
788+
If using NFSv3:
728789
```
729790
sudo vi /etc/fstab
730791
@@ -733,14 +794,23 @@ The following items are prefixed with either **[A]** - applicable to all nodes,
733794
192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,vers=3
734795
```
735796

797+
If using NFSv4.1:
798+
```
799+
sudo vi /etc/fstab
800+
801+
# Add the following lines to fstab, save and exit
802+
192.168.24.5:/sapQAS/sapmntQAS /sapmnt/QAS nfs rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys
803+
192.168.24.4:/transSAP /usr/sap/trans nfs rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys
804+
```
805+
736806
Mount the new shares
737807

738808
```
739809
sudo mount -a
740810
```
741811

742812
1. **[P]** Create and mount the PAS directory
743-
813+
If using NFSv3:
744814
```
745815
sudo mkdir -p /usr/sap/QAS/D02
746816
sudo chattr +i /usr/sap/QAS/D02
@@ -753,8 +823,21 @@ The following items are prefixed with either **[A]** - applicable to all nodes,
753823
sudo mount -a
754824
```
755825

756-
1. **[S]** Create and mount the AAS directory
826+
If using NFSv4.1:
827+
```
828+
sudo mkdir -p /usr/sap/QAS/D02
829+
sudo chattr +i /usr/sap/QAS/D02
830+
831+
sudo vi /etc/fstab
832+
# Add the following line to fstab
833+
92.168.24.5:/sapQAS/usrsapQASpas /usr/sap/QAS/D02 nfs rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys
834+
835+
# Mount
836+
sudo mount -a
837+
```
757838

839+
1. **[S]** Create and mount the AAS directory
840+
If using NFSv3:
758841
```
759842
sudo mkdir -p /usr/sap/QAS/D03
760843
sudo chattr +i /usr/sap/QAS/D03
@@ -767,6 +850,18 @@ The following items are prefixed with either **[A]** - applicable to all nodes,
767850
sudo mount -a
768851
```
769852

853+
If using NFSv4.1:
854+
```
855+
sudo mkdir -p /usr/sap/QAS/D03
856+
sudo chattr +i /usr/sap/QAS/D03
857+
858+
sudo vi /etc/fstab
859+
# Add the following line to fstab
860+
92.168.24.5:/sapQAS/usrsapQASaas /usr/sap/QAS/D03 nfs rw,hard,rsize=65536,wsize=65536,vers=4.1,sec=sys
861+
862+
# Mount
863+
sudo mount -a
864+
```
770865

771866
1. **[A]** Configure SWAP file
772867

0 commit comments

Comments
 (0)