GFS2 - GFS2

GFS2
ӘзірлеушілерҚызыл қалпақ
Толық атыGlobal File System 2
Таныстырылды2005 ж Linux 2.6.19
Құрылымдар
Каталог мазмұныХэштелген (инодқа салынған шағын каталогтар)
Файлды бөлунүктелік карта (ресурстар топтары)
Нашар блоктарЖоқ
Шектер
Макс. файлдар саныАйнымалы
Макс. файл атауының ұзындығы255 байт
Файл аттарындағы рұқсат етілген таңбаларБасқалары ЖОҚ
Ерекшеліктер
Жазылған күндератрибутты өзгерту (ctime), модификация (mtime), қол жетімділік (atime)
Шешім күніНаносекунд
АтрибуттарУақытша емес, журналға жазылған деректер (тек кәдімгі файлдарда), тіркелген деректерді мұраға алады (тек каталогтарда), синхронды-жазғыш, тек қосымшалы, өзгермейтін, шығаратын (тек дирс, тек оқуға арналған)
Файлдық жүйеге арналған рұқсаттарUnix рұқсаттары, ACL және ерікті қауіпсіздік атрибуттары
Мөлдір қысуЖоқ
Мөлдір шифрлауЖоқ
Деректердің қосарлануытек түйіндер арқылы
Басқа
Қолдау көрсетіледі операциялық жүйелерLinux
GFS
ӘзірлеушілерҚызыл қалпақ (бұрын, Sistina бағдарламалық жасақтамасы )
Толық атыҒаламдық файл жүйесі
Таныстырылды1996 ж IRIX (1996), Linux (1997)
Құрылымдар
Каталог мазмұныХэштелген (инодқа салынған шағын каталогтар)
Файлды бөлунүктелік карта (ресурстар топтары)
Нашар блоктарЖоқ
Шектер
Макс. файлдар саныАйнымалы
Макс. файл атауының ұзындығы255 байт
Файл аттарындағы рұқсат етілген таңбаларNUL-ден басқалары
Ерекшеліктер
Жазылған күндератрибутты өзгерту (ctime), модификация (mtime), қол жетімділік (atime)
Шешім күні
АтрибуттарУақытша емес, журналға жазылған деректер (тек кәдімгі файлдарда), тіркелген деректерді мұраға алады (тек каталогтарда), синхронды-жазғыш, тек қосымшалы, өзгермейтін, шығаратын (тек дирс, тек оқуға арналған)
Файлдық жүйеге арналған рұқсаттарUnix рұқсаттары, ACL
Мөлдір қысуЖоқ
Мөлдір шифрлауЖоқ
Деректердің қосарлануытек түйіндер арқылы
Басқа
Қолдау көрсетіледі операциялық жүйелерIRIX (қазір ескірген), FreeBSD (қазір ескірген), Linux

Жылы есептеу, Global File System 2 немесе GFS2 Бұл ортақ дискілік файлдық жүйе үшін Linux компьютерлік кластерлер. GFS2 кластердің барлық мүшелеріне бірдей ортақ пайдалануға бір уақытта тікелей қол жеткізуге мүмкіндік береді блокты сақтау, айырмашылығы таратылған файлдық жүйелер деректерді кластер бойынша тарататын. GFS2 бір компьютерде жергілікті файлдық жүйе ретінде де қолданыла алады.

GFS2-де ажыратылған жұмыс режимі және клиенттің немесе сервердің рөлдері жоқ. GFS2 кластерінің барлық түйіндері қатарластар ретінде жұмыс істейді. GFS2-ді кластерге қолдану қажет жабдық жалпы жадқа қол жеткізуге мүмкіндік беру үшін және жадыға кіруді бақылау үшін құлыптау менеджері.Құлып басқарушысы бөлек модуль ретінде жұмыс істейді: осылайша GFS2 Таратылған Lock Manager Үшін (DLM) кластер жергілікті файлдық жүйелер үшін конфигурациялар мен «nolock» құлыптау менеджері. GFS-тің ескі нұсқалары GULM-ті қолдайды, ол серверге негізделген құлыптау менеджері, ол жұмыс істемеу арқылы резервтеуді жүзеге асырады.

GFS және GFS2 болып табылады ақысыз бағдарламалық жасақтама, шарттары бойынша таратылады GNU жалпыға ортақ лицензиясы.[1][2]

Тарих

GFS-ті дамыту 1995 жылы басталған және оны бастапқыда дамытқан Миннесота университеті профессор Мэтью О'Киф және студенттер тобы.[3] Бастапқыда ол үшін жазылған SGI Келіңіздер IRIX операциялық жүйе, бірақ 1998 ж Linux бастап ашық ақпарат көзі код ыңғайлы даму платформасын ұсынды. 1999 жылдың аяғында / 2000 жылдың басында оған жол ашылды Sistina бағдарламалық жасақтамасы, онда ол біраз уақыт өмір сүрді ашық көзі жоба. 2001 жылы Систина GFS-ті меншікті өнімге айналдыру туралы шешім қабылдады.

Әзірлеушілер OpenGFS-ті GFS-тің соңғы жарияланымынан айырды, содан кейін оны OpenDLM-мен жұмыс істеуге мүмкіндік беретін жаңартулармен толықтырды. OpenGFS және OpenDLM тоқтатылды, өйткені Қызыл қалпақ 2003 жылы желтоқсанда Систинаны сатып алып, GFS және көптеген кластерлік инфрақұрылым бөліктерін шығарды GPL 2004 жылдың маусым айының соңында.

Қызыл қалпақ кейіннен қателерді жою және тұрақтандыруға бағытталған одан әрі дамыту қаржыландырылды. Одан әрі дамыту, GFS2[4][5] GFS-тен алынған және онымен бірге енгізілген таратылған құлып менеджері (GFS-пен ортақ) Linux 2.6.19. Red Hat Enterprise Linux 5.2 GFS2-ді бағалау мақсатында ядро ​​модулі ретінде енгізді. 5.3 жаңаруымен GFS2 ядро ​​пакетінің бөлігі болды.

2009 жылғы жағдай бойынша, GFS бөлігі болып табылады Федора, Red Hat Enterprise Linux 5.3 және жоғары және байланысты CentOS Linux таратылымдары. Пайдаланушылар сатып ала алады коммерциялық қолдау толығымен қолдау көрсетілетін GFS іске қосу үшін Red Hat Enterprise Linux. Бастап Red Hat Enterprise Linux 5.3 нұсқасы, Red Hat Enterprise Linux Advanced Platform қосымша ақысыз GFS қолдауын қосты.

Келесі тізімде кейбір нұсқалардың нөмірлері мен негізгі ерекшеліктері жинақталған:

Жабдық

GFS және GFS2 мақсаттарының дизайны Сан сияқты орта. Оларды бір түйін файлдық жүйесі ретінде қолдануға болатындығына қарамастан, барлық мүмкіндіктер жиынтығы SAN талап етеді. Бұл түрінде болуы мүмкін iSCSI, FibreChannel, AoE, немесе астында ұсынылуы мүмкін кез-келген басқа құрылғы Linux бірқатар түйіндермен бөлінетін блоктық құрылғы ретінде, мысалы а DRBD құрылғы.

The DLM талап етеді IP байланыс орнататын негізделген желі. Бұл әдеттегідей Ethernet, бірақ тағы да көптеген басқа шешімдер бар. SAN таңдауына байланысты мұны, бірақ қалыпты тәжірибені біріктіруге болады[дәйексөз қажет ] үшін бөлек желілерді қамтиды DLM және сақтау.

GFS қажет қоршау қандай-да бір жабдықтар. Бұл GFS / GFS2 емес, кластерлік инфрақұрылымның талабы, бірақ ол барлық көп түйінді кластерлер үшін қажет. Әдеттегі опцияларға қуат қосқыштары және қашықтан қол жеткізгіш контроллері кіреді (мысалы. DRAC, IPMI, немесе ХЕҰ ). Семсерлесу кластер істен шықты деп санайтын түйін кенеттен қайта жұмыс істей алмайтындығына, басқа түйін сәтсіз түйінге журналды қалпына келтіріп жатқанына көз жеткізу үшін қолданылады. Сондай-ақ, ол қалпына келтіру аяқталғаннан кейін сәтсіз түйінді автоматты түрде қайта бастауы мүмкін.

Жергілікті файлдық жүйеден айырмашылықтар

GFS / GFS2 дизайнерлері жергілікті файлдық жүйені мұқият имитациялауды мақсат еткенімен, бірқатар айырмашылықтарды ескеру қажет. Олардың кейбіреулері қолданыстағы файлдық жүйенің интерфейстеріне байланысты, бұл кластерге қатысты ақпаратты жіберуге мүмкіндік бермейді. Кейбіреулері бұл функцияларды кластерлік тәсілмен тиімді жүзеге асырудың қиындықтарынан туындайды. Мысалға:

  • The отар () жүйелік қоңырау GFS / GFS2 арқылы үзілмейді сигналдар.
  • The fcntl () F_GETLK жүйелік қоңырауы кез-келген бұғаттау құлыпының PID мәнін қайтарады. Бұл кластерлік файлдық жүйе болғандықтан, бұл PID файлдық жүйе орнатылған кез келген түйіндегі процеске сілтеме жасай алады. Бұл интерфейстің мақсаты блоктау процесіне сигнал жіберуге мүмкіндік беру болғандықтан, бұл енді мүмкін емес.
  • Lock_dlm (кластерлік) құлыптау модулімен жалға берілмейді, бірақ оларға жергілікті файл жүйесі ретінде қолдау көрсетіледі
  • ескерту «бірдей түйін» негізінде жұмыс істейді, бірақ оны GFS / GFS2 көмегімен қолдану ұсынылмайды
  • инотификациялау сонымен қатар «бірдей түйін» негізінде жұмыс істейді, сонымен қатар ұсынылмайды (бірақ ол болашақта қолдау табуы мүмкін)
  • қоспа тек GFS2-де қолдау көрсетіледі

Басқа басты айырмашылық және барлық ұқсас кластерлік файлдық жүйелермен бөлісілетін нәрсе - GFS / GFS2 үшін блоктар (Gee-құлыптары) деп аталатын кэшті басқару механизмі бүкіл кластерге әсер етеді. Әрқайсысы inode файлдық жүйеде онымен байланысты екі блок бар. Біреуі (иопен глок деп аталады) инодтың қай процестің ашық тұрғанын қадағалайды. Екіншісі (инодтық блок) сол инодқа қатысты кэшті басқарады. Глоктың төрт күйі бар: UN (құлпы ашылмаған), SH (ортақ - оқу құлпы), DF (кейінге қалдырылған - SH-мен үйлеспейтін оқу құлпы) және EX (эксклюзивті). Төрт режимнің әрқайсысы а-ға тікелей кескінделеді DLM құлыптау режимі.

EX режимінде иноды деректерді кэштеуге рұқсат етіледі және метадеректер (бұл «лас» болуы мүмкін, яғни файлдық жүйеге қайта жазуды күту). SH режимінде инод деректер мен метадеректерді кэштей алады, бірақ ол лас болмауы керек. DF режимінде инод тек метадеректерді кэштеуге рұқсат етіледі және қайтадан ол лас болмауы керек. DF режимі тек тікелей енгізу-шығару үшін қолданылады. БҰҰ режимінде инод ешқандай метадеректерді кэштемеуі керек.

Инодтың деректерін немесе метадеректерін өзгертетін операциялар бір-біріне кедергі келтірмеуі үшін, EX құлпы қолданылады. Бұл дегеніміз, файлдарды жасау / ажырату сияқты белгілі бір әрекеттер бірдей каталогы мен жазады бірдей файл кластердегі бір түйінмен шектелуі керек. Әрине, бұл операцияларды бірнеше түйіннен жасау күткендей жұмыс істейді, бірақ кэштерді жиі жуу қажеттілігіне байланысты бұл өте тиімді болмайды.

GFS / GFS2 өнімділігі туралы жиі қойылатын жалғыз сұрақ, неге электрондық пошта серверлерінде өнімділік нашар болуы мүмкін. Шешім - бұл пошта спулын бөлек каталогтарға бөліп, әр түйінді оқып, жазуды жеке каталогқа сақтауға тырысу (мүмкіндігінше).

Журнал

GFS және GFS2 екеуі де журналдық файлдық жүйелер; және GFS2 ұқсас журнал режимін қолдайды ext3. Жылы деректер = қайта жазу режимі, тек метадеректер жазылады. Бұл GFS қолдайтын жалғыз режим, алайда жеке деректер файлдарында журнал жазуды қосуға болады, бірақ олар нөлдік өлшемде болғанда ғана. GFS-де тіркелген файлдарда бірқатар шектеулер бар, мысалы, қолдау көрсетілмейді ммап немесе sendfile жүйелік қоңыраулар, олар әдеттегі файлдардан басқа дискілік форматты пайдаланады. Сондай-ақ, «мұрагерлік-журнал» атрибуты бар, ол каталогта орнатылған кезде сол каталогта жасалған барлық файлдардың (және ішкі каталогтардың) журналдың (немесе тиісінше мұрагерлік-журналдың) жалаушасының орнатылуына әкеледі. Мұның орнына қолдануға болады деректер = журнал монтаждау параметрі ext3 қолдайды (және GFS / GFS2 қолдамайды).

GFS2 қолдайды деректер = тапсырыс берілді ұқсас режим деректер = қайта жазу қоспағанда, лас деректер әр журнал жуу аяқталғанға дейін синхрондалады. Бұл инодқа қосылған блоктардың жаңа өлшемді жазу үшін метадеректер жаңартылғанға дейін олардың мазмұнын дискіге синхрондауын қамтамасыз етеді және осылайша файлда түйіннің істен шығуы жағдайында инициализацияланбаған блоктардың пайда болуына жол бермейді. Әдепкі журнал режимі деректер = тапсырыс берілді, сәйкестендіру үшін ext3 әдепкі.

2010 жылғы жағдай бойынша, GFS2 әлі қолдамайды деректер = журнал режимі, бірақ ол (GFS-тен айырмашылығы) кәдімгі және тіркелген файлдар үшін бірдей дискідегі форматты қолданады, сонымен қатар бірдей журналдық және мұрагерлік-атрибуттарды қолдайды. GFS2 сонымен қатар файлдың тіркелген атрибутын файл ашылмаған кез келген уақытқа өзгертуге болатын шектеулерді жеңілдетеді (сонымен бірге ext3 ).

Өнімділік себептері бойынша GFS және GFS2-дегі әр түйіннің жеке журналы бар. GFS-де журналдар дискінің кеңеюі болып табылады, GFS2-де журналдар - жай файлдар. Файлдық жүйені кез-келген уақытта орната алатын түйіндер саны қол жетімді журналдар санымен шектеледі.

GFS-мен салыстырғанда GFS2 ерекшеліктері

GFS2 GFS-де жоқ бірқатар жаңа мүмкіндіктерді қосады. Мұнда осы парақтың оң жағындағы жолдарда аталмаған мүмкіндіктердің қысқаша мазмұны келтірілген:

  • Метадеректер файлдық жүйесі (шынымен басқа түбір) - қараңыз Үйлесімділік және GFS2 мета файлдық жүйесі төменде
  • GFS2 нақты іздеу нүктелері 2.6.32 ядросынан бастап қол жетімді
  • XFS стиліндегі квота интерфейсі 2.6.33 ядросынан бастап GFS2-де қол жетімді
  • ACL-ді кэштеу GFS2-де 2.6.33 бастап қол жетімді
  • GFS2 жіңішке қамтамасыз ету / SCSI TRIM сұраныстарына арналған «бас тарту» сұранысының пайда болуын қолдайды
  • GFS2 енгізу-шығару тосқауылдарын қолдайды (әдепкі бойынша, егер оны негізгі құрылғы қолдайды деп ойласаңыз. 2.6.33 және одан жоғары ядродан конфигурацияланады)
  • FIEMAP ioctl (дискідегі инодтардың бейнелерін сұрау үшін)
  • Splice (жүйелік қоңырау) қолдау
  • журналы бар файлдарға арналған mmap / splice қолдауы (әдеттегі файлдар сияқты дискілік форматта қолдану арқылы қосылады)
  • Түзету қабілеті азырақ (қондыруды онша күрделі етпейтін)
  • Тапсырыс жазу режимі (ext3 бойынша, GFS тек қайта жазу режиміне ие)

Үйлесімділік және GFS2 мета файлдық жүйесі

GFS2 GFS-тен жаңарту қарапайым процедура болатындай етіп жасалған. Осы мақсатта дискідегі құрылымның көп бөлігі GFS-мен бірдей, оның ішінде үлкен ендиан байтқа тапсырыс беру. Бірнеше айырмашылық бар:

  • GFS2-де жүйелік файлдарға қатынауды өңдейтін «мета-файлдық жүйе» бар
  • GFS2 журналы бар файлдар үшін кәдімгі файлдар үшін бірдей дискілік пішімді қолданады
  • GFS2 журналдарға жүйелік (жүйелік) файлдарды қолданады, ал GFS арнайы кеңейтімдерді қолданады
  • GFS2-де басқа «per_node«жүйелік файлдар
  • Орналасуы inode (өте аз) ерекшеленеді
  • Жанама блоктардың орналасуы аздап ерекшеленеді

GFS және GFS2 журнал жүйелері бір-бірімен үйлеспейді. Жаңарту құралдың көмегімен мүмкін болады (gfs2_convert) метамәліметтерді жаңарту үшін желіден тыс файлдық жүйемен іске қосылады. GFS журналдарындағы кейбір қосалқы блоктар (өте аз) жасау үшін қолданылады. per_node жаңарту процесінде GFS2 талап ететін файлдар. Деректердің көп бөлігі орнында қалады.

GFS2 «мета-файлдық жүйе» бұл өздігінен файлдық жүйе емес, балама болып табылады тамыр негізгі файлдар жүйесі. Ол өзін «қалыпты» файлдық жүйе сияқты ұстаса да, оның мазмұны GFS2 пайдаланатын әр түрлі жүйелік файлдар болып табылады, және әдетте пайдаланушылар оны ешқашан қараудың қажеті жоқ. GFS2 утилиталары бекіту және мета файлдық жүйені талап етілетіндей, кадр артында ажыратыңыз.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Тейгланд, Дэвид (29 маусым 2004). «Симметриялық кластердің архитектурасы және компоненттерінің техникалық сипаттамалары» (PDF). Red Hat Inc. Алынған 2007-08-03. Журналға сілтеме жасау қажет | журнал = (Көмектесіңдер)
  2. ^ Солтис, Стивен Р .; Эриксон, Грант М .; Преслан, Кеннет В. (1997). «Жаһандық файлдық жүйе: ортақ дискіні сақтауға арналған файлдық жүйе» (PDF). Параллельді және үлестірілген жүйелердегі IEEE транзакциялары. Архивтелген түпнұсқа (PDF) 2004-04-15.
  3. ^ OpenGFS деректерін GFS сақтау кластерімен бөлісу
  4. ^ Whitehouse, Steven (27-30 маусым 2007). «GFS2 файлдық жүйесі» (PDF). Linux Symposium 2007 жинағы. Оттава, Онтарио, Канада. 253–259 бет.
  5. ^ Уайтхауз, Стивен (13-17 шілде 2009). «Кластерлік файлдық жүйелерді тексеру және тексеру» (PDF). Linux 2009 симпозиумының материалдары. Монреаль, Квебек, Канада. 311-317 бет.

Сыртқы сілтемелер