Приобрел я себе для тестового стенда на базе гипервизора Debian 10 + Proxmox SSD накопитель «SSD накопитель SILICON POWER M-Series SP512GBP34A80M28 512Гб, M.2 2280, PCI-E x4, NVMe» с интерфейсом M2, но так как на моей материнской плате нет соответствующего разъема, то понадобится и соответствующий разъем «Адаптер PCI-E M.2 NGFF for SSD Bulk [asia pcie m2 ngff m-key]»

Подключил адаптер в соответствующий интерфейс на материнской плате.

Далее нужно заставить работать M.2 накопитель с гипервизором в роли еще одного хранилища под виртуальные машины.

Шаг №1: Захожу через Web-интерфейс на Debian 10 + Proxmox 6

https://IP&DNS:8006 – user&pass – (Folder View) Datacenter – Nodes – srv-proxmox – “>_Shell”

ekzorchik@srv-proxmox:~$ sudo fdisk -l

[sudo] password for ekzorchik:

Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors

Disk model: SPCC M.2 PCIe SSD

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

root@srv-proxmox:~# lsblk | grep nvme0n1

nvme0n1                    259:0    0   477G  0 disk

root@srv-proxmox:~# lspci -v | grep NVMe

05:00.0 Non-Volatile memory controller: Phison Electronics Corporation E12 NVMe Controller (rev 01) (prog-if 02 [NVM Express])

Subsystem: Phison Electronics Corporation E12 NVMe Controller

Шаг №2: Чтобы извлекать информацию по диску формата M.2

root@srv-proxmox:~# apt-cache search nvme-cli

nvme-cli - userspace tooling to control NVMe drives

root@srv-proxmox:~# apt-get install -y nvme-cli

root@srv-proxmox:~# nvme list

Node             SN                   Model                                    Namespace Usage                      Format           FW Rev

---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------

/dev/nvme0n1     B96807981DB500921193 SPCC M.2 PCIe SSD                        1         512.11  GB / 512.11  GB    512   B +  0 B   ECFM22.4

root@srv-proxmox:~#

root@srv-proxmox:~# nvme smart-log /dev/nvme0n1

Smart Log for NVME device:nvme0n1 namespace-id:ffffffff

critical_warning                    : 0

temperature                         : 27 C

available_spare                     : 100%

available_spare_threshold           : 5%

percentage_used                     : 0%

data_units_read                     : 119,385

data_units_written                  : 156,128

host_read_commands                  : 370,874

host_write_commands                 : 356,031

controller_busy_time                : 2

power_cycles                        : 3

power_on_hours                      : 4

unsafe_shutdowns                    : 2

media_errors                        : 0

num_err_log_entries                 : 0

Warning Temperature Time            : 0

Critical Composite Temperature Time : 0

Thermal Management T1 Trans Count   : 0

Thermal Management T2 Trans Count   : 0

Thermal Management T1 Total Time    : 0

Thermal Management T2 Total Time    : 0

root@srv-proxmox:~#

Шаг №3:  Смотрю, как диск видится в Webинтерфейсе гипервизора:

https://IP&DNS:8006 – user&pass – (Folder View) Datacenter – Nodes – srv-proxmox – Disks, ниже скришот.

Смотрю, как диск видится в Web-интерфейсе гипервизора

Шаг №4: Подготавливаю диск к использованию

root@srv-proxmox:~# cfdisk /dev/nvme0n1

type: 8e

Смотрю какие Physical Volume у меня сейчас есть.

root@srv-proxmox:~# sudo pvs

PV         VG            Fmt  Attr PSize   PFree

/dev/sda5  srv-debian-vg lvm2 a--  <49.76g    0

/dev/sda6  srv-debian-vg lvm2 a--  397.03g    0

root@srv-proxmox:~#

Я буду создать еще одну группу Physical Volume:

root@srv-proxmox:~# pvcreate /dev/nvme0n1p1

Physical volume "/dev/nvme0n1p1" successfully created.

root@srv-proxmox:~# vgcreate disk2 /dev/nvme0n1p1

Volume group "disk2" successfully created

root@srv-proxmox:~#

Диски в Proxmox

Шаг №5: Добавляю LVM диск в Proxmox 6 дабы использовать его как Storage

https://IP&DNS:8006 – user&pass – (Folder View) Datacenter – Storage – Add -> LVM

Добавляем LVM

И нажимаю Add, получается, что в работе гипервизора Debian 10 + Proxmox 6 есть еще одно хранилище (Storage)

Storage в Proxmox 6

Вот только если добавлять, как LVM диск выше, при создании VM и выборе, где хранить файлы виртуальной машины, то диск VM будет в формате RAW, а возможность указать формат qcow2 нет:

Создаю VM и указываю новое хранилище Storage

Но мне нужно, как и первый диск, на котором сейчас стоит как сам гипервизор, так и разворачиваемые/существующие VM при использовании хранилища Storage: local А все потому, что существующий диск подключен, как директория на каталог: /var/lib/vz

Делаю по-другому, удаляю Storage:

https://IP&DNS:8006 – user&pass – (Folder View) Datacenter – Storage – выделяю Storage ID: disk2 и удаляю “Remove”, также подтверждаю удаление:

Соглашаюсь на удаление Storage диск

Так как я буду мапить на директорию, нужно создать эту директорию:

 

root@srv-proxmox:~# mkdir /var/lib/vz1

root@srv-proxmox:~# lvcreate -l100%FREE -n disk2 /dev/disk2

Logical volume "disk2" created.

root@srv-proxmox:~#

Добавляю Directory как диск Storage

На заметку от 25.10.2019 16:46: Все же нужно не путь к текущему SSD указывать, а свой собственный /vz1, хотя это тоже будет как к основному. Можно сделать проще, не создавать новую LVM группу, а добавить его к уже существующей.

После чего новый диск подключен как хранилище Storage: Type: Directory

После чего новый диск подключен как хранилище Storage: Type: Directory

Теперь при создании VM на этом хранилище, мне доступен выбор форматов:

  • Raw disk image (raw)
  • QEMU image format (qcow2)
  • VMware image format (vmdk)

И я выбираю QEMU, т.к. использую снапшоты.

Заметка работоспособна, на этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.