X

Neuigkeiten, Best Practices, Hinweise auf Events zu Oracle Solaris auf Deutsch.

Solaris Cluster 4.4 in VirtualBox (1) - Start

Detlef Drewanz
Master Principal Sales Consultant

Das Release von Oracle Solaris Cluster 4.4 mit Oracle Solaris 11.4 ist mal wieder ein guter Grund, ein paar Sachen auszuprobieren. Dazu ist es ganz hilfreich, eine Cluster-Installation "in der Tasche" zu haben - entweder um mal ein paar Dinge zu überprüfen oder auch um hier und da etwas vorzuführen.

Aber wer hat schon zwei SPARC Server und Shared Storage in der Tasche... Dafür bietet sich aber sehr gut die Verwendung von Oracle Solaris Cluster 4.4. in VirtualBox an:

  • Oracle Solaris 11.4 und Oracle Solaris Cluster 4.4 gibt es auch für die x86 Plattform
  • Der VirtualBox Host kann z.B. Linux, Macintosh, Solaris oder Windows sein.
  • Mit einem gut ausgestatteten Laptop kann man eine Multi-Node Installation für einen Cluster einrichten.
  • Erkenntnisse mit Oracle Solaris Cluster in VirtualBox lassen sich nahezu direkt auf Umgebungen mit "richtigem Eisen" (SPARC Server oder x86-Server) übertragen.
  • ... und wahrscheinlich gibt es noch eine Menge weiterer Gründe ...

Die folgenden Beiträge zeigen die Einrichtung der Cluster Knoten, das Solaris Cluster Setup und die Einrichtung verschiedener Cluster Services und Architekturen.

Konfigurationsbild

Zunächst wird geplant, wie das Grobsetup in VirtualBox aussehen soll. Der Aufbau wird aus Gründen der Einfachheit und wegen Knappheit an Ressourcen sehr einfach gewählt - also keine redundanten Netzwerkverbindungen oder Disks. Für einen HA-Cluster werden zwei Cluster Knoten (nodea, nodeb) mit einer lokalen Disk und Shared Storage benötigt. Das "externe" Netzwerk nutzt das net0-Interface, der Cluster Interconnect nutzt net1 und net2. Zusätzlich wird ein weiterer Host in dem Setup benötigt (srv), der als Desktop, als Repository Server (Solaris und HA-Cluster) und als Quorum Server benutzt wird.

 

 

 

 

 

 

Setup

Folgende Dinge werden benötigt - es soll ja eine vollständig unabhängige Installation werden ... und die Vorbereitung dauert wie immer am längsten:

  • Laptop als Host mit einer einigermaßen aktuellen CPU und mit 100GB+ freiem Festplattenplatz - ideal wäre eine SSD
  • VirtualBox 5.2+ auf dem Host installiert (Download)
  • Installations-Image für Oracle Solaris 11.4 zur Solaris Installation der Knoten (Download txt-iso)
  • Oracle Solaris 11.4 Full Repository Image (Download)
  • Oracle Solaris Cluster 4.4 Full Repository Image (Download)

Einrichtung der Repository Server

srv ist bereits mit Oracle Solaris 11.4 installiert (die Details lasse ich hier aus) und soll der Server für die Solaris und Cluster Repositories und das Quorum werden.

  1. Zunächst wird das Solaris Repository eingerichtet. Zur Separierung wird ein extra ZFS Filesystem erzeugt und eine eigene Repository Depot Server Instanz erzeugt.
    @srv # zfs set compression=on repo
    @srv # zfs set atime=off repo
    @srv # zfs create repo/s11.4
    @srv # cd <s11.4-zipped-repo-download-directory>
    @srv # ./install-repo.ksh -d /repo/s11.4
    
    @srv # svccfg –s pkg/server add s114
    @srv # svccfg -s pkg/server:s114 setprop pkg/port=10114
    @srv # svccfg -s pkg/server:s114 setprop pkg/inst_root=/repo/s11.4
    @srv # svcadm enable pkg/server:s114
    
  2. Jetzt wird das Cluster Repository einrichtet. Auch dafür wird ein extra Filesystem und eine eigene Repository Depot Server Instanz erzeugt.
    @srv # zfs create repo/ha-cluster
    @srv # mount -F hsfs <download-dir>/osc-4_4-repo-full.iso /mnt
    @srv # rsync -aP /mnt/repo/ /repo/ha-cluster/
    @srv # umount /mnt
    @srv # pkgrepo rebuild -s /repo/ha-cluster
    
    @srv # svccfg -s pkg/server add ha-cluster
    @srv # svccfg -s pkg/server:ha-cluster setprop pkg/port=10440
    @srv # svccfg -s pkg/server:ha-cluster setprop pkg/inst_root=/repo/ha-cluster
    @srv # pkgrepo rebuild -s /repo/ha-cluster
    @srv # svcadm enable pkg/server:ha-cluster
    

Quorum Server einrichten

srv soll auch als Quorum Server für den Cluster benutzt werden.

  1. Die Quorum Server Software liegt im Cluster Repository. Das wird hier noch dazukonfiguriert. Die -p Option fügt alle Publisher hinzu, die von dem Depot Server gehalten werden. In diesem Falle kommt noch ein Solaris Publisher dazu. D.h. in dem HA-Cluster Repository werden noch wenige Solaris Paket mit ausgeliefert, die nicht mehr mit Oracle Solaris 11.4 ausgeliefert werden, jedoch aber für die Cluster Installation benötigt werden.
    @srv  # pkg set-publisher -p http://srv:10440
    @srv  # pkg publisher
    PUBLISHER                   TYPE     STATUS P LOCATION
    solaris                     origin   online F http://srv:10114/
    solaris                     origin   online F http://srv:10440/
    ha-cluster                  origin   online F http://srv:10440/
    
  2. Falls srv schon von Solaris 11.3 upgedated wurde, muss jetzt zunächst das cacao Paket auf den neuesten Stand gebracht werden.
    @srv # pkg update cacao-incorporation
    
  3. Jetzt kann die Quorum Server Software installiert und konfiguriert werden. Der Quorum Server lauscht danach auf Port 9000.
    @srv # pkg install ha-cluster-quorum-server-full
    @srv # /usr/cluster/bin/clquorumserver start +
    @srv # svcadm enable quorumserver
    

Installation der Cluster Knoten nodea und nodeb

Die folgenden Schritte sind jeweils auf beiden Knoten identisch auszuführen.

  1. Zunächst wird die Konfiguration der VirtualBox Instanzen vorgenommen. Dazu ein paar Bemerkungen:
    - Die Disks shared-transporter und shared-disk1-4 werden als Shared Disks konfiguriert - mit fester Größe und sowohl an nodea, als auch an nodeb konfiguriert. shared-transporter ist zusätzlich noch an einer Solaris 10 VirtualBox Instanz konfiguriert. Dazu aber später mehr.
    - Für eine bessere IO-Performance wird im Storage Menue für die Controller die Option "Use Host I/O Caching" gesetzt.
    - Der Netzwerk Adapter 1 wird als "Host-only Adapter" konfiguriert. So kann man später auch vom Host aus die beiden Knoten erreichen. Ansonsten ist das Cluster Setup komplett isoliert und außerhalb des Laptops nicht sichtbar.
    - Damit später auch Solaris VNICs mit Solaris Zones funktionieren, wird in der Netzwerk Konfiguration von Adapter 1 die Option "Promiscuous Mode = Allow All" gesetzt.
  2. Die Installation der Knoten erfolgt mit dem Txt-Installer Image, das beim ersten Boot der neuinstallierten Instanz wieder entfernt wird.
  3. Die Knoten werden entsprechend beim ersten Boot konfiguriert:
    - Hostname nodea: 192.168.175.160/24
    - Hostname nodeb: 192.168.175.161/24

Initiale Konfiguration der Cluster Knoten

Nun folgen zur Anpassung an die Umgebung noch ein paar Konfigurationseinstellungen für die Knoten. Das könnte man auch mit einem First Boot Service automatisieren, soll aber hier kein Thema sein.

  1. /etc/hosts anpassen, da hier kein DNS-Server genutzt wird
    # vi /etc/hosts
    ::1            	    localhost
    127.0.0.1           localhost    loghost
    192.168.175.160     nodea.local. nodea
    192.168.175.161     nodeb.local. nodeb
    192.168.175.165     hanfs
    192.168.175.166     hazone
    192.168.175.167     has10zone
    # Zone Cluster 11
    192.168.175.170     zc11-nodea
    192.168.175.171     zc11-nodeb
    # Zone Cluster 10
    192.168.175.172     zc10-nodea
    192.168.175.173     zc10-nodeb
    
    192.168.175.200     srv
    192.168.175.1       win
    
  2. Publisher für Solaris und HA-Cluster konfigurieren
    # pkg set-publisher -G '*' -g http://srv:10114 solaris
    # pkg set-publisher -p http://srv:10440 
    
  3. Boot Manager konfigurieren
    # bootadm set-menu timeout=4
    # bootadm set-menu console=text
    # bootadm change-entry -i 0 kargs=
    
  4. ZFS ARC Cache Verhalten an die Konfiguration anpassen
    # vi /etc/system.d/zfs
    set user_reserve_hint_pct=50
    
  5. NTP Client einrichten. srv wird als NTP-Server genutzt
    # vi /etc/inet/ntp.conf
    server	192.168.175.200
    disable	auth
    driftfile	/var/ntp/drift
    # svcadm enable ntp
    
  6. SWAP Space vergrößern, da der Standard für diese Konfiguration zu klein ist
    # zfs set volsize=4G rpool/swap
    
  7. Lokale Bridge erzeugen. Diese Bridge hat keine Funktion, sondern dient lediglich als Workaround für die Behandlung von virtuellen Netzwerinterfaces in VirtualBox. Diese Thematik ist auf diesem Blog, sehr gut beschrieben. Um kein snoop ausführen zu müssen damit der VNIC Traffic sein Ziel erreicht (das ist unpraktisch), kann man mit einer konfigurierten Bridge auf dem entsprechenden Interface arbeiten.
    # dladm create-bridge -h 9 -l net0 net0_bridge
    
  8. Initiales Reboot
    # reboot -p
    

Nun sind die vorbereitenden Arbeiten abgeschlossen und die Cluster Knoten installiert. Im nächsten Artikel geht es an die Installation und die Basiskonfiguration der Clustersoftware.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.