OpenSSI
Utvecklare | OpenSSI Team |
---|---|
Stabil frisättning | 1.9.3 / 1 september 2007 |
Förhandsgranska release | 1.9.6 / 18 februari 2010 |
Operativ system | Linux |
Typ | Klusterprogramvara |
Licens | GPL v2 |
Hemsida |
|
OpenSSI är ett bildklustersystem med ett enda system med öppen källkod . Det gör att en samling datorer kan behandlas som ett stort system, vilket gör att applikationer som körs på en dator får tillgång till resurserna för alla maskiner i klustret.
OpenSSI är baserat på operativsystemet Linux och släpptes som ett öppen källkodsprojekt av Compaq 2001. Det är det sista steget i en lång utvecklingsprocess, som sträcker sig tillbaka till LOCUS , utvecklad i början av 1980-talet.
Beskrivning
OpenSSI tillåter att ett kluster av individuella datorer ( noder ) behandlas som ett stort system. Processer som körs på valfri nod har full tillgång till resurserna för alla noder. Processer kan migreras från nod till nod automatiskt för att balansera systemanvändningen. Inkommande nätverksanslutningar kan dirigeras till den minst belastade noden som är tillgänglig.
OpenSSI är designad för att användas för både högpresterande och hög tillgänglighetskluster . Det är möjligt att skapa ett OpenSSI-kluster utan en enda felpunkt , till exempel kan filsystemet speglas mellan två noder, så om en nod kraschar kommer processen som får åtkomst till filen att misslyckas till den andra noden. Alternativt kan klustret utformas på ett sådant sätt att varje nod har direkt tillgång till filsystemet.
Funktioner
Enstaka processutrymme
OpenSSI tillhandahåller ett enda processutrymme – varje process är synlig från varje nod och kan hanteras från vilken nod som helst med de vanliga Linux-kommandona (ps, kill, renice och så vidare). Det virtuella filsystemet Linux /proc visar alla pågående processer på alla noder.
Implementeringen av det enda processutrymmet åstadkoms med VPROC-abstraktionen som uppfunnits av Locus för OSF/1 AD- operativsystemet.
Migration
OpenSSI tillåter migrering av pågående processer mellan noder. När pågående processer migreras fortsätter de att ha tillgång till alla öppna filer, IPC-objekt eller nätverksanslutningar.
Processer kan migreras manuellt , antingen genom att processen anropar det speciella OpenSSI migrate(2) -systemanropet, eller genom att skriva ett nodnummer till en speciell fil i processes /proc-katalogen.
Processer kan också, om användaren vill, migreras automatiskt för att balansera belastningen över klustret. OpenSSI använder en algoritm som utvecklats av MOSIX -projektet för att bestämma belastningen på varje nod.
Enkel rot
OpenSSI tillhandahåller en enda rot för klustret - från vilken nod som helst är samma filer och kataloger tillgängliga. OpenSSI använder flera mekanismer för att tillhandahålla den enda roten – CFS (OpenSSI Cluster File System), SAN-klusterfilsystem och parallella monteringar av nätverksfilsystem.
OpenSSI använder funktionen för kontextberoende symbolisk länk (CDSL), inspirerad av HP:s TruCluster- system, för att tillåta åtkomst till nodspecifika filer på ett sätt som är transparent för icke -klustermedvetna applikationer . En CDSL kan peka på olika filer på varje nod i klustret.
CFS
CFS, OpenSSI Cluster File System ger transparent åtkomst mellan noder till ett underliggande verkligt filsystem på en nod.
CFS staplas ovanpå det riktiga filsystemet och koordinerar åtkomst från olika noder med hjälp av en token- mekanism. En nod har fysisk åtkomst till det underliggande filsystemet och utför alla läs- och skrivoperationer. När som helst en nod äger en token, som representerar en del av den underliggande filen, innebär detta att den delen av filen finns i den ägande nodens cache. Om en annan nod försöker komma åt den delen av filen stjäls token och cacheinnehållet kopieras till den stjälande noden. OpenSSI CFS-implementeringen är anmärkningsvärt lik den som används av HP TruCluster .
CFS används också för att koordinera åtkomst till delade minnessegment.
CFS kan användas i ett feltolerant system genom att använda delsystem för delade diskar (dual ported SCSI eller SAN ), eller genom att använda DRBD . Om noden som för närvarande har direkt åtkomst till filsystemet kraschar så misslyckas CFS-monteringen till den andra noden som är direkt ansluten till disken och klustret kommer nu åt filsystemet via den noden.
SAN-klustrade filsystem
OpenSSI kan använda SAN- baserade klustrade filsystem för sin rot förutsatt att de tillhandahåller ett POSIX- kompatibelt filsystemgränssnitt. För närvarande Luster och GFS testats. [ när? ]
Med ett klustrat filsystem monterar varje nod filsystemet parallellt och åtkomst till filerna går direkt från noden till filsystemet.
NFS
OpenSSI monterar NFS- filsystem parallellt på varje nod. Varje nod kommer direkt åt NFS-servern.
Enkelt I/O-utrymme
OpenSSI ger klusteromfattande åtkomst till alla I/O-enheter i systemet, med vissa begränsningar - det är inte möjligt för en nod att montera en blockenhet från en annan nod.
Udev - enhetshanteraren används för att hantera /dev-katalogen. Varje nod kör sin egen kopia av udev för att skapa lämpliga enhetsnoder i en underkatalog av /dev, /dev/1 för nod 1, /dev/2 för nod 2 och så vidare.
Enstaka IPC-utrymme
OpenSSI ger internodåtkomst till alla standardkommunikationsmekanismer för Linux mellan processer, delat minne , semaforer , SYSV- meddelandeköer, pipes och Unix-domänsockets .
För att implementera klusterbrett delat minne – distribuerat delat minne – använder OpenSSI CFS- tokensystemet . När som helst kan ett minnessegment vara läsbart av en eller flera noder, eller skrivbart av en nod. Om en nod utan skrivåtkomst till ett segment försöker skriva så markeras segmentet oläsligt på alla andra noder och skrivbart på den aktuella noden. Om en nod utan läsbehörighet försöker läsa ett segment så kopieras det aktuella värdet från en nod där det var giltigt och om det var skrivbart markeras det som läsbart.
Klustrets IP-adress
OpenSSI använder LVS för att tillhandahålla feltoleranta lastbalanserade IP- tjänster. Inkommande nätverksanslutningar tas emot av en direktörsnod som omdirigerar dem till den minst belastade servernoden. (En nod kan vara både en regissör och server). I händelse av fel på direktörnod tar en annan styrnod över och systemet fortsätter att acceptera inkommande anslutningar.
Distributioner
OpenSSI - programvaran är tillgänglig för olika Linux - distributioner . OpenSSI- kärnan är distributionsoberoende men olika distributionsspecifika Linux- system på användarnivå måste modifieras, till exempel init -processen och systemstartskripten .
För närvarande är de distributioner som stöds: [ när? ]
Under 2008 pågick arbetet med att porta OpenSSI till Debian Etch och Lenny.
Historia
Ursprunget till OpenSSI går tillbaka till början av 1980-talet, när det distribuerade operativsystemet LOCUS utvecklades vid UCLA . Teamet som utvecklade LOCUS fortsatte med att bilda Locus Computing Corporation och producerade olika versioner av LOCUS-teknologin under flera namn, vilket kulminerade i utvecklingen av UnixWare NonStop Clusters - produkten hos Tandem Computers , som vid den tiden hade förvärvat LOCUS-teamet och rättigheterna till tekniken. NonStop Clusters for Unixware kommersialiserades av SCO som ett tillägg för UnixWare. När SCO slutade sälja NonStop Clusters, portade det tidigare Locus-teamet, som nu arbetar för Compaq (som hade förvärvat Tandem under tiden), NonStop Clusters-koden till Linux och släppte den som öppen källkod. Teamet på Compaq fortsatte att utveckla systemet, nu kallat OpenSSI, under en tid efter att HP förvärvade Compaq. OpenSSI utvecklas för närvarande av ett oberoende team. [ när? ]