Кіріспе

Linux компьютер кластерлері үшін ортақ дискілік файл жүйесі

Компьютерлік есепте, Global File System 2 немесе GFS2 – Linux компьютер кластерлері үшін ортақ дискілік файл жүйесі. GFS2 кластердің барлық мүшелеріне деректерді кластер бойынша бөліп сақтамайтын, бөлінген файл жүйелерінен өзгеше, бірдей ортақ блок-жинақтауға бір мезгілде тікелей қол жеткізуге мүмкіндік береді. GFS2 бір компьютерде жергілікті файл жүйесі ретінде де қолданылуы мүмкін. GFS2-де жеке жұмыс режимі және клиент немесе сервер рөлдері жоқ. GFS2 кластеріндегі барлық түйіндер тең құқылы болып жұмыс істейді. GFS2-ні кластерде пайдалану үшін ортақ сақтау орнына қол жеткізуге мүмкіндік беретін аппараттық құралдар және сақтау орнына қол жеткізуді басқару үшін құлып менеджері қажет. Құлып менеджері жеке модуль ретінде жұмыс істейді: осылайша GFS2 кластерлік конфигурациялар үшін үлестірілген құлып менеджерін (DLM) және жергілікті файл жүйелері үшін "құлыпсыз" құлып менеджерін пайдалана алады. GFS-тің ескі нұсқалары GULM-ді де қолдайды, ол резервтік көшірме арқылы сенімділікті қамтамасыз ететін серверлік құлып менеджері. GFS және GFS2 – GNU General Public License шарттарымен таратылатын тегін бағдарламалық жасақтама.

Жабдық

GFS және GFS2 жобалары SAN сияқты орталарға бағытталған. Оларды жеке түйіндегі файлдық жүйе ретінде пайдалану мүмкін болғанымен, толық мүмкіндіктер жиынтығы үшін SAN қажет. Бұл iSCSI, FibreChannel, AoE немесе Linux жүйесінде бірнеше түйіндер бөлісетін блок құрылғысы ретінде ұсынылатын кез келген басқа құрылғы түрінде болуы мүмкін, мысалы DRBD құрылғысы. DLM байланыс үшін IP негізіндегі желіні қажет етеді. Әдетте бұл Ethernet болады, бірақ тағы да көптеген басқа да мүмкін шешімдер бар. SAN таңдауына байланысты, оларды біріктіруге болады, бірақ әдетте DLM және сақтау үшін жеке желілер қолданылады. GFS-ке қандай да бір қорғау механизмі қажет. Бұл GFS/GFS2 емес, кластерлік инфрақұрылымның талабы, бірақ ол барлық көп түйінді кластерлер үшін міндетті. Көбінесе қуатты қосқыштар мен қашықтан басқару контроллерлері (мысалы, DRAC, IPMI немесе ILO) қолданылады. Виртуалды және гипервизор негізіндегі қорғау механизмдерін де пайдалануға болады. Қорғау кластердің істен шыққан деп санайтын түйіннің, басқа түйін істен шыққан түйіннің журналын қалпына келтіріп жатқанда, кенеттен қайта жұмыс істемейтініне кепілдік беру үшін қолданылады. Сондай-ақ, қалпына келтіру аяқталғаннан кейін істен шыққан түйін автоматты түрде қайта іске қосылуы мүмкін.

Күнделік жазу

GFS және GFS2 екеуі де журналға жазылатын файлдық жүйелер; және GFS2, ext3 сияқты, журналға жазу режимдерінің ұқсас жиынтығын қолдайды. data=writeback режимінде тек метадеректер ғана журналдалады. Бұл GFS қолдайтын жалғыз режим, алайда жеке деректер файлдарында журналдауды қосуға болады, бірақ олар нөлдік өлшемде болған кезде ғана. GFS-те журналданған файлдарға бірнеше шектеулер қойылады, мысалы, mmap немесе sendfile жүйелік шақыруларын қолдамайды, сонымен қатар олар әдеттегі файлдардан өзгеше дискідегі форматты пайдаланады. Сондай-ақ, "мұрагерлік журнал" атрибуты бар, ол каталогқа орнатылған кезде, сол каталогта құрылған барлық файлдарға (және кіші каталогтарға) журналдың (немесе тиісінше мұрагерлік журналдың) белгісі орнатылады. Бұл ext3 қолдайтын (ал GFS/GFS2 қолдамайтын) data=journal орнату опциясының орнына пайдаланылуы мүмкін. GFS2 сонымен қатар data=ordered режимін қолдайды, ол data=writeback-ке ұқсас, бірақ әрбір журналды жаңарту аяқталғанға дейін «кір» деректер синхрондалады. Бұл жаңа өлшемді жазу үшін метадеректер жаңартылғанға дейін inode-қа қосылған блоктардың мазмұны дискіге қайта синхрондалатынын қамтамасыз етеді, сонымен қатар түйіннің істен шығуы кезінде файлда бастамаланбаған блоктардың пайда болуын болдырмайды. Әдепкі журналдау режимі ext3-тің әдепкі режимімен сәйкес data=ordered режимі болып табылады. GFS2 әлі data=journal режимін қолдамайды, бірақ ол (GFS-тен айырмашылығы) тұрақты және журналданған файлдар үшін бірдей дискілік форматты қолданады, сондай-ақ бірдей журналданған және мұрагерлік журнал атрибуттарын қолдайды. GFS2 сонымен қатар файлдың журналдалған атрибутын файл ашылмаған кез келген уақытта өзгертуге рұқсат беру арқылы шектеулерді жеңілдетеді (ext3 сияқты). Өнімділік себептерімен, GFS және GFS2 әрбір түйінде өз журналы бар. GFS-те журналдар дискідегі кеңістіктер, ал GFS2-де журналдар қарапайым файлдар. Файл жүйесін бір уақытта орнатуға болатын түйіндердің саны қол жетімді журналдардың санымен шектеледі.