HIGH-AVAILABILITY CLUSTER



Relevanta dokument
Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

Administration / Disk Management. EC Utbildning AB

Linuxadministration I 1DV417 - Laboration 1 Installation. Marcus Wilhelmsson 15 januari 2013

DIG IN TO Dator och nätverksteknik

Alternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit.

Inlämningsuppgift 11e Nätvärksskrivare

Marcus Wilhelmsson 12 april 2013

LABORATIONSRAPPORT Operativsystem 1 Laboration 1, Ghost, pingpong och Windows 2003 installation

Systemkrav WinServ II Edition Release 2 (R2)

Quick Start Guide Snabbguide

InstalationGuide. English. MODEL:150NHighGain/30NMiniUSBAdapter

F1 SBS EC Utbildning AB

Rekommenderad felsökning av dator innan service

Systemkrav och tekniska förutsättningar

Om konsolporten. Beskrivning av portarna

Installation av atmel Studio på mac / linux

Att sätta upp en IPsec-förbindelse med NAT. Lisa Hallingström Paul Donald

Linuxadministration I 1DV417 - Laboration 3 Installation av ny hårddisk, RAID och logisk volymhantering

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Att sätta upp en IPsec-förbindelse med NAT (med SIP) Lisa Hallingström Paul Donald Bogdan Musat Adnan Khalid

Bilaga B Specifikation

Beijer Electronics AB 2000, MA00336A,

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

Övning 1: Skapa virtuell maskin för utveckling.

Skicka drivrutin. Administratörshandbok

PUBLICERINGSNOTISER TRIMBLE ACCESS SOFTWARE. Version Revidering A December 2013

Diskprestanda Tester

Installationshjälp CentOS 5 ENTerprise

Systemkrav 2014 för enanvändarinstallation fr o m version av

Får endast utföras av behörig personal. May only be carried out by authorized electrician

Hur man ändrar från statisk till automatisk tilldelning av IP i routern.

SharePoint 2010 licensiering Wictor Wilén

Program för skrivarhantering

Design Collaboration Suite

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

Instruktioner för Internetanslutning

Installationsanvisning För dig som har dynamisk IP-Adress

Linuxadministration I 1DV417 - Laboration 4 Nätverk, DHCP, säkerhetskopiering, processhantering, Samba och NFS

HowTo för Proxmox VE-kluster

RUTINBESKRIVNING FÖR INSTALLATION AV KAMERA

Hogias Ekonomisystem. Systemkrav för enanvändarinstallation fr o m version av GENERELLA KRAV

Stiftelsen MHS-Bostäder Instruktioner och felsökningsguide för Internetanslutning

LAJKA-GUIDE. Så kör du. Windows på din Mac. 7 Fler spel och program 7 Enklare än Bootcamp 7 Körs direkt i OSX 7 Helt gratis

Datasäkerhet och integritet

Filöverföring i Windowsmiljö

Jag försöker hämta in video via Ulead programmet men får bara in bilden och inget ljud.

Support Manual HoistLocatel Electronic Locks

Hur du installerar Open Broadcaster Software (OBS) fo r HD-sa ndning

22 Användarnas hemmamappar

Detta dokument beskriver enbart konfigurering av FX3U-ENET för att programmera/monitorera via Ethernet.

Installationsanvisningar fiberstream (LAN) Version 1.0

Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

Sharpdesk V3.3. Installationsguide Version

BIPAC-711C2 / 710C2. ADSL Modem / Router. Snabbstart Guide

2.1 Installation of driver using Internet Installation of driver from disk... 3

Topologi. Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

Du kan installera Widgitprodukter på ett nätverk. Följande program och tillägg hanteras (du kanske inte har licens att installera all dessa):

1. Revisionsinformation

Övningar - Datorkommunikation

Konfigurera Xenta från Babs

Prestandajämförelse - Sekventiell skrivhastighet i RAID 4 och RAID 5

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7

JobOffice SQL databas på server

LABORATION 1 Pingpong och Installation av Server 2008 R2

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

Prestige 660M. Snabbinstallation. Version 1.0

Installationsguide / Användarmanual

Introduktion till hårdvara, mjukvara och operativsystem

Konfigurering av eduroam

MBIT BREDBAND VI ÄGS AV INVÅNARNA I KARLSHAMN REGISTRERA DIG IDAG. Din lokala elleverantör. Starka på hemmaplan. Din guide till Karlshamnsporten

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

Ethernet-anslutning. För mer information om skrivarens Ethernet-funktion klickar du på avsnittet nedan: Ethernet-lampor. nätverkskonfigurationssida

Installera nedladdningsterminal

Prestige 660H 3Play modem. Snabbinstallation Version 1.0. BOK_P660H_3play_modem.indd :19:14

Tips och tricks. Några bra tips. Lägg till sökvägar

8 Bilaga: Installationer

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Linuxadministration 1 1DV417

Linuxadministration I 1DV417 - Laboration 1 Installation, användare och allmänt Linuxhandhavande

IPv6 i Mobilnät. Mattias Karlsson. mattias.karlsson@telenor.com

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

IDE USB kabel Windows XP, Vista 7 löäzxcvbnmqwertyuiopåasdfghjklöäz [Version 1.4, ]

VÄLKOMMEN TILL OWNIT!

Guide för installation av programvara NPD SV

Isolda Purchase - EDI

Microsoft Operations Manager 2005

Installation och setup av Net-controller AXCARD DS-202

USB Wireless-N-nätverksskrivarserver med en 10/100 Mbps-port b/g/n

NYTT LIV I EN UTTJÄNT DATOR

ANVÄNDAR-GUIDE för Bränneriets LAN

Hemmanätverk. Av Jan Pihlgren. Innehåll

snabbmanual för installation av Bredband 60

BREDBAND MBIT REGISTRERA DIG IDAG. Din guide till Karlshamnsporten

DI-714P+ Innan du börjar. Kontrollera förpackningens innehåll. 2.4GHz trådlös router och printerserver. DI-714P+ 2.4GHz trådlös router

Geo installationsguide

Compact Store - Systemkrav

SW3674. Snabbguide. Eee PC 900 Serierna 15G06Q0136D0

Installation xvis besökssystem, Koncern

Uppstart av OS med resp. utan krypering

P-660H Triple Play modem. Snabbinstallation. Version 2.0

Transkript:

EXAMENSARBETE T4 Läsåret 2011/2012 HIGH-AVAILABILITY CLUSTER Författare: Handledare: Victor del Ama Garcia

BERZELIUSSKOLAN 2012-05-15 ABSTRACT The purpose with the work was to create a HA-cluster with Linux and use two ordinary PC s. A High-Availability cluster is used to make a service downtime as low as possible. The cluster is based on two servers which is the two nodes of the cluster. Both nodes have one hard drive which is synchronizing its content over the network between the two nodes. If you use Linux the program-package you use to do that is called DRBD. The two nodes are connected to the network, but they are also directly connected with each other through a cable. That cable is used by Heartbeat which sends data packages between the two nodes like pulses. That s why it s called Heartbeat. If the primary node crash, the secondary node will no longer get the pulse from the primary node and will automatically take over the service and become the primary. That is managed by a CRM (Cluster Resource Manager) like Pacemaker. That way the service will be working properly within a minute. Clusters like that are also possible to create using Windows as operating system, but then you have to pay for the software. All Linux software packages used in this work are released under the GNU General Public License, which means you can download and use them for free.

BERZELIUSSKOLAN 2012-05-15 INNEHÅLL INLEDNING... 4 GENOMFÖRANDE... 5 FAKTAINSAMLING... 5 HÅRDVARA... 5 VIRTUELLT CLUSTER... 5 RESULTAT... 6 FAKTA... 6 High-Availability Cluster... 6 Heartbeat... 6 Pacemaker... 6 DRBD... 7 MITT HIGH AVAILABILITY CLUSTER... 7 Hårdvara... 7 Konfiguration... 8 LCMC... 8 Samba... 9 PRISEXEMPEL... 9 Eget High-Availability cluster... 9 Professionell High-Availability lösning... 10 DISKUSSION... 10 GENOMFÖRANDE... 10 RESULTAT... 11 KÄLLOR... 12 BILAGOR BILAGA 1: r0.res och global_common.conf, DRDB konfigurationsfiler BILAGA 2: ha.cf, Heartbeat konfigurationsfil BILAGA 3: cid.xml, Pacemaker konfigurationsfil

BERZELIUSSKOLAN 2012-05-15 4 INLEDNING Ett HA-cluster, eller High-Availability cluster som det heter, är en grupp serverar som arbetar tillsammans för att få ett minimalt driftstopp vid ett eventuellt problem. Om man använder sig av endast en server och det uppstår ett hårdvaru- eller mjukvaruproblem blir tjänsten otillgänglig. Om man istället använder sig av ett HA-cluster med två eller fler serverar och en av servrarna kraschar kan tjänsten automatiskt vara tillgänglig inom någon minut. Jag valde att göra mitt examensarbete om High-Availability cluster för att jag tyckte det verkade som en spännande utmaning. Även för att jag vet att dagens samhälle kräver en hög tillgänglighet på allt och då behöver man använda sig av ett HA-cluster eller liknande installation. Mina frågeställningar Vad är ett High-Availability cluster? Hur fungerar ett High-Availability cluster? Vilken hårdvara krävs? Vilken mjukvara krävs? Vad kan ett High-Availability cluster användas till? Vad kostar en professionell High-Availability lösning?

BERZELIUSSKOLAN 2012-05-15 5 GENOMFÖRANDE Från början var tanken att jag skulle skapa RAID over ethernet. Det första jag gjorde var att börja läsa om vad det är på nätet och kom fram till att det är ett High-Availability cluster som jag ska skapa. När jag sedan bestämde mig att göra mitt examensarbete om detta ämne blev min första frågeställning, hur fungerar det? FAKTAINSAMLING Jag började ta reda på information om vilken hårdvara och mjukvara som behövs för att skapa ett HA-cluster, även vilken Linux distribution jag skulle använda mig av. Jag bestämde mig för att använda Debian. För att konfigurera mitt HA-cluster var jag tvungen att hitta någon guide på internet som jag kunde använda mig av. De flesta guider använde sig av tre program, Heartbeat, Pacemaker och DRBD. För att förstå installationen var jag tvungen att studera dessa tre program. Eftersom jag hittade flera olika guider men ingen för att skapa en exakt sådan installation jag skulle göra blev jag tvungen att använda två olika guider. HÅRDVARA Efter att jag visste vilken hårdvara jag behövde, införskaffades två exakt likadana datorer. Jag behövde även ett extra nätverkskort i varje dator utöver det redan inbyggda för att kunna koppla samman de två datorerna till ett kluster. En nätverksswitch behövdes också, men eftersom jag inte kunde få tag i någon som jag kunde använda till ett eget litet nätverk var jag tvungen att koppla mina datorer till den som redan fanns i klassrummet. Istället för att använda flera skärmar eller flytta kablarna fram och tillbaka hela tiden, använde jag en KVMswitch så jag kunde använda en dataskärm och växla bilden mellan mina två datorer i klustret och till min vanliga dator i klassrummet. VIRTUELLT CLUSTER För att snabbare kunna testa och backa i installationen använda jag mig av ett program som heter VMware. Med det programmet kan man skapa virtuella datorer på den fysiska datorn. Jag installerade två identiska virtuella datorer med Linuxdistributionen Debian, samma som jag använde på de två fysiska datorerna jag använde till mitt HA-cluster, och skapade ett virtuellt HA-cluster. När något blev fel kunde jag då backa installationen och inställningarna, ungefär på samma sätt som ångra-knappen i Microsoft Word fungerar.

BERZELIUSSKOLAN 2012-05-15 6 RESULTAT FAKTA High-Availability Cluster Ett HA-cluster, kan också kallas failover cluster, används för att tillgängligheten på en servertjänst ska vara hög, alltså att stopptiden vid ett problem är så minimal som möjligt. Ett HA-cluster består av två eller fler serverar som är sammankopplade, de kallas för olika noder. Eftersom de är sammankopplade kan de känna av när ett hårdvaru- eller mjukvarufel uppstår. Varje node har ett eget IP-nummer, det finns även ett gemensamt IP-nummer som automatiskt flyttas till den node som är primär. Om man har två noder blir den ena primär och den andra sekundär. Om den primära servern får problem tar den sekundära över och startar automatiskt tjänsten så den snabbt blir tillgänglig igen, den sekundära noden blir då den primära. För att detta ska fungera krävs att servrarna har minst två nätverkskort. Det ena används för att koppla till nätverket och det andra kopplas direkt till den andra noden. Det behövs även att man har extra mjukvara installerad. Om man använder Linux som operativsystem är Heartbeat, Pacemaker och DRBD är några av programmen, det finns även andra program beroende på vilka funktioner man behöver.(1c)(3c)(4a)(5b) Heartbeat Heartbeat är ett program-paket som används för att skicka data-paket mellan servrarna i den direktkopplade kabeln (Fig. 1). Om Heartbeat i den ena noden helt plötsligt slutar att få svar från Heartbeat i den andra noden förstår den att något problem uppstått. (1a)(3a) Pacemaker Fig. 1 (9) Pacemaker är en CRM (Cluster Resource Manager), det används för att styra olika tjänster i ett kluster. Pacemaker arbetar tillsammans med Heartbeat, t.ex. om Heartbeat i Node 2 inte får svar från Heartbeat i Node 1, förstår Heartbeat i Node 2 att något är fel med Node 1, då är det Pacemaker som startar tjänsterna på Node 2 så att de bli tillgängliga från nätverket igen. För att det ska fungera måste Heartbeat och Pacemaker vara rätt konfigurerat på exakt samma sätt i båda noderna. Eftersom det är Linux sker all konfiguration med hjälp av olika kommandon,

BERZELIUSSKOLAN 2012-05-15 7 det finns inget grafiskt gränssnitt som standard som det oftast gör i en Windowsinstallation.(1b)(3c) DRBD DRBD står för Distributed Replicated Block Device, det används för att synkronisera två hårddiskar över nätverket, liknande som vid en RAID1. I varje node finns en hårddisk som används för DRBD. Hårdiskarna bildar tillsammans vad man kan kalla en virtuell hårddisk. DRBD kan konfigureras på olika sätt, det vanligaste sättet är att DRBD-disken är mountad på den primära noden. Om Node 1 är primär (Se fig. 2), är BRBD-disken mountad på Node 1. DRBD-disken använder då utrymmet som egentligen finns på Hårddisk 1, samtidigt synkroniseras ändringar hela tiden till Hårddisk 2 som finns i den andra noden. Om Node 1 kraschar kommer Node 2 bli den primära och DRBD-disken mountas på Node 2, då används utrymmet som finns på Hårddisk 2. (1c)(2)(3c)(4c)(5a)(7) Fig. 2 (9) MITT HIGH AVAILABILITY CLUSTER Hårdvara Mitt kluster består av två helt vanliga persondatorer, den enda extra hårdvara som behövs är ett extra nätverkskort i varje utöver det redan inbyggda. Jag har använt två stycken 500 GB hårddiskar i varje dator, en för Linux Debian (operativsystemet) och den andra för DRBD. Egentligen räcker det med en hårddisk om man delar den i två partitioner, beroende på hur mycket diskutrymme man behöver. I början hade jag problem att få Heartbeat att kommunicera mellan noderna och märkte att det var fel på nätverkskabeln. Det borde ha lösts genom att använda en korskopplad nätverkskabel men det fungerade inte ändå. Detta löste jag sedan genom att sätta en liten nätverksswitch mellan istället för en kabel direkt mellan datorerna.

BERZELIUSSKOLAN 2012-05-15 8 Konfiguration Jag konfigurerade mina två noder (Node1 och Node2) med varsitt IP-nummer, 192.168.137.101 och 192.168.137.102. Jag konfigurerade även de extra nätverkskorten med varsitt IP-nummer i ett eget nätverk som Heartbeat kunde kommunicera mellan. Jag konfigurerade DRBD att den ena 500 GB hårddisken skulle synkroniseras med en av 500 GB hårdiskarna i den andra noden. När jag sedan skulle konfigurera CRM med Pacemaker stötte jag på problem. Eftersom guiderna jag följde inte var för att konfigurera exakt så som jag skulle var jag tvungen att noga studera de olika kommandona och sedan försöka anpassa dem för den konfigurationen jag behövde. Jag började om flera gånger med konfigurationen av Pacemaker eftersom jag inte lyckades konfigurera rätt. Pacemaker som ska se till att den sekundära noden blir primär och starta tjänsterna måste det konfigureras rätt annars fungerar inte klustret. När jag bröt strömmen till den primära hände inget än att tjänsten slutade fungera. Däremot fungerade det att manuellt ändra den sekundära noden till primär. LCMC Eftersom jag inte lyckades konfigurera Pacemaker började jag söka efter en lösning på internet och hittade LCMC, Linux Cluster Management Console, på brbd.org. LCMC är ett java-baserat program som visar ett grafiskt gränssnitt för att installera och konfigurera ett HA-cluster (Fig.3). Istället för att man själv skriver in de olika kommandon som behövs ansluter LCMC till de två noderna med SSH. När man ändrar något med det grafiska gränssnittet skickar LCMC kommandona med SSH anslutningen och konfigurationen sker i båda noderna samtidigt och blir alltid exakt likadan. Med hjälp av LCMC konfigurerade jag sedan Heartbeat, DRBD och Pacemaker från början och lyckades få mitt HA-cluster att fungera. För att sedan kunna ansluta till samma IP-nummer hela tiden konfigurerade jag att ett gemensamt IP-nummer, 192.168.137.100, som hela tiden automatiskt flyttas till den node som är primär. Konfigurationsfiler till DRBD och Heartbeat kan ses i bilaga 1 och 2. Konfigurationsfil för Pacemaker ses i bilaga 3. Fig. 3 (9)

BERZELIUSSKOLAN 2012-05-15 9 Samba Samba är ett program-paket till Linux som används för att dela ut filer och mappar over nätverket. Efter att mitt kluster fungerade som det skulle installerade och konfigurerade jag Samba. Jag delade ut en mapp som låg på DRBD-disken och skapade några textfiler att testa med. Jag kunde ansluta till det gemensamma IP-numret från en Windows-dator och se och ändra filerna. När jag sedan kraschade den primära noden genom att stänga av strömbrytaren gick den sekundära noden automatiskt över till primär. När jag sedan anslöt till det gemensamma IP-numret igen kunde jag fortfarande se den utdelade mappen och filerna. PRISEXEMPEL Eget High-Availability cluster Komponent Produktnamn Antal Á pris (kr) Pris inkl. moms Moderkort GIGABYTE GA-Z68XP-UD3 DDR3 S- 2 890 1780 1155 ATX Ram-minne KINGSTON 4GB 1333MHZ DDR3 CL9 4 270 1080 HYPERX BLU (1X4GB) RED Processor INTEL CORE I5 2500K 3.30GHZ 6MB 2 1899 3798 S-1155 Nätverksskort D-LINK DGE-528T GIGABIT CARD 2 140 280 PCI Hårddisk SEAGATE BARRACUDA 500GB 4 690 2760 7200RPM SATA/600 16MB Chassi FRACTAL DESIGN MIDITOWER 2 699 1398 DEFINE R3 USB3 BLACK Nätaggregat OCZ MODXSTREAM PRO 700 WATT 2 699 1398 PSU Operativsystem Linux Debian 6 (Squeeze) 2 0* 0 Clustering Service Heartbeat CRM Pacemaker 2 0* 0 TCP/IP Raid(Filsystem) DRBD 2 0* 0 Priser från dustinhome.se (6) *gratis GNU General Public License Totalt: 11534 För att bygga ett liknande kluster som det jag har i mitt examensarbete kostar hårdvaran 11534 kr, skärm, tangentbord och möss är ej medräknat. Eftersom all mjukvara jag har använt är gratis att ladda ner och använda under GNU General Public License tillkommer inga kostnader för mjukvaran.

BERZELIUSSKOLAN 2012-05-15 10 Professionell High-Availability lösning För Novell NetWare Cluster Services 5.1 gäller följande priser: Produkt Pris (Euro) NetWare Cluster Services 1.01 for NetWare 5.1 2-Server Cluster + 10-User CUAL e- 4,490.00 License NetWare Cluster Services 1.01 for NetWare 5.1 5-User CUAL e-license 1,120.00 NetWare Cluster Services 1.01 for NetWare 5.1 50-User CUAL e-license 4,630.00 NetWare Cluster Services 1.01 for NetWare 5.1 100-User CUAL e-license 7,900.00 NetWare Cluster Services 1.01 for NetWare 5.1 500-User CUAL e-license 30,300.00 (8) En startlicens för 2-server cluster från Novell och 10 användarlicenser kostar 4,490 euro, det motsvarar ca 40000 kr. Det är endast priset för mjukvaran, sedan tillkommer priset för hårdvaran man behöver. Om man sedan behöver licenser för fler användare tillkommer ännu mer kostnader. Jämför man det med mitt egna HA-cluster som endast använder mjukvara som är gratis blir det en väldigt stor skillnad på kostnaden. DISKUSSION GENOMFÖRANDE För att skapa mitt HA-clutser har jag använt mig av två fysiska serverar och jag tycker det har varit ett bra sätt att göra det på, eftersom man får göra det på riktigt. Jag har även använt mig av VMware för att kunna göra virtuella maskiner och provat att skapa ett HA-cluster virtuellt. Hade jag endast använt VMware tror jag inte att det hade känts lika bra som att få göra det med två fysiska datorer. Jag tycker att VMware har varit ett bra hjälpmedel eftersom jag har enkelt kunnat backa och göra om ifall jag råkat ändra eller gjort något fel. Det hade varit mycket krångligare och det hade tagit mycket längre tid om jag inte hade kunnat prova olika sätt och snabbt backa ändringarna med hjälp av VMware innan jag gjorde ändringarna i de två fysiska servrarna. Jag tror att mitt arbete hade varit svårare om jag bara hade ett av sätten att använda. Det svåraste problemet jag hade var att jag inte kunde konfigurera Pacemaker rätt så att mitt clutser fungerade. Jag provade och gjorde om flera gånger och jag kände för att ge upp eftersom jag höll på flera onsdagar i rad med samma problem. Jag hittade sedan LCMC och började experimentera lite med det, men jag lyckades inte konfigurera rätt med det heller. Men efter att ha testat mer på de två virtuella maskinerna kunde jag sedan konfigurera även mina två fysiska serverar så att de fungerade som de skulle. DRBD monterades på den primära och att det gemensamma IP-numret flyttades automatiskt

BERZELIUSSKOLAN 2012-05-15 11 när den primära servern kraschade, d.v.s. när jag bröt strömmen till den. Om jag inte hade hittat LCMC tror jag inte att jag hade hunnit bli klar i tid med mitt HA-cluster. De källor jag har använt mig av är alla från internet. Det har varit ganska svårt att hitta information om ämnet eftersom det är olika som gäller beroende på vilken Linuxdistribution man använder och även vilken version. Dessutom när jag skulle hitta en guide att följa märkte jag att alla gör på sitt egna sätt och det har därför varit svårt att veta hur jag skulle konfigurera mitt kluster. Eftersom min handledare Victor har mer erfarenhet med Linux har han hjälpt mig lite vad jag skulle tänka på och hur jag skulle gå vidare de gånger jag har fastnat. RESULTAT Jag uppnådde mitt mål att skapa ett HA-cluster och jag är nöjd med resultatet. Även om jag stötte på problem som fick mig att tappa motivationen och hade lust att ge upp så lyckades jag till slut med konfigurationen så att mitt kluster fungerade så som jag ville. Jag installerade Samba och med det kunde jag verifiera att mitt kluster fungerade. Jag har inte bara skapat ett HA-cluster utan jag har lärt mig väldigt mycket genom att göra det här arbetet. Jag har blivit mer van att använda Linux och Linux-kommandon. Jag har även lärt mig många nya kommandon som jag inte haft användning för tidigare. Ett liknande HA-cluster som det jag har gjort skulle nog passa mindre företag som behöver låg stopptid för sin server. Eftersom en vanlig persondator som jag använt mig av inte har så hög prestanda jämför med en riktig server så tror jag inte en sådan lösning skulle passa ett stort företag. Till ett stort företag är nog en riktig professionell installation med mjukvara och service-avtal bättre eftersom det då är kunniga personer som konfigurerar. Jag tycker att jag under arbetes gång har fått svar på mina frågeställningar. Jag har lärt mig hur och varför man använder ett HA-cluster och vilken mjukvara och hårdvara som behövs om man vill skapa ett litet kluster med två noder.

BERZELIUSSKOLAN 2012-05-15 12 KÄLLOR 1. Linux-HA URL: http:/www.linux-ha.org/ a. Heartbeat [Hämtad 2012-05-02]; URL: http://www.linux-ha.org/wiki/heartbeat b. Pacemaker [Hämtad 2012-05-02]; URL: http://www.linux-ha.org/wiki/pacemaker c. DRBD [Hämtad 2012-05-02]; URL: http://www.linux-ha.org/wiki/drbd 2. non-a Blog. Linux Cluster - Debian Squeeze, Pacemaker, DRBD, LVM, Apache. [Hämtad 2012-05-02]; URL: http://blog.non-a.net/2011/03/27/cluster_drbd 3. Debian Paket; URL: http://packages.debian.org a. Paket: heartbeat (1:3.0.3-2) [Hämtad 2012-05-02]; URL: http://packages.debian.org/squeeze/heartbeat b. Paket: pacemaker (1.0.9.1+hg15626-1) [Hämtad 2012-05-02]; URL: http://packages.debian.org/squeeze/pacemaker c. Paket: drbd8-utils (2:8.3.7-2.1) [Hämtad 2012-05-02]; URL: http://packages.debian.org/squeeze/drbd8-utils 4. Wikipedia; URL: http:/www.wikipedia.org/ a. High-Availability Cluster. [Hämtad 2012-05-02]; URL: http://en.wikipedia.org/wiki/high-availability_cluster b. DRBD [Hämtad 2012-05-02]; URL: http://en.wikipedia.org/wiki/drbd 5. DRBD; URL: http://www.drbd.org/ a. What is DRBD [Hämtad 2012-05-02]; URL: http://www.drbd.org/home/what-is-drbd/ b. What is HA [Hämtad 2012-05-02]; URL: http://www.drbd.org/home/what-is-ha/ c. Management Console [Hämtad 2012-05-02]; URL: http://www.drbd.org/mc/management-console/ 6. Dustinhome; URL: http://www.dustinhome.se/ 7. HowtoForge. Setting Up Network RAID1 With DRBD On Debian Squeeze; URL: http://www.howtoforge.com/setting-up-network-raid1-with-drbd-on-debian-squeeze 8. Novell. Novell Cluster Services v1.01 for NetWare 5.1; URL: http://www.novell.com/products/clusters/ncs101/pricing_euro.html 9. Egen bild, gjord I Photoshop.

BERZELIUSSKOLAN BILAGA 1 2012-05-15 r0.res - DRDB konfigurationsfil resource r0 { protocol C; net { allow-two-primaries; on node1 { device /dev/drbd0; disk /dev/sdb1; flexible-meta-disk internal; address 192.168.20.1:7788; on node2 { device /dev/drbd0; disk /dev/sdb1; flexible-meta-disk internal; address 192.168.20.2:7788; I r0.res finns konfigurationen för DRBD. I konfigurationen är det angivet vilken fysik disk som används(/dev/sdb1) och vad den virtuella disken heter(/dev/drbd0). Det är definierat för både node1 och node2. Det är också angivet vilka IP som DRBD skickar data mellan. global_common.conf - DRDB konfigurationsfil ## generated by drbd-gui global { usage-count yes; common { startup { degr-wfc-timeout 0; net { cram-hmac-alg sha1; disk { shared-secret on-io-error 0KUgGVwAyDIeg47mdQxC1JPWU2EMQDS3; detach; I global_common.conf finns degr-wfc-timeout används om det bara finns en node kvar I klustret och den startas om. Shared-secret är en slags krypterad nyckel som används för att kommunicera mellan noderna.

BERZELIUSSKOLAN BILAGA 2 2012-05-15 Ha.cf Heartbeat konfigurationsfil ## generated by drbd-gui 1.3.9 keepalive 2 warntime 20 deadtime 30 initdead 30 crm respawn compression bz2 compression_threshold 20 traditional_compression on logfacility local0 node node1 node2 mcast eth0 239.192.0.0 694 1 0 mcast eth1 239.192.0.0 694 1 0 # respawn hacluster usr/lib/heartbeat/dopd # apiauth dopd gid=haclient uid=hacluster # respawn root /usr/lib/heartbeat/mgmtd v # apiauth mgmtd uid=root I ha.cf konfigureras Heartbeat. Keepalive anger hur ofta paket skickas för att se om den andra noden fortfarande finns. Warntime anger när Heartbeat ska varna att noden kanske är död när den inte fått svar, deadtime är när noden dödförklaras. När en node startas upp är initdead den tid som noden väntar på att de andra noderna ska startas upp ordentligt, under den tiden kan inga noder dödsförklaras. Vid raden som börjar på node anges de noder som finns i klustret, i detta fall node1 och node2.

BERZELIUSSKOLAN BILAGA 3 2012-05-15 cib.xml - CRM konfigurationsfil (Pacemaker) <cib validate-with="pacemaker-1.0" crm_feature_set="3.0.1" have-quorum="1" dc-uuid="a1209b31-3604-4683-a330-dbc221225325" admin_epoch="0" epoch="143" num_updates="0" cib-last-written="tue May 15 11:06:00 2012"> <configuration> <crm_config> <cluster_property_set id="cib-bootstrap-options"> <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.0.9-74392a28b7f31d7ddc86689598bd23114f58978b"/> <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="heartbeat"/> <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonithenabled" value="false"/> <nvpair id="cib-bootstrap-options-no-quorum-policy" name="noquorum-policy" value="ignore"/> <nvpair name="last-lrm-refresh" id="cib-bootstrap-options-lastlrm-refresh" value="1337072759"/> </cluster_property_set> </crm_config> <nodes> <node id="a1209b31-3604-4683-a330-dbc221225325" uname="node2" type="normal"/> <node id="46cc240c-6b99-41bb-8672-3dfb4fdb8829" uname="node1" type="normal"/> </nodes> <resources> <master id="ms_drbd_1"> <meta_attributes id="ms_drbd_1-meta_attributes"> <nvpair id="ms_drbd_1-meta_attributes-clone-max" name="clonemax" value="2"/> <nvpair id="ms_drbd_1-meta_attributes-clone-node-max" name="clone-node-max" value="2"/> <nvpair id="ms_drbd_1-meta_attributes-interleave" name="interleave" value="true"/> </meta_attributes> <primitive class="ocf" provider="linbit" type="drbd" id="res_drbd_1"> <instance_attributes id="res_drbd_1-instance_attributes"> <nvpair id="nvpair-res_drbd_1-drbd_resource" name="drbd_resource" value="r0"/> </instance_attributes> <operations id="res_drbd_1-operations"> <op interval="0" id="op-res_drbd_1-start" name="start" timeout="240"/> <op interval="0" id="op-res_drbd_1-promote" name="promote" timeout="90"/> <op interval="0" id="op-res_drbd_1-demote" name="demote" timeout="90"/> <op interval="0" id="op-res_drbd_1-stop" name="stop" timeout="100"/> <op id="op-res_drbd_1-monitor" name="monitor" interval="10" timeout="20" start-delay="1min"/> <op interval="0" id="op-res_drbd_1-notify" name="notify" timeout="90"/> </operations> <meta_attributes id="res_drbd_1-meta_attributes"> <nvpair name="target-role" id="res_drbd_1-meta_attributestarget-role" value="started"/> </meta_attributes>

BERZELIUSSKOLAN BILAGA 3 2012-05-15 </primitive> </master> <primitive id="res_filesystem_1" class="ocf" provider="heartbeat" type="filesystem"> <instance_attributes id="res_filesystem_1-instance_attributes"> <nvpair id="nvpair-res_filesystem_1-device" name="device" value="/dev/drbd0"/> <nvpair id="nvpair-res_filesystem_1-directory" name="directory" value="/mnt/share"/> <nvpair id="nvpair-res_filesystem_1-fstype" name="fstype" value="ext3"/> </instance_attributes> <operations id="res_filesystem_1-operations"> <op interval="0" id="op-res_filesystem_1-start" name="start" timeout="60"/> <op interval="0" id="op-res_filesystem_1-stop" name="stop" timeout="60"/> <op id="op-res_filesystem_1-monitor" name="monitor" interval="20" timeout="40" start-delay="0"/> <op interval="0" id="op-res_filesystem_1-notify" name="notify" timeout="60"/> </operations> <meta_attributes id="res_filesystem_1-meta_attributes"/> </primitive> <primitive id="res_ipaddr2_1" class="ocf" provider="heartbeat" type="ipaddr2"> <instance_attributes id="res_ipaddr2_1-instance_attributes"> <nvpair id="nvpair-res_ipaddr2_1-ip" name="ip" value="192.168.137.100"/> <nvpair id="nvpair-res_ipaddr2_1-cidr_netmask" name="cidr_netmask" value="24"/> </instance_attributes> <operations id="res_ipaddr2_1-operations"> <op interval="0" id="op-res_ipaddr2_1-start" name="start" timeout="20"/> <op interval="0" id="op-res_ipaddr2_1-stop" name="stop" timeout="20"/> <op id="op-res_ipaddr2_1-monitor" name="monitor" interval="10" timeout="20" start-delay="0"/> </operations> <meta_attributes id="res_ipaddr2_1-meta_attributes"/> </primitive> </resources> <constraints> <rsc_colocation id="col_res_filesystem_1_ms_drbd_1" score="infinity" with-rsc-role="master" rsc="res_filesystem_1" with-rsc="ms_drbd_1"/> <rsc_order id="ord_ms_drbd_1_res_filesystem_1" score="infinity" first-action="promote" then-action="start" first="ms_drbd_1" then="res_filesystem_1"/> <rsc_colocation id="col_res_ipaddr2_1_ms_drbd_1" score="infinity" with-rsc-role="master" rsc="res_ipaddr2_1" with-rsc="ms_drbd_1"/> <rsc_order id="ord_ms_drbd_1_res_ipaddr2_1" score="infinity" firstaction="promote" then-action="start" first="ms_drbd_1" then="res_ipaddr2_1"/></constraints> <rsc_defaults/> <op_defaults/> </configuration> I cib.xml finns konfigurationen för CRM, i detta fall pacemaker. Den genereras av de kommandon med den konfigurationen man anger. Eftersom jag använd LCMC är filen skapad automatiskt.