Приобрел я себе для тестового стенда на базе гипервизора 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
, ниже скришот.
Шаг №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:~#
Шаг №5: Добавляю LVM
диск в Proxmox 6
дабы использовать его как Storage
https://IP&DNS:8006 – user&pass – (Folder View) Datacenter – Storage – Add -> LVM
И нажимаю Add
, получается, что в работе гипервизора Debian 10 + Proxmox 6
есть еще одно хранилище (Storage
)
Вот только если добавлять, как LVM
диск выше, при создании VM
и выборе, где хранить файлы виртуальной машины, то диск VM
будет в формате RAW
, а возможность указать формат qcow2
нет:
Но мне нужно, как и первый диск, на котором сейчас стоит как сам гипервизор, так и разворачиваемые/существующие VM
при использовании хранилища Storage: local
А все потому, что существующий диск подключен, как директория на каталог: /var/lib/vz
Делаю по-другому, удаляю Storage:
https://IP&DNS:8006 – user&pass – (Folder View) Datacenter – Storage
– выделяю Storage ID: disk2
и удаляю “Remove
”, также подтверждаю удаление:
Так как я буду мапить на директорию, нужно создать эту директорию:
root@srv-proxmox:~# mkdir /var/lib/vz1 root@srv-proxmox:~# lvcreate -l100%FREE -n disk2 /dev/disk2 Logical volume "disk2" created. root@srv-proxmox:~#
На заметку от 25.10.2019 16:46
: Все же нужно не путь к текущему SSD
указывать, а свой собственный /vz1
, хотя это тоже будет как к основному. Можно сделать проще, не создавать новую LVM
группу, а добавить его к уже существующей.
После чего новый диск подключен как хранилище Storage: Type: Directory
Теперь при создании VM
на этом хранилище, мне доступен выбор форматов:
Raw disk image (raw)
QEMU image format (qcow2)
VMware image format (vmdk)
И я выбираю QEMU
, т.к. использую снапшоты.
Заметка работоспособна, на этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.