How to add/setup/reconfigure HDDs for LVM-Thin storage

May 23, 2025
6
0
1
Netherlands
Hello, I am new to Proxmox, I am moving away from VMware. I was using VMware for a straightforward virtualisation platform with 2 VLANs (LAN & DMZ) with 5 Linux VMs. Even before ESXi decided to 'spit the dummy' and not return from a managed power off I was thinking of switching because of Broadcom etc. etc. So, here I am.

I have setup Proxmox VE installing it over the top of the (wiped) VMware ESXi boot partition (HDD) and I have some questions on how to setup hard drives.

Some hardware background:
  • Intel NUC with 32 GB RAM
  • 120 GB NVMe SSD (boot OS) = /dev/sda
  • 1 TB SATA SSD (internal) = /dev/sdb
  • 2 TB External SSD = /dev/sdc
ESXi was installed on the 120 GB drive, Debian/Proxmox is now installed on that same drive (/dev/sda) with the standard three Proxmox partitions.

Questions:
  1. I want to add another hard drive (storage) dedicated for VMs, I would prefer thin provisioned (blocks), so LVM-Thin not LVM. I have run searches but have not found a single clear explanation of the process. Also it is not clear if the task can be done fully via the Proxmox GUI or does part/all of it need to be done from the command line, which I don't mind doing — just need to know what the correct procedure is. For example the disk has to be wiped and initialised (GPT) but does a partition have to be created 'Initialise Disk with GPT' does not seem to create partitions.
  2. My situation is complicated a bit because I need to import some of the old ESXi VMs which — currently — exist only as VMDKs on the VMFS formatted partition on the internal drive (/dev/sdb), the ESXi host is no longer running. I can mount the VMFS drive I believe there is an import possibility in Proxmox for the raw VMDK files? I will ask a separate post for this. However my plan is to:
    1. format the external SSD (/dev/sdc) as LVM-Thin
    2. mount the VMFS drive & import the VMs to the newly added external LVM-Thin storage
    3. once I confirm the VMs are running under Proxmox (on /dev/sdc) then wipe the old internal SATA SSD (/dev/sdb) and then re-add it as a dedicated LVM-Thin storage
    4. move the storage for the VMs from /dev/sdc to /dev/sdb
    5. once all the VMs are using the internal SATA SSD for storage remove the LVM-Thin storage and wipe the external SSD and rebuild it as a dedicated backup storage — what is the best disk/storage type for that — LVM, LVM-Thin, Directory?
  3. Finally I would like to remove the standard installed local-lvm (LVM-Thin) and give the disk space to local to use for ISO images etc. How to do that?
Outputs from various commands are below.

Thanks in advance for any advice!


Bash:
# lsblk --ascii -M -o +HOTPLUG,ROTA,PHY-SEC,FSTYPE,MODEL,TRAN
    NAME               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS HOTPLUG ROTA PHY-SEC FSTYPE             MODEL                   TRAN
    sda                  8:0    0 111.8G  0 disk                   0    0     512                    WDC WDS120G2G0B-00EPW0  sata
    |-sda1               8:1    0  1007K  0 part                   0    0     512
    |-sda2               8:2    0     1G  0 part /boot/efi         0    0     512 vfat
    `-sda3               8:3    0 110.8G  0 part                   0    0     512 LVM2_member
      |-pve-swap       252:0    0     8G  0 lvm  [SWAP]            0    0     512 swap
      |-pve-root       252:1    0  37.7G  0 lvm  /                 0    0     512 ext4
,->   |-pve-data_tmeta 252:2    0     1G  0 lvm                    0    0     512
'->   `-pve-data_tdata 252:3    0  49.3G  0 lvm                    0    0     512
 `--pve-data           252:4    0  49.3G  0 lvm                    0    0     512
    sdb                  8:16   0 931.5G  0 disk                   0    0     512                    Samsung SSD 860 EVO 1TB sata
    `-sdb1               8:17   0 931.5G  0 part                   0    0     512 VMFS_volume_member
    sdc                  8:32   0   1.8T  0 disk                   1    0     512                    Samsung Portable SSD T5 usb
   
# pvs
  PV         VG  Fmt  Attr PSize   PFree
  /dev/sda3  pve lvm2 a--  110.79g 13.75g

# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data pve twi-a-tz--  49.34g             0.00   1.59
  root pve -wi-ao---- <37.70g
  swap pve -wi-ao----   8.00g

# vgs
  VG  #PV #LV #SN Attr   VSize   VFree
  pve   1   3   0 wz--n- 110.79g 13.75g

# cat /etc/pve/storage.cfg
dir: local
    path /var/lib/vz
    content backup,iso,vztmpl

lvmthin: local-lvm
    thinpool data
    vgname pve
    content rootdir,images
 
Last edited:
I'll try to answer the easier ones.

1. Go to node > Disks > LVM-Thin and create the thin pool on a disk you like. If it's unavailable wipe it first in node > Disks.
That said I prefer ZFS over LVM-Thin (on proper hardware). I find it easier to manage and more flexible and it has lot of other benefits.

3. Make sure no guest is referencing the storage with something like grep -sR "local-lvm:" /etc/pve.
If they do, move the storage first. According to your lvs output that's already the case but I wanted to mention it.
Then go to node > Disks > LVM-Thin and remove it.

You can move virtual disks between storages like this
CT
1748012106966.png

VM
1748012124177.png
 
Last edited:
That said I prefer ZFS over LVM-Thin (on proper hardware). I find it easier to manage and more flexible and it has lot of other benefits.

Same, another post worth a read:
 
From what I am reading there is no GUI in Proxmox for creating disk partitions? So the process (whether LVM or ZFS) is:
  1. GUI: Wipe disk
  2. GUI: Initialise Disk with GPT
  3. Command line: fdisk (??) to create partition (just one needed)
  4. Command line: fdisk (??) to format disk in whatever desired format
  5. GUI: what next steps to create LVM-Thin (or ZFS) to be used for storage
 
All the sub-section under node > Disks > ... work with whole disks and then PVE does its thing with it. Why do you want to create partitions?
If you want to format the disk(s) yourself then do that and add it as storage under Datacenter > Storage > Add.
Some of the steps are documented here
I used to format my disk(s) with LVM in the GUI and then create the thin pool myself so I had freedom over the chunk size but in most cases I'd recommend just using the GUI as explained earlier.
 
Last edited:
  • Like
Reactions: Johannes S
All the subsection under node > Disks > ... work with whole disks and then do what they want with it. Why do you want to create partitions yourself?
If you want to format the disk yourself then do that and add it as storage under Datacenter > Storage > Add.
Some of the steps are documented here

Why do you want to create partitions yourself?

I don't really, what I want/need is to have a working LVM-Thin (or ZFS) storage. It seems, looking at various documents/Internet, always that it is mentioned to create a partition. But, again, if a partition is not needed even better.

If a partition is actually needed I don't mind doing in command line but there does not appear to be any way in the GUI to create partitions. If I wipe the disk (done) and initialise with GPT (done) there are no partitions (which seems fine if the whole disk is to be dedicated to one task) but what is not clear (to me being new with Proxmox) is to then take that physical disk (again with no partitions as we are saying?) and create a usable LVM-Thin (if we can stick with that for the moment for simplicity) storage that can be used for storage for VMs.
 
Last edited: