X-Git-Url: https://git.proxmox.com/?p=pve-docs.git;a=blobdiff_plain;f=pvesm.adoc;h=5300f50cb17b9c45c27e8b4d011d05b263cd2d44;hp=36be46e87948dc260f02e72988818ee42a72275e;hb=dd1aa0e01624f5927fb65143c9a070672ccbeb92;hpb=deb4673f279adea9069596f64fb70ff3f0e88302 diff --git a/pvesm.adoc b/pvesm.adoc index 36be46e..5300f50 100644 --- a/pvesm.adoc +++ b/pvesm.adoc @@ -1,8 +1,8 @@ -[[chapter-storage]] +[[chapter_storage]] ifdef::manvolnum[] -PVE({manvolnum}) -================ -include::attributes.txt[] +pvesm(1) +======== +:pve-toplevel: NAME ---- @@ -10,7 +10,7 @@ NAME pvesm - Proxmox VE Storage Manager -SYNOPSYS +SYNOPSIS -------- include::pvesm.1-synopsis.adoc[] @@ -18,12 +18,14 @@ include::pvesm.1-synopsis.adoc[] DESCRIPTION ----------- endif::manvolnum[] - ifndef::manvolnum[] {pve} Storage ============= -include::attributes.txt[] +:pve-toplevel: endif::manvolnum[] +ifdef::wiki[] +:title: Storage +endif::wiki[] The {pve} storage model is very flexible. Virtual machine images can either be stored on one or several local storages, or on shared @@ -36,7 +38,7 @@ 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. -The storage library (package 'libpve-storage-perl') uses a flexible +The storage library (package `libpve-storage-perl`) uses a flexible plugin system to provide a common interface to all storage types. This can be easily adopted to include further storage types in future. @@ -46,61 +48,92 @@ Storage Types There are basically two different classes of storage types: +File level storage:: + +File level based storage technologies allow access to a full featured (POSIX) +file system. They are in general more flexible than any Block level storage +(see below), and allow you to store content of any type. ZFS is probably the +most advanced system, and it has full support for snapshots and clones. + Block level storage:: Allows to store large 'raw' images. It is usually not possible to store other files (ISO, backups, ..) on such storage types. Most modern block level storage implementations support snapshots and clones. -RADOS, Sheepdog and DRBD are distributed systems, replicating storage +RADOS and GlusterFS are distributed systems, replicating storage data to different nodes. -File level storage:: - -They allow access to a full featured (POSIX) file system. They are -more flexible, and allows you to store any content type. ZFS is -probably the most advanced system, and it has full support for -snapshots and clones. - .Available storage types [width="100%",cols="`, and is uniquely identified by its ``. A pool configuration looks like this: +Each storage pool has a ``, and is uniquely identified by its +``. A pool configuration looks like this: ---- : @@ -109,26 +142,36 @@ Each storage pool has a ``, and is uniquely identified by its `: ` line starts the pool definition, which is then followed by a list of properties. Most properties have values, but some of them come with reasonable default. In that case you can omit the value. -.Default storage configuration ('/etc/pve/storage.cfg') +To be more specific, take a look at the default storage configuration +after installation. It contains one special local storage pool named +`local`, which refers to the directory `/var/lib/vz` and is always +available. The {pve} installer creates additional storage entries +depending on the storage type chosen at installation time. + +.Default storage configuration (`/etc/pve/storage.cfg`) ---- dir: local path /var/lib/vz content iso,vztmpl,backup +# default image store on LVM based installation lvmthin: local-lvm thinpool data vgname pve content rootdir,images + +# default image store on ZFS based installation +zfspool: local-zfs + pool rpool/data + sparse + content images,rootdir ---- + Common Storage Properties ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -161,12 +204,16 @@ Container templates. backup::: -Backup files ('vzdump'). +Backup files (`vzdump`). iso::: ISO images +snippets::: + +Snippet files, for example guest hook scripts + shared:: Mark storage as shared. @@ -177,7 +224,7 @@ You can use this flag to disable the storage completely. maxfiles:: -Maximal number of backup files per VM. Use `0` for unlimted. +Maximum number of backup files per VM. Use `0` for unlimited. format:: @@ -207,14 +254,15 @@ like: iscsi-storage:0.0.2.scsi-14f504e46494c4500494b5042546d2d646744372d31616d61 -To get the filesystem path for a `` use: +To get the file system path for a `` use: pvesm path + Volume Ownership ~~~~~~~~~~~~~~~~ -There exists an ownership relation for 'image' type volumes. Each such +There exists an ownership relation for `image` type volumes. Each such volume is owned by a VM or Container. For example volume `local:230/example-image.raw` is owned by VM 230. Most storage backends encodes this ownership information into the volume name. @@ -232,8 +280,8 @@ of those low level operations on the command line. Normally, allocation and removal of volumes is done by the VM and Container management tools. -Nevertheless, there is a command line tool called 'pvesm' ({pve} -storage manager), which is able to perform common storage management +Nevertheless, there is a command line tool called `pvesm` (``{pve} +Storage Manager''), which is able to perform common storage management tasks. @@ -278,7 +326,7 @@ you pass an empty string as `` pvesm alloc local '' 4G -Free volumes +Free volumes pvesm free @@ -304,7 +352,7 @@ List container templates pvesm list --vztmpl -Show filesystem path for a volume +Show file system path for a volume pvesm path @@ -313,24 +361,29 @@ ifdef::wiki[] See Also -------- -* link:/index.php/Storage:_Directory[Storage: Directory] +* link:/wiki/Storage:_Directory[Storage: Directory] + +* link:/wiki/Storage:_GlusterFS[Storage: GlusterFS] -* link:/index.php/Storage:_GlusterFS[Storage: GlusterFS] +* link:/wiki/Storage:_User_Mode_iSCSI[Storage: User Mode iSCSI] -* link:/index.php/Storage:_User_Mode_iSCSI[Storage: User Mode iSCSI] +* link:/wiki/Storage:_iSCSI[Storage: iSCSI] -* link:/index.php/Storage:_iSCSI[Storage: iSCSI] +* link:/wiki/Storage:_LVM[Storage: LVM] -* link:/index.php/Storage:_LVM[Storage: LVM] +* link:/wiki/Storage:_LVM_Thin[Storage: LVM Thin] -* link:/index.php/Storage:_LVM_Thin[Storage: LVM Thin] +* link:/wiki/Storage:_NFS[Storage: NFS] -* link:/index.php/Storage:_NFS[Storage: NFS] +* link:/wiki/Storage:_CIFS[Storage: CIFS] -* link:/index.php/Storage:_RBD[Storage: RBD] +* link:/wiki/Storage:_RBD[Storage: RBD] -* link:/index.php/Storage:_ZFS[Storage: ZFS] +* link:/wiki/Storage:_CephFS[Storage: CephFS] +* link:/wiki/Storage:_ZFS[Storage: ZFS] + +* link:/wiki/Storage:_ZFS_over_iSCSI[Storage: ZFS over iSCSI] endif::wiki[] @@ -342,6 +395,8 @@ include::pve-storage-dir.adoc[] include::pve-storage-nfs.adoc[] +include::pve-storage-cifs.adoc[] + include::pve-storage-glusterfs.adoc[] include::pve-storage-zfspool.adoc[] @@ -356,6 +411,8 @@ include::pve-storage-iscsidirect.adoc[] include::pve-storage-rbd.adoc[] +include::pve-storage-cephfs.adoc[] + ifdef::manvolnum[]