червена шапка

Как да управлявате многослойно локално съхранение със Stratis на RHEL 8

Как да управлявате многослойно локално съхранение със Stratis на RHEL 8
Stratis е решение за локално управление на съхранение от екипа на RedHat, въведено с RHEL 8, което позволява на системните администратори да конфигурират разширени функции за съхранение като:

  1. Базирано на басейни управление
  2. Тънка провизия
  3. Снимки на файловата система
  4. Мониторинг

Stratisd е демонът зад Stratis и помага при конфигурирането на компоненти за съхранение под файловата система XFS и подсистемата за картографиране на устройства. В момента Стратис поддържа LVM логически томове, твърди дискове, SSD дискове, NVMe, и ISCI устройства за съхранение.

Сега, нека се потопим и да разгледаме някои основни ключови термини

  1. blockdev: Това е терминология, която се отнася до блокови устройства.
  2. Басейн: Пул може да се състои от единични или няколко блокови устройства. Размерът на стратис пула ще бъде еквивалентен на сумата от блоковите устройства, изграждащи пула.
  3. Файлова система: Файлова система е тънко предоставен слой, чийто размер нараства с добавянето на повече информация или данни. Размерът на файловата система се увеличава автоматично от Stratis, тъй като данните нарастват почти до размера на виртуалната файлова система.

Стратис се състои от:

  1. Stratisd демон: Демон, който позволява на потребителя да управлява блокови устройства.
  2. Stratis-cli: Помощна програма за команден ред, която идва със Stratis.

Инсталиране на Stratis на RHEL 8

След като накратко представихме Stratis, какво прави и неговите компоненти, нека сега инсталираме Stratis на RHEL 8

За да инсталирате Stratis на RHEL 8, влезте като root потребител и изпълнете командата:

# dnf инсталирайте stratisd stratis-cli

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

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

# rpm -q stratisd stratis-cli

Стартиране на услугата Stratis на RHEL 8

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

# systemctl enable --now stratisd

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

# systemctl статус stratisd

От изхода по-горе можем да забележим, че Stratis работи и работи.

Създаване на басейн Stratis

Преди да започнете със създаването на Stratis пул, уверете се, че блоковите устройства във вашата система имат минимум 1 GB. Освен това тези устройства трябва да бъдат демонтирани и на празен ход. Освен това демонът stratisd трябва да работи. в нашата настройка има 5 блокови устройства освен основния дял:

  1. / dev / xvdb
  2. / dev / xvdc
  3. / dev / xvdd
  4. / dev / xvde
  5. / dev / xvdf

Можете да разгледате съществуващите блокови устройства, като изпълните командата:

# lsblk

Също така е от решаващо значение да се гарантира, че блоковите устройства нямат съществуваща таблица на дяловете.

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

# blkid -p /

Например

# blkid -p / dev / xvdb

Няма изход означава, че не съществува таблица на дяловете на блоковите устройства. Въпреки това, в случай че таблица на дялове съществува на едно от устройствата, можете да изтриете дяла с помощта на командата:

# wipefs -a /

Създаване на Stratis Pool от едно блоково устройство

Можете да създадете Stratis пул от единично блоково устройство, като използвате синтаксиса:

# stratis pool create  

Например за създаване на пул pool_1 от блоковото устройство  / dev / xvdb тичам:

# stratis pool създава pool_1 / dev / xvdb

За да изброите създадения пул, изпълнете:

# stratis списък на пула

От изхода по-горе можем ясно да видим, че има нов пул, pool_1 е създаден.

Създайте Stratis Pool от множество блокови устройства

За да създадете пул от множество устройства, използвайте синтаксиса по-долу, изброявайки всички устройства на един ред

# stratis pool create

За да създадете пул от / dev / xvdc и  / dev / xvdd изпълнете командата:

# stratis pool създава pool_2 / dev / xvdc / dev / xvdd /

Още веднъж избройте наличните пулове с помощта на командата:

# stratis списък на пула

В този момент трябва да имате 2 пула:  pool_1 и pool_2

От изхода по-горе можем ясно да отбележим, че pool_2 е два пъти по-голям от pool_1, защото се състои от две блокови устройства, всяко от които има физически обем от 10 GB.

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

От един от създадените преди това пулове Stratis можете да създадете файлова система, като използвате синтаксиса по-долу:

# stratis fs създават  

Например, за да създадете файлова система fs_1 от pool_1 изпълнете командата:

# stratis fs създават pool_1 fs_1

Също така можете да създадете повече от 1 файлова система от един пул. Във втория пул ще създадем 2 файлови системи: 

fs_2 
& fs_3
# stratis fs създават pool_2 fs_2
# stratis fs създават pool_2 fs_3

Сега, за да покажете новите файлови системи, изпълнете:

# stratis fs list

За да изброите файлови системи в даден пул, използвайте синтаксиса

# stratis fs list

Например, за да видите файловите системи, съществуващи в pool_1, изпълнете командата:

# stratis fs list pool_1

За пул pool_2:

# stratis fs list pool_2

Както се очаква, имаме 2 файлови системи във втория пул.

В този момент стартирането на  lsblk команда ще даде изход, подобен на този по-долу:

Как да монтирате файлова система Stratis

За достъп до файловите системи трябва първо да ги монтираме. Първата стъпка ще бъде създаването на точки за монтиране за всяка от файловите системи. Това е обобщено в таблицата по-долу

Файлова система Mount Point
fs_1 / съхранение
fs_2 /база данни
fs_3 / архивиране

Така че, създайте първата точка за монтиране на файловата система в pool_1

# mkdir / съхранение

След това монтирайте файловата система

# mount / Stratis / pool_1 / fs_1 / storage

За да монтирате втората файлова система, следвайте същата процедура:

# mkdir / база данни

Монтирайте файловата система:

# mount / stratis / pool_2 / fs_2 / база данни

И накрая за последната файлова система:

# mkdir / архивиране

Монтирайте файловата система:

# mount / stratis / pool_2 / fs_3 / backup

Можете да потвърдите съществуването на точките за монтиране с помощта на командата:

# df -Th | grep stratis

Направете файловите системи stratis устойчиви

Файловите системи, които току-що създадохме, няма да оцелеят при рестартиране. За да ги направим постоянни, трябва да ги добавим към / и т.н. / fstab файл.

Първо, нека извлечем UUID на файловите системи, както е показано

# blkid -p / stratis / pool_1 / fs_1
# blkid -p / stratis / pool_2 / fs_2
# blkid -p / stratis / pool_2 / fs_3

# echo "UUID = 9161da55-6c4b-4761-9da9-1b3999945964 / съхранение
xfs по подразбиране 0 0 "| sudo tee -a / etc / fstab
# echo "UUID = ddfa4252-a9d6-4c10-8981-e7dbd56450ee / база данни
xfs по подразбиране 0 0 "| sudo tee -a / etc / fstab
# echo "UUID = 512bc0b7-182e-46ed-9fbd-d5be4d055fcf / backup
xfs по подразбиране 0 0 "| sudo tee -a / etc / fstab

Можете да потвърдите добавянето на файловите системи към / и т.н. / fstab както е показано:

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

# systemctl daemon-reload

След това монтирайте всички файлови системи

# монтиране -a

Добавяне на блоково устройство към пул Stratis

За да добавите блоково устройство към съществуващ Stratis пул, изпълнете командата:

# stratis pool add-data

Например да добавите обема на блока  / dev / xvde да се  pool_1 изпълнете командата:

# stratis pool pool add-data pool_1 / dev / xvde

Сега проверете размера на  pool_1

# stratis списък на пула

Както се наблюдава, размерът на pool_1 се е удвоил в резултат на добавеното блоково устройство.

Създаване на снимка на Stratis

Файловата система stratis е точно копие или копие на друга файлова система Stratis. Съдържа същото съдържание като оригиналната файлова система. Една моментна снимка обаче може по-късно да бъде модифицирана и след това ще съществуват разлики между моментната снимка и оригиналната файлова система.

Ето няколко неща, които също трябва да знаете:

  1. Снимка на файлова система е просто друга файлова система с реплики.
  2. Не е необходимо да монтирате файлова система, за да можете да създадете моментна снимка от нея.
  3. Една моментна файлова система може да надживее оригиналната файлова система, от която е създадена

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

# stratis fs моментна снимка

Например, за да създадете моментна снимка, наречена снимка_1 в pool_1 изпълнете командата

# stratis fs snapshot pool_1 fs_1 snapshot_1

Това ще отнеме около 30 секунди.

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

# stratis списък с файлова система

В този случай командата ще бъде:

# stratis списък с файлова система pool_1

Освен това можете да добавите атрибут дата (-$ (дата +% Y-% m-% d) за лесно разпознаване кога е създадена моментната снимка. Нека създадем още една моментна снимка, използвайки втория пул.

# stratis fs snapshot pool_2 fs_2 snapshot_2 - $ (дата +% Y-% m-% d)

За да изброите новосъздадената снимка на Stratis, издайте командата:

# stratis списък с файлови системи pool_2

От изхода по-горе можем да видим моментна снимка, създадена в pool_2 с маркер за дата.

Как да се върнете към предишна снимка с помощта на файлова система

За да се върнете към предишна снимка с помощта на файлова система, първо трябва да демонтирате и унищожите оригиналната файлова система.

# umount / stratis //файлова система

Например в  pool_2  да се върнете към моментна снимка_2 демонтирайте файловата система fs_2

# umount / stratis / pool_2 / fs_2

След това създайте копие на моментната снимка от оригиналната файлова система

# stratis моментна снимка на файловата система
моментна снимка fs-mountpoint

Командата ще бъде:

# stratis файлова система моментна снимка pool_2 snapshot_2-2019-11-15 база данни

И накрая, монтирайте моментната снимка, като използвате точката на монтиране на файловата система

# mount / stratis / pool_2 / fs_2 / база данни

Премахване на моментна снимка на Stratis

За да премахнете снимка на Stratis, първо демонтирайте снимката.

# umount / snapshot_mountpoint

За да премахнете моментната снимка, създадена в pool_2, демонтирайте точката на монтиране, както е показано

# umount / база данни

След това продължете и унищожете моментната снимка:

# stratis файлова система унищожава

Командата ще бъде:

# stratis файлова система унищожава pool_2 snapshot_2-2019-11-15

Сега опитайте да изброите файловите системи в pool_2. YOu ще забележите, че моментната снимка вече е изчезнала.

# stratis списък с файлова система pool_2

Премахване на файлова система Stratis

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

# umount / stratis / pool / файлова система

Например за премахване на файловата система fs_1 в pool_1, първо го демонтирайте, както е показано:

# umount / stratis / pool_1 / fs_1

След това унищожете файловата система, като използвате синтаксиса по-долу:

# stratis файлова система унищожава пула fs

В нашия сценарий командата ще бъде:

# stratis файлова система унищожава pool_1 fs_1

За да потвърдите, че файловата система е била успешно премахната, изпълнете командата:

# stratis списък с файлови системи pool_1

Както можете да забележите, файловата система вече не съществува.

Премахване на басейн Stratis

И накрая, нека видим как можете да премахнете пул Stratis.

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

Тъй като на pool_1 остава моментна снимка, първо ще я премахнем, като първо премахнем точката на монтиране, свързана със снимката

# umount / съхранение

След това унищожете файловата система.

# stratis файлова система унищожава пул_1 моментна снимка_1

След като моментната снимка вече е премахната, премахнете pool_1 с помощта на командата

# стратис пул унищожи пул_1

Сега избройте наличните пулове:

# stratis списък на пула

Да премахна pool_2 , нека първо изброим файловите системи

# stratis списък с файлова система pool_2

Демонтирайте и унищожете файловите системи, както е показано

# umount / stratis / pool_2 / fs_3
# stratis файлова система унищожава pool_2 fs_3
# stratis файлова система унищожава базата данни pool_2

След това унищожете пула и избройте басейните

# стратис пул унищожава pool_2
# stratis списък на пула

Перфектно ! всички басейни вече ги няма. Върнахме се там, откъдето започнахме ! Можете да потвърдите още веднъж, като изброите заключващите устройства с помощта на командата:

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

Препратки:

  • https: // достъп.червена шапка.com / documentation / en-us / red_hat_enterprise_linux / 8 / html / management_file_systems / management-layered-local-storage-with-stratis_managing-file-systems
  • https: // www.tecmint.com / install-stratis-to-manage-layered-local-storage-on-rhel /
Най-добрите игри за команден ред за Linux
Командният ред не е само най-големият ви съюзник при използване на Linux - той може да бъде и източник на забавление, защото можете да го използвате, ...
Най-добрите приложения за картографиране на геймпад за Linux
Ако искате да играете игри на Linux с геймпад вместо типична система за въвеждане на клавиатура и мишка, има някои полезни приложения за вас. Много ко...
Полезни инструменти за геймърите на Linux
Ако искате да играете игри на Linux, има вероятност да сте използвали приложения и помощни програми като Wine, Lutris и OBS Studio, за да подобрите иг...