Подешавање ГлустерФС-а
Важна напомена у вези са поновном монтажом
Важна напомена у вези са резервним копијама
ФАК
ГлустерФС је систем датотека повезан са мрежом који вам ефикасно омогућава дељење два диска на више уређаја на мрежи. Овај систем датотека савршено се уклапа за Вултрову понуду блокова складиштења, пошто можете да делите диск преко мреже што није могуће ван кутије.
У погледу карактеристика, проширивости и поузданости, ГлустерФС се показао као један од најсофистициранијих и најстабилнијих доступних система датотека.
Када се направе промене на диску на једном серверу, оне ће се аутоматски реплицирати на други сервер у реалном времену. Да бисте то постигли и следили овај водич, требаће вам:
- Две Вултр инстанце облака, по могућности са истим оперативним системом.
- Два блок уређаја за складиштење исте величине.
Након што наручите ова два блока за складиштење података, требало би да их прикључите на ВМ 1 и ВМ 2. Пошто ћемо користити оба блока за складиштење података за исти систем датотека, дељење укупне величине оба диска са два ће вам дати употребљиву количину од ГБ. На пример, ако имате два диска од 100 ГБ, 100 ГБ ће бити употребљиво (100 * 2 / 2).
Штавише, обе ВМ ће морати да буду на истој локацији да би биле на истој приватној мрежи. Повезиваћемо се са серверима користећи њихове интерне ИП адресе. Имајте на уму да ћемо обрисати податке на блок диску за складиштење. Уверите се да су потпуно нови и неформатирани.
У овом водичу ћемо користити storage1и storage2, респективно са приватним ИП адресама 10.0.99.10 и 10.0.99.11. Имена ваших сервера и ИП адресе ће се највероватније разликовати, па се побрините да их промените у процесу подешавања ГлустерФС-а.
Овај водич је написан имајући на уму ЦентОС / РХЕЛ 7. Међутим, ГлустерФС је релативно компатибилан са више Линук дистрибуција.
Подешавање ГлустерФС-а
Корак 1: Промените /etc/hostsдатотеку
Да бисмо могли брзо да се повежемо са одговарајућим инстанцама, треба да додамо имена која се лако памте hostsдатотеци. Отворите /etc/hostsдатотеку и додајте следеће редове на дно:
10.0.99.10 storage1
10.0.99.11 storage2
Корак 2: Додајте диск storage1
ССХ у storage1и извршите следеће команде. Подразумевано, прикључени блок уређаји за складиштење се монтирају као /dev/vdb. Ако се ово разликује у вашем случају из било ког разлога, требало би да га промените у наредбама испод.
Форматирајте диск:
fdisk /dev/vdb
Притисните „ентер“ за следећа три питања (у вези са величином партиције и слично, желимо да искористимо сав расположиви простор на блок драјвовима за складиштење) и напишите „в“ да бисте уписали ове промене на диск. Након што је ово успешно завршено, напишите:
/sbin/mkfs.ext4 /dev/vdb1
Кренули смо и сада креирали систем датотека јер Вултр подразумевано не креира ниједан систем датотека на блок меморији.
Затим ћемо креирати фасциклу у којој ћемо чувати наше датотеке. Можете променити ово име, али га нећете видети много, па вам препоручујем да га оставите на миру, ради елиминисања сложености.
mkdir /glusterfs1
Да бисте аутоматски монтирали диск при покретању, отворите /etc/fstabи додајте следећи ред на дну датотеке:
/dev/vdb1 /glusterfs1 ext4 defaults 1 2
На крају, монтирајте диск:
mount -a
Монтажа ће остати упорна током поновног покретања, тако да када поново покренете сервер диск ће се аутоматски поново монтирати.
Корак 3: Додајте диск storage2
Сада када смо диск додали и монтирали на storage1, морамо да креирамо и диск storage2. Команде се једва разликују. За fdisk, следите исте кораке као горе.
fdisk /dev/sdb
/sbin/mkfs.ext4 /dev/sdb1
mkdir /glusterfs2
Уредите /etc/fstabи додајте следећи ред:
/dev/vdb1 /glusterfs2 ext4 defaults 1 2
Баш као и на storage1, диск ће се аутоматски монтирати након поновног покретања.
Монтирајте диск:
mount -a
На крају, хајде да проверимо да ли можемо да видимо да се партиција појављује:
df -h
Требало би да видите да се ваш диск појављује овде. Ако није, покушајте да следите горе наведене кораке.
Корак 4: Инсталирање ГлустерФС на storage1иstorage2
Затим морамо да инсталирамо ГлустерФС. Додајте спремиште и инсталирајте ГлустерФС:
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.5/CentOS/glusterfs-epel.repo
yum -y install glusterfs glusterfs-fuse glusterfs-server
Постоји шанса да ћете добити грешку yumјер потпис за спремиште није исправан. У том случају, безбедно је присилити да не проверавате ГПГ потпис:
yum -y install glusterfs glusterfs-fuse glusterfs-server --nogpgcheck
На оба сервера, извршите следеће команде да бисте одмах покренули ГлустерФС и аутоматски га покренули након поновног покретања:
systemctl enable glusterd.service
systemctl start glusterd.service
Ако користите старију верзију ЦентОС, можете користити serviceи chkconfigкоманде:
chkconfig glusterd on
service glusterd start
Корак 5: Онемогућавање заштитног зида на storage1иstorage2
Иако то није најбоље решење само по себи, добра је идеја да искључите заштитни зид како бисте елиминисали могуће сукобе са блокираним портовима. Ако се не осећате пријатно да ово радите, слободно промените правила по свом укусу, али због природе ГлустерФС-а, топло препоручујем да онемогућите заштитни зид. С обзиром да је приватна мрежа заправо приватна на Вултр-у (и не морате да затварате заштитни зид од других корисника), можете једноставно блокирати сав долазни саобраћај са интернета и ограничити дозвољене везе на приватну мрежу. Међутим, искључивање заштитног зида и не мењање било које друге конфигурације система би такође било довољно:
systemctl stop firewalld.service
systemctl disable firewalld.service
У случају да користите старију ЦентОС верзију која не подржава systemctl, користите serviceи chkconfigкоманде:
service firewalld stop
chkconfig firewalld off
У случају да не користите firewalld, покушајте да онемогућите iptables:
service iptables stop
chkconfig iptables off
Корак 6: Додајте сервере у складишни скуп
Након што искључимо заштитни зид, можемо да додамо оба сервера у складишни скуп. Ово је базен који се састоји од свих доступних складишта. Извршите следећу команду на storage1:
gluster peer probe storage2
Оно што ова команда ради је додавање storage2сопственом складишту. Извршавањем следеће команде на storage2, оба диска ће бити синхронизована:
gluster peer probe storage1
Након што ово извршимо на оба сервера, требало би да проверимо статус на оба сервера:
gluster peer status
Оба сервера би требало да покажу стање „Пеерс: 1“. Честа грешка је да људи очекују да виде Peers: 2, али као што storage1ће вирити storage2са собом и обрнуто, они не вире сами са собом. Дакле, то Peers: 1је оно што нам треба.
Корак 7: Креирање дељеног диска на storage1
Сада када су оба сервера у могућности да се повежу један са другим преко ГлустерФС-а, направићемо дељени диск.
На storage1, изврши:
gluster volume create mailrep-volume replica 2 storage1:/glusterfs1/files storage2:/glusterfs2/files force
Обим је сада креиран. У ГлустерФС-у, морате да „покренете“ волумен тако да се активно дели на више уређаја. Хајде да почнемо:
gluster volume start mailrep-volume
Затим изаберите фасциклу која би требало да буде на том волумену и реплицирана на оба сервера. У овом водичу користићемо фасциклу /var/files. Наравно, ово може бити шта год желите. Креирајте га storage1 само на :
mkdir /var/files
Затим га монтирајте:
mount.glusterfs storage1:/mailrep-volume /var/files/
Ажурирајте /etc/fstabтако да ће диск аутоматски бити монтиран при покретању. Додајте следеће:
storage1:/mailrep-volume /var/files glusterfs defaults,_netdev 0 0
Поново монтирајте диск:
mount -a
Корак 8: Креирање дељеног диска на storage2
Сада када смо креирали дељени диск на storage1, морамо да га креирамо storage2и на. Направите фасциклу са исто�� локацијом / путањом и именом:
mkdir /var/files
mount.glusterfs storage2:/mailrep-volume /var/files/
Као и на storage1, додајте следећи ред у /etc/fstab:
storage2:/mailrep-volume /var/files glusterfs defaults,_netdev 0 0
Поново монтирајте диск:
mount -a
Корак 9: Тестирајте дељено складиште
Идите до /var/filesфасцикле storage1и креирајте датотеку:
cd /var/files
touch created_on_storage1
Затим идите на storage2сервер. Извршите ls -laи требало би да видите да се датотека created_on_storage1појављује.
На storage2, идите до /var/filesфасцикле и креирајте датотеку:
cd /var/files
touch created_on_storage2
Вратите се на storage1и извршите ls -la /var/files. Требало би да видите да се датотека created_on_storage2појављује овде.
Корак 10: Поново покрените све сервере (опционо)
Да бисте још једном проверили да ли ће ваше подешавање остати постојано током поновних покретања, најбоље је да поново покренете све сервере. Као што је поменуто, требало би да сачекате да се један сервер покрене, а затим поново покренете други да би се дељени диск аутоматски монтирао.
Ребоот storage1прво, сачекајте да буде горе, а затим рестарт storage2. Сада се пријавите и извршите на оба сервера:
cd /var/files
ls -la
Сада би требало да видите да се обе датотеке појављују. Обавезно почните без датотека на волумену, па уклоните тест датотеке које смо направили. Ово можете да урадите на storage1, storage2или обоје. Промене ће се одмах реплицирати:
cd /var/files
rm created_on_storage1
rm created_on_storage2
Требало би да имате идентичан дељени волумен на оба сервера, без обзира на радње на оба волумена.
Сада сте подесили потпуно подешавање ГлустерФС-а са 100 ГБ (или више) корисног простора. У случају да вам затреба више у будућности, подешавање је лако скалабилно да бисте додали више капацитета и/или више сервера ако ваш посао то захтева.
Хвала вам за читање!
Важна напомена у вези са поновном монтажом
ГлустерФС омогућава ажурирање ваших података на два диска. Међутим, треба да имате на уму да када се оба сервера поново покрену у исто време , мораћете да принудно монтирате дискове на оба сервера. Морате да присилите монтирање ручно тако што ћете извршити следећу команду:
gluster volume start mailrep-volume force
То је зато што се један од сервера понаша као сервер, а други као клијент. Иако разлика није лако уочљива у пракси, то значи да када треба да рестартујете оба сервера, требало би да поново покренете један, сачекате да се покрене, а затим покренете други.
Важна напомена у вези са резервним копијама
Иако ће се ваши подаци реплицирати на два диска, требало би да се ваши подаци реплицирају најмање три пута. Иако су ваши подаци боље заштићени од оштећења података и слично, имајте на уму да су промене тренутне и да ни на који начин нећете бити заштићени од људске грешке. Када уклоните све датотеке на једном диску, ове промене ће се одмах реплицирати на други диск, што значи да ће ваши подаци бити избрисани на обе инстанце.
Срећом, постоји више начина да се ово избегне. Прво, препоручујем да омогућите резервне копије на самој инстанци облака. Иако ове резервне копије не укључују податке о блок меморији, оне ће заштитити податке на самој инстанци.
Када је у питању прављење резервних копија података на самом блок складишту, препоручујем да покренете засебну инстанцу (на пример САТА план) тако да можете да покренете резервну копију са једног од два прикључена сервера сваке ноћи, на пример. На овај начин ће ваши подаци бити безбедни на другом засебном уређају.
ФАК
Да ли могу да повећам складиште на диску?
Можете да повећате величину складишта блока са Вултр контролне табле. Након тога би требало да промените величину диска унутар оперативног система, али то је ван оквира овог чланка.
Могу ли да прикачим блок меморију на преко два сервера?
Иако је овај водич написан за два сервера (дакле, два блока за складиштење података прикључена на оба сервера), али је могуће узети овај водич и користити га и за више од два сервера. Подешавање са преко два сервера / диск јединице може изгледати овако за 6 сервера, на пример:
VM: storage1
VM: storage2
VM: storage3
VM: storage4
Block Storage: attached to storage1
Block Storage: attached to storage2
Block Storage: attached to storage3
Block Storage: attached to storage4
С обзиром на то да сви блок уређаји за складиштење имају капацитет од нпр. 200 ГБ, добили бисте 200 * 4 / 4. Другим речима, корисни простор је увек капацитет једног блока за складиштење података. То је зато што се један сервер са прикаченим блок меморијом третира као "мастер" од стране ГлустерФС и реплицира се на друге сервере. Међутим, подешавање је направљено тако да може да преживи без главног сервера, што га чини тако редундантним и поузданим, стабилним решењем.