NVMe-CLI - меняем размер сектора вашего диска
Linux
Столкнувшись с тем что в один прекрасный момент потребовалось изменить размер сектора с 512 на 4096, открыл для себя данный инструмент и решил запилить мини гайд по последовательности действий:
1. Устанавливаем NVME-CLIapt install nvme-cli
2.Выводим список устройств и их параметрыnvme list
Пример вывода 1:
Node SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 S649NF0RB26228F Samsung SSD 980 1TB 1 953.29 GB / 1.00 TB 512 B + 0 B 3B4QFXO7
/dev/nvme1n1 PHKA121202FW1P0B INTEL SSDPEKNU010TZ 1 1.02 TB / 1.02 TB 512 B + 0 B 002C
Пример вывода 2:
Node Generic SN Model Namespace Usage Format FW Rev
--------------------- --------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme5n1 /dev/ng5n1 S6CVNG0T406909 SAMSUNG MZQL27T6HBLA-00B7C 1 157.19 GB / 7.68 TB 512 B + 0 B GDC51C2Q
/dev/nvme4n1 /dev/ng4n1 S6CVNG0T406912 SAMSUNG MZQL27T6HBLA-00B7C 1 87.40 GB / 7.68 TB 512 B + 0 B GDC51C2Q
3. Проверяем какие размеры блока поддерживаютсяnvme id-ns /dev/nvme0 -n 1 -H | grep "LBA Format"
Пример вывод 1:
[3:0] : 0 Current LBA Format Selected
LBA Format 0 : Metadata Size: 0 bytes - Data Size: 512 bytes - Relative Performance: 0 Best (in use)
Пример вывод2:
[6:5] : 0 Most significant 2 bits of Current LBA Format Selected
[3:0] : 0 Least significant 4 bits of Current LBA Format Selected
LBA Format 0 : Metadata Size: 0 bytes - Data Size: 512 bytes - Relative Performance: 0 Best (in use)
LBA Format 1 : Metadata Size: 0 bytes - Data Size: 4096 bytes - Relative Performance: 0 Best
4. На устройствах из примера 2 мы можем поменять размер блокаnvme format --lbaf=1 /dev/nvme0n1
*Сообщения вида:
NVMe status: ACCESS_DENIED: Access to the namespace and/or LBA range is denied due to lack of access rights(0x4286)
Говорят нам о том что диск заблокировать, необходимо освободить диск от задач чтения/записи
Далее проверяем вывод:
# nvme list
Node Generic SN Model Namespace Usage Format FW Rev
--------------------- --------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme5n1 /dev/ng5n1 S6CVNG0T406909 SAMSUNG MZQL27T6HBLA-00B7C 1 37.50 GB / 7.68 TB 4 KiB + 0 B GDC51C2Q
/dev/nvme4n1 /dev/ng4n1 S6CVNG0T406912 SAMSUNG MZQL27T6HBLA-00B7C 1 42.12 GB / 7.68 TB 4 KiB + 0 B GDC51C2Q