Aandachtspunt bij het configureren van Oracle binnen Azure

Steeds vaker is de keuze om een workload naar de Cloud te verplaatsen. Hierbij is de vraag of een Oracle database load ook binnen Azure gedraaid kan worden. We hebben mogen ervaren dat een Oracle database draaien binnen Azure goed mogelijk is, maar wat zijn nou de aandachtspunten bij het opzetten van Oracle binnen Azure? Dit artikel gaat daar op in.  Hierbij besteden we geen aandacht aan de aspecten rondom de licentiekosten, hiervoor verwijzen we naar andere artikelen.

Binnen Azure kan je een VM aanmaken met Oracle Enterprise Linux. Alle sizing en storage opties zijn mogelijk. Nadat de VM is aangemaakt kan de machine gewoon zoals normaal ingericht worden.

Een interessante vraag is: Waar laat ik mijn backups?

Backups willen we natuurlijk niet opslaan op de server zelf en daarvoor moeten we een oplossing hebben.
Er zijn de volgende mogelijkheden:

  1. Een 2e server in een andere groep, waarbij we de optie hebben voor Dataguard (als Enterprise Edition wordt gebruikt), of alleen als storage server. Deze optie is eigenlijk alleen interessant als je de RTO laag wil houden. Onderandere omdat deze optie een kostbare oplossing is.
  2. Azure Blob Storage. Dit is een storage-oplossing binnen Azure voor het opslaan van grote hoeveelheden ongestructureerde data. Blob storage is geen high-performance oplossing. Het wijzigen van een bestand is kostbare operatie maar dat is geen probleem voor een normale backup.

De Azure Blob Storage is gebaseerd op een OpenSource project: BlobFuse.

Omdat de database installatie niet afwijkt van een on-premise omgeving, heeft het geen nut daar verder op in te gaan.  De setup van Blobfuse is wel specifiek voor Azure. Helaas is deze nog wat bewerkelijk, maar niet bijzonder ingewikkeld.

BLOBFUSE installeren en configureren

Om Blobfuse te installeren moet eerst een Azure Storage account aangemaakt worden en een container waar we de backup kunnen laten landen. Voor de setup gebruiken we een url voor de REST calls en een key voor de authenticatie; een voorbeeld URL is https://user1234.blob.core.windows.net/backups

Hier is ‘user1234’ de Azure Storage user en ‘backups’ is de container die aangemaakt is binnen het storage account

Daarnaast is een authenticatie key nodig. Een voorbeeld van de authenticatie key:

A1DVtYLRwesOsWorvBJlshrcLpY/hawZXotQQmlvsago2JZuHAPUQR6MQY/ltnEmXeD+jRPCe15Ktk8GTGpl/L==

Om de configuratie nu mogelijk te maken moeten allereerst de volgende stappen als user root uitgevoerd worden:

  • Omdat we Microsoft packages nodig hebben moet de Linux Software Repository  toegevoegd worden.
rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
  • Installeer vervolgense het blobfuse package
yum install blobfuse
  • Maak een scratch directory op de Azure free resource disk. Dit is de tussenlocatie t.b.v. van de blobfuse storage.
  • De resource disk is een SSD-disk die elke Azure VM standaard krijgt en die je kunt gebruiken voor tijdelijke bestanden en installaties, de inhoud is niet gegarandeerd bij een reboot.
mkdir /mnt/resource/blobfusetmp
  • Zet de rechten voor de zekerheid op de Oracle user en groep
chown oracle:oinstall /mnt/resource/blobfusetmp
  • Maak een mountpoint aan in de root
mkdir /orabackup
  • Zet rechten
chown oracle:oinstall /orabackup

Hierna moeten we nog het een ander doen als user oracle:

  • Maak een directory aan voor de blobstore files
mkdir /home/oracle/blobstore
  • Maak een config bestand met de account gegevens voor de blobstore
vi /home/oracle/blobstore/blobstoreconfig.cfg

Het config  bestand ziet er bijvoorbeeld uit als:

accountName user1234
accountKey
A1DVtYLRwesOsWorvBJlshrcLpY/hawZXotQQmlvsago2JZuHAPUQR6MQY/ltnEmXeD+jRPCe15Ktk8GTGpl/L==
containerName backups
  • Maak een shell file aan met het mount commando. Bijvoorbeeld:  de file
/home/oracle/blobstore/mntbackup_tmp_op_scratch.sh

heeft de volgende inhoud:

blobfuse /orabackup --tmp-path=/mnt/resource/blobfusetmp  --config-file=/home/oracle/blobstore/blobstoreconfig.cfg -o attr_timeout=240 -o entry_timeout=240 -o negative_timeout=120 -o uid=54321 -o gid=54321 -o allow_other
  • Maak vervolgense dit shell script executable
chmod +x /home/oracle/blobstore/mntbackup_tmp_op_scratch.sh

En tot slot als user root de volgende acties:

  • Run eerder gemaakte script
/home/oracle/blobstore/mntbackup_tmp_op_scratch.sh
  • Zet de rechten nog een keer
chown oracle:oinstall /orabackup

Om na een reboot het mountpoint weer automatisch terug te krijgen moeten we nog wat acties uitvoeren.

  • Installeer fuse
yum install fuse
  • Voeg een regel toe aan de fstab
# blobfuse mount
/home/oracle/blobstore/mntbackup_tmp_op_scratch.sh /orabackup fuse _netdev
  • Test of het werkt (unmount eerst natuurlijk 😊)
mount -a

Na het correct doorlopen van de stappen kun je nu met de normale database tools backups maken naar /orabackup als een normale filesystem locatie.

Axis into ICT kan u helpen als u meer wilt weten over Oracle op Azure. Wij adviseren en ondersteunen u bij overgang naar Cloud. Als u op onderstaande button klikt dan bellen wij u op korte termijn terug om gewoon eens het gesprek met elkaar aan te gaan.

Scroll to Top