SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Beyond the Ordinary
Océ
Mission Control
A Nagios based
Monitoring Cluster
2
Zur Person
 Martin Fürstenau (martin.fuerstenau@oce.com)
 Senior System Engineer bei Oce Printing Systems, Poing
 Dozent VHS
 Seit 20 Jahren in der IT, seit 19 Jahren Unix,
seit ca. 12 Jahren Linux, seit 3 Jahren Nagios
 Administration von Mainframes, Unix/Linux, Windows,
Datenbanken, RZ-Automation, RZ-Planung, Netzwerk,E-
Learning, Aufbau einer Lernplattform...
3
Oce European Data Center - Monitoring
 Rechenzentrum von Océ Printing Systems, Poing
 Ansiedelung von:
Lokaler IT
Netzwerk (Lokal, Corporate und Europa)
Entwicklungs Server
Großteil der unternehmensweiten IT
Zentrales Rechenzentrum für Europa
4
 Etwa 600 hosts
Davon 130 mit MS Windows
Über 160 Netzwerkkomponenten (Switches,
Router,Firewalls)
 4400 services
Davon 1140 auf MS Windows
Der Rest ist haupsächlich Unix/Linux und Netzwerk
 Verdoppelung im Lauf des nächsten Jahres
Was wir überwachen
5
 Überwachte Dienste
SAP
Verfügbarkeit
Plattenauslastung / Dateisysteme
Netzwerkstatus
 Erreichbarkeit
 Interface Fehler
 Failover (Linux: Bonding, Windows: Teaming)
Prozesse
Rack Temperatur & Luftfeuchte
Memory-/Swap-Usage, CPU-Usage, Load ....
Web-Sites (like www.oce.com)
....
Was wir überwachen
6
 Und natürlich soll das 24x7 laufen
 Fazit – das Monitoring muss hochverfügbar
sein
Was wir überwachen
7
Also hochverfügbar – aber wie?
 Der erste Gedanke – Master/Slave oder einfach 2 Server?
Vorteil:
einfach aufzusetzen
Nachteile:
Doppelte Konfigration
Manuelles Mischen der Logfiles f. Auswertungen
notwendig
Master/Slave ist Eigenschaft der Anwendung, nicht des
zugrunde liegenden Betriebssystems – was mache ich da
mit anderen Anwendungen, die benötigt werden?
Probleme mit passiven Checks wie z.B. SNMPTRAPS
 Der zweite Gedanke – ein Cluster muss her
8
Also Cluster – aber wie?
 Randbedingungen:
Betriebssystem (SLES, RedHat, CentOS,Debian oder...)
Clustersuite (Kommerziell oder frei, LinuxHA, RedHat Clustersuite ...)
Clusterstorage
 drdb (distributed replicated block device) oder
 Cluster File System
 drdb:
Preiswert
Evtl. hohe Netzlast
Gleiche Nachteile wie Master/Slave oder 2 Server
 Clusterfilesystem
Sicher
Parallel zugreifbar, dadurch keine Downtime, kein Filesystemcheck
Aber Overhead/Serverlast durch Lockmanager
9
Die Wahl – CentOS mit Clustersuite
 Frei verfügbar
 Identisch mit RedHat und RedHat Clustersuite
 Clustermanager und Clusterfilesystem aus einer Hand
 Synergien mit weiteren Clustern im Unternehmen (z.B. f. SAP)
 Ausgereift
 Gute Administrationstools
 Alphanumerisch
 Grafisch
 Web
10
Die Hardwareanforderungen - Server
 Eine Clustersuite generiert deutlich mehr Grundlast
 Insbesondere mit Clusterfilesystem durch das Lock
Management
 Nagios parallelisiert Prozesse (!) sehr gut, kann also mehrere
CPUs ausnutzen.
 Multicore CPUs skalieren nur bedingt. (DualCore ca. 1,6 – 1,8
CPU)
 Bei intensivem File-IO und Memory Zugriff bricht bei Multicore-
CPUs die Performance ein.
 Intel oder AMD? 64 Bit oder 32 Bit?
 Redundanz in allen wichtigen Teilen (Strom, StorageController
(iSCSI oder FC), Netzwerk)
 Netzwerk 2 Dual-Port oder 4 Single-Port Karten
 Remote Management (IPMI - Outband)
11
Die Hardwareauswahl - Storage
 RAID-Controller im Storage und nicht im Server
 Viele nicht zu große Platten
 Redundante parallelisierbare Controller (Failover UND
Lastverteilung)
 Grosser Cache
 Möglichst RAID 6
 Outband Management
 Monitorbar
 Bei FC integrierter Hub oder Verwendung von FC-Switches
12
Redundante
Netzwerkanbindung
Das Resultat - Mission Control
LAN
Storage:
Infortrend RAID
2 x 1 TB RAID 5
3 Global Spare
Redundante Controller
Redundante Netzteile
Server:
2 x Supermicro
Quad Dual Core Opteron
16 GB Memory
(max 32 GB)
Redundante Fibre Channel
Controller
Redundante Netzteile
Remote Management
Karten (Outband)
als Fence Device
Redundante
Fibre Channel
Verbindung
Redundanter
Serverinterconnect f.
clusterinternen Traffik
Redundante Server
13
Installation – Als erstes der Storage
 Storage einrichten
 RAID-Sets bauen
 LUN-Mapping so einrichten, das beide Channel alle
RAIDs sehen können
 d.h. 0,1 = 1,1 bzw. 1,0 = 0,0
 Verifiziert wird später, wenn die Controller im Server laufen
14
Installation – Operating System
 Operating System, Clustersuite und GFS installieren
 Netzwerkbonding für 2 Interfaces (bond0 und bond) jeweils
über 2 physikalischen Karten (eth0 + eth2 und eth1 + eth3)
einrichten.
 bond1 ist für die clusterinterne Kommunikation.
Verwendung von Adressen nach RFC1918 (Private
Netze) möglich
Verwendung von gekreuzten Kabeln möglich
15
Installation – Operating System- Bonding (CentOS/RedHat)
/etc/modprobe.conf
alias eth0 e1000
alias eth1 e1000
alias eth2 e1000
alias eth3 e1000
alias net-pf-10 off
install bond0 /sbin/modprobe -a eth0 eth2 && /sbin/modprobe bonding
alias bond0 bonding
install bond1 /sbin/modprobe -a eth1 eth3 && /sbin/modprobe bonding
alias bond1 bonding
options bond0 miimon=100 mode=1 max_bonds=2
options bond1 miimon=100 mode=1 max_bonds=2
16
Installation – Operating System- Bonding (CentOS/RedHat)
/etc/sysconfig/network-scripts/
 ifcfg-bond0:
DEVICE=bond0
BOOTPROTO=none
BROADCAST=MyBroadcastAddress
IPADDR=MyAddress
NETMASK=MyNetmask
NETWORK=MyNetwork
ONBOOT=yes
USERCTL=no
TYPE=Ethernet
IPV6INIT=no
GATEWAY=MyGateway
 ifcfg-ethx
DEVICE=eth0
BOOTPROTO=none
17
Installation – Operating System - Bonding (Suse)
/etc/sysconfig/network/
 ifcfg-bond0:
BOOTPROTO='static'
BROADCAST='MyBroadcastAddress'
IPADDR='MyAddress'
MTU=''
NETMASK='MyNetmask'
NETWORK='MyNetwork'
REMOTE_IPADDR=''
STARTMODE='onboot'
BONDING_MASTER='yes'
BONDING_MODULE_OPTS='miimon=100 mode=1'
BONDING_SLAVE0='eth0'
BONDING_SLAVE1='eth2'
 ifcfg-"MAC-Adresse"
BOOTPROTO='none'
Installation – Bonding (
18
Installation – Operating System - Storage
 fdisk -l
 Anzahl auf dem Storage gefundener Geräte muss sein:
RAID-Sets x Storage Controller (bei Verwendung eines Hubs)
RAID-Sets x Storage Controller x FC Controller (bei Verwendung von
Switches und entsprechenem Zoning)
 Verifizieren, dass das LUN-Mapping passt.
Bei gleich großen RAID-Sets hilf das Einrichten
einer Partition auf einem Set.
Die Reihenfolge muss auf allen Controllern gleich sein.
 device-mapper-multipathd installieren und Reboot
19
device-mapper-multipathd - /etc/multipathd.conf
defaults {
udev_dir /dev
polling_interval 5
selector "round-robin 0"
path_grouping_policy failover
prio_callout none
path_checker readsector0
rr_min_io 1000
rr_weight uniform
failback immediate
# no_path_retry fail
no_path_retry queue
user_friendly_names yes
}
20
device-mapper-multipathd -Kontrolle
Root# multipath -ll
mpath1 (.....) dm-4 IFT,A16F-R2221
[size=9340][features=1 queue_if_no_path][hwhandler=0]
_ round-robin 0 [prio=1][active]
_ 9:0:1:0 sdc 0:22 [active]{ready]
_ round-robin 0 [prio=1][enabled]
_ 10:0:1:0 sde 0:22 [active]{ready]
mpath1 (.....) dm-3 IFT,A16F-R2221
[size=9340][features=1 queue_if_no_path][hwhandler=0]
_ round-robin 0 [prio=1][active]
_ 9:0:0:0 sdb 0:22 [active]{ready]
_ round-robin 0 [prio=1][enabled]
_ 10:0:0:0 sdd 0:22 [active]{ready]
21
Installation – Remote Management Interfaces – Fence Devices
 Konfiguration der IPMI basierten Managementkarten nach
Herstellerangabe.
 Es muss eine Kennung mit Administratorrechten zur Verfügung
stehen, da der RedHat/CentOS-Cluster keine Rollen adressiert.
 Mit ipmitool testen, ob sich die Server ab-/einschalten lassen,
sowie eine Statusüberprüfung möglich ist.
 Bei IPMI V2 ist der Operand -C (Cipher - z.B. md5) wichtig. Der
verwendete Cipher hängt von der Management Karte ab.
 Die Interfaces werden für das Fencing (fenced, Stonith) benötigt.
 Alternativ sind auch z.B. über das Netz schaltbare Steckdosen
(z.B. APC) möglich.
 Es sind weiter Fence Devices (z.B. FC-Switches) möglich.
22
Installation – Die Software
 Alle Pakete werden auf beiden Knoten installiert und getestet.
Pakete (z.B.)
Nagios
net-snmp (incl. Snmptrap)
snmptt
cacti
MySQL
....
23
Cluster einrichten - Cluster Configuration Tool
 GUI zum Clustermanagement - Aufruf durch system-config-cluster
 Erstellt / Editiert die Datei
etc/cluster/cluster.conf
 Einrichten von Failover-
Domains und Fence Devices
 Einrichten von Services und
Zuordnung zu den Failover
Domains
24
Der Kunstgriff - /cluster
 Was ist ein Clusterfilesystem?
Es kann auf mehreren Knoten gleichzeitig gemountet sein
Ein Distributed Lockmanager, der als Demon auf den
beteiligten Clusterknoten läuft, und für ein
serverübergreifendes
Lockmanagement sorgt.
Erfolgt ein Mount nicht auf allen Knoten, sondern wird von
einem Knoten zum anderen geschoben, entfällt der
aufwendige
Filesystemcheck
 Hier erfolgt der Mount auf beiden Maschinen auf /cluster.
 Kommen weitere lastintensive Services hinzu, verteilt man die Last
über die Controller, mountet aber in einen Baum.
 z.B. f. Cacti:
/cluster und /cluster/var/www/cacti
25
Lvm – Logical Volume Manager
Volume Groups einrichten:
26
Die Verzeichnisstruktur auf /cluster
/cluster
etc
httpd
logrotate.d
nagios
rc.d
sms
snmp
opt
bin
usr
lib lib64 share
nagios
nagios
nagios
var
lib
mysql
log
cacti
httpd
www
cacti
mysqld nagios
snmptrapd
snmptt
= /dev/VolGroup01/LogVol01
= /dev/VolGroup02/LogVol01
27
clustat
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
CLMonNode1 1 Online, rgmanager
CLMonNode2 2 Online, Local, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:smsd CLMonNode1 started
service:snmptraptt CLMonNode1 started
service:mysqld CLMonNode2 started
service:httpd CLMonNode1 started
service:nagios CLMonNode1 started
service:nfs CLMonNode2 started
28
Cronjobs im Cluster
 Umschreiben und als Demon laufen lassen
An die Entkopplung von stdin, stdout und stderr
denken
oder
 An Knoten festmachen
oder
 An Service festmachen
29
start)
echo -n "Starting nagios:"
# Is a nagios running via the cluster manager?
/usr/sbin/clustat | grep nagios > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "ERROR! Start aborted."
echo "There is a running Nagios in the cluster!."
exit 1
fi
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
/etc/init.d/nagios – Start Modifikation
30
load|force-reload)
printf "Running configuration check..."
/usr/sbin/clustat | grep nagios > /dev/null 2>&1
if [ $? -eq 0 ]
then
THIS_NODE=$(/usr/sbin/clustat | grep Local | awk '{print $1}')
RUN_NODE=$(/usr/sbin/clustat | grep nagios | awk '{print $2}')
if [ $THIS_NODE != $RUN_NODE ]
then
echo "ERROR! Reload aborted."
echo "Nagios is not running on this cluster node."
exit 1
fi
fi
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
/etc/init.d/nagios – Reload Modifikation
31
Zusätzliche Adresse auf inaktivem Interface setzen
IP_ADDRESS=192.168.216.3
# Check that networking is configured.
[ ${NETWORKING} = "no" ] && exit 0
start() {
echo -n $"Setting interface bond1:0 to $IP_ADDRESS: "
if [ $UID -ne 0 ]; then
RETVAL=1
failure
else
ifconfig bond1:0 $IP_ADDRESS up
ifconfig | grep $IP_ADDRESS > /dev/null 2>&1
RETVAL=$?
[ $RETVAL -eq 0 ] && echo "ok"
fi;
return $RETVAL
}
32
Ende
Vielen Dank für Ihre Aufmerksamkeit
Noch Fragen – oder erschlagen?

Weitere ähnliche Inhalte

Was ist angesagt?

20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridgeWerner Fischer
 
The Linux File System
The Linux File SystemThe Linux File System
The Linux File Systemsteffenbauer
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk BackbonesMaximilian Wilhelm
 
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - KurzversionSicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - KurzversionGerrit Beine
 
Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...
Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...
Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...NETWAYS
 
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...Maximilian Wilhelm
 
Sicheres Anwendungs-Monitoring mit SNMP
Sicheres Anwendungs-Monitoring mit SNMPSicheres Anwendungs-Monitoring mit SNMP
Sicheres Anwendungs-Monitoring mit SNMPGerrit Beine
 
SLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSchlomo Schapiro
 
OSDC 2011 | FAI - Fully Automatic Installation by Thomas Lange
OSDC 2011 | FAI - Fully Automatic Installation by Thomas LangeOSDC 2011 | FAI - Fully Automatic Installation by Thomas Lange
OSDC 2011 | FAI - Fully Automatic Installation by Thomas LangeNETWAYS
 

Was ist angesagt? (15)

20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge20111006 roadshow-sandy-bridge
20111006 roadshow-sandy-bridge
 
The Linux File System
The Linux File SystemThe Linux File System
The Linux File System
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - KurzversionSicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
 
Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...
Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...
Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...
 
WeOS 4.29.0 & WeConfig 1.13.1
WeOS 4.29.0 & WeConfig 1.13.1WeOS 4.29.0 & WeConfig 1.13.1
WeOS 4.29.0 & WeConfig 1.13.1
 
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
Salt-Orchtestrated Software Defined (Freifunk) Networks - Service-Provider-Ne...
 
Sicheres Anwendungs-Monitoring mit SNMP
Sicheres Anwendungs-Monitoring mit SNMPSicheres Anwendungs-Monitoring mit SNMP
Sicheres Anwendungs-Monitoring mit SNMP
 
SLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werden
 
OSDC 2011 | FAI - Fully Automatic Installation by Thomas Lange
OSDC 2011 | FAI - Fully Automatic Installation by Thomas LangeOSDC 2011 | FAI - Fully Automatic Installation by Thomas Lange
OSDC 2011 | FAI - Fully Automatic Installation by Thomas Lange
 
Bit WiSe 2013 | Basisinformationstechnologie I - 07: Betriebssysteme
Bit WiSe 2013 | Basisinformationstechnologie I - 07: BetriebssystemeBit WiSe 2013 | Basisinformationstechnologie I - 07: Betriebssysteme
Bit WiSe 2013 | Basisinformationstechnologie I - 07: Betriebssysteme
 
WeOS 4.30.0
WeOS 4.30.0WeOS 4.30.0
WeOS 4.30.0
 
Neuigkeiten von Westermos Betriebssystem WeOS 4.28
Neuigkeiten von Westermos Betriebssystem WeOS 4.28Neuigkeiten von Westermos Betriebssystem WeOS 4.28
Neuigkeiten von Westermos Betriebssystem WeOS 4.28
 
Port Security - Industrieller Cyber Security
Port Security - Industrieller Cyber SecurityPort Security - Industrieller Cyber Security
Port Security - Industrieller Cyber Security
 
OpenWRT
OpenWRTOpenWRT
OpenWRT
 

Ähnlich wie Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Martin Fürstenau

OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart
OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis BungartOSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart
OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis BungartNETWAYS
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk BackbonesMaximilan Wilhelm
 
Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1Andreas Schulte
 
Exadata with VM as Consolidation Plattform
Exadata with VM as Consolidation PlattformExadata with VM as Consolidation Plattform
Exadata with VM as Consolidation PlattformDaniele Massimi
 
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)adesso AG
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als CodeJan Gehring
 
Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud Stack
Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud StackInfracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud Stack
Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud StackEdmund Siegfried Haselwanter
 
Grundlagen der IP Kommunikation
Grundlagen der IP KommunikationGrundlagen der IP Kommunikation
Grundlagen der IP KommunikationKay Schönewerk
 
Virtualized Exadata - the first 4 "productive" years...
Virtualized Exadata - the first 4 "productive" years...Virtualized Exadata - the first 4 "productive" years...
Virtualized Exadata - the first 4 "productive" years...Daniele Massimi
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...inovex GmbH
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDAJörn Dinkla
 
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center ManagementOpensource Tools für das Data Center Management
Opensource Tools für das Data Center Managementinovex GmbH
 
LinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
LinuxTag 2008 - Virtuelle Cold-Standby Server mit LinuxLinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
LinuxTag 2008 - Virtuelle Cold-Standby Server mit LinuxSchlomo Schapiro
 
OSDC 2013 | The truth is in the logs by Jan Doberstein
OSDC 2013 | The truth is in the logs by Jan DobersteinOSDC 2013 | The truth is in the logs by Jan Doberstein
OSDC 2013 | The truth is in the logs by Jan DobersteinNETWAYS
 

Ähnlich wie Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Martin Fürstenau (20)

OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart
OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis BungartOSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart
OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart
 
Software Defined Freifunk Backbones
Software Defined Freifunk BackbonesSoftware Defined Freifunk Backbones
Software Defined Freifunk Backbones
 
Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1
 
Exadata with VM as Consolidation Plattform
Exadata with VM as Consolidation PlattformExadata with VM as Consolidation Plattform
Exadata with VM as Consolidation Plattform
 
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
SNMP Applied - Sicheres Anwendungs-Monitoring mit SNMP (Kurzversion)
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud Stack
Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud StackInfracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud Stack
Infracoders Graz, smartOS - vom Netzwerk in der Box - zum Software Cloud Stack
 
SuperSUSE – die Lösung für dynamisch wachsenden Speicher
SuperSUSE – die Lösung für dynamisch wachsenden SpeicherSuperSUSE – die Lösung für dynamisch wachsenden Speicher
SuperSUSE – die Lösung für dynamisch wachsenden Speicher
 
Grundlagen der IP Kommunikation
Grundlagen der IP KommunikationGrundlagen der IP Kommunikation
Grundlagen der IP Kommunikation
 
E Security
E SecurityE Security
E Security
 
systemd im Alltag
systemd im Alltagsystemd im Alltag
systemd im Alltag
 
Virtualized Exadata - the first 4 "productive" years...
Virtualized Exadata - the first 4 "productive" years...Virtualized Exadata - the first 4 "productive" years...
Virtualized Exadata - the first 4 "productive" years...
 
VIT 5-2014
VIT 5-2014VIT 5-2014
VIT 5-2014
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
 
OpenWRT - Überblick
OpenWRT - ÜberblickOpenWRT - Überblick
OpenWRT - Überblick
 
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDASchulung: Einführung in das GPU-Computing mit NVIDIA CUDA
Schulung: Einführung in das GPU-Computing mit NVIDIA CUDA
 
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center ManagementOpensource Tools für das Data Center Management
Opensource Tools für das Data Center Management
 
Neuigkeiten von Westermos MRD Mobilfunkroutern
Neuigkeiten von Westermos MRD MobilfunkrouternNeuigkeiten von Westermos MRD Mobilfunkroutern
Neuigkeiten von Westermos MRD Mobilfunkroutern
 
LinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
LinuxTag 2008 - Virtuelle Cold-Standby Server mit LinuxLinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
LinuxTag 2008 - Virtuelle Cold-Standby Server mit Linux
 
OSDC 2013 | The truth is in the logs by Jan Doberstein
OSDC 2013 | The truth is in the logs by Jan DobersteinOSDC 2013 | The truth is in the logs by Jan Doberstein
OSDC 2013 | The truth is in the logs by Jan Doberstein
 

Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Martin Fürstenau

  • 1. Beyond the Ordinary Océ Mission Control A Nagios based Monitoring Cluster
  • 2. 2 Zur Person  Martin Fürstenau (martin.fuerstenau@oce.com)  Senior System Engineer bei Oce Printing Systems, Poing  Dozent VHS  Seit 20 Jahren in der IT, seit 19 Jahren Unix, seit ca. 12 Jahren Linux, seit 3 Jahren Nagios  Administration von Mainframes, Unix/Linux, Windows, Datenbanken, RZ-Automation, RZ-Planung, Netzwerk,E- Learning, Aufbau einer Lernplattform...
  • 3. 3 Oce European Data Center - Monitoring  Rechenzentrum von Océ Printing Systems, Poing  Ansiedelung von: Lokaler IT Netzwerk (Lokal, Corporate und Europa) Entwicklungs Server Großteil der unternehmensweiten IT Zentrales Rechenzentrum für Europa
  • 4. 4  Etwa 600 hosts Davon 130 mit MS Windows Über 160 Netzwerkkomponenten (Switches, Router,Firewalls)  4400 services Davon 1140 auf MS Windows Der Rest ist haupsächlich Unix/Linux und Netzwerk  Verdoppelung im Lauf des nächsten Jahres Was wir überwachen
  • 5. 5  Überwachte Dienste SAP Verfügbarkeit Plattenauslastung / Dateisysteme Netzwerkstatus  Erreichbarkeit  Interface Fehler  Failover (Linux: Bonding, Windows: Teaming) Prozesse Rack Temperatur & Luftfeuchte Memory-/Swap-Usage, CPU-Usage, Load .... Web-Sites (like www.oce.com) .... Was wir überwachen
  • 6. 6  Und natürlich soll das 24x7 laufen  Fazit – das Monitoring muss hochverfügbar sein Was wir überwachen
  • 7. 7 Also hochverfügbar – aber wie?  Der erste Gedanke – Master/Slave oder einfach 2 Server? Vorteil: einfach aufzusetzen Nachteile: Doppelte Konfigration Manuelles Mischen der Logfiles f. Auswertungen notwendig Master/Slave ist Eigenschaft der Anwendung, nicht des zugrunde liegenden Betriebssystems – was mache ich da mit anderen Anwendungen, die benötigt werden? Probleme mit passiven Checks wie z.B. SNMPTRAPS  Der zweite Gedanke – ein Cluster muss her
  • 8. 8 Also Cluster – aber wie?  Randbedingungen: Betriebssystem (SLES, RedHat, CentOS,Debian oder...) Clustersuite (Kommerziell oder frei, LinuxHA, RedHat Clustersuite ...) Clusterstorage  drdb (distributed replicated block device) oder  Cluster File System  drdb: Preiswert Evtl. hohe Netzlast Gleiche Nachteile wie Master/Slave oder 2 Server  Clusterfilesystem Sicher Parallel zugreifbar, dadurch keine Downtime, kein Filesystemcheck Aber Overhead/Serverlast durch Lockmanager
  • 9. 9 Die Wahl – CentOS mit Clustersuite  Frei verfügbar  Identisch mit RedHat und RedHat Clustersuite  Clustermanager und Clusterfilesystem aus einer Hand  Synergien mit weiteren Clustern im Unternehmen (z.B. f. SAP)  Ausgereift  Gute Administrationstools  Alphanumerisch  Grafisch  Web
  • 10. 10 Die Hardwareanforderungen - Server  Eine Clustersuite generiert deutlich mehr Grundlast  Insbesondere mit Clusterfilesystem durch das Lock Management  Nagios parallelisiert Prozesse (!) sehr gut, kann also mehrere CPUs ausnutzen.  Multicore CPUs skalieren nur bedingt. (DualCore ca. 1,6 – 1,8 CPU)  Bei intensivem File-IO und Memory Zugriff bricht bei Multicore- CPUs die Performance ein.  Intel oder AMD? 64 Bit oder 32 Bit?  Redundanz in allen wichtigen Teilen (Strom, StorageController (iSCSI oder FC), Netzwerk)  Netzwerk 2 Dual-Port oder 4 Single-Port Karten  Remote Management (IPMI - Outband)
  • 11. 11 Die Hardwareauswahl - Storage  RAID-Controller im Storage und nicht im Server  Viele nicht zu große Platten  Redundante parallelisierbare Controller (Failover UND Lastverteilung)  Grosser Cache  Möglichst RAID 6  Outband Management  Monitorbar  Bei FC integrierter Hub oder Verwendung von FC-Switches
  • 12. 12 Redundante Netzwerkanbindung Das Resultat - Mission Control LAN Storage: Infortrend RAID 2 x 1 TB RAID 5 3 Global Spare Redundante Controller Redundante Netzteile Server: 2 x Supermicro Quad Dual Core Opteron 16 GB Memory (max 32 GB) Redundante Fibre Channel Controller Redundante Netzteile Remote Management Karten (Outband) als Fence Device Redundante Fibre Channel Verbindung Redundanter Serverinterconnect f. clusterinternen Traffik Redundante Server
  • 13. 13 Installation – Als erstes der Storage  Storage einrichten  RAID-Sets bauen  LUN-Mapping so einrichten, das beide Channel alle RAIDs sehen können  d.h. 0,1 = 1,1 bzw. 1,0 = 0,0  Verifiziert wird später, wenn die Controller im Server laufen
  • 14. 14 Installation – Operating System  Operating System, Clustersuite und GFS installieren  Netzwerkbonding für 2 Interfaces (bond0 und bond) jeweils über 2 physikalischen Karten (eth0 + eth2 und eth1 + eth3) einrichten.  bond1 ist für die clusterinterne Kommunikation. Verwendung von Adressen nach RFC1918 (Private Netze) möglich Verwendung von gekreuzten Kabeln möglich
  • 15. 15 Installation – Operating System- Bonding (CentOS/RedHat) /etc/modprobe.conf alias eth0 e1000 alias eth1 e1000 alias eth2 e1000 alias eth3 e1000 alias net-pf-10 off install bond0 /sbin/modprobe -a eth0 eth2 && /sbin/modprobe bonding alias bond0 bonding install bond1 /sbin/modprobe -a eth1 eth3 && /sbin/modprobe bonding alias bond1 bonding options bond0 miimon=100 mode=1 max_bonds=2 options bond1 miimon=100 mode=1 max_bonds=2
  • 16. 16 Installation – Operating System- Bonding (CentOS/RedHat) /etc/sysconfig/network-scripts/  ifcfg-bond0: DEVICE=bond0 BOOTPROTO=none BROADCAST=MyBroadcastAddress IPADDR=MyAddress NETMASK=MyNetmask NETWORK=MyNetwork ONBOOT=yes USERCTL=no TYPE=Ethernet IPV6INIT=no GATEWAY=MyGateway  ifcfg-ethx DEVICE=eth0 BOOTPROTO=none
  • 17. 17 Installation – Operating System - Bonding (Suse) /etc/sysconfig/network/  ifcfg-bond0: BOOTPROTO='static' BROADCAST='MyBroadcastAddress' IPADDR='MyAddress' MTU='' NETMASK='MyNetmask' NETWORK='MyNetwork' REMOTE_IPADDR='' STARTMODE='onboot' BONDING_MASTER='yes' BONDING_MODULE_OPTS='miimon=100 mode=1' BONDING_SLAVE0='eth0' BONDING_SLAVE1='eth2'  ifcfg-"MAC-Adresse" BOOTPROTO='none' Installation – Bonding (
  • 18. 18 Installation – Operating System - Storage  fdisk -l  Anzahl auf dem Storage gefundener Geräte muss sein: RAID-Sets x Storage Controller (bei Verwendung eines Hubs) RAID-Sets x Storage Controller x FC Controller (bei Verwendung von Switches und entsprechenem Zoning)  Verifizieren, dass das LUN-Mapping passt. Bei gleich großen RAID-Sets hilf das Einrichten einer Partition auf einem Set. Die Reihenfolge muss auf allen Controllern gleich sein.  device-mapper-multipathd installieren und Reboot
  • 19. 19 device-mapper-multipathd - /etc/multipathd.conf defaults { udev_dir /dev polling_interval 5 selector "round-robin 0" path_grouping_policy failover prio_callout none path_checker readsector0 rr_min_io 1000 rr_weight uniform failback immediate # no_path_retry fail no_path_retry queue user_friendly_names yes }
  • 20. 20 device-mapper-multipathd -Kontrolle Root# multipath -ll mpath1 (.....) dm-4 IFT,A16F-R2221 [size=9340][features=1 queue_if_no_path][hwhandler=0] _ round-robin 0 [prio=1][active] _ 9:0:1:0 sdc 0:22 [active]{ready] _ round-robin 0 [prio=1][enabled] _ 10:0:1:0 sde 0:22 [active]{ready] mpath1 (.....) dm-3 IFT,A16F-R2221 [size=9340][features=1 queue_if_no_path][hwhandler=0] _ round-robin 0 [prio=1][active] _ 9:0:0:0 sdb 0:22 [active]{ready] _ round-robin 0 [prio=1][enabled] _ 10:0:0:0 sdd 0:22 [active]{ready]
  • 21. 21 Installation – Remote Management Interfaces – Fence Devices  Konfiguration der IPMI basierten Managementkarten nach Herstellerangabe.  Es muss eine Kennung mit Administratorrechten zur Verfügung stehen, da der RedHat/CentOS-Cluster keine Rollen adressiert.  Mit ipmitool testen, ob sich die Server ab-/einschalten lassen, sowie eine Statusüberprüfung möglich ist.  Bei IPMI V2 ist der Operand -C (Cipher - z.B. md5) wichtig. Der verwendete Cipher hängt von der Management Karte ab.  Die Interfaces werden für das Fencing (fenced, Stonith) benötigt.  Alternativ sind auch z.B. über das Netz schaltbare Steckdosen (z.B. APC) möglich.  Es sind weiter Fence Devices (z.B. FC-Switches) möglich.
  • 22. 22 Installation – Die Software  Alle Pakete werden auf beiden Knoten installiert und getestet. Pakete (z.B.) Nagios net-snmp (incl. Snmptrap) snmptt cacti MySQL ....
  • 23. 23 Cluster einrichten - Cluster Configuration Tool  GUI zum Clustermanagement - Aufruf durch system-config-cluster  Erstellt / Editiert die Datei etc/cluster/cluster.conf  Einrichten von Failover- Domains und Fence Devices  Einrichten von Services und Zuordnung zu den Failover Domains
  • 24. 24 Der Kunstgriff - /cluster  Was ist ein Clusterfilesystem? Es kann auf mehreren Knoten gleichzeitig gemountet sein Ein Distributed Lockmanager, der als Demon auf den beteiligten Clusterknoten läuft, und für ein serverübergreifendes Lockmanagement sorgt. Erfolgt ein Mount nicht auf allen Knoten, sondern wird von einem Knoten zum anderen geschoben, entfällt der aufwendige Filesystemcheck  Hier erfolgt der Mount auf beiden Maschinen auf /cluster.  Kommen weitere lastintensive Services hinzu, verteilt man die Last über die Controller, mountet aber in einen Baum.  z.B. f. Cacti: /cluster und /cluster/var/www/cacti
  • 25. 25 Lvm – Logical Volume Manager Volume Groups einrichten:
  • 26. 26 Die Verzeichnisstruktur auf /cluster /cluster etc httpd logrotate.d nagios rc.d sms snmp opt bin usr lib lib64 share nagios nagios nagios var lib mysql log cacti httpd www cacti mysqld nagios snmptrapd snmptt = /dev/VolGroup01/LogVol01 = /dev/VolGroup02/LogVol01
  • 27. 27 clustat Member Status: Quorate Member Name ID Status ------ ---- ---- ------ CLMonNode1 1 Online, rgmanager CLMonNode2 2 Online, Local, rgmanager Service Name Owner (Last) State ------- ---- ----- ------ ----- service:smsd CLMonNode1 started service:snmptraptt CLMonNode1 started service:mysqld CLMonNode2 started service:httpd CLMonNode1 started service:nagios CLMonNode1 started service:nfs CLMonNode2 started
  • 28. 28 Cronjobs im Cluster  Umschreiben und als Demon laufen lassen An die Entkopplung von stdin, stdout und stderr denken oder  An Knoten festmachen oder  An Service festmachen
  • 29. 29 start) echo -n "Starting nagios:" # Is a nagios running via the cluster manager? /usr/sbin/clustat | grep nagios > /dev/null 2>&1 if [ $? -eq 0 ]; then echo "ERROR! Start aborted." echo "There is a running Nagios in the cluster!." exit 1 fi $NagiosBin -v $NagiosCfgFile > /dev/null 2>&1; /etc/init.d/nagios – Start Modifikation
  • 30. 30 load|force-reload) printf "Running configuration check..." /usr/sbin/clustat | grep nagios > /dev/null 2>&1 if [ $? -eq 0 ] then THIS_NODE=$(/usr/sbin/clustat | grep Local | awk '{print $1}') RUN_NODE=$(/usr/sbin/clustat | grep nagios | awk '{print $2}') if [ $THIS_NODE != $RUN_NODE ] then echo "ERROR! Reload aborted." echo "Nagios is not running on this cluster node." exit 1 fi fi $NagiosBin -v $NagiosCfgFile > /dev/null 2>&1; /etc/init.d/nagios – Reload Modifikation
  • 31. 31 Zusätzliche Adresse auf inaktivem Interface setzen IP_ADDRESS=192.168.216.3 # Check that networking is configured. [ ${NETWORKING} = "no" ] && exit 0 start() { echo -n $"Setting interface bond1:0 to $IP_ADDRESS: " if [ $UID -ne 0 ]; then RETVAL=1 failure else ifconfig bond1:0 $IP_ADDRESS up ifconfig | grep $IP_ADDRESS > /dev/null 2>&1 RETVAL=$? [ $RETVAL -eq 0 ] && echo "ok" fi; return $RETVAL }
  • 32. 32 Ende Vielen Dank für Ihre Aufmerksamkeit Noch Fragen – oder erschlagen?