Commit Graph

543 Commits

Author SHA1 Message Date
Dietmar Maurer
37ba0aea5b volume_list: moved code from PVE::API2::Storage::Content
For better code reuse.
2015-10-01 06:50:19 +02:00
Dietmar Maurer
746e530f72 white space cleanups: correctly intend code 2015-10-01 06:28:22 +02:00
Dietmar Maurer
180c8b020c complete_storage: correctly pass storage config to storage_ids() 2015-10-01 06:26:35 +02:00
Alen Grizonic
ba0cf557f4 pvesm list fix 2015-09-29 17:25:05 +02:00
Wolfgang Bumiller
399581a2b3 volume_snapshot_delete: deactivate before deleting 2015-09-25 13:41:04 +02:00
Dietmar Maurer
82548118ec drbd: use correct unit for storage sizes 2015-09-25 13:34:55 +02:00
Thomas Lamprecht
2e346fd478 drbd: return correct used/avail/total sizes
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2015-09-25 13:10:05 +02:00
Wolfgang Link
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
Dietmar Maurer
f7621c0126 improve bash completions 2015-09-18 09:33:09 +02:00
Dietmar Maurer
c669f42d4e convert pvesm into a PVE::CLI class 2015-09-18 08:22:04 +02:00
Wolfgang Link
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
Dietmar Maurer
097a2b2fcf fix lvm storage status 2015-09-11 12:13:00 +02:00
Dietmar Maurer
4f6a99d8c7 rbd: make activate_volume idempotent 2015-09-10 11:12:09 +02:00
Wolfgang Link
b50812f941 rbd: skip unmap if device is not mapped 2015-09-10 10:41:54 +02:00
Dietmar Maurer
c2c312175b drbd: also allow to configure content property 2015-09-10 08:41:00 +02:00
Dietmar Maurer
3c05693484 allow to create containers on DRBD (content == rootdir) 2015-09-10 08:29:23 +02:00
Wolfgang Link
515ef80bf5 improve free_image with deactivate_volumes
this is necessary to prevent an error when trying to remove a mapped volume.
2015-09-09 07:09:37 +02:00
Dietmar Maurer
84c8e52da9 use read_proc_mounts from PVE::ProcFSTools 2015-09-03 10:16:38 +02:00
Wolfgang Link
bb5520eb17 move read_proc_mounts from NFSPlugin to Tools.
this function will be uesd in more path of the code.
2015-09-03 10:12:07 +02:00
Wolfgang Bumiller
be48449c28 GlusterfsPlugin: replace Net::Ping with tcp_ping
Using PVE::Network::tcp_ping on port 7 (echo) for ipv6
support.
2015-08-31 15:50:56 +02:00
Wolfgang Bumiller
1689e627a6 iSCSI ipv6 support 2015-08-31 15:50:34 +02:00
Wolfgang Link
9660f71602 fix to prevent uninitialized variable massage. 2015-08-28 11:24:49 +02:00
Dietmar Maurer
48e27f7937 scan_zfs: ignore subvolumes generated by our ZFSPoolPlugin 2015-08-28 11:01:41 +02:00
Wolfgang Bumiller
3932390b11 allow subvolume selection in ZPool storage 2015-08-28 10:56:55 +02:00
Dietmar Maurer
e67069eb58 path: corretly implement path to snapshots 2015-08-27 12:03:46 +02:00
Wolfgang Link
1f79bb07f1 Add content type rootfs to RBD and extend manual 2015-08-26 15:39:09 +02:00
Alen Grizonic
2a2cf20aa9 remove storage access permissions after delete 2015-08-19 15:17:38 +02:00
Alen Grizonic
402df80b12 added remove storage (exist) check 2015-08-19 15:14:29 +02:00
Wolfgang Bumiller
53ec90e23e upload API: safer filename handling
Replace possibly-dangerous characters in uploaded filenames
with underscores, this includes spaces, colons, commas,
equal signs and any byte >= 128. Previously only spaces were
turned into underscores.

Also shell_quote the destination for scp.

Use '--' for some shell commands for safety.

Use brackets around the scp destination for ipv6 support.
2015-08-18 16:23:53 +02:00
Dietmar Maurer
a6f1262677 parse_volname: document return values 2015-08-12 07:34:58 +02:00
Dietmar Maurer
7800e84d28 parse_volname: always return image format 2015-08-12 07:01:07 +02:00
Dietmar Maurer
55525ad265 ZFSPoolPlugin: improve subvol support
- return format with parse_volname
- consider subvol in zfs_find_free_diskname
2015-08-12 06:49:15 +02:00
Dietmar Maurer
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
Dietmar Maurer
dec97937f2 zfs_parse_zvol_list: do not add pool to volname
Else, alloc and list return different volids.
2015-08-10 16:53:19 +02:00
Dietmar Maurer
d73060becd storage_info: fix content filter
List all storages if $content filter is undefined.
2015-08-10 10:05:01 +02:00
Alexandre Derumier
9f20a8a643 rbd: add support to krbd
Can be use by lxc (but also qemu)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2015-08-07 11:56:40 +02:00
Dietmar Maurer
583c2802f8 storage status API: allow to filter multiple content types 2015-08-07 09:46:49 +02:00
Wolfgang Link
27ff0e99e2 fix bug #664
Catch the error, if the dataset doesn't exists.
If it will not catched, you can't remove a VM.
2015-07-30 11:50:46 +02:00
Wolfgang Bumiller
afdfbe5594 mask world r and group wx permissions in vdisk_alloc
Avoid world-readable disk files being created as suggested
in #416 by setting an umask to strip world permissions as
well as group write/exec permissions before calling
alloc_image.
2015-07-30 08:49:46 +02:00
Dietmar Maurer
13d2cb7980 allow templates using .xz compression 2015-07-01 10:06:24 +02:00
Wolfgang Link
d6d924d0bf Fix ZFSPoolPlugin path for subvol
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-06-22 11:03:11 +02:00
Dietmar Maurer
30a1369b91 drbd: improve error messages 2015-06-19 12:10:45 +02:00
Dietmar Maurer
ae9e512e91 drbd: implement deactivate_volume (but code is disabled for now) 2015-06-18 13:06:30 +02:00
Dietmar Maurer
9913665327 drbd: use old code to wait for diskless assignment 2015-06-18 12:21:44 +02:00
Dietmar Maurer
b0e0ed1abe drbd: remov hack, because bug is fixed upstream
see http://git.drbd.org/gitweb.cgi?p=drbdmanage.git;a=commitdiff;h=8056e58b929673afb2d4a33d82fdeea4d43f8667
2015-06-18 11:55:56 +02:00
Dietmar Maurer
31ba75ff58 drbd: correctly check all result codes 2015-06-18 11:45:04 +02:00
Dietmar Maurer
4959ea20c1 drbd: correctly wait for diskless assignments 2015-06-18 10:43:43 +02:00
Dietmar Maurer
d1e7ac11de drbd: improve workaround for set_drbdsetup_props 2015-06-18 06:21:38 +02:00
Dietmar Maurer
98e250aa41 drbd: call set_drbdsetup_props after auto-deploy
Else it gets not assigned. For some unknown reason, we need to sleep
to avoid a split brain?!
2015-06-17 11:33:49 +02:00
Dietmar Maurer
07af07cc16 drbd: set allow-two-primaries=yes
So that we can do live migrations.
2015-06-17 08:57:32 +02:00
Wolfgang Link
ee302b1caa Fix nfsscan
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-06-10 10:55:06 +02:00
Wolfgang Bumiller
6564419625 include ::1 in localhost check in get_active_server 2015-05-27 08:29:39 +02:00
Wolfgang Bumiller
f8b0d82fe6 NFS: replace rpcinfo with showmounts
rpcinfo from rpcbind-0.2.1 in debian doesn't support ipv6 addresses.
At the same time the used command only actually tests for
portmapper/rpcbind availability, not for NFS directly.
Storage::scan_nfs uses /sbin/showmount to get a list of NFS exports from a
server and happily accepts ipv6 addresses. It is also more specific to NFS.

Replacing the rpcinfo call with showmount here means checking explicitly
for NFS and supporting IPv6 without the need for an updated rpcbind
package.
2015-05-21 11:49:35 +02:00
Wolfgang Bumiller
da63f58832 NFSPlugin: deal with ipv6 addresses and fix regexps
NFS needs brackets around ipv6 addresses.
Also: nfs_is_mounted needs to quote the variables. This becomes apparent
when ipv6 addresses are used as then the address would otherwise be
treated as a character class, causing the check to always fail.
2015-05-21 11:49:21 +02:00
Wolfgang Bumiller
6bf617a954 allow ipv6 addresses in Storage::verify_server
Replaced regex with existing PVE::JSONSchema::verify_... functions.
2015-05-21 11:48:08 +02:00
Dietmar Maurer
69a093c7fd drbd: avoid warning about undefined value 2015-05-18 14:15:35 +02:00
Dietmar Maurer
47dbb901c3 fix typo 2015-05-18 14:12:59 +02:00
Wolfgang Bumiller
c67daeac17 ipv6 support for Storage::resolv_server
While in posix gethostbyname(3) does support ipv6, perl's gethostbyname
usually returns wrong results for names, or no results for ipv6
addresses. Since we provide a getaddrinfo helper already, we now use
that instead.
2015-05-12 10:39:15 +02:00
Wolfgang Link
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
Dietmar Maurer
1ccae4490e zfspool: new format 'subvol' to handle filesystems inside datasets
We use this for containers.
2015-05-01 14:46:17 +02:00
Dietmar Maurer
4cb6e060c3 correctly parse lxc backup files 2015-05-01 11:29:15 +02:00
Dietmar Maurer
93124ef4fe ZFSPoolPlugin: allow nested datasets 2015-04-30 06:48:39 +02:00
Dietmar Maurer
6d788031b0 add newlines to error messages 2015-04-29 06:59:48 +02:00
Dietmar Maurer
e0852ba7dc whitespace cleanups 2015-04-27 10:44:32 +02:00
Wolfgang Link
3d621977f4 implement offline migration on zfs
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-04-27 10:44:23 +02:00
Dietmar Maurer
466183d677 DRBDPlugin: hack - wait until device is acessible 2015-03-23 12:50:13 +01:00
Dietmar Maurer
28d5851293 DRBDPlugin: automatically create diskless assignments 2015-03-23 11:51:02 +01:00
Dietmar Maurer
fb0e1d93a7 DRBDPlugin: correctly use default redundancy 2015-03-23 09:38:39 +01:00
Dietmar Maurer
d26e1891ff mark drbd as shared storage 2015-03-21 11:20:18 +01:00
Dietmar Maurer
5d6a88b0c4 DRBDPlugin: fix bug in status 2015-03-21 11:02:47 +01:00
Dietmar Maurer
eab90afd46 DRBDPlugin: use Net::DBus 2015-03-21 10:58:06 +01:00
Dietmar Maurer
14770890e2 add dummy for DRBD9 2015-03-20 17:44:15 +01:00
Wolfgang Link
37121146ec fix rpcinfo path
change path in jessie of package rpcbind
from /usr/bin/rpcinfo to /usr/sbin/rpcinfo

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-03-06 10:33:26 +01:00
Wolfgang Link
1f390a3030 fix bug #602: now zfs will wait 5 sec if error msg is "dataset is busy"
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-03-06 10:15:40 +01:00
Pawel Boguslawski
399ab2b605 Fixed LV cleaning function. saferemove_throughput parameter added.
Signed-off-by: Pawel Boguslawski <pawel.boguslawski@ib.pl>
2015-03-06 10:12:52 +01:00
Alexandre Derumier
a8176f5458 rbd: monhost string : escape only ":" character
we need to escape ":" used to defined mon ports

"10.5.0.11:6789; 10.5.0.12:6789; 10.5.0.13:6789"

->

"10.5.0.11\:6789; 10.5.0.12\:6789; 10.5.0.13\:6789"

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2015-03-06 10:10:10 +01:00
Wolfgang Link
82e08809fd change var name to prevent side effects.
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-02-16 11:35:13 +01:00
Wolfgang Link
4eff810db8 Bug-fix alloc_image in ZFSPlugin.pm
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-02-16 11:31:28 +01:00
Wolfgang Link
8a55ff7d39 bug-fix for size output
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-02-12 11:47:45 +01:00
Dietmar Maurer
76fd7dc7c2 ZFSPoolPlugin: use udevadm settle with --exit-if-exists
And silently ignore error if that command fails.
2015-02-12 11:47:45 +01:00
Dietmar Maurer
f824c72250 cleanup error messages 2015-02-12 09:40:17 +01:00
Dietmar Maurer
b3f302c638 call volume_rollback_is_possible from PVE::Storage::volume_snapshot_rollback
That way it is automatically called for all plungins.
2015-02-12 09:28:52 +01:00
Wolfgang Link
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
Wolfgang Link
a4034b9f19 zfspoolplugin: fix volume_resize
copy methode volume_resize form ZFSPlugin.pm to ZFSPoolPlugin.pm
refactor volume_resize

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-02-10 12:48:34 +01:00
Wolfgang Link
86d472394a zfs: auto import after reboot
this is necessary, because after a reboot all pools except rpool are gone

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-02-09 12:26:28 +01:00
Wolfgang Link
90a11abe78 ZfsPoolPlugin: fix add disks
now it is possible add disk to an vm on rpool

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-02-09 12:09:43 +01:00
Wolfgang Link
9b61bc9e88 zfs: fix wait by alloc_image
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-01-30 06:24:56 +01:00
Dietmar Maurer
584d97f646 implement zfsscan to list local zfs pools 2015-01-26 09:05:09 +01:00
Dietmar Maurer
0a3d992f72 move activate_storage into ZFSPoolPlugin 2015-01-24 14:30:10 +01:00
Dietmar Maurer
85fda4dd7f rename ZFSDirPlugin to ZFSPoolPlugin
Turned out it makes no sense to duplicated DirPlugin features. So I
also changed the name to make it less confusing. So we can only
create zvols inside a zfs pool with this plugin.
2015-01-24 14:17:55 +01:00
Dietmar Maurer
0a71b39457 zfs: remove useless warning inside clone_image 2015-01-23 12:57:38 +01:00
Wolfgang Link
d3a282e83e zfs: move and refactor code
copy and modify create_base and refactor clone_image

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-01-23 12:57:38 +01:00
Dietmar Maurer
2fc59177c9 zfs: implement zfs_get_latest_snapshot
To improve code sharing.
2015-01-23 12:57:38 +01:00
Wolfgang Link
2b40ffaea9 zfs: move code fix metode call
duplicate code because can't refactor volume_snapshot_rollback

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-01-23 12:57:38 +01:00
Wolfgang Link
d4c63dc147 zfs: move code
move activate_volume deactivate_volume from ZFSPlugin to ZFSDirPlugin

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-01-23 12:57:38 +01:00
Wolfgang Link
f3e632d073 zfs: ZFSDirPlugin add methode path
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-01-23 12:57:38 +01:00
Wolfgang Link
ca04180f3b zfs: move methode list_image
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-01-23 12:57:38 +01:00
Wolfgang Link
e9565df58e zfsdir: implement free_image
Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-01-23 12:57:38 +01:00
Wolfgang Link
cc80ed9c00 zfs: move code
move parse_volume from ZFSPlugin to ZFSDirPlugin, to avoid duplication

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-01-23 12:57:38 +01:00
Wolfgang Link
b3ba95e493 zfs: move some code
move the most part of alloc_image to ZFSDirPlugin

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
2015-01-23 12:57:28 +01:00
Dietmar Maurer
52f8fb7191 zfs: remove duplicate $object definition 2015-01-22 10:22:54 +01:00
Dietmar Maurer
b5e5f7e3a8 zfs: move common code to ZFSDirPlugin 2015-01-22 10:10:35 +01:00
Dietmar Maurer
6b5bca68e6 zfs: white space cleanups 2015-01-22 09:45:32 +01:00
Dietmar Maurer
34eaae3f8d zfs: cleanup zfs_get_lu_name 2015-01-22 09:40:22 +01:00
Dietmar Maurer
e8004c9cb7 zfs: cleanup zfs_request 2015-01-22 09:37:52 +01:00
Dietmar Maurer
7730694e54 zfs: make zfs_request a virtual method
So that we can move common code into ZFSDirPlugin class.
2015-01-22 09:29:13 +01:00
Dietmar Maurer
060ef890eb zfsdir: cleanup zfs_parse_size 2015-01-22 07:58:42 +01:00
Dietmar Maurer
5bb8e01076 ZFSDirPlugin: new plugin for local zfs storage
We also want to use this as base class for ZFSPlugin, to increase
code sharing.
2015-01-22 07:54:10 +01:00
Alexandre Derumier
3fad260379 rbd, zfs, sheepdog: bugfix : fix alloc_image if name is specified
Currently vmstate snapshot with rbd have wrong name,
because rbd alloc_image don't care if $name is provided

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-11-21 08:03:08 +01:00
Michael Rasmussen
b200cefd06 fix modification of read only bug
Signed-off-by: Michael Rasmussen <mir@datanom.net>
2014-10-25 09:46:28 +02:00
Stoyan Marinov
187ca53927 Add transport option for glusterfs storage
Signed-off-by: Stoyan Marinov <stoyan@marinov.us>
2014-10-17 09:29:18 +02:00
Dietmar Maurer
e384c898d3 allow iso upload for glusterfs 2014-09-10 14:15:11 +02:00
Dietmar Maurer
a66159e356 glusterfs: new option server2 to specify backup volfile server 2014-08-27 11:29:36 +02:00
Stefan Priebe
44c3689afc RBD: enable clone of snaps
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-07-17 08:04:12 +02:00
Stefan Priebe
f90a0a20e7 rbd: unprotect snapshots before deletion
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-07-17 08:00:34 +02:00
Stefan Priebe
7bbc40045a pass snapname to vdisk_clone and plugin clone_image
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-07-17 07:59:49 +02:00
Dietmar Maurer
63da6d7983 cleanups 2014-07-17 07:59:13 +02:00
Stefan Priebe
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
Stefan Priebe
2362bc8798 fix ' escaping of $snap parameter
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-07-17 07:38:43 +02:00
Dietmar Maurer
c97c5b3b0b coding style cleanup 2014-07-17 07:37:23 +02:00
Stefan Priebe
c693f74953 ceph/rbd: has a pretty strange error handling - install custom run_command function
Always use a custom error sub to get the real errors out of rbd command instead of the typical:

 2014-02-06 11:20:20.187190 7f3b6c37c760 -1 librbd: removing snapshot from header failed: (16) Device or resource busy

before:
rbd: snapshot 'abc' is protected from removal.
TASK ERROR: rbd snapshot vm-173-disk-1' error: 2014-02-06 11:06:02.438336 7f6f4ac92760 -1 librbd: removing snapshot from header failed: (16) Device or resource busy

now:
TASK ERROR: rbd: snapshot 'abc' is protected from removal.

Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2014-07-17 07:26:09 +02:00
Chris Allen
a315b9ff56 Added code to abort a snapshot rollback in ZFS if the snapshot selected is not the most recent. This is to avoid lu deletion when trying to rollback to a snapshot that isn't the newest.
Signed-off-by: Chris Allen <Chris Allen>
2014-06-25 09:14:03 +02:00
Chris Allen
454c15e270 Added target-group and host-group options for ZFS comstar views. Use "comstar_tg" and "comstar_hg" in "/etc/pve/storage.pm".
Signed-off-by: Chris Allen <Chris Allen>
2014-06-25 09:13:54 +02:00
Chris Allen
551534a3bc Fixed Istgt LUN Options handling.
Signed-off-by: Chris Allen <Chris Allen>
2014-06-25 09:13:45 +02:00
Chris Allen
c521e801ae Fixed command substitution and output redirection in Istgt module to work in csh - the default shell in FreeBSD. Changed Istgt "restart" to "onerestart". This way a running istgt daemon will always restart whether or not it is enabled in rc.conf.
Signed-off-by: Chris Allen <Chris Allen>
2014-06-25 09:13:31 +02:00
Chris Allen
70986fd9e4 Added "nowritecache" option to ZFS storage plugin. Turns off write caching on Comstar and Istgt LUNs created by the plugin. Has no effect on IET, as IET always uses write-through caching for blockio volumes not in read-only mode.
Signed-off-by: Chris Allen <Chris Allen>
2014-06-25 09:13:03 +02:00
Chris Allen
a9bd7bdfdc Added sparse zvol support to ZFS.
To enable, add "sparse" to the ZFS storage section, you wish to use it on, in "/etc/pve/storage.pm"

Signed-off-by: Chris Allen <Chris Allen>
2014-06-25 09:11:49 +02:00
Pablo Ruiz Garcia
5e4791804c Improve parsing of zfs volumes (ZVOLs) in order to avoid filtering of zvols nested under another ZFS dataset.
The actual code would only accept zvols like: POOL/vm-123-disk-1.
However, using POOL/DataSet/vm-123-disk-1 allows setting specific
proparties at POOL/DataSet level (like compression, etc.) which
would be inherited by any zvol created under such DataSet.

This allows more flexibility of zfs/zvol's management.

Signed-off-by: Pablo Ruiz García <pablo.ruiz@gmail.com>
2014-02-27 06:21:38 +01:00
Alexandre Derumier
76f60be802 update sheepdog storage module to 0.8
- collie command is now 'dog'
- KB size is now k
- snapshot rollback need force -f flag, to avoid confirm prompt

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-01-28 07:06:13 +01:00
Alexandre Derumier
db7922dcef glusterfs : create volume through gluster block driver instead fuse mount point
forum user report slow qcow2 volume create with preallocated metadatas
http://forum.proxmox.com/threads/17471-GlusterFS-amp-Proxmox-Future-amp-QCOW2-Issues

(note that I can't reproduce it with qemu 1.7)

But redhat bugzilla have an entry about possible problem with volume is create through mount point.
https://bugzilla.redhat.com/show_bug.cgi?id=895830

So,It's better to manage it through gluster block driver directly.

(We need only the mount point to create directory and list images files)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2014-01-16 09:38:03 +01:00
Michael Rasmussen
3b219e8037 Use ssh key stored in pmxcfg. Use ssh -i /etc/pve/priv/zfs/portal_id_rsa for remote commands
Signed-off-by: Michael Rasmussen <mir@datanom.net>
2013-10-23 06:26:30 +02:00
Michael Rasmussen
86f00da603 Code clean up. Fix wrong indentation.
Signed-off-by: Michael Rasmussen <mir@datanom.net>
2013-10-23 06:26:26 +02:00
Dietmar Maurer
dda2651943 install Iet.pm 2013-10-21 06:14:43 +02:00
Michael Rasmussen
78a64432ff Added support for iSCSI Enterprise Target Daemon (iet) iscsitarget used in Linux distributions.
Signed-off-by: Michael Rasmussen <mir@datanom.net>
2013-10-21 06:13:35 +02:00
Michael Rasmussen
099925e4ba Code clean up
Signed-off-by: Michael Rasmussen <mir@datanom.net>
2013-10-21 06:13:05 +02:00
Dietmar Maurer
b1045cc2ca add missing Makefile to install LunCmd/ modules 2013-10-18 09:41:16 +02:00
Michael Rasmussen
a62d1e992d Module to support istgt lun commands Istgt is used on any *BSD. As of FreeBSD 10 it seems FreeBSD will provide thier own native replacement.
Signed-off-by: Michael Rasmussen <mir@datanom.net>
2013-10-18 09:34:36 +02:00
Michael Rasmussen
ee31ad019c Comstar lun commands moved to separate module
Signed-off-by: Michael Rasmussen <mir@datanom.net>
2013-10-18 09:34:12 +02:00
Michael Rasmussen
a7d56be676 Prepare for adding support for istgt and openiscsi Refactor code. Move any LUN related to proper LUN module.
Signed-off-by: Michael Rasmussen <mir@datanom.net>
2013-10-18 09:33:56 +02:00
Michael Rasmussen
1fca146493 Fixes bug in calculating pool size
Signed-off-by: Michael Rasmussen <mir@datanom.net>
2013-10-14 07:21:08 +02:00
Alexandre Derumier
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
Michael Rasmussen
98735f827a Remove unused functionality
Signed-off-by: Michael Rasmussen <mir@datanom.net>
2013-10-03 07:32:07 +02:00
Dietmar Maurer
5332e6c97e code cleanups for ZFSPlugin 2013-10-02 06:54:56 +02:00
Michael Rasmussen
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
Dietmar Maurer
ffd6f2f3ab use warnings instead of global -w flag 2013-10-01 13:08:43 +02:00
Dietmar Maurer
35fbb2e645 new helper abs_filesystem_path()
Returns the absolute path for a <volid>. Also activates storage if possible.
2013-10-01 12:29:39 +02:00
Alexandre Derumier
ec4b0dc781 storage: add parse_volname
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-10-01 11:19:00 +02:00
Dietmar Maurer
452e3ee780 bug fix: use filesysetm_path for LVM/iSCSI storage
So that the genrice Storage::Plugin code works again (get_subdir() fails on
this type of storage).
2013-09-19 06:41:51 +02:00
Dietmar Maurer
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
Dietmar Maurer
5f25af2f93 avoid nested parameter exception 2013-09-04 13:43:59 +02:00
Dietmar Maurer
8e87d6eef0 auto-detect format for files with vmdk extension 2013-09-04 10:18:50 +02:00
Dietmar Maurer
a18f774079 return error if volume does not exists 2013-09-04 10:17:47 +02:00
Dietmar Maurer
3cf5e19edc API: add scan method for glusterfs 2013-08-13 10:06:03 +02:00
Dietmar Maurer
1a3459ac78 delete trailing white-space 2013-08-12 11:56:41 +02:00
Alexandre Derumier
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
Alexandre Derumier
9165b0153e sheepdog : fix create_base with storeid !='sheepdog'
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-06-24 10:07:46 +02:00
Alexandre Derumier
9538d0475a sheepdog: fix find_next_volume with storeid != 'sheepdog', find display volume size
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-06-24 10:07:33 +02:00
Stefan Priebe
a8c3f8f6ac --format is deprecated
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2013-06-04 13:09:02 +02:00
Stefan Priebe
8cc610093b be more verebose on rbd commands to get progress
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2013-05-31 11:50:41 +02:00
Alexandre Derumier
0b79e98ccb nexenta: nexenta_get_zvol_size : parse result to avoid tainted value
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-28 12:39:09 +02:00
Dietmar Maurer
c55a499dfe nexenta: skip disks whith no owner
We also do this for LVM. Else I get:

> qm rescan --vmid 100
Use of uninitialized value $owner in string ne at /usr/share/perl5/PVE/Storage/NexentaPlugin.pm line 356.
2013-05-27 06:40:37 +02:00
Dietmar Maurer
72d9f66e51 nexenta: disable ssl_opt verify_hostname
Else we are unable to connect to the server when using ssl.
2013-05-24 14:53:40 +02:00
Dietmar Maurer
12c2fe32e1 bump version to 3.0-6 and fix bug from previous commit 2013-05-14 11:26:23 +02:00
Alexandre Derumier
3e29c0f229 rbd : clone volume to same pool that base volume
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-14 10:04:01 +02:00
Dietmar Maurer
283608f330 extend storage list API with useful parameters for clone
Add ability to list shared storages availavlable on souce and target node.
2013-05-14 09:56:11 +02:00
Dietmar Maurer
7acee37a30 since wheezy, iscsiadm -m session throw an error code if no session exist.
So we can't bring up the iscsi storage

This patch is based on the patch submitted by Alexandre, but we only
suppress error messages when there are no active sessions. Other errors still
trigges an exceptions.
2013-05-13 08:00:16 +02:00
Alexandre Derumier
38e6ec3fbd rbd: sub path: add snapname argument
needed for qemu-img convert from src snapshot

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-02 06:34:55 +02:00
Alexandre Derumier
24cec3aa77 sheepdog: sub path: add snapname argument
needed for qemu-img convert from src snapshot

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-02 06:34:32 +02:00
Alexandre Derumier
207ea85267 storage : sub path: add snapname argument
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-05-02 06:33:33 +02:00
Stefan Priebe
8897f5dcc5 rbd -p parameter is only valid for the src (see man). Add the pool to the target as well.
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2013-04-22 06:17:15 +02:00
Dietmar Maurer
87cf5d409c use integer size in rbd size parameter 2013-03-25 12:55:09 +01:00
Dietmar Maurer
d6c9dc34af file upload: fix race condition
bump version to 2.3-6
2013-03-04 09:00:27 +01:00
Dietmar Maurer
df6b79c892 fix permission check for backup file removal 2013-03-01 06:04:03 +01:00
Dietmar Maurer
b8744249a2 fix access rights
Try to use $rpcenv->check_volume_access() everywhere.
2013-02-28 10:15:44 +01:00
Alexandre Derumier
1440604a4b rbd : rework pool - username - auth_supported options
pool is now optional, default value is 'rbd';
username is now optional, default value is 'admin';

auth_supported option is removed and is autodetected.
  auth = cephx if private key exist
  auth = none if private key does not exist

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-18 06:32:57 +01:00
Alexandre Derumier
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
Alexandre Derumier
2c5a70971a has_feature : fix key = snap
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 10:08:04 +01:00
Alexandre Derumier
7e8c6888b2 iscsi : has_feature : copy
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:28:25 +01:00
Alexandre Derumier
39ab682a68 iscsidirect : has_feature : copy
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:28:15 +01:00
Alexandre Derumier
9bb4abf6a6 lvm : has_feature : copy
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:28:03 +01:00
Alexandre Derumier
74158ff3b9 nexenta : has_feature : copy
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:27:51 +01:00
Alexandre Derumier
62ebea1e56 sheppdog : has_feature : copy
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:27:37 +01:00
Alexandre Derumier
0255ee5fda rbd : has_feature : copy
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:27:27 +01:00
Alexandre Derumier
22b8cf9731 plugin : has_feature : copy
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-15 07:27:07 +01:00
Alexandre Derumier
9bc7fa7ad2 nexenta : has_feature : clone base
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 11:11:36 +01:00
Alexandre Derumier
7516817760 sheepdog : has_feature : clone base
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 11:11:21 +01:00
Alexandre Derumier
1e7ae58194 rbd : has_feature : clone from base
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 11:10:51 +01:00
Alexandre Derumier
dc4f2cb33d plugin : has_feature : clone from base + fix
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 11:10:23 +01:00
Alexandre Derumier
201345af42 nexenta : volume_snapshot_delete : parse_volname
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 10:34:41 +01:00
Alexandre Derumier
851dc88088 nexenta : volume_snapshot_rollback : parse_volname
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 10:34:18 +01:00
Alexandre Derumier
1e507a72f9 nexenta : volume_snapshot : parse_volname
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 10:34:10 +01:00
Alexandre Derumier
d6a30aa259 nexenta : volume_resize : parse_volname
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 10:33:58 +01:00
Alexandre Derumier
d2befd94be nexenta : volume_size_info : parse_volname
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 10:33:43 +01:00
Alexandre Derumier
74822cd72d nexenta : free_image
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 10:33:33 +01:00
Alexandre Derumier
2e910a0e3a nexenta : list_images
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 10:32:55 +01:00
Alexandre Derumier
324679682e nexenta : clone_image
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 10:31:39 +01:00
Alexandre Derumier
1c0097dd51 nexenta : create_base
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 10:31:29 +01:00
Alexandre Derumier
5b29d458f4 nexenta : find_free_diskname
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 10:26:05 +01:00
Alexandre Derumier
1a259abc18 nexenta : nexenta_list_zvol : parse base volumes
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 10:25:04 +01:00
Alexandre Derumier
e7b2953b2f nexenta : parse_volname
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-02-14 10:23:44 +01:00