Storage

Terms

  • shared
    • do not set local storage as shared, because content on each node is different
    • One major benefit of storing VMs on shared storage is the ability to live-migrate running machines without any downtime, as all nodes in the cluster have direct access to VM disk images. There is no need to copy VM image data, so live migration is very fast in that case.
  • thin-provisioning - allocates block when they are written.

Content types

content types type description path
Disk image images KVM-Qemu VM images (VM disks) local:230/example-image.raw
ISO image iso local:iso/debian-501-amd64-netinst.iso
Container template vztmpl local:vztmpl/debian-5.0-joomla_1.5.9-1_i386.tar.gz
VZDump backup file backup
Container roodir Allow to store container data
none prevent using block device directly for VMs (to create LVM on top)
Snippets snippets aka hookscripts (for example guest hook scripts) <storage>:snippets/<file>

iscsi-storage:0.0.2.scsi-14f504e46494c4500494b5042546d2d646744372d31616d61

File level storage dir layout

  • images - (VM images) - images/<VMID>/
    • raw, qcow2, vmdk
  • iso - (ISO images) - template/iso/
  • vztmpl - (Container templates) - template/cache/
  • backup - (Backup files) - dump/
  • snippets - (Snippets) - snippets/

Default storage for ZFS

  • local: file-level storage - you can upload iso images and place backups there.
  • local-zfs: this is used to store VM images.

Note: Both resides on the same zfs pool.

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

zfspool: local-zfs
        pool rpool/data
        sparse 1
        content images,rootdir

Storage types

  • File level storage
    • poll types:
      • directory shared: NO
      • glusterFS shared: YES
      • nfs shared: YES
      • cifs shared: YES
    • features
      • any POSIX compatible filesystem pointed by path
      • no snapshot by FS: VMs with qcow2 are capable to do snapshots
      • any content type:
      • virtual disk images, containers, templates, ISO images, backup files
  • Block level storage
    • iscsidirect iSCSI user mode (libiscsi2)
      • content types: images
      • format: raw, shared: YES, no snapshots, no clones
    • iscsi
      • content types: images, none
      • format: raw, shared: YES, no snapshots, no clones
    • LVM
      • possible to create on top of iSCSI LUN to get managable disk space
      • content types: images, rootdir
      • format: raw, shared: YES (iSCSI), no snapshots, no clones
    • LVM thin
      • new thin volume type on top of existing LVM VG
      • thin-provisioning
      • content types: images, rootdir
      • format: raw, shared: NO, snapshots, clones
    • ZFS over iSCSI - to use ZFS from remote system using iSCSI
      • benefits of ZFS:
        • for VMs: zfs volume per VM, live snaphots, cloning
        • thin provision
    • ZFS
      • local node ZFS
      • content types: images, rootdir
      • format: raw, subvol; shared: NO, snapshots YES, clones YES

poll type

  • Network storage
    • LVM Group on iSCSI
      • can be shared
    • ZFS over iSCSI
      • thin provisioning
    • iSCSI target / iSCSI direct (user-level library libiscsi2)
    • NFS
    • Ceph RDB
    • GlusterFS
  • Local storage
    • LVM Group overy any block device
      • LVM Thin pools: only on LOCAL - cannot be shared!
    • Directory (storage on existing FS)
    • ZFS

Local storage

  • Backups - /var/lib/vz/dump
  • ISOs - /var/lib/vz/template/iso
  • Images - /var/lib/vz/images
  • Templates - /var/lib/vz/template/cache

storage for ISOs

By default it is stored in local storage. It is possible to upload ISOs directly using SCP to /var/lib/vs/template/iso.