Sie sind hier: HowTos > Sun Software > Sun Cluster 3.2 > Failover Zone
12.12.2017 : 7:36

Sun Cluster 3.2 Failover Zone

Dieses Beispiel benutzt den SDS-Volume Manager

Die Failover Zone muss in einem metaset auf dem 'Shared Storage' angelegt werden.
Die Applikation liegt ebenfalls auf dem 'Shared Storage'.

Zuerst wird eine Resource-Gruppe mit Logical-Host-Resource und Storage-Resource angelegt und getestet.
Danach wird die Zone in dem 'Shared-Storage' konfiguriert und installiert.
Die Zonen-Boot-Resource wird danach konfiguriert, installiert und getestet.
Die Applikations-Resouce wird als letztes konfiguriert, installiert und getestet.

 

Zone anlegen mit LH und Storage-Resource

  • Alle Aktionen werden (wenn nicht anders angegeben)  auf Node1 ausgeführt
  • Anlegen eines metasets für die Failover Zone und der darin laufenden Applikation(en)
  • Anlegen der metadevices und erstellen eines Filesystems auf einer Softpartition
  • Anlegen der Filesystem-Mountpoints und Entragungen in /etc/vfstab (alle Nodes)

metaset -s zone1ds -a -h clunix1 clunix2
metaset -s zone1ds -a /dev/did/rdsk/d9 /dev/did/rdsk/d13 /dev/did/rdsk/d10 /dev/did/rdsk/d14
metaset -s zone1ds -a -m clunix1 clunix2

metainit -s zone1ds d101 1 1 /dev/did/rdsk/d9s0
metainit -s zone1ds d102 1 1 /dev/did/rdsk/d10s0
metainit -s zone1ds d100 -m d101 d102
metainit -s zone1ds d10 -p d100 1000m
newfs /dev/md/zone1ds/rdsk/d10

mkdir /zones/zone1
vi /etc/vfstab
     /dev/md/zone1ds/dsk/d10   /dev/md/zone1ds/rdsk/d10  /zones/zone1     ufs     2       no     logging
mount /zones/zone1

  • Anlegen der Einträge für die IP-Adressen in /etc/hosts (alle Nodes)
  • Anlegen der Failover Resource-Gruppe für die Zone zone1
  • Anlegen der Resourcen für LogicalHost und Storage
  • Testen der Failover Resource-Gruppe

vi /etc/hosts
     192.168.20.76   zone1
     192.168.20.77   zone1-app


clrg create -n clunix1,clunix2 zone1-rg
clrslh create -g zone1-rg -h zone1-app zone1-lh-rs
clrs create -g zone1-rg -t SUNW.HAStoragePlus -p AffinityOn=True -p FilesystemMountpoints=/zones/zone1 zone1-stor-rs
clrg online -M zone1-rg
clrg switch -n clunix2 zone1-rg
clrg switch -n clunix1 zone1-rg

  • Anlegen der Zone zone1 auf dem Shared-Storage (auf Node 1)
  • Installieren der Zone

zonecfg -z zone1
     create
     set zonepath=/zones/zone1
     set autoboot=false
     add net
     set address=192.168.20.76
     set physical=hme0
     end
     commit
     exit


chmod 700 /zones/zone1
zoneadm -z zone1 install

  • Wenn die Zone installiert ist, wird die Zone auf Node1 gebootet
  • SysIDTool - Fragen beantworten
  • Environment setzen
  • Zone anhalten
  • Zone detachen und auf Node 2 switchen

zoneadm -z zone1 boot
zlogin -C zone1
vi /etc/default/login
vi /etc/hosts
init 0

zoneadm -z zone1 detach
clrg switch -n clunix2 zone1-rg

  • Die Zone wird auf Node2 anglegt und ein attach durchgeführt (dient zur Prüfung)
  • Zone booten
  • Zone anhalten und wieder auf Node 1 switchen

zonecfg -z zone1 create -a /zones/zone1
zoneadm -z zone1 attach
zoneadm -z zone1 boot
zlogin -C zone1
init 0

clrg switch -n clunix1 zone1-rg

  • Index-Datei anpassen, da diese beim detach der Zone auf den status configured gesetzt wurde.
  • Diesen Status wieder auf installed setzen

cd /etc/zones

vi index
     zone1:installed:/zones/zone1:

 

In die Failover Resource-Gruppe wird jetzt die Zonen-Boot-Resource eingebaut (sczbt)
Vorraussetzung ist :
- Installation des 'Solaris-Container-Agenten'  SUNWsczone auf allen Nodes, entweder durch den Java-ES Installer oder durch pkgadd.

    • Registrieren von SUNW.gds
    • Kopieren der 'default-config Datei' (z.Bsp: cp sczbt_config sczbt_config_zone1-bt-rs)
    • Konfiguration der Zonen-Boot-Resource in der sczbt_config_zone1-bt-rs Datei
    • Anlegen des Parameter-Direktories (/etc/zoneagentparams)
    • Registrieren der 'Container-Resource' (sczbt_register)
    • Alle anderen Nodes:
    • Anlegen des Parameter-Direktories (/etc/zoneagentparams)
    • Kopieren des erzeugten Resource-Files (sczbt_zone1-rs) in das Parameter-Direktory (/etc/zoneagentparams)

    clrt register SUNW.gds

    cd /opt/SUNWsczone/sczbt/util/
    cp sczbt_config sczbt_config_zone1-bt-rs
    vi sczbt_config_zone1-bt-rs
         ....
         RS=zone1-bt-rs
         RG=zone1-rg
         PARAMETERDIR=/etc/zoneagentparams
         SC_NETWORK=true
         SC_LH=zone1-lh-rs
         FAILOVER=true
         HAS_RS=zone1-stor-rs
         ....
         Zonename=zone1
         Zonebootopt=
        Milestone=multi-user-server


    mkdir /etc/zoneagentparams

    ./sczbt_register -f ./sczbt_config_zone1-bt-rs
         Registration of resource zone1-rs succeeded.
         Validation of resource zone1-rs succeeded.

    ssh clunix2 mkdir /etc/zoneagentparams
    cd /etc/zoneagentparams
    scp sczbt_zone1-bt-rs clunix2:/etc/zoneagentparams

    • Durch das 'enable' der neuen Resource, wird die Zone jetzt gebootet.
    • Testen der Resource-Gruppe jetzt mit LH,Storage und Zonen-Resource auf allen Nodes

    clrs enable zone1-bt-rs
    clrg switch -n clunix2 zone1-rg
    clrg switch -n clunix1 zone1-rg

     

    In die Failover Resource-Gruppe wird jetzt die Zonen-Shell-Applikations-Resource eingebaut (sczsh)

    • Konfiguration der Zonen-Shell-Resource in der sczsh_config Datei
    • Registrieren der 'Container-Resource' (sczsh_register)
    • Alle anderen Nodes:
    • Kopieren des erzeugten Resource-Files (sczsh_zone1-xcalc-rs) in das Parameter-Direktory (/etc/zoneagentparams)

    cd /opt/SUNWsczone/sczsh/util
    cp sczsh_config sczsh_config_zone1-xcalc-rs
    vi sczsh_config_zone1-xcalc-rs
         RS="zone1-xcalc-rs"
         RG="zone1-rg"
         PARAMETERDIR=/etc/zoneagentparams

         SCZBT_RS="zone1-bt-rs"
          ...
         Zonename="zone1"
         ServiceStartCommand="/usr/bin/ksh /opt/xcalc/start_xcalc.ksh"
         ServiceStopCommand="/usr/bin/ksh /opt/xcalc/stop_xcalc.ksh"
         ServiceProbeCommand="/usr/bin/ksh /opt/xcalc/probe_xcalc.ksh"


    ./sczsh_register
         Registration of resource zone1-xcalc-rs succeeded.
         Validation of resource zone1-xcalc-rs succeeded.


    cd /etc/zoneagentparams
    scp sczsh_zone1-xcalc-rs clunix2:/etc/zoneagentparams

    • Durch das 'enable' der neuen Resource, wird jetzt die Applikation gestartet
    • Testen der Resource-Gruppe jetzt mit LH,Storage,Zonen und Applikations-Resource auf allen Nodes

    clrs enable zone1-xcalc-rs
    clrg switch -n clunix2 zone1-rg
    clrg switch -n clunix1 zone1-rg

     

    Einstellungen in der Failover Resource-Gruppe ändern

    • Je nach Anforderung können einzelne Resource-Properties umgestellt werden.

    clrs disable zone1-xcalc-rs
    clrs set -p Failover_mode=SOFT zone1-xcalc-rs
    clrs set -p Failover_enabled=TRUE zone1-xcalc-rs
    clrs enable zone1-xcalc-rs

     

    Inhalt der simplen Test-Applikation aus der Failover-Zone

    • start_xcalc.ksh

    #!/usr/bin/ksh
    /usr/openwin/bin/xcalc -display thisol:0 -t `uname -n` &

    • stop_xcalc.ksh

    #!/usr/bin/ksh
    pkill xcalc

    • probe_xcalc.ksh

    #!/usr/bin/ksh
    pgrep xcalc > /dev/null 2>&1
    #
    if [[ $? = 0 ]]
    then
            exit 0
    else
            exit 201
    fi