Кіріспе

Қолданыстан шыққан Linux үшін кластерлеу жүйесі
бағдарламалық жасақтама туралы ақпарат
| атауы = OpenSSI
| логотипі = OpenSSI логотипі.png
| әзірлеуші = OpenSSI тобы
| соңғы нұсқасы = 1.9.3

OpenSSI Linux операциялық жүйесіне негізделген және 2001 жылы Compaq компаниясы ашық кодты жоба ретінде жариялаған. Бұл 1980-ші жылдардың басында жасалған LOCUS-қа дейін созылатын ұзақ даму процесінің соңғы кезеңі.

Сипаттама

OpenSSI жеке компьютерлердің кластерін (нодтарды) бір үлкен жүйе ретінде қарауға мүмкіндік береді. Кез келген нодта іске қосылған процестер барлық нодтардың ресурстарын толыққанды пайдалана алады. Жүйелік жүктемені теңестіру үшін процестер автоматты түрде бір нодтан екінші нодқа көшіріледі. Келіп түсетін желілік қосылымдар ең аз жүктемелі нодқа бағытталады. OpenSSI жоғары өнімділік пен жоғары сенімділік кластерлері үшін жасалған. OpenSSI кластерін бірде-бір қателік нүктесіз құруға болады, мысалы, файлдық жүйе екі нод арасында көшірмеленеді, сондықтан егер бір нод істен шықса, файлға қол жеткізуге тырысатын процесс екінші нодқа көшеді. Балама ретінде кластерді әр нодтың файлдық жүйеге тікелей қол жеткізе алатындай етіп құруға болады.

Бір процестік кеңістік

OpenSSI бір процестік кеңістік ұсынады – әрбір процесс кез келген түйінден көрінеді және оны кез келген түйінден Linux-тың стандартты командаларын (ps, kill, renice және т.б.) қолдана отырып басқаруға болады. Linux /proc виртуалды файлдық жүйесі барлық түйіндердегі барлық жұмыс істеп тұрған процестерді көрсетеді. Бір процестік кеңістіктің іске асырылуы OSF/1 AD операциялық жүйесі үшін Locus ұсынған VPROC абстракциясы арқылы жүзеге асырылады.

Көші-қон

OpenSSI процестерді жұмыс істеп тұрған күйінде тораптар арасында көшіруге мүмкіндік береді. Көшірілген процестер ашық файлдарға, IPC нысандарына немесе желілік қосылымдарға қол жеткізуді тоқтатпайды. Процестерді қолмен, арнайы OpenSSI migrate(2) жүйелік шақыру арқылы немесе процестің /proc каталогындағы арнайы файлға торап нөмірін жазу арқылы көшіруге болады. Егер пайдаланушы қаласа, процестер кластердегі жүктемені теңестіру мақсатында автоматты түрде де көшірілуі мүмкін. OpenSSI әр тораптың жүктемесін анықтау үшін MOSIX жобасымен әзірленген алгоритмді пайдаланады.

Бір тамыр

OpenSSI кластер үшін кез келген түйінден бірдей файлдар мен каталогтарға қол жеткізуді қамтамасыз ететін жалғыз тамыр ұсынады. OpenSSI жалғыз тамырды қамтамасыз ету үшін бірнеше механизмдерді қолданады – CFS (OpenSSI кластерлік файл жүйесі), SAN кластерлік файл жүйелері және желілік файл жүйелерінің параллельді орнатулары. OpenSSI HP TruCluster жүйесінен шабыттанған, кластерге хабарсыз қолданбалар үшін түйінге тән файлдарға қол жеткізуді ашық түрде жүзеге асыруға мүмкіндік беретін контекстке тәуелді символдық сілтеме (CDSL) мүмкіндігін пайдаланады. CDSL кластердегі әр түйіндегі әртүрлі файлдарға сілтеме бере алады.

ҚТЖ

CFS, OpenSSI кластерлік файлдық жүйесі бір түйіндегі нақты файлдық жүйеге түйінаралық ашық қолжеткізуді қамтамасыз етеді. CFS нақты файлдық жүйенің үстіне орналасады және токендік механизмді пайдаланып, әртүрлі түйіндерден кіруді үйлестіреді. Бір түйіннің негізгі файлдық жүйеге физикалық қолжеткізімі бар және ол барлық оқу және жазу операцияларын орындайды. Кез келген уақытта бір түйін негізгі файлдың бір бөлігін көрсететін токенге ие болады, бұл файлдың сол бөлігі иеленуші түйіннің кэшінде сақталғанын білдіреді. Егер басқа түйін сол файл бөлігіне қол жеткізуге тырысса, токен тартылып алынады және кэш мазмұны тартып алушы түйінге көшіріледі. OpenSSI CFS жүзеге асырылуы HP TruCluster қолданған нұсқаға өте ұқсас. CFS сондай-ақ ортақ жад сегменттеріне қолжеткізуді үйлестіру үшін де қолданылады. CFS қатеге төзімді жүйеде ортақ дискілік подсистемаларды (қос портты SCSI немесе SAN) немесе DRBD пайдалану арқылы қолданылуы мүмкін. Егер файлдық жүйеге тікелей қолжеткізуді жүзеге асыратын түйін істен шықса, CFS орнатылымы дискіге тікелей қосылған басқа түйінге көшеді және кластер енді осы түйін арқылы файлдық жүйеге қол жеткізеді.

SAN кластерлі файл жүйелері

OpenSSI өзінің түбірлік бөлімі үшін SAN негізіндегі кластерленген файлдық жүйелерді пайдалана алады, егер олар POSIX-қа үйлесімді файлдық жүйе интерфейсін ұсынса. Lustre және Global File System да сынақтан өтті. Кластерленген файлдық жүйеде әрбір түйін файлдық жүйені параллель түрде орнатады және файлдарға қол жеткізу түйінден тікелей файлдық жүйеге жүзеге асырылады.

NFS

OpenSSI әрбір түйінде NFS файлдық жүйелерді параллельді түрде орнатады. Әрбір түйін NFS серверіне тікелей қол жеткізеді.

Бір I/O кеңістігі

OpenSSI жүйедегі барлық I/O құрылғыларына кластерлік деңгейде қол жеткізуді қамтамасыз етеді, бірақ кейбір шектеулер бар – түйін басқа түйінден блок құрылғысын орната алмайды. /dev каталогын басқару үшін udev құрылғы менеджері қолданылады. Әрбір түйін /dev каталогының ішіндегі тиісті құрылғы түйіндерін жасайды, мысалы, 1-түйін үшін /dev/1, 2-түйін үшін /dev/2 және т.с.с. үшін udev-тің жеке данасын іске қосады.

Бірыңғай IPC кеңістігі

OpenSSI барлық стандартты Linux процестер арасындағы байланыс механизмдеріне, ортақ жадыға, семафорларға, SYSV хабарлама кезектеріне, құбырларға және Unix домендік сокеттеріне түйінаралық қолжетімділікті қамтамасыз етеді. Кластерлік ортақ жадыны – үлестірілген ортақ жадыны – іске асыру үшін OpenSSI CFS токен жүйесін пайдаланады. Кез келген сәтте жад сегменті бір немесе бірнеше түйінмен оқылуы мүмкін, немесе бір түйінмен жазылуы мүмкін. Егер жазу құқығы жоқ түйін жазуға тырысса, онда бұл сегмент басқа барлық түйіндер үшін оқылмайтын, ал ағымдағы түйін үшін жазылатын болып белгіленеді. Егер оқу құқығы жоқ түйін сегментті оқуға тырысса, онда ағымдағы мән жарамды болған түйінден көшіріледі және егер ол жазылатын болса, оқуға жарамды деп белгіленеді.

Кластердің IP-адресі

OpenSSI қатеге төзімді, жүктеме теңгерілген IP қызметтерін ұсыну үшін LVS-ті пайдаланады. Келіп түсетін желілік қосылымдар директорлық түйін арқылы қабылданады, ол оларды ең аз жүктелген серверлік түйінге қайта бағыттайды. (Түйін директорлық және серверлік рөлдерді бірдей атқара алады). Директорлық түйін істен шыққан жағдайда, басқа директорлық түйін оның орнына өтеді және жүйе келіп түсетін қосылымдарды қабылдауды жалғастырады.

Тарих

OpenSSI-нің тарихы 1980 жылдардың басына дейін жетеді, осы кезде UCLA-да LOCUS үлестірілген операциялық жүйесі әзірленді. ″LOCUS″ жасаған топ 1982 жылы Locus Computing Corporation құрды және одан туындаған технологияның бірнеше нұсқаларын әртүрлі атаулармен шығарды. 1990 жылдардың ортасында бұл жұмыс Tandem Computers компаниясында UnixWare NonStop Clusters өнімімен аяқталды, ол 1995 жылға қарай бұрынғы Locus CC командасын және технологияға құқықтарды иеленді. Compaq 1997 жылы Tandem Computers компаниясын сатып алды. NonStop кластерлері Santa Cruz Operation компаниясымен UnixWare-ге қосымша ретінде коммерцияландырылды. SCO Group өнімді сатуды тоқтатқаннан кейін, әзірлеушілер (Tandem сатып алу арқылы келген және қазір Compaq-та жұмыс істейтін) ″NonStop Clusters″ кодын Linux-қа көшірді және 2001 жылы, енді OpenSSI деп аталған, оны ашық код ретінде жариялады. Compaq Hewlett Packard компаниясымен сатып алынғаннан кейін (2002 жылы болған) қызметкерлер дамуды тағы біршама уақыт жалғастырды. Келесі он жылда OpenSSI тәуелсіз үлескерлердің күшімен жақсартылды.