[libvirt] [PATCH 0/7] fspool: backend directory
Olga Krishtal
okrishtal at virtuozzo.com
Thu Aug 25 11:03:01 UTC 2016
On 25/08/16 04:14, Daniel P. Berrange wrote:
> On Fri, Aug 19, 2016 at 06:03:28PM +0300, Olga Krishtal wrote:
>> Hi everyone, we would like to propose the first implementation of fspool
>> with directory backend.
>>
>> Filesystem pools is a facility to manage filesystems resources similar
>> to how storage pools manages volume resources. Furthermore new API follows
>> storage API closely where it makes sense. Uploading/downloading operations
>> are not defined yet as it is not obvious how to make it properly. I guess
>> we can use some kind of tar to make a stream from a filesystem. Please share
>> you thoughts on this particular issue.
>>
>> The patchset provides 'dir' backend which simply expose directories in some
>> directory in host filesystem. The virsh commands are provided too. So it is
>> ready to play with, just replace 'pool' in xml descriptions and virsh commands
>> to 'fspool' and 'volume' to 'item'.
>> Examle and usage:
>> Define:
>> virsh -c qemu:///system fspool-define-as fs_pool_name dir --target /path/on/host
>> Build
>> virsh -c qemu:///system fspool-build fs_pool_name
>> Start
>> virsh -c qemu:///system fspool-start fs_pool_name
>> Look inside
>> virsh -c qemu:///system fspool-list (--all) fspool_name
>>
>> Fspool called POOL, on the host fs uses /fs_driver to hold items.
>> virsh -c qemu:///system fspool-dumpxml POOL
>> <fspool type='dir'>
>> <name>POOL</name>
>> <uuid>c57c9d7c-b1d5-4c45-ba9c-67f03d4da160</uuid>
>> <capacity unit='bytes'>733722615808</capacity>
>> <allocation unit='bytes'>1331486720</allocation>
>> <available unit='bytes'>534810800128</available>
>> <source>
>> </source>
>> <target>
>> <path>/fs_driver</path>
>> <permissions>
>> <mode>0755</mode>
>> <owner>0</owner>
>> <group>0</group>
>> </permissions>
>> </target>
>> </fspool>
>>
>> virsh -c qemu:///system fspool-info POOL
>> Name: POOL
>> UUID: c57c9d7c-b1d5-4c45-ba9c-67f03d4da160
>> State: running
>> Persistent: yes
>> Autostart: no autostart
>> Capacity: 683.33 GiB
>> Allocation: 1.24 GiB
>> Available: 498.08 GiB
>>
>> virsh -c qemu+unix:///system item-list POOL
>> Name Path
>> ------------------------------------------------------------------------------
>> item1 /fs_driver/item1
>> item10 /fs_driver/item10
>> item11 /fs_driver/item11
>> item12 /fs_driver/item12
>> item15 /fs_driver/item15
>>
>> Fspool of directory type is some directory on host fs that holds items (subdirs).
>> Example of usage for items:
>> virsh -c vz+unix:///system item-create-as POOL item1 1g - create item
>> virsh -c qemu+unix:///system item-dumpxml item1 POOL
>> <fsitem>
>> <name>item1</name>
>> <key>/fs_driver/item1</key>
>> <source>
>> fspoo ='POOL'
> Is this a typo, or is it really what you intend the <source>
> content to look like. It seems rather odd to me
It should be <fspool name= 'POOL'/> but afterword xml looks like:
<item>
<name>item1</name>
<key>/home/gray_pig/dirfspool/item1</key>
<capacity unit='bytes'>1073741824</capacity>
<allocation unit='bytes'>0</allocation>
<target>
<permissions>
<mode>0600</mode>
<owner>0</owner>
<group>0</group>
</permissions>
</target>
</item>
>> </source>
>> <capacity unit='bytes'>0</capacity>
>> <allocation unit='bytes'>0</allocation>
>> <target>
>> <format type='dir'/>
>> </target>
>> </fsitem>
>> virsh -c qemu+unix:///system item-info item1 POOL
>> Name: item1
>> Type: dir
>> Capacity: 683.33 GiB
>> Allocation: 634.87 MiB
>> Autostart: no autostart
>> Capacity: 683.33 GiB
>> Allocation: 1.24 GiB
>> Available: 498.08 GiB
>> virsh -c qemu+unix:///system item-list POOL
>> Name Path
>> ------------------------------------------------------------------------------
>> item1 /fs_driver/item1
>> item10 /fs_driver/item10
>> item11 /fs_driver/item11
>> item12 /fs_driver/item12
>> item15 /fs_driver/item15
>>
> Regards,
> Daniel
More information about the libvir-list
mailing list