Why This Error Happens
This usually occurs when the new disk added by vgextend has a different logical block size from disks already in the VG.
Example:
- Existing VG disks use 512-byte logical sectors
- Newly added device uses 4K logical sectors
Then vgextend may fail with this error.
Solution 1: Enable mixed block sizes in lvm.conf
Edit /etc/lvm/lvm.conf and set:
|
|
Reference discussion:
https://serverfault.com/questions/1150643/is-it-safe-to-use-allow-mixed-block-sizes-1-in-lvm-when-using-ext4-with-4k-blo
Solution 2: Make block sizes consistent
Adjust device logical block sizes so all disks in the VG use a consistent setting.
Check logical block size
lsblk
|
|
PHY-SEC is physical sector size, LOG-SEC is logical sector size.
sysfs
|
|
fdisk
|
|
Look at Sector size (logical/physical).
smartctl (NVMe)
|
|
Check Supported LBA Sizes; + indicates currently selected LBA format.
Change LBA / logical block size
Warning: formatting or changing LBA settings can destroy data.
For SATA HDD (if supported)
Check supported sector sizes:
|
|
If supported, switch to 4K (example):
|
|
Verify:
|
|
For NVMe SSD
Check supported LBA formats:
|
|
Or:
|
|
Format to target LBA format (example):
|
|
lbaf corresponds to the format ID. This operation will erase data and requires reboot/reinitialization steps afterward.