Die Anwendungen kommunizieren mit der Storage Cloud über eine sichere HTTPS Verbindung mittels REST API oder der Java SDK. Anwendungen müssen nicht verändert werden. Die Oracle Storage Cloud Software Appliance ermöglicht eine Interaktion von Ihren Anwendungen in die Cloud durch Standard file-basierte Netzwerk-Protokolle (NFS), ohne direkte REST API calls auf die Cloud Services.
- Die Anwendungen können Files speichern und abrufen. Filesysteme der Cloud werden on-premise gemounted
- Damit die Daten sicher in der Cloud sind, kann die Appliance so konfiguriert werden, dass Files beim Speichern verschlüsselt werden und beim Abrufen automatisch entschlüsselt werden (ähnlich TDE).
- Oracle Storage Cloud Software Appliance caches Files auf dem lokalen Host. Das minimiert die REST Call und ermöglicht ein schnelles Abrufen.
Architektir Oracle Storage Cloud Software Appliance |
Installationsvorbereitung
Die Installation für die Storage Cloud Software Appliance wird hier beschrieben, zusammenfassend folgendes:Als root auf dem LINUX System anmelden. Es wird ein Linux 7 vorausgesetzt und ein Kernel 3.10. (Ein anderer Kernel z.B. bei mir Kernel 3.8 funktioniert nicht mit NFS) Folgende Kommandos im Terminal auf der Maschine, dort wo die Storage Cloud Software Appliance laufen soll, ausführen:
Mit KERNEL auf 3.10 booten
$ uname -r (Kernel prüfen)
Ich habe mir die DB App Developer VBox Software Appliance besorgt, den Kernel beim Boot auf 3.1 gestellt und fange nun an, das System einzurichten (das gelb Unterlegte, habe ich nicht durchgeführt). Wir arbeiten hier als root (#):
Yum Repository updaten, damit auch Tools/Addons installiert werden können:
# vi /etc/yum.repos.d/public-yum-ol7.repo
Change the value of enable to 1 in addons.
Change the value of enable to 1 in optional_latest.
DOCKER und NFS installieren
# yum install docker
# shutdown —r now
# groupadd docker
# usermod -a -G docker oracle
# exit
$ su -
# NO_PROXY=localhost,127.0.0.1/8,/var/run/docker.sock
# no_proxy=$NO_PROXY
# systemctl start docker
# systemctl enable docker
# systemctl status docker
# yum install nfs-utils
# systemctl start nfs-server
# systemctl enable nfs-server
# rpcinfo -p | grep nfs
# exit
Läuft docker$ docker info
Oracle Storage Cloud Software Appliance installieren
Wenn alles läuft - NFS und docker - wird die Software Appliance installiert. Es gibt derzeit noch keinen Download-Link. Die Software muss über Oracle beantragt werden und dann wird ein personalisierter Download-Link zur Verfügung gestellt (die Appliance ist im Cloud Storage enthalten, keine zusätzlichen Kosten).Weiter geht es als "oracle" user´. Ich habe die Software nach /home/oracle/software kopiert:
$ cd /home/oracle/softwareInstall Shell ausführbar machen:
$ tar -xvf oscsa-10.05.tar.gz
$ chmod +x oscsa-install.shoscsa-install.sh ausführen:
$ sudo ./oscsa-install.shWenn eine Fehlermeldung a la "SELinux is enbaled" auftaucht muss
/etc/sysconfig/selinux disabled werden. Änderung vornehmen und REBOOT
$ sudo vi /etc/syscondig/selinuxWenn SELINUX disabled werden musste, nochmal bitte den install Script aufrufen:
SELINUX=disabled
$ sudo shutdown -r now
$ sudo ./oscsa-install.shNun meckert mein Script schon wieder. In der Vorbereitung heißt es Kernel 3.1 oder höher und nun soll 3.9 eingestellt sein. Ich verändere den Script auf 3.1, denn das ist meine Kernel-Version in meiner VBox.
$ vi ./oscsa-install.shDer aktuelle Kernel kann mit uname -r sichtbar gemacht werden.
min_linux_kernel_version="3.1"
Also nochmal Script ausführen:
$ sudo ./oscsa-install.shDie Installation dauerte bei mir einige Zeit. Die Software wird ins Verzeichnis /opt/oscsa-gateway (falls nicht verändert wird) kopiert. Nun müssen wir die Firewall anpassen, damit die Appliance mit der Oracle Cloud kommunizieren kann:
Wenn Firewall läuft, dann sollten die Ports freigeschaltet werden (die Ports können aber andere sein):
sudo firewall-cmd --stateDie Ports, die von der Appliance verwendet werden, sieht leider nur nach dem hochfahren der Appliance, also vielleicht die Firewall Ports nachträglich anpassen.
NFS-Port:
sudo firewall-cmd --zone=public --add-port=32769/tcp --permanentMangement Web-UI-Port:
$ sudo firewall-cmd --zone=public --add-port=32770/tcp --permanentHTTP Rest Port:
$ sudo firewall-cmd --zone=public --add-port=32769/tcp --permanentFirewall Restart:
$ sudo firewall-cmd --reloadWenn die Installation und Firewalleinrichtung erfolgreich durchgeführt wurde, kann man die Appliance starten, vorher prüfen wir nochmals ob docker läauft:
Überprüfung of docker läuft:
$ docker ps # Lists running containers
$ docker ps -a # Lists all containers
$ docker stats oscsa_gw # status installiertes docker image
$ docker images # zeigt alles images an
Storage Cloud Software Appliance nutzen
Nun starten wir Storage Cloud Software Appliance:# oscsa configure ssl trueAusgabe (hier werden die Ports nochmals angezeigt):
# oscsa up
data args: -v /usr/share/oracle/ -v /usr/share/oracle/system/ -v /var/log/gateway
Applying configuration file to container
Starting OSCSA [oscsa_gw:1.0.5]
Management Console: https://storageapplicance:32770
REST Access: https://storageapplicance:32768/gateway/v1/swagger.json
If you have already configured an OSCSA FileSystem via the Management Console,
you can access the NFS share using the following port.
NFS Port: 32769
Example: mount -t nfs -o vers=4,port=32769 storageapplicance:/<OSCSA FileSystem name> /local_mount_point
Wir prüfen nochmal, ob die Appliance läuft:
# docker ps
Nun richten wir das Filesystem ein:
- Als Erstes erstellen wir ein Verzeichnis für den mountpoint:
# mkdir /mnt/storagecloud - Dann rufen wir mit dem Browser die Management Console auf https://storageapplicance:32770
Wegen des Selfsigned SSL Certificate müssen Sie eine Ausnahme im Browser akzeptieren. - Nun muss in der Management Console ein Password vergeben werden (Click auf Save)
Password für Management Console vergeben |
- Dann Login als admin mit dem eben vergebenen Password
Login in die Management Console |
- Nun benennt man das Filesystem. Bei mir: CloudStorage, dann auf Next
Filesystem einen Namen geben |
- Jetzt muss der REST Service für den Storage Bereich in der Cloud mit nachfolgender Syntax eingeben werden (hier nur Ihre Identity Domain) anpassen (Danach Next):
https://identityDomainID.storage.oraclecloud.com/v1/Storage-IdentityDomainID
REST Service für Ihren Storage Bereich angeben |
- Nun Username und Password eines berechtigen Cloud Storage Users angeben
Username und Password eines berechtigen Cloud Storage Users |
- Nun wählen Sie Encryption und sofortiger Zugriff aus (Danach Save):
Verschlüsselung ankreuzen, sowie sofortiger Zugriff |
- Nun erscheint das Dashboard
Dashboard |
Nun gehen wir zurück auf die Kommandozeile und mounten den Cloud Storage als NFS-Mountpoint.
Die Syntax ist wie folgt:
mount -t nfs -o vers=4,port=32769 storageapplicance:/<OSCSA FileSystem name> /local_mount_point
In meiner Umgebung:
# mount -t nfs -o vers=4,port=32769 storageapplicance:/CloudStorage /mnt/storagecloud
Alle Dateien, die wir nach /mnt/storagecloud kopieren, werden nun automatisch verschlüsselt und beim Lesen wieder entschlüsselt. Ich habe noch einen zweiten MountPoint erstellt. Dieser ist nicht verschlüsselt (kann man dann nachträglich nicht mehr verändern).
# mount -t nfs -o vers=4,port=32769 storageapplicance:/CloudStorage2 /mnt/storagecloud2
Nun kopiere ich in beiden Storage Cloud Mountpoints eine Text-Datei:
Copy Files in die Cloud |
CloudStorage2 (Nicht verschlüsselt)
Der Dateiname wurde umbenamt, und der Inhalt nicht verschlüsselt |
Im Container Cloud Storage werden Dateiinhalte verschlüsselt |
In der Management Console (Web UI) der Storage Cloud Software Appliance kann man verschiedene Einstellungen vornehmen, wie
- Public, Private Key für die Verschlüsselung anpassen und neue angeben (sowie existieren Downloaden)
- Cache konfigurieren
- NFS Zugriffe (allowed hosts) einstellen, geht auch mit MAC Adressen
- Logs einsehen
- Lokalen Plattenplatz verwalten
- Neue Filesysteme anlegen
Use cases
Typischerweise nutzt man die Storage Appliance, um Datenmengen von den on-premise Systeme gesichert in eine Storage Cloud Umgebung zu transportieren. Hier denke ich insbesondere an- Backups
- Installationssoftware
- Patches
- Als File-Archive
Hinweise/ Lesson Learned
Hier ein paar wichtige Hinweise, die es zu beachten gilt:- Kernel Version 3.1 verwenden, sonst Probleme mit NFS
- Verschlüsselung von Filesystemen nur bei Erstellung einstellbar, nicht mehr nachträglich
- Filesystem ausschließlich mit einer Appliance betreiben, keine anderen Schnittstellen wie REST API, Cloudberry oder eine weitere Appliance für die gemounteten Verzeichnisse nutzen, sonst Inkonsistenzen
Fazit:
Mal abgesehen von den Kernel Versionen, die etwas verwirrend in der Dokumentation beschrieben sind (PS: Habe einen Enhancement Request gestellt und Doku wird angepasst), hat alles wunderbar funktioniert. Eine schöne Lösung kostengünstige Storage Systeme in der Cloud auch für on-premise Umgebungen zu nutzen und das auf einfache Art und Weise mittels NFS Mount. In der Cloud wird übrigens 3 x gemirrored!So das war es für heute, viel Spass beim Ausprobieren.
Liebe Grüße
Keine Kommentare:
Kommentar veröffentlichen