Hi
all,
Not
sure if this will be useful to anyone. Worse, it’s probably not
complete or correct, but I thought I would throw this out there for comment.
I
asked earlier about configuring libvirt for NFSv4 support. I wanted to
define NFSv4 pool from xml config, but it’s not an option. I
decided to hack a bit. Added the following to source code:
storage_conf.h(417):
enum
virStoragePoolFormatFileSystemNet {
VIR_STORAGE_POOL_NETFS_AUTO = 0,
VIR_STORAGE_POOL_NETFS_NFS,
VIR_STORAGE_POOL_NETFS_NFS4,
VIR_STORAGE_POOL_NETFS_GLUSTERFS,
VIR_STORAGE_POOL_NETFS_CIFS,
VIR_STORAGE_POOL_NETFS_LAST,
};
storage_conf.c(64):
VIR_ENUM_IMPL(virStoragePoolFormatFileSystemNet,
VIR_STORAGE_POOL_NETFS_LAST,
"auto", "nfs", "nfs4",
"glusterfs", "cifs")
Compiled
libvirt and then created storage pool xml:
<pool
type="netfs">
<name>pool2</name>
<source>
<host name="test_filer"/>
<dir path="/libvirt"/>
<format type="nfs4"/>
</source>
<target>
<path>”/usr/local/var/lib/libvirt/images/nfsds2”</path>
</target>
</pool>
‘Virsh
pool-create [above xml]’ works, using ‘mount –t nfs4’.
Again,
this seemed too easy, so I won’t be surprised if things break. However,
I was just trying to demonstrate functionality in lab, so failures are fine
short term.
Please
comment on flaws or improvements to this approach.
Thanks,
Paul
Worner