First, create and import the new pool and ensure its configured to start on boot.
Ensure swhspared is restarted and host re-saved (enabled) to be able to see the new pool in the dashboard.
Create a snapshot of the domain that contains the volume using the following example
zfs snapshot -r SYSTEM-7306/domain-9c56ee43a6544ff9931c1b0735b44a63@snap1
Copy the data from one pool to the other using the following example
zfs send SYSTEM-7306/domain-9c56ee43a6544ff9931c1b0735b44a63/vol-3053db2352864cec9235deb991f9a6cb@snap1 | pv | zfs recv -Fdu SIPMON
In this example SYSTEM-7306 is the originating pool, domain-9c56... is the source domain and vol-3053... is the source volume. SIPMON is the destination pool.
Due to this taking some time to complete, you should run the process in screen.
Next you need to tell serverware that a different volume is used for the vps by going into mysql on the controller and first seeing the uuid list and the pool IDs by running
mysql> select * from sw_vps_volumes; +----+----------------------------------+-----------------+-----------+---------------------------------------------+---------+------------------+------------+ | id | uuid | storage_pool_id | domain_id | iqn | size | storage_location | type | +----+----------------------------------+-----------------+-----------+---------------------------------------------+---------+------------------+------------+ | 1 | 94123d36198c4985925fb0e4d0c6ffbe | 1 | 1 | volume:vol-94123d36198c4985925fb0e4d0c6ffbe | 500.00 | NETWORK | STANDALONE | | 2 | 3053db2352864cec9235deb991f9a6cb | 2 | 2 | volume:vol-3053db2352864cec9235deb991f9a6cb | 5000.00 | LOCAL | STANDALONE | | 6 | 8d5cccf7e9ce41fda721f9097dca22de | 1 | 1 | volume:vol-8d5cccf7e9ce41fda721f9097dca22de | 500.00 | NETWORK | STANDALONE | | 7 | c2dbc3248ed74843aea33d49b9a163f9 | 1 | 1 | volume:vol-c2dbc3248ed74843aea33d49b9a163f9 | 500.00 | NETWORK | STANDALONE | +----+----------------------------------+-----------------+-----------+---------------------------------------------+---------+------------------+------------+
In this example our UUID is 3053db2352864cec9235deb991f9a6cb and has storage_pool_id 2.
Next check your storage pools
mysql> select * from sw_storage_pools ; +----+--------+---------+-------------+--------------+------------------+------------------+------------------+--------+ | id | net_id | host_id | name | storage_type | size | used | available | health | +----+--------+---------+-------------+--------------+------------------+------------------+------------------+--------+ | 1 | 1 | 1 | NETSTOR | NETWORK | 3706.87999999988 | 79.4954566955566 | 3516.50454330444 | ONLINE | | 2 | 1 | 2 | SYSTEM-7306 | LOCAL | 476.0 | 434.425287246704 | 26.6997127532959 | ONLINE | | 4 | 1 | 2 | SIPMON | LOCAL | 5570.55999999959 | 74.8107719421386 | 5319.18922805786 | ONLINE | +----+--------+---------+-------------+--------------+------------------+------------------+------------------+--------+
In this example our sipmon pool has ID 4.
All that is left to do is to tell serverware to use pool ID 4 instead of 2 in the sw_vps_volumes table for this specific volume
update sw_vps_volumes set storage_pools_id=4 where uuid="3053db2352864cec9235deb991f9a6cb";
Finally re-name the original domain which is on the OS pool to avoid conflict with the volume/domain on the dedicated pool.
To do this
First detach the VPS via
sw vps-detach -n SIPmon
Rename the domain via
zfs rename SYSTEM-7306/domain-9c56ee43a6544ff9931c1b0735b44a63 SYSTEM-7306/domain-9c56ee43a6544ff9931c1b0735b44a63BAK
Restart sw-connector via
/etc/init.d/sw-connector restart
If the connector restart does not attach and start the vps, you can do that manually but keep in mind that the system will run a mandatory fsck that could take a long time to complete if the volume is big (check in 'ps fax'). You can recognize by messages and warnings about sw-connector not running.
If you confirm that the data is good and no issues on the VPS you can destroy the domain and volume on the OS pool via
zfs destroy SYSTEM-7306/domain-9c56ee43a6544ff9931c1b0735b44a63BAK