[pve-devel] [PATCH docs] Add documentation for CIFS Storage Plugin.

Wolfgang Link w.link at proxmox.com
Thu Apr 5 14:08:24 CEST 2018


---
 pve-intro.adoc        |  3 +-
 pve-storage-cifs.adoc | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++
 pvesm.adoc            |  5 +++
 qm.adoc               |  2 +-
 vzdump.adoc           |  2 +-
 5 files changed, 108 insertions(+), 3 deletions(-)
 create mode 100644 pve-storage-cifs.adoc

diff --git a/pve-intro.adoc b/pve-intro.adoc
index 1188e77..f0b0d1e 100644
--- a/pve-intro.adoc
+++ b/pve-intro.adoc
@@ -106,6 +106,7 @@ We currently support the following Network storage types:
 * LVM Group (network backing with iSCSI targets)
 * iSCSI target
 * NFS Share
+* CIFS Share
 * Ceph RBD
 * Directly use iSCSI LUNs
 * GlusterFS
@@ -125,7 +126,7 @@ running Containers and KVM guests. It basically creates an archive of
 the VM or CT data which includes the VM/CT configuration files.
 
 KVM live backup works for all storage types including VM images on
-NFS, iSCSI LUN, Ceph RBD or Sheepdog. The new backup format is
+NFS, CIFS, iSCSI LUN, Ceph RBD or Sheepdog. The new backup format is
 optimized for storing VM backups fast and effective (sparse files, out
 of order data, minimized I/O).
 
diff --git a/pve-storage-cifs.adoc b/pve-storage-cifs.adoc
new file mode 100644
index 0000000..696d809
--- /dev/null
+++ b/pve-storage-cifs.adoc
@@ -0,0 +1,99 @@
+CIFS Backend
+-----------
+ifdef::wiki[]
+:pve-toplevel:
+:title: Storage: CIFS
+endif::wiki[]
+
+Storage pool type: `cifs`
+
+The CIFS backend is based on the directory backend, so it shares most
+properties. The directory layout and the file naming conventions are
+the same. The main advantage is that you can directly configure the
+CIFS server, so the backend can mount the share automatically in
+the hole cluster. There is no need to modify `/etc/fstab`. The backend
+can also test if the server is online, and provides a method to query
+the server for exported shares.
+
+Configuration
+~~~~~~~~~~~~~
+
+The backend supports all common storage properties, except the shared
+flag, which is always set. Additionally, the following properties are
+used to configure the CIFS server:
+
+server::
+
+Server IP or DNS name. To avoid DNS lookup delays, it is usually
+preferable to use an IP address instead of a DNS name - unless you
+have a very reliable DNS server, or list the server in the local
+`/etc/hosts` file.
+
+share::
+
+CIFS share (as listed by `pvesm cifsscan`).
+
+Optional properties:
+
+username::
+
+If not presents, "guest" is used.
+
+password::
+
+The user password.
+It will be saved in a private directory (/etc/pve/priv/<STORAGE_ID>.cred).
+
+domain::
+
+sets the domain (workgroup) of the user
+
+smbversion::
+
+SMB protocol Version (default is `3`).
+SMB1 is not supported due to security issues.
+
+path::
+
+The local mount point (defaults to `/mnt/pve/<STORAGE_ID>/`).
+
+.Configuration Example (`/etc/pve/storage.cfg`)
+----
+cifs: backup
+	path /mnt/pve/backup
+	server 10.0.0.11
+	share VMData
+	content backup
+	username anna
+	smbversion 3
+
+----
+
+Storage Features
+~~~~~~~~~~~~~~~~
+
+CIFS does not support snapshots, but the backend uses `qcow2` features
+to implement snapshots and cloning.
+
+.Storage features for backend `nfs`
+[width="100%",cols="m,m,3*d",options="header"]
+|==============================================================================
+|Content types                     |Image formats         |Shared |Snapshots |Clones
+|images rootdir vztmpl iso backup  |raw qcow2 vmdk subvol |yes    |qcow2     |qcow2
+|==============================================================================
+
+Examples
+~~~~~~~~
+
+You can get a list of exported CIFS shares with:
+
+ # pvesm cifsscan <server> [--username <username>] [--password]
+
+ifdef::wiki[]
+
+See Also
+~~~~~~~~
+
+* link:/wiki/Storage[Storage]
+
+endif::wiki[]
diff --git a/pvesm.adoc b/pvesm.adoc
index 62d190e..1d55d59 100644
--- a/pvesm.adoc
+++ b/pvesm.adoc
@@ -71,6 +71,7 @@ snapshots and clones.
 |ZFS (local)    |zfspool     |file  |no    |yes      |yes
 |Directory      |dir         |file  |no    |no^1^    |yes
 |NFS            |nfs         |file  |yes   |no^1^    |yes
+|CIFS           |cifs        |file  |yes   |no^1^    |yes
 |GlusterFS      |glusterfs   |file  |yes   |no^1^    |yes
 |LVM            |lvm         |block |no^2^ |no       |yes
 |LVM-thin       |lvmthin     |block |no    |yes      |yes
@@ -370,6 +371,8 @@ See Also
 
 * link:/wiki/Storage:_NFS[Storage: NFS]
 
+* link:/wiki/Storage:_CIFS[Storage: CIFS]
+
 * link:/wiki/Storage:_RBD[Storage: RBD]
 
 * link:/wiki/Storage:_ZFS[Storage: ZFS]
@@ -386,6 +389,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[]
diff --git a/qm.adoc b/qm.adoc
index 154c5c1..5fba463 100644
--- a/qm.adoc
+++ b/qm.adoc
@@ -163,7 +163,7 @@ On each controller you attach a number of emulated hard disks, which are backed
 by a file or a block device residing in the configured storage. The choice of
 a storage type will determine the format of the hard disk image. Storages which
 present block devices (LVM, ZFS, Ceph) will require the *raw disk image format*,
-whereas files based storages (Ext4, NFS, GlusterFS) will let you to choose
+whereas files based storages (Ext4, NFS, CIFS, GlusterFS) will let you to choose
 either the *raw disk image format* or the *QEMU image format*.
 
  * the *QEMU image format* is a copy on write format which allows snapshots, and
diff --git a/vzdump.adoc b/vzdump.adoc
index 0461140..193e1cf 100644
--- a/vzdump.adoc
+++ b/vzdump.adoc
@@ -111,7 +111,7 @@ started (resumed) again. This results in minimal downtime, but needs
 additional space to hold the container copy.
 +
 When the container is on a local file system and the target storage of
-the backup is an NFS server, you should set `--tmpdir` to reside on a
+the backup is an NFS/CIFS server, you should set `--tmpdir` to reside on a
 local file system too, as this will result in a many fold performance
 improvement.  Use of a local `tmpdir` is also required if you want to
 backup a local container using ACLs in suspend mode if the backup
-- 
2.11.0





More information about the pve-devel mailing list