ZFS

ZFS DigitalOcean Hands On уроци

ZFS DigitalOcean Hands On уроци

OpenZFS: Ръководство с помощта на DigitalOcean

Може да сте чували няколко пъти, че ZFS е файлова система за корпоративен клас, предназначена да обработва големи количества данни в сложни масиви. Естествено, това би накарало всеки нов посетител да мисли, че не би трябвало (или не би могъл) да се занимава с такава технология.

Нищо не може да бъде по-далеч от истината. ZFS е един от малкото софтуер, който просто работи. Извън кутията, без никаква фина настройка, той прави всички неща, които рекламира - от проверки на целостта на данните до конфигурация на RAIDZ. Да, налични са опции за фина настройка и човек може да се задълбочи, ако възникне необходимост. Но за начинаещи по подразбиране работят чудесно добре.

Единственото ограничение, което може да срещнете, е ограничението на хардуера. Поставянето на множество дискове в различна конфигурация означава, че имате много дискове, разположени наоколо, за да бъдете с тях! Това е мястото, където DigitalOcean (DO) идва на помощ.

Забележка: Ако сте запознати с DO и как да настроите SSH ключове, можете да преминете направо към ZFS частта на дискусията. Това, което показва следващият два раздела, е как да настроите VM на DigitalOcean и да прикачите блокови устройства към него с

Въведение в DigitalOcean

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

Освен това те се таксуват на час, което означава, че можете да работите с различни конфигурации на ZFS за няколко часа, да изтриете всички виртуални машини и съхранение, след като сте доволни, и сметката ви няма да надвишава повече от няколко долара.

За този урок ще използваме две от функциите на DigitalOcean:

  1. Капчици: Droplet е тяхната дума за виртуална машина, работеща с операционна система със статичен публичен IP. Нашият избор на операционна система ще бъде Ubuntu 16.04 LTS.
  2. Блокиране на съхранение: Блоковото съхранение е подобно на диск, прикрепен към вашия компютър. Освен това тук можете да решите размера и броя на дисковете, които желаете.

Регистрирайте се за DigitalOcean, ако още не сте го направили.

За да влезете във вашата виртуална машина има два начина, единият е да използвате конзолата (за която паролата ви се изпраща по имейл) или можете да използвате опцията SSH ключ.

Основна SSH настройка

Потребителите на MacOS и други UNIX, които имат терминал на работния си плот, могат да го използват за SSH в техните капчици (SSH клиентът е инсталиран по подразбиране на всички повечето Unices) и потребителят на Windows може да иска да изтегли Git Bash.

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

$ mkdir -p ~ /.ssh
$ cd ~ /.ssh
$ ssh-keygen -y -f YourKeyName

Това ще генерира два файла в ~ /.ssh директория, една на име YourKeyName, която трябва да поддържате безопасна и лична през цялото време. Това е вашият личен ключ. Той ще шифрова съобщения, преди да ги изпратите на сървъра, и ще дешифрира съобщенията, които северът ви изпраща обратно. Както подсказва името, частният ключ е предназначен да се пази в тайна през цялото време.

Създава се друг файл с име YourKeyName.кръчма и това е вашият публичен ключ, който ще предоставите на DigitalOcean, когато създавате капката. Той се справя с криптирането и декриптирането на съобщенията на сървъра, точно както прави частният ключ на вашата локална машина.

Създаване на първата ви капчица

След като се регистрирате за DO, сте готови да създадете първата си капчица.  Следвайте стъпките по-долу:

1. Кликнете върху бутона за създаване в горния десен ъгъл и изберете Капка опция.

2. Следващата страница ще ви позволи да решите спецификациите на вашата капчица. Ще използваме Ubuntu.

3. Изберете размер, дори опцията $ 5 / mo работи за малки експерименти.

4. Изберете най-близкия до вас център за данни за ниски латентности. Можете да пропуснете останалите допълнителни опции.

Забележка: Не добавяйте никакви томове сега. Ще ги добавим по-късно за по-голяма яснота.

5. Кликнете върху Нови SSH ключове и копирайте цялото съдържание на YourKeyName.кръчма в него и му дайте име. Сега просто кликнете върху Създайте и вашата Droplet е добре да отидете.

6. Вземете IP адреса на вашата капчица от таблото за управление.

7. Сега можете да SSH, като корен потребител, във вашия Droplet, от вашия терминал, като използвате командата:

$ ssh корен @ 138.68.97.47 -i ~ /.ssh / YourKeyName

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

Добавяне на блоково съхранение

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

$ lsblk

Ще видите само един диск, разделен на три блокови устройства. Това е инсталацията на ОС и няма да експериментираме с тях. За това се нуждаем от повече устройства за съхранение.

За това отидете на вашето табло за управление DigitalOcean, щракнете върху Cреагирам като в първата стъпка и изберете опция за сила на звука. Прикрепете го към вашата капчица и му дайте подходящо име. Добавете три такива тома, като повторите тази стъпка още два пъти.

Сега, ако се върнете към терминала си и въведете lsblk, ще видите нови записи в този списък. На екранната снимка по-долу има 3 нови диска, които ще използваме за тестване на ZFS.

Като последна стъпка, преди да влезете в ZFS, първо трябва да маркирате дисковете си по GPT схема. ZFS работи най-добре със схемата на GPT, но блоковото хранилище, добавено към вашите капчици, има MBR етикет върху тях. Следващата команда решава проблема, като добавя GPT етикет към новозакрепените блокови устройства.

$ sudo се раздели / dev / sda mklabel gpt

Забележка: Той не разделя блоковото устройство, той просто използва помощната програма „parted“, за да даде глобално уникален ID (GUID) на блоковото устройство. GPT означава GUID дялова таблица и проследява всеки диск или дял с етикет GPT върху него.

Повторете същото за sdb и sdc.

Сега сме готови да започнем с използването на OpenZFS с достатъчно устройства, за да експериментираме различни аранжименти.

Zpools и VDEVs

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

Виртуално устройство (или Vdev) може да бъде отделен диск или група дискове, които са изложени като едно устройство на zpool. Например трите 100GB устройства, създадени по-горе sda, sdb и sdc всички могат да бъдат самостоятелно vdev и можете да създадете zpool с име резервоар, от него, който ще има капацитета за съхранение на 3-те комбинирани диска, който е 300GB
Първо инсталирайте ZFS за Ubuntu 16.04:

$ apt инсталирайте zfs
$ zpool създайте резервоар sda sdb sdc
$ zpool резервоар за състояние

Вашите данни се разпределят равномерно между трите диска и ако някой от дисковете се провали, всичките ви данни се губят. Както можете да видите по-горе, дисковете са самите vdevs.

Но можете също така да създадете zpool, където трите диска се репликират, известни като огледални.

Първо унищожете предварително създадения басейн:

$ zpool унищожи резервоара

За да създадем огледален vdev, ще използваме ключовата дума огледало:

$ zpool създайте огледало за резервоар sda sdb sdc

Сега общото количество налично хранилище е само 100 GB (използвайте zpool списък за да го видим), но сега можем да издържим до два устройства на отказ във vdev огледало-0.

Когато свършите с място и искате да добавите още място за съхранение към вашия басейн, ще трябва да създадете още три тома в DigitalOcean и да повторите стъпките в Добавяне на блоково съхранение направете го с още 3 блокови устройства, които ще се покажат като vdev огледало-1. Засега можете да пропуснете тази стъпка, просто знайте, че това може да се направи.

$ zpool добавете огледало за резервоар sde sdf sdg

И накрая, има конфигурация raidz1, която може да се използва за групиране на три или повече диска във всеки vdev и може да оцелее при повреда на 1 диск на vdev и да даде общо налично хранилище от 200 GB.

$ zpool унищожи резервоара
$ zpool създайте резервоар raidz1 sda sdb sdc

Докато списъкът zpool показва нетния капацитет на хранилището за суровини, zfs списък и df -h командите показват действително наличното хранилище на zpool. Така че, винаги е добра идея да проверите наличното хранилище с помощта zfs списък команда.

Ще използваме това за създаване на набори от данни.

Набори от данни и възстановяване

Традиционно използвахме за монтиране на файлови системи като / home, / usr и / temp в различни дялове и когато ни свърши място, трябваше да добавим символни връзки към допълнителни устройства за съхранение, добавени към системата.

С zpool добавяне можете да добавяте дискове към същия пул и той продължава да расте според вашите нужди. След това можете да създадете набори от данни, което е терминът zfs за файлова система, като / usr / home и много други, които след това живеят в zpool и споделят цялото хранилище, предоставено им.

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

$ zfs създава резервоар / набор от данни1
$ zfs списък

Както споменахме по-горе, пул raidz1 може да издържи повреда до един диск. Така че нека тестваме това.

$ zpool офлайн резервоар sda

Сега басейнът е офлайн, но не всичко е загубено. Можем да добавим още един том, sdd, като използвате DigitalOcean и му дадете gpt етикет както преди.

Допълнителна информация

Препоръчваме ви да изпробвате ZFS и различните му функции, колкото искате, през свободното си време. Не забравяйте да изтриете всички обеми и капчици, след като приключите, за да избегнете неочаквани фактури в края на месеца.

Можете да научите повече за терминологията на ZFS тук.

Как да използвам GameConqueror Cheat Engine в Linux
Статията обхваща ръководство за използването на GameConqueror cheat engine в Linux. Много потребители, които играят игри под Windows, често използват ...
Най-добрите емулатори на игрови конзоли за Linux
Тази статия ще изброи популярния софтуер за емулация на игрова конзола, наличен за Linux. Емулацията е слой за софтуерна съвместимост, който емулира х...
Най-добрите дистрибуции на Linux за игри през 2021 г
Операционната система Linux е изминала дълъг път от първоначалния си, прост, базиран на сървъра външен вид. Тази операционна система се подобри неимов...