Btrfs

Как да архивирате Btrfs снимки на външни устройства

Как да архивирате Btrfs снимки на външни устройства

По подразбиране можете да съхранявате снимките, които правите от вашите Btrfs подтоми в същата файлова система Btrfs, но не е възможно да съхранявате моментните снимки на една файлова система Btrfs директно в друга файлова система Btrfs. Файловата система Btrfs обаче ви предоставя необходимите инструменти за архивиране на моментни снимки на една файлова система Btrfs в друга файлова система Btrfs. Тази статия ви показва как да архивирате моментни снимки на Btrfs във външна файлова система Btrfs на външно устройство.

Предпоставки

За да изпробвате примерите, включени в тази статия, трябва да изпълните следните предпоставки:

Имам 20 GB твърд диск, sdb, на моята машина на Ubuntu. Създал съм два дяла, sdb1 и sdb2, на този твърд диск.

$ sudo lsblk -e7

Забележка: Вашият твърд диск или SSD ще има различно име от моето, както и дяловете. Така че, не забравяйте да замените тези имена от сега нататък.


Ще създам файлови системи Btrfs на sdb1 и sdb2 дялове. Снимките, създадени във файловата система Btrfs (sdb1) ще бъде архивирано във файловата система Btrfs, създадена в sdb2 дял. Файловата система Btrfs, създадена в sdb2 дялът ще действа като външно устройство. Можете също така да използвате USB палец или външен твърд диск; просто не забравяйте да го форматирате с файловата система Btrfs.

За помощ при инсталирането на файловата система Btrfs в Ubuntu, вижте статията ми Инсталиране и използване на Btrfs на Ubuntu 20.04 LTS.

За помощ при инсталирането на файловата система Btrfs във Fedora, вижте статията ми Инсталиране и използване на Btrfs на Fedora 33.

Създаване на задължителни файлови системи Btrfs

Ще форматирам и двете sdb1 и sdb2 дялове като Btrfs. Ще използвам sdb1 дял за съхранение на данни и моментни снимки на Btrfs. Ще използвам sdb2 дял за архивиране на моментните снимки на файловата система Btrfs, създадена в sdb1 дял.

За да създадете файлова система Btrfs в sdb1 дял и му дайте данни за етикета на файловата система, изпълнете следната команда:

$ sudo mkfs.btrfs -L data / dev / sdb1

Файлова система Btrfs сега трябва да бъде създадена на sdb1 дял.

За да създадете файлова система Btrfs в sdb2 дял и му дайте снимки на етикета на файловата система, изпълнете следната команда:

$ sudo mkfs.btrfs -L моментни снимки / dev / sdb2

Файлова система Btrfs сега трябва да бъде създадена на sdb2 дял.

Създайте директориите /данни и / моментни снимки за монтиране на sdb1 и sdb2 дялове, съответно, както следва:

$ sudo mkdir -v / данни, моментни снимки

Монтирайте файловата система Btrfs, която сте създали, в sdb1 дял в директорията / data, както следва:

$ sudo mount / dev / sdb1 / data

По същия начин монтирайте файловата система Btrfs, която сте създали, в sdb2 дял на / моментни снимки директория, както следва:

$ sudo mount / dev / sdb2 / моментални снимки

Както можете да видите на екранната снимка по-долу, и двете файлови системи Btrfs (sdb1 и sdb2 дялове) са монтирани правилно.

$ df -h -t btrfs

Правене на моментни снимки на файлова система Btrfs

В този раздел ще създадем фиктивния проект web1 на / data / projects / web1 Btrfs подтом. Ще направим моментна снимка на този подтом в този раздел, както и някои други снимки в следващите раздели на тази статия.

Първо, създайте новата директория / данни / проекти, както следва:

$ sudo mkdir -v / data / projects

След това създайте новото подтом уеб1 в / данни / проекти директория, както следва:

$ sudo btrfs подтом create / data / projects / web1

И накрая, създайте новия файлов индекс.html в / data / projects / web1 подтом с нано текстов редактор, както следва:

$ sudo nano / data / projects / web1 / index.html

Въведете следните редове код в индекса.html файл:




Демо уебсайт



Здравей свят




След като приключите, натиснете <Ctrl> + х следван от Y и <Въведете> за да запазите индекс.html файл.

По същия начин създайте новия файл стил.css в / data / projects / web1 подтом както следва:

$ sudo nano / data / projects / web1 / style.css


Въведете следните редове код в стил.css файл:

h1
цвят: зелен;

След като приключите, натиснете <Ctrl> + х следван от Y и <Въведете> за да запазите стил.css файл.

Сега, / data / projects / web1 подтом съдържа индекс.html и стил.css файл.

$ ls -lh / data / projects / web1

Ще запазим всички моментни снимки на тази файлова система Btrfs в /данни/.моментни снимки директория.

Първо създайте /данни/.моментни снимки директория със следната команда:

$ sudo mkdir -v / данни /.моментни снимки

След това създайте моментна снимка само за четене /данни/.моментни снимки / web1-2020-12-30 от / data / projects / web1 подтом със следната команда:

$ sudo btrfs снимка на подтома -r / data / projects / web1 / data /.моментни снимки / web1-2020-12-30

Както можете да видите, новата моментна снимка /данни/.моментни снимки / web1-2020-12-30 е създаден.

$ sudo btrfs списък с подтомици / данни

Архивиране на моментни снимки на външно устройство

За архивиране на моментната снимка /данни/.моментни снимки / web1-2020-12-30 към друга файлова система Btrfs (в този случай външно устройство sdb2), монтирана на / моментни снимки директория, изпълнете следната команда:

$ sudo btrfs изпращане / данни /.моментни снимки / web1-2020-12-30 | sudo btrfs получаване / моментни снимки

Снимката /данни/.моментни снимки / web1-2020-12-30 трябва да се архивира във външната файлова система Btrfs (sdb2), монтиран на / моментни снимки директория.

Както можете да видите, нов подтом в мрежата 1-2020-12-30 е създаден във външната файлова система Btrfs.

$ sudo btrfs списък с подтомици / снимки

The снимка в мрежата1-2020-12-30 трябва да имат същите файлове/ директории като /данни/.моментни снимки / web1-2020-12-30 моментална снимка.

$ дърво -a / моментни снимки

Можете да получите повече информация за архивираната снимка / snapshosts / web1-2020-12-30 както следва:

$ sudo btrfs подтом show / snapshots / web1-2020-12-30

Допълнително архивиране на моментни снимки към външно устройство

Ако в моментните снимки има много файлове за архивиране на външно устройство, то инкременталните архиви ще ви помогнат да ускорите операцията за архивиране. В този случай Btrfs ще актуализира само файловете, които са се променили от последната снимка и ще копира нови файлове, които не са били налични в последната снимка.

В този раздел ще ви покажа как да направите допълнителни резервни копия на моментни снимки на Btrfs към външни файлови системи на Btrfs.

Първо отворете индекс.html файл от / data / projects / web1 подтом, както следва:

$ sudo nano / data / projects / web1 / index.html

Направете всички промени, които искате в индекс.html файл. След като приключите, натиснете <Ctrl> + х следван от Y и <Въведете> за да запазите индекс.html файл.

Направете нова снимка само за четене на / data / projects / web1 подтом, както следва:

$ sudo btrfs снимка на подтома -r / data / projects / web1 / data /.моментни снимки / web1-2020-12-31

Както можете да видите, новата моментна снимка /данни/.моментни снимки / web1-2020-12-31 от / data / projects / web1 подтом е създаден.

$ sudo btrfs списък с подтомици / данни

Сега сме готови да направим допълнително архивиране.

За да направите допълнително архивиране, ще ви е необходима обща снимка както на източника, така и на местоназначението (външно устройство) файлови системи Btrfs. Общата снимка обикновено е най-новата снимка на подтом Btrfs. Когато направите нова снимка на изходната файлова система Btrfs, новата снимка се сравнява с най-новата снимка (налична както на източника, така и на целевата файлова система Btrfs) на изходната файлова система Btrfs. Btrfs ще изчисли разликата и ще изпрати само необходимите данни до целевата файлова система Btrfs (външното устройство).

Например, за да направите допълнително архивиране на /данни/.моментни снимки / уеб1-2020-12-31 моментна снимка, трябва да посочите родителската моментна снимка (най-новата моментна снимка, достъпна както във файловата система Btrfs на източника, така и на местоназначението), /данни/.моментни снимки / web1-2020-12-30, както добре.

Постепенно архивиране на /данни/.моментни снимки / web1-2020-12-31 моментната снимка може да бъде направена във външна файлова система Btrfs, както следва:

$ sudo btrfs изпраща -p / data /.моментни снимки / web1-2020-12-30 / data /.моментни снимки / web1-2020-12-31 | sudo btrfs получаване / снимки

Постепенно архивиране на /данни/.моментни снимки / web1-2020-12-31 трябва да се направи моментна снимка.

Както можете да видите, снимка на web1-2020-12-31 е архивиран към външната файлова система Btrfs, монтирана на / моментни снимки директория.

$ sudo btrfs списък с подтомици / снимки

Както можете да видите на екранната снимка по-долу, промените, които сте направили в индекс.html файл са налични в снимка на web1-2020-12-31 който е архивиран във външната файлова система Btrfs.

$ cat / snapshots / web1-2020-12-31 / index.html

По същия начин можете да правите толкова резервни резервни копия на вашите моментни снимки, колкото искате.

Ще ви покажа как да направите допълнително архивиране още веднъж. Няма да отделя време да го обясня отново. Вместо това просто ще ви покажа процеса за по-голяма яснота.

Отвори индекс.html файл от / data / projects / web1 подтом, както следва:

$ sudo nano / data / projects / web1 / index.html

Направете всички промени, които искате в индекс.html файл. След като приключите, натиснете <Ctrl> + х следван от Y и <Въведете> за да запазите индекс.html файл.

Направете нова снимка само за четене на / data / projects / web1 подтом, както следва:

$ sudo btrfs снимка на подтома -r / data / projects / web1 / data /.моментни снимки / web1-2020-12-31_2

Вземете постепенно архивиране на /данни/.моментни снимки / web1-2020-12-31_2 моментна снимка към външна файлова система Btrfs, както следва:

$ sudo btrfs изпраща -p / data /.моментни снимки / web1-2020-12-31 / data /.моментни снимки / web1-2020-12-31_2 | sudo btrfs получаване / моментни снимки

Забележка: Сега, родителската снимка, към която /данни/.моментни снимки / web1-2020-12-31_2 моментна снимка ще бъде сравнено е /данни/.моментни снимки / web1-2020-12-31.

Както можете да видите, уеб1-2020-12-31_2 снимката е архивирана във външната файлова система Btrfs, монтирана на / моментни снимки директория.

$ sudo btrfs списък с подтомици / снимки

Както можете да видите на екранната снимка по-долу, последните промени, направени в индекс.html файл са достъпни на web1-2020-12-31_2 моментна снимка архивирани към външната файлова система Btrfs.

$ cat / snapshots / web1-2020-12-31_2 / index.html

Поддържане на нещата чисти

Ако правите резервни копия на вашите снимки на Btrfs често, ще получите много снимки и може да стане трудно да ги управлявате. За щастие можете да премахнете всяка моментна снимка от файловата система Btrfs.

Ако използвате достатъчно голямо външно устройство за съхраняване на резервни копия на моментните снимки на Btrfs, тогава можете да запазите няколко снимки на вашата файлова система Btrfs и да архивирате всички моментни снимки на външното устройство.

Ако използвате по-малко външно устройство, можете да съхранявате избирателно само най-важните моментни снимки, архивирани на външното устройство.

За да направите резервни копия на вашите моментни снимки на Btrfs, трябва да запазите поне най-новата моментна снимка и на двата източника (/данни/.моментни снимки) и дестинацията (/ моментни снимки - външно устройство) Файлови системи Btrfs. Така че, не се колебайте да премахнете всички снимки, различни от най-новата снимка на двата края.

Например в този случай най-новата моментна снимка е уеб1-2020-12-31_2. Така че, за да изпълнявате инкрементални архиви, тази моментна снимка трябва да се съхранява в файловите системи Btrfs на източника и дестинацията (външно устройство).

Да предположим, че искате да премахнете /данни/.моментни снимки / уеб1-2020-12-30 моментна снимка.

За да направите това, изпълнете следната команда:

$ sudo btrfs подтом изтриване / данни /.моментни снимки / web1-2020-12-30

Моменталната снимка на Btrfs /данни/.моментни снимки / web1-2020-12-30 сега трябва да бъде премахнат.

По същия начин можете да премахнете /данни/.моментни снимки / уеб1-2020-12-31 моментна снимка, както следва:

$ sudo btrfs подтом изтриване / данни /.моментни снимки / web1-2020-12-31

Сега, само най-новата моментна снимка, /данни/.моментни снимки / web1-2020-12-31_2, е достъпна във файловата система Btrfs, монтирана на /данни директория. Останалите моментни снимки се архивират на външното устройство, монтирано на / моментни снимки директория.

$ sudo btrfs списък с подтомици / данни
$ sudo btrfs списък с подтомици / снимки

Възстановяване на моментни снимки от външно устройство

Ако сте архивирали вашите моментни снимки на външното устройство, можете да ги възстановите по всяко време от външното устройство.

Например премахнах web1-2020-12-30 моментна снимка от моята файлова система Btrfs, монтирана на /данни директория. Но тази снимка е архивирана на външното устройство, монтирано на / моментни снимки директория. Нека възстановим тази снимка.

$ sudo btrfs списък с подтомици / снимки

За да възстановите web1-2020-12-30 моментна снимка от външното устройство изпълнете следната команда:

$ sudo btrfs send / snapshots / web1-2020-12-30 | sudo btrfs получаване / данни /.моментни снимки

The снимка в мрежата1-2020-12-30 трябва да бъде възстановена във файловата система Btrfs, монтирана на /данни директория.

Както можете да видите, web1-2020-12-30 моментна снимка се възстановява във файловата система Btrfs, монтирана на /данни директория.

$ sudo btrfs списък с подтомици / данни

И както можете да видите, съдържанието на индекс.html файл от web1-2020-12-30 моментна снимка. Това е първата версия на индекс.html файл от преди.

$ котка / данни /.моментни снимки / web1-2020-12-30 / index.html

Заключение

В тази статия научихте как да архивирате моментни снимки на вашата файлова система Btrfs на външно устройство. Също така научихте как да правите допълнителни резервни копия на вашите моментни снимки на Btrfs на външно устройство. И накрая, научихте как да премахвате съществуващи снимки от файлова система Brtfs и да възстановявате снимки от външното устройство, както и.

SuperTuxKart за Linux
SuperTuxKart е страхотно заглавие, създадено да ви предостави безплатно изживяването на Mario Kart във вашата Linux система. Играта е доста предизвика...
Урок за битка за Уеснот
Битката за Уеснот е една от най-популярните стратегически игри с отворен код, които можете да играете по това време. Тази игра не само се разработва о...
0 А.д. Урок
От многото стратегически игри, 0 A.д. успява да се открои като изчерпателно заглавие и много дълбока, тактическа игра, въпреки че е с отворен код. Раз...