Диски та сховище для віртуальних машин

Додаємо диски та сховище для віртуальних машин

Диски та сховище для віртуальних маши

Тепер приступимо до налаштування сховища.

Для цього нам необхідно перейти в пункт меню Datacenter - Storage і натиснути Add, вибравши тип сховища Directory. Сюди ми додамо наш примонтований каталог data, який ми створили на нашому програмному raid, та на якому у нас будуть розміщені гостьові віртуальні машини.


Після чистої установки proxmox на debian автоматично створюється сховище local, яке розташовується на одному розділі з операційною системою за адресою /var/lib/vz. Воно вже призначене для зберігання образів дисків, віртуальних машин та контейнерів.

Для зручності краще цей розділ не позичати, залишити необхідний простір для нормальної роботи ОС, а для віртуальних машин створити окреме сховище в незайнятій області жорстких дисків, яку ми залишили під час встановлення, або на окремому жорсткому диску або рейді масиві. Спочатку розглянемо варіант створення сховища на нерозміченій області диска.

Ми створимо ще один raid 1 mdadm із незайнятого місця на дисках.

Для цього нам потрібно буде там створити розділи та об’єднати їх у програмний рейд за допомогою mdadm.

– Звертаю відразу увагу, що це тестове середовище, насправді так диски розбивати не треба.

Оптимально зробити raid 1 із двох окремих під систему, зайнявши 30-50 гігів, решта місця на цьому рейді віддати під iso образи та можливо бекапи.

Для віртуальних машин підключити окремі диски та зібрати з них рейд. Його рівень залежатиме від кількості дисків. Оптимально 4 штуки для raid 10

Дивимося імена дисків у нашій системі:

# ls -l /dev | grep sd

У мене 2 диски sda та sdb. На них вже є по 2 розділи, які ми зробили під час встановлення системи. Створимо на кожному з них ще по одному розділу з усього вільного місця, що залишилося.

# cfdisk /dev/sda

Вибираємо вільний простір, створюємо на ньому розділ та вказуємо тип – Linux raid autodetect.

Те саме робимо з другим диском. Після цих дій у вас мають з’явитися нові розділи /dev/sda3 та /dev/sdb3.

Щоб це сталося, потрібно або перезавантажити сервер або перечитати таблицю розділів командою:

# partprobe -s

# Якщо команду не знайдено, встановіть parted:

# apt install parted

Тепер об’єднаємо щойно створені розділи в raid1:

# mdadm --create /dev/md2 --level=1 --raid-disks=2 /dev/sda3 /dev/sdb3

Перевіримо інформацію про mdadm: cat /proc/mdstat

Все гаразд, масив синхронізується. Дочекайтеся закінчення синхронізації та продовжуйте. Хоча це не обов’язково, масив і зараз вже готовий до роботи, він сильно гальмуватиме під час ребілда.

Додамо інформацію про новий масив у конфігураційний файл /etc/mdadm/mdadm.conf, інакше після перезавантаження масив не буде видно в системі:

# mdadm --examine --scan | grep 'md/2' >> /etc/mdadm/mdadm.conf

Конфігураційний файл /etc/mdadm/mdadm.conf набуде такого вигляду:

ARRAY /dev/md/2  metadata=1.2 UUID=30werfdgc4e:6awwreca:6423we8d:ee695c19 name=proxmox6:2

Далі у нас 2 шляхи:

Створити файлову систему на md2, змонтувати розділ у систему та створити storage у вигляді звичайної директорії, такої ж, як за промовчанням. Створити LVM і на його основі storage.

Традиційно використовують другий спосіб, тому що він дозволяє потім використовувати як диски віртуальних машин lvm розділи. З ними зручно працювати плюс, теоретично, блоковий пристрій типу lvm має працювати трохи швидше. Тож підемо другим шляхом. Виконаємо ініціалізацію розділу для роботи з LVM:

# pvcreate /dev/md2
# vgcreate raid1-md2 /dev/md2

Тепер йдемо в web інтерфейс, вибираємо Datacenter, вкладку Storage, тиснемо Add і вибираємо LVM:

Вказуємо параметри новоствореної групи томів.

ID - Будь-яка назва нового сторейджу. Я зазвичай називаю так, щоб потім можна було легко зіставити з ім’ям системного розділу. Так зручно.

Volume group - Ім’я групи томів LVM, яке ви вказали під час створення командою vgcreate

Все готово. Новий storage додали. Його можна використовувати для зберігання віртуальних дисків.

Додавання та підключення диска

Розглянемо варіант додавання нового диска та використання його як сховища віртуальних машин. За великим рахунком, це те саме, що ми проробили раніше з новим розділом, тільки тепер всі вищезазначені операції потрібно буде проробити над новим диском. Швидко пройдемо етапами.

Я підключив новий жорсткий диск, перевіримо його ім’я у системі:

# ls -l /dev | grep sd

Можна не створювати на диску розділ, а одразу його ініціалізувати для роботи в lvm і створити групу томів:

# pvcreate /dev/sdc
# vgcreate disk-sdc /dev/sdc

Ідемо до веб-інтерфейсу і створюємо новий storage: Якщо у вас буде не одиночний диск, а кілька, то перед цим створіть рейд масив із них і так само зверху накочуйте lvm і додавайте новий storage.

На цьому налаштування локальних сховищ завершуємо. Усі основні дії ми виконали, можна починати працювати із системою – створювати віртуальні машини.

Сховище NFS

Наведу простий приклад підключення сховища NFS. Мені воно в майбутньому знадобиться для організації бекапу віртуальних машин. Про це я розповім згодом. Зараз лише додамо нове сховище.

Зробити це дуже просто. У мене вже є налаштований сервер NFS. Опис його налаштування виходить за рамки матеріалу, тому вважатимемо, що сервер у вас є.

Ідемо до розділу Storage і додаємо нове сховище NFS:

Я це сховище використовуватиму тільки для iso образів та backup’ів, тому виставляю відповідні налаштування.

– Звертаю увагу, що після вказівки адреси сервера, список доступних каталогів для експорту буде автоматично запрошений із сервера. Так що немає необхідності вказувати шлях вручну, можна вибрати зі списку.