Commit Graph

54 Commits

Author SHA1 Message Date
5dca5c7c7e move format registration to Plugin.pm 2015-11-11 09:13:57 +01:00
0589e5f933 insert the format type at volume_resize
qemu-img needs now the format to resize image.
2015-10-28 11:30:05 +01:00
dc6ff39f57 allow to choose content type for local storage
Also allow to disable local storage.
2015-10-12 06:52:28 +02:00
98437f4c85 add bash completion for content type 2015-10-01 07:16:59 +02:00
399581a2b3 volume_snapshot_delete: deactivate before deleting 2015-09-25 13:41:04 +02:00
02e797b8e1 extend functionality to (de)activate_volumes with snapshots
this extension provide the capability to activate or deactivate snapshot,
so we can use this e.g. for LXC backup in snapshot mode.
2015-09-22 12:18:09 +02:00
f7621c0126 improve bash completions 2015-09-18 09:33:09 +02:00
c8943a85c9 remove non used parameter exclusive
This makes no sense because it should always be exclusive.
Also RDB checks it self.
LVM has not possibility to use lvchange.
DRBD is this feature not implemented.
2015-09-17 12:37:27 +02:00
1689e627a6 iSCSI ipv6 support 2015-08-31 15:50:34 +02:00
e67069eb58 path: corretly implement path to snapshots 2015-08-27 12:03:46 +02:00
1f79bb07f1 Add content type rootfs to RBD and extend manual 2015-08-26 15:39:09 +02:00
35533c68fb add subvol support for directory storage
This storage type does not support subvol quotas, so we
only allow this if vdisk_alloc is called with size=0.
2015-08-12 06:11:10 +02:00
13d2cb7980 allow templates using .xz compression 2015-07-01 10:06:24 +02:00
6bf617a954 allow ipv6 addresses in Storage::verify_server
Replaced regex with existing PVE::JSONSchema::verify_... functions.
2015-05-21 11:48:08 +02:00
f5640e7d3b remove running from Storage and check it in QemuServer
It is better to check if a VM is running in QemuServer then in Storage.
for the Storage there is no difference if it is running or not.

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-05-06 11:42:38 +02:00
4cb6e060c3 correctly parse lxc backup files 2015-05-01 11:29:15 +02:00
6d788031b0 add newlines to error messages 2015-04-29 06:59:48 +02:00
d26e1891ff mark drbd as shared storage 2015-03-21 11:20:18 +01:00
1597f1f9ad Storage: add method volume_rollback_is_possible
add method volume_rollback_is_possible and redactor
Improve error handling
If snapshot is not reversible catch it before vm will lock and shutdown.
This is the case if zfs has an younger snapshot.

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-02-12 09:15:02 +01:00
f236eaf80e Storage Plugins: extend clone_image by snap parameter and add support to RBDPlugin
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-07-17 07:54:36 +02:00
7ecc43edac remove nexenta plugin
zfs plugin is better and faster and backward compatible

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-10-08 06:13:09 +02:00
4f914e6ec0 Added support for ZFS Storage Plugin
example of storage.cfg

zfs:    omnios
        blocksize 8k
        target iqn.2010-09.org.openindiana:target1
        pool pool1
        iscsiprovider comstar
        portal 192.168.0.1
        sudo 1  (optionnal)
        content images

note for fast ssh login:
on solaris  host :

/etc/ssh/sshd_config

LookupClientHostnames no
VerifyReverseMapping no
GSSAPIAuthentication no

note for nexenta:

rm /root/.bash_profile

to avoid to go in nmc console by default

Signed-off-by: Michael Rasmussen <mir@datanom.net>
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-10-02 06:37:18 +02:00
08480ce768 introduce new method filesystem_path()
If a plugin overwrites method path() to return optimized setting for qemu,
it can now still use the generic methods from PVE::Storage::Plugin which works
on file system paths (for example the glusterfs plugin).
2013-09-17 09:05:17 +02:00
1a3459ac78 delete trailing white-space 2013-08-12 11:56:41 +02:00
f4648aef06 add Glusterfs Plugin
storage.cfg
------------
glusterfs: glusterstore
       path /mnt/pve/gluster
       server server.fqdn  (optional, default is localhost)
       volume glustervolume
       content images
       maxfiles 1

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-08-12 11:55:06 +02:00
5649ccfe89 has_feature : template
for plugin-rbd-sheepdog-nexenta

+ indentation fix

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-18 06:18:15 +01:00
2c5a70971a has_feature : fix key = snap
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 10:08:04 +01:00
22b8cf9731 plugin : has_feature : copy
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:27:07 +01:00
dc4f2cb33d plugin : has_feature : clone from base + fix
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 11:10:23 +01:00
7fc619d5d3 use File::chdir instead of Cwd
To avoid errors in taint mode.
2013-02-14 06:53:48 +01:00
32437ed279 check base image use count inside vdisk_free
To make it work with all storage types.
2013-02-01 06:55:39 +01:00
c803c3963c use chattr to set immutable flag on base images 2013-01-31 11:52:31 +01:00
a7f3d90919 free_image: correctly check if base volume is not used
moved parse_volume_id to PVE::Storage::Plugin::parse_volume_id
2013-01-31 11:36:49 +01:00
2502b33b08 implement vdisk_clone and vdisk_create_base
This is an iplementation for file base storage types.

changes compared to patches from Alexandre:

* use correct locking
* private find_free_diskname() with bug fixes
* changed names of new methods
* always refer to base volumes in volume names

Example volume names:

local:6000/base-6000-disk-9.raw
local:6000/base-6000-disk-9.raw/7000/vm-7000-disk-9.qcow2
local:6000/base-6000-disk-9.raw/7000/base-7000-disk-10.qcow2
2013-01-30 12:55:37 +01:00
f884fe1125 plugin : has_feature
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-28 07:52:20 +01:00
a22854e540 also list vma backup archives
bump version to 2.3-1
2012-12-13 12:51:52 +01:00
73b7847e53 files: retrieve parent of a clone
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-11-22 06:57:38 +01:00
3f13fd7dc3 remove timeouts from 'qemu-img snapshot' commands.
Those commands can take several minutes on larger files.
2012-11-02 08:52:50 +01:00
6bcc16d70e create 'dump' directory if storage contains containers
This is needed by openvz migrate to store state.
2012-10-02 13:36:52 +02:00
045ae0a7fe code cleanup 2012-09-20 07:18:59 +02:00
1e679ac591 qcow2 : preallocate metadatas at file creation
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-20 07:11:43 +02:00
1059cc994d use longer timeouts for snapshot commands 2012-09-19 08:55:23 +02:00
6000a061e9 plugin: add volume_snapshot_delete
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:37:27 +02:00
41dffa853d plugin : add volume_snapshot_rollback
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:37:04 +02:00
7dcb06977e plugin : add volume_snapshot
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:36:43 +02:00
81f5058c01 plugins : add volume_resize
this add qemu-img resize for file devices (raw - qcow2) if vm is offline.

otherwise we need to use online qmp block_resize

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-07 08:09:03 +02:00
e47e548e51 add volume_size_info for generic plugin
this use path and file_size_info like before

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-27 10:44:46 +02:00
c9eeac0131 add check_connection in storage_check_enabled.
Currently, if a storage have an infinite timeout (nfs hard option or iscsi with high timeout for failover),
and if the storage is down or is doing ha failover with dual controller

- pvestatd hang on storage_info. (So pve-manager see the host as down, and hang on differents parts, gui,rrds display)

- pvedaemon hang on differents place (storage disk list,vm_status, hardware info,...)

- I also see a lot of qemu-img info process hanging in uninterruptible sleep state with iscsi storage.

This patch add a check to see if the storage is accessible.

For nfs and iscsi : ping with a timeout of 2 second.  (Maybe this can be polish with some kind of filesystem/storage read test with timeout...)

Default for other storage plugins is to check nothing. (not a problem with sheepdog,ceph,libiscsi... as commands have timeout)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-19 10:58:19 +02:00
40cd7d27d5 add nexenta plugin
storage definition
------------------
portal 192.168.0.1
target iqn.1986-03.com.sun:....
login myloginwithjsonpermission
password jsonuserpassword
pool Yourpool
blocksize 4K

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-17 11:49:53 +02:00
b345cad347 add iscsidirect plugin
This use libiscsi

storage definition:
------------------
portal 192.168.0.1
target iqn.1986-03.com.sun:....

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-17 11:48:27 +02:00