Commit Graph

43 Commits

Author SHA1 Message Date
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
1270370d9b set shared=1 to sheepdog plugin
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-07-16 07:03:42 +02:00
6bf5629866 fix offline migration bug
Alway pass volname and storeid to plugin->path()
2012-07-16 06:45:13 +02:00
4f4f94801d rbd : set shared as default
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-06-06 12:19:09 +02:00
1dc01b9f30 new plugin architecture 2012-05-23 08:00:13 +02:00