Пра бэкапы ў Proxmox VE

Пра бэкапы ў Proxmox VE
У артыкуле "Магія віртуалізацыі: уступны курс у Proxmox VE" мы паспяхова ўсталявалі на сервер гіпервізор, падлучылі да яго сховішча, паклапаціліся аб элементарнай бяспецы і нават стварылі першую віртуальную машыну. Цяпер разбяром як рэалізаваць самыя базавыя задачы, якія даводзіцца выконваць, каб заўсёды мець магчымасць аднавіць працу сэрвісаў у выпадку збою.

Штатныя прылады Proxmox дазваляюць не толькі выконваць рэзервовае капіраванне дадзеных, але і ствараць наборы папярэдне настроеных выяў аперацыйных сістэм для хуткага разгортвання. Гэта не толькі дапамагае пры неабходнасці стварыць новы сервер для любога сэрвісу за некалькі секунд, але таксама і памяншае час прастою да мінімальнага.

Распавядаць аб неабходнасці стварэння бэкапаў мы не будзем, паколькі гэта відавочна і ўжо даўно з'яўляецца аксіёмай. Спынімся на некаторых невідавочных рэчах і асаблівасцях.

Спачатку разгледзім якім чынам захоўваюцца дадзеныя пры працэдуры рэзервовага капіявання.

Алгарытмы рэзервовага капіявання

Пачнём з таго, што Proxmox мае нядрэнны штатны інструментар для стварэння рэзервовых копій віртуальных машын. Ён дазваляе лёгка захаваць усе дадзеныя віртуальнай машыны і падтрымлівае два механізмы сціску, а таксама тры метады стварэння гэтых копій.

Разбяром спачатку механізмы сціску:

  1. Сціск LZO. Алгарытм сціску дадзеных без страт, прыдуманы яшчэ ў сярэдзіне 90-х гадоў. Код быў напісаны Маркусам Аберхеймерам (рэалізуецца ў Proxmox утылітай lzop). Асноўнай асаблівасцю гэтага алгарытму з'яўляецца вельмі хуткасная распакаванне. Такім чынам, любая рэзервовая копія, створаная з дапамогай гэтага алгарытму, можа пры неабходнасці быць разгорнута за мінімальны час.
  2. Сціск GZIP. Пры выкарыстанні гэтага алгарытму рэзервовая копія будзе "на ляту" сціскацца ўтылітай GNU Zip, якая выкарыстоўвае магутны алгарытм Deflate, створаны Філам Кацам. Асноўны ўпор робіцца на максімальны сціск дадзеных, што дазваляе скараціць месца на дыску, займанае рэзервовымі копіямі. Галоўным адрозненнем ад LZO з'яўляецца тое, што працэдуры кампрэсіі / дэкампрэсіі займаюць досыць вялікая колькасць часу.

Рэжымы архівавання

Proxmox прапануе на выбар сістэмнаму адміністратару тры метады рэзервовага капіявання. З дапамогай іх можна вырашыць патрабаваную задачу, вызначыўшы прыярытэт паміж неабходнасцю прастою і надзейнасцю зробленай рэзервовай копіі:

  1. Рэжым Snapshot (Здымак). Гэты рэжым можна яшчэ назваць як Live backup, паколькі для яго выкарыстання не патрабуецца спыняць працу віртуальнай машыны. Выкарыстанне гэтага механізму не перарывае працу VM, але мае два вельмі сур'ёзных недахопу – могуць узнікаць праблемы з-за блакаванняў файлаў аперацыйнай сістэмай і самая нізкая хуткасць стварэння. Рэзервовыя копіі, створаныя гэтым метадам, трэба заўсёды правяраць у тэставым асяроддзі. У адваротным выпадку ёсць рызыка, што пры неабходнасці экстранага аднаўлення, яны могуць даць збой.
  2. Рэжым Suspend (Прыпыненне). Віртуальная машына часова "замарожвае" свой стан, да заканчэння працэсу рэзервовага капіявання. Змесціва аператыўнай памяці не сціраецца, што дазваляе працягнуць працу роўна з той кропкі, на якой праца была прыпыненая. Зразумела, гэта выклікае просты сервера на час капіявання інфармацыі, затое няма неабходнасці выключэння/уключэнні віртуальнай машыны, што дастаткова крытычна для некаторых сэрвісаў. Асабліва, калі запуск часткі сервісаў не з'яўляецца аўтаматычным. Тым не менш такія рэзервовыя копіі таксама варта разгортваць у тэставым асяроддзі для праверкі.
  3. Рэжым Stop (Прыпынак). Самы надзейны спосаб рэзервовага капіявання, але які патрабуе поўнага выключэння віртуальнай машыны. Адпраўляецца каманда на штатнае выключэнне, пасля прыпынку выконваецца рэзервовае капіраванне і затым аддаецца каманда на ўключэнне віртуальнай машыны. Колькасць памылак пры такім падыходзе мінімальна і часцей за ўсё зводзіцца да нуля. Рэзервовыя копіі, створаныя такім спосабам, практычна заўсёды разгортваюцца карэктна.

Выкананне працэдуры рэзервавання

Для стварэння рэзервовай копіі:

  1. Пераходзім на патрэбную віртуальную машыну.
  2. выбіраем пункт Рэзерваванне.
  3. Націскаем кнопку Рэзерваваць зараз. Адкрыецца акно, у якім можна будзе абраць параметры будучай рэзервовай копіі.

    Пра бэкапы ў Proxmox VE

  4. У якасці сховішча паказваем тое, якое мы падлучалі у папярэдняй частцы.
  5. Пасля выбару параметраў націскаем кнопку Рэзерваванне і чакаем, пакуль рэзервовая копія будзе створана. Пра гэта будзе казаць надпіс TASK OK.

    Пра бэкапы ў Proxmox VE

Цяпер створаныя архівы з рэзервовымі копіямі віртуальных машын стануць даступныя для спампоўкі з сервера. Самым простым і банальным спосабам капіравання з'яўляецца SFTP. Для гэтага скарыстайцеся папулярным кросплатформавым FTP-кліентам FileZilla, які ўмее працаваць па SFTP-пратаколу.

  1. У полі Хост уводзім IP-адрас нашага сервера віртуалізацыі, у поле Імя карыстальніка уводны root, у поле Пароль - той, які быў абраны пры ўстаноўцы, а ў полі Порт паказваем "22" (або любы іншы порт, які быў зададзены для SSH-падлучэнняў).
  2. Націскаем кнопку Хуткае злучэнне і, калі ўсе дадзеныя былі ўведзеныя правільна, то ў актыўнай панэлі Вы ўбачыце ўсе файлы, размешчаныя на серверы.
  3. Пераходзім у дырэкторыю /mnt/storage. Усе ствараныя рэзервовыя копіі будуць ляжаць у паддырэкторыі "dump". Яны будуць мець выгляд:
    • vzdump-qemu-нумар_машыны-дата-час.vma.gz у выпадку выбару метаду GZIP;
    • vzdump-qemu-нумар_машыны-дата-час.vma.lzo у выпадку выбару метаду LZO.

Рэзервовыя копіі рэкамендуецца адразу спампоўваць з сервера і захоўваць у надзейным месцы, напрыклад, у нашым хмарным сховішчы. Калі распакаваць файл з дазволам vma, аднайменнай утылітай, якая ідзе ў камплекце з Proxmox, то ўсярэдзіне будуць файлы з пашырэннямі сыравіна, конф и fw. У гэтых файлах змяшчаецца наступнае:

  • сыравіна - выява дыска;
  • конф - канфігурацыя VM;
  • fw - налады фаервола.

Аднаўленне з рэзервовай копіі

Разгледзім сітуацыю, калі віртуальную машыну выпадкова выдалілі і патрабуецца яе экстранае ўзнаўленне з рэзервовай копіі:

  1. Адкрываем сховішча, на якім ляжыць рэзервовая копія.
  2. Пераходзім на ўкладку змесціва.
  3. Выбіраемы патрэбную копію і націскаем кнопку Аднаўленне.

    Пра бэкапы ў Proxmox VE

  4. Указваем мэтавае сховішча і ID, які будзе прысвоены машыне, пасля завяршэння працэсу.
  5. Націскаем кнопку Аднаўленне.

Як толькі аднаўленне завершыцца, VM з'явіцца ў спісе даступных.

Кланаванне віртуальнай машыны

Для прыкладу, выкажам здагадку, што ў кампаніі патрабуецца занесці змены ў які-небудзь крытычны сэрвіс. Такая змена рэалізуецца праз занясенне мноства правак у канфігурацыйныя файлы. Вынік пры гэтым непрадказальны і любая памылка здольная выклікаць збой сэрвісу. Каб падобны эксперымент не закрануў які працуе сервер, рэкамендуецца выканаць кланаванне віртуальнай машыны.

Механізм кланавання створыць дакладную копію віртуальнага сервера, з якой дапушчальна праводзіць любыя змены, пры гэтым не закранаючы працу асноўнага сервісу. Затым, калі змены будуць паспяхова ўжытыя, новая VM запускаецца ў працу, а старая выключаецца. У гэтым працэсе ёсць асаблівасць, пра якую заўсёды трэба памятаць. На кланаванай машыне IP-адрас будзе сапраўды такім жа, як і ў зыходнай VM, гэта значыць пры яе запуску паўстане канфлікт адрасоў.

Раскажам, як пазбегнуць такой сітуацыі. Непасрэдна перад выкананнем кланавання, варта занесці змены ў канфігурацыю сеткі. Для гэтага неабходна часова змяніць IP-адрас, але не перазапускаць сеткавы сэрвіс. Пасля выканання кланавання на асноўнай машыне варта вярнуць налады назад, а на кланаванай машыне задаць любы іншы IP-адрас. Тым самым мы атрымаем дзве копіі аднаго і таго ж сервера на розных адрасах. Гэта дазволіць хутка ўвесці новы сэрвіс у працу.

Калі гэтым сэрвісам з'яўляецца вэб-сервер, то дастаткова толькі змяніць А-запіс у Вашага DNS-правайдэра, пасля чаго запыты кліентаў па гэтым даменным імі будуць накіроўвацца ўжо на адрас кланаванай віртуальнай машыны.

Дарэчы, Selectel прадастаўляе ўсім сваім кліентам паслугу размяшчэння любой колькасці даменаў на NS-серверах бясплатна. Кіраванне запісамі ажыццяўляецца як з дапамогай нашай панэлі кіравання, так і з дапамогай спецыяльнага API. Больш падрабязна пра гэта чытайце у нашай базе ведаў.

Кланаванне VM у Proxmox з'яўляецца вельмі простай задачай. Для яе выканання неабходна выканаць наступныя дзеянні:

  1. Перайсці на патрэбную нам машыну.
  2. Выбраць з меню больш пункт Клон.
  3. У якое адкрылася акне запоўніць параметр Імя.

    Пра бэкапы ў Proxmox VE

  4. Выканаць кланаванне націскам кнопкі Клон.

Гэтая прылада дазваляе зрабіць копію віртуальнай машыны не толькі на лакальным серверы. Калі некалькі сервераў віртуалізацыі аб'яднаць у кластар, то з дапамогай гэтай прылады можна адразу перамясціць створаную копію на патрэбны фізічны сервер. Карыснай функцыяй з'яўляецца выбар дыскавага сховішча (параметр Мэтавае сховішча), што вельмі зручна пры перамяшчэнні віртуальнай машыны з аднаго фізічнага носьбіта на іншы.

Фарматы віртуальных назапашвальнікаў

Раскажам падрабязней аб выкарыстоўваных у Proxmox фарматах назапашвальнікаў:

  1. RAW. Самы зразумелы і просты фармат. Гэта файл з дадзенымі цвёрдай кружэлкі «байт у байт» без сціску або аптымізацыі. Гэта вельмі зручны фармат, паколькі яго лёгка змантаваць стандартнай камандай mount у любой linux-сістэме. Больш за тое гэта самы хуткі «тып» назапашвальніка, бо гіпервізару не трэба яго ніяк апрацоўваць.

    Сур'ёзным недахопам гэтага фармату з'яўляецца тое, што колькі Вы вылучылі месцы для віртуальнай машыны, роўна гэтулькі месцы на цвёрдай кружэлцы і будзе займаць файл у фармаце RAW (па-за залежнасцю ад рэальна занятага месца ўсярэдзіне віртуальнай машыны).

  2. QEMU image format (qcow2). Мабыць, самы ўніверсальны фармат для выканання любых задач. Яго перавага ў тым, што файл з дадзенымі будзе ўтрымоўваць толькі рэальна занятае месца ўсярэдзіне віртуальнай машыны. Напрыклад, калі было вылучана 40 Гб месцы, а рэальна было занята толькі 2 Гб, тое ўсё астатняе месца будзе даступна для іншых VM. Гэта вельмі актуальна ва ўмовах эканоміі дыскавай прасторы.

    Невялікім мінусам працы з гэтым фарматам з'яўляецца наступнае: каб прымантаваць такую ​​выяву ў любой іншай сістэме, запатрабуецца спачатку загрузіць асаблівы драйвер nbd, а таксама выкарыстоўваць утыліту qemu-nbd, якая дазволіць аперацыйнай сістэме звяртацца да файла як да звычайнай блокавай прылады. Пасля гэтага выява стане даступны для мантавання, разбіванні на часткі, ажыццяўленні праверкі файлавай сістэмы і іншых аперацый.

    Варта памятаць, што ўсе аперацыі ўводу-вываду пры выкарыстанні гэтага фармату праграмна апрацоўваюцца, што цягне за сабой запаволенне пры актыўнай працы з дыскавай падсістэмай. Калі стаіць задача разгарнуць на серверы базу дадзеных, то лепш абраць фармат RAW.

  3. VMware image format (vmdk). Гэты фармат з'яўляецца "родным" для гіпервізара VMware vSphere і быў уключаны ў Proxmox для сумяшчальнасці. Ён дазваляе выканаць міграцыю віртуальнай машыны VMware у інфраструктуру Proxmox.

    Выкарыстанне vmdk на сталай аснове не рэкамендуецца, дадзены фармат самы павольны ў Proxmox, таму ён падыходзіць толькі для выканання міграцыі, не больш за. Верагодна ў агляднай будучыні гэты недахоп будзе ўхілены.

Праца з выявамі дыскаў

У камплекце c Proxmox ёсць вельмі зручная ўтыліта, пад назовам qemu-img. Адной з яе функцый з'яўляецца канвертаванне выяў віртуальных дыскаў. Каб скарыстацца ім, дастаткова адкрыць кансоль гіпервізара і выканаць каманду ў фармаце:

qemu-img convert -f vmdk test.vmdk -O qcow2 test.qcow2

У прыведзеным прыкладзе, vmdk-выява віртуальнага назапашвальніка VMware пад назовам тэст будзе пераўтвораны ў фармат qcow2. Гэта вельмі карысная каманда, калі патрабуецца выправіць памылку пры першапачатковым выбары фармату.

Дзякуючы гэтай жа камандзе можна прымусова стварыць патрэбны вобраз, выкарыстоўваючы аргумент. стварыць:

qemu-img create -f raw test.raw 40G

Такая каманда створыць выяву test у фармаце RAW, памерам 40 Гб. Цяпер ён падыходзіць для падлучэння да любой з віртуальных машын.

Змяненне памеру віртуальнага дыска

І ў заключэнне пакажам як павялічыць памер выявы дыска, калі па нейкіх прычынах месца на ім перастала хапаць. Для гэтага скарыстаемся аргументам resize:

qemu-img resize -f raw test.raw 80G

Цяпер наша выява стаў памерам 80 Гб. Паглядзець падрабязную інфармацыю аб выяве можна з дапамогай аргументу інфармацыя:

qemu-img info test.raw

Не варта забываць, што само пашырэнне выявы не павялічыць памер часткі аўтаматычна - проста дадасць даступнае вольная прастора. Для павелічэння часткі скарыстайцеся камандай:

resize2fs /dev/sda1

дзе / Dev / sda1 - патрэбны раздзел.

Аўтаматызацыя стварэння рэзервовых копій

Выкарыстанне ручнога спосабу стварэння рэзервовых дзід - задача вельмі працаёмкая і займае шмат часу. Таму Proxmox VE утрымоўвае ў сабе сродак для аўтаматычнага рэзервовага капіявання па раскладзе. Разгледзім, як гэта зрабіць:

  1. Выкарыстоўваючы вэб-інтэрфейс гіпервізара, адчыняны пункт Датацэнтр.
  2. выбіраем пункт Рэзерваванне.
  3. Націскаем кнопку Дадаць.
  4. Задаем параметры для планавальніка.

    Пра бэкапы ў Proxmox VE

  5. Адзначаем галачкай пункт ўключыць.
  6. Захоўваем змены, выкарыстоўваючы кнопку Стварыць.

Цяпер планавальнік будзе аўтаматычна запускаць праграму рэзервовага капіявання ў сапраўды паказаны час, зыходзячы з зададзенага раскладу.

Заключэнне

Намі былі разгледжаны штатныя спосабы рэзервовага капіявання і ўзнаўленні віртуальных машын. Іх выкарыстанне дазваляе без асаблівых праблем захоўваць усе дадзеныя і экстрана аднавіць іх у выпадку няштатнай сітуацыі.

Вядома, гэта не адзіны магчымы спосаб захавання важных даных. Існуе мноства інструментаў, напрыклад, Двудушнасць, з дапамогай якіх можна ствараць поўныя і інкрыментныя копіі змесціва віртуальных сервераў на базе Linux.

Пры выкананні працэдур рэзервовага капіявання заўсёды варта ўлічваць, што яны актыўна нагружаюць дыскавую падсістэму. У сувязі з гэтым выконваць гэтыя працэдуры рэкамендуецца ў моманты мінімальнай нагрузкі, каб пазбегнуць затрымак пры выкананні аперацый уводу-вываду ўнутры машын. Сачыць за статусам затрымак дыскавых аперацый можна непасрэдна з вэб-інтэрфейсу гіпервізара (параметр IO delay).

Крыніца: habr.com

Дадаць каментар