meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vm:proxmox:storage [2020/04/22 12:01]
niziak
vm:proxmox:storage [2020/04/26 16:57] (current)
niziak
Line 1: Line 1:
 ====== Storage ====== ====== 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.
 +
 +<file | /​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
 +</​file>​
 +
  
 ===== Storage types ===== ===== 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   * Network storage
     * LVM Group on iSCSI     * LVM Group on iSCSI
       * can be shared       * can be shared
 +    * ZFS over iSCSI
 +      * thin provisioning
     * iSCSI target / iSCSI direct (user-level library ''​libiscsi2''​)     * iSCSI target / iSCSI direct (user-level library ''​libiscsi2''​)
     * NFS     * NFS
Line 15: Line 100:
     * ZFS     * ZFS
  
-===== Content types ===== + 
-  * tbd +
-  * +
 ===== Local storage ===== ===== Local storage =====
  
Line 26: Line 110:
  
  
-===== iSCSI ===== 
-iSCSI target/​direct is capable to store only following content types 
-  * images 
-  * none 
  
  
-  iSCSI is a block level type storage, and provides no management interfaceSo it is usually best to export one big LUN, and setup LVM on top of that LUN. You can then use the LVM plugin ​to manage the storage on that iSCSI LUN+==== 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''​
 + 
  
-iSCSI+LVM supports HA and Live Migration of VMs --> mark LVM storage as shared ​