OpenSSI

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 .org  Edit this on Wikidata

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? ]

  1. Fedora Core 3
  2. Debian Sarge

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? ]

Se även

externa länkar