It seems that by creating a partition to use as a physical volume in LVM, we're limited to a 2TB volume size. This is due to the limitations in the legacy MSDOS partition table system managed by fdisk
and why one should use GPT.
Fortunately, LVM also understands plain devices without a partition table. This has the drawback that you'll have to use the whole device as physical volume, but that's exactly what I want to achieve.
To erase the current partition table execute the following command (Warning: this effectively erases all contents on the disk!):
sudo dd if=/dev/zero of=PhysicalVolume bs=512 count=1
replacing PhysicalVolume
with your device path, e.g. /dev/sdb
. Then run
sudo partprobe
to let the kernel re-read the new now non-existing partition table.
Now actually format it as an LVM physical volume:
sudo pvcreate PhysicalVolume
(again, replace PhysicalVolume
with your device path)
This is based on the information mentioned in the manpage of pvcreate
:
DESCRIPTION
pvcreate initializes PhysicalVolume for later use by the Logical Volume
Manager (LVM). Each PhysicalVolume can be a disk partition, whole
disk, meta device, or loopback file. For DOS disk partitions, the
partition id should be set to 0x8e using fdisk(8), cfdisk(8), or a
equivalent. For whole disk devices only the partition table must be
erased, which will effectively destroy all data on that disk. This can
be done by zeroing the first sector with:
dd if=/dev/zero of=PhysicalVolume bs=512 count=1