All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Benjamin <mbenjamin@redhat.com>
To: Ceph Development <ceph-devel@vger.kernel.org>
Cc: Stefan Hajnoczi <stefanha@redhat.com>,
	Sage Weil <sweil@redhat.com>,
	"J. Bruce Fields" <bfields@redhat.com>
Subject: nfsv41 over AF_VSOCK (nfs-ganesha)
Date: Fri, 16 Oct 2015 17:08:17 -0400 (EDT)	[thread overview]
Message-ID: <1249838657.33136909.1445029697101.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <1602558852.33130185.1445028743632.JavaMail.zimbra@redhat.com>

Hi devs (CC Bruce--here is a use case for vmci sockets transport)

One of Sage's possible plans for Manilla integration would use nfs over the new Linux  vmci sockets transport integration in qemu (below) to access Cephfs via an nfs-ganesha server running in the host vm.

This now experimentally works.

some notes on running nfs-ganesha over AF_VSOCK:

1. need stefan hajnoczi's patches for
* linux kernel (and build w/vhost-vsock support
* qemu (and build w/vhost-vsock support)
* nfs-utils (in vm guest)

all linked from https://github.com/stefanha?tab=repositories

2. host and vm guest kernels must include vhost-vsock
* host kernel should load vhost-vsock.ko

3. start a qemu(-kvm) guest (w/patched kernel) with a vhost-vsock-pci device, e.g

/opt/qemu-vsock/bin/qemu-system-x86_64    -m 2048 -usb -name vsock1     --enable-kvm     -drive file=/opt/images/vsock.qcow,if=virtio,index=0,format=qcow2     -drive file=/opt/isos/f22.iso,media=cdrom     -net nic,model=virtio,macaddr=02:36:3e:41:1b:78     -net bridge,br=br0     -parallel none     -serial mon:stdio -device vhost-vsock-pci,id=vhost-vsock-pci0,addr=4.0,guest-cid=4  -boot c

4. nfs-gansha (in host)
* need nfs-ganesha and its ntirpc rpc provider with vsock support
https://github.com/linuxbox2/nfs-ganesha (vsock branch)
https://github.com/linuxbox2/ntirpc (vsock branch)

* configure ganesha w/vsock support
cmake -DCMAKE_INSTALL_PREFIX=/cache/nfs-vsock -DUSE_FSAL_VFS=ON -DUSE_VSOCK -DCMAKE_C_FLAGS="-O0 -g3 -gdwarf-4" ../src

in ganesha.conf, add "nfsvsock" to Protocols list in EXPORT block

5. mount in guest w/nfs41:
(e.g., in fstab)
2:// /vsock41 nfs noauto,soft,nfsvers=4.1,sec=sys,proto=vsock,clientaddr=4,rsize=1048576,wsize=1048576 0 0

If you try this, send feedback.

Thanks!

Matt

-- 
Matt Benjamin
Red Hat, Inc.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://www.redhat.com/en/technologies/storage

tel.  734-707-0660
fax.  734-769-8938
cel.  734-216-5309


       reply	other threads:[~2015-10-16 21:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1602558852.33130185.1445028743632.JavaMail.zimbra@redhat.com>
2015-10-16 21:08 ` Matt Benjamin [this message]
2015-10-19  6:52   ` nfsv41 over AF_VSOCK (nfs-ganesha) Stefan Hajnoczi
2015-10-19 15:13   ` J. Bruce Fields
2015-10-19 15:49     ` Matt Benjamin
2015-10-19 15:58       ` J. Bruce Fields
2015-10-19 16:03         ` Matt Benjamin
2015-10-19 16:13   ` John Spray
2015-10-23 13:27     ` John Spray
2015-10-23 16:34       ` Daniel Gryniewicz
2015-10-23 18:05         ` Matt Benjamin
2015-10-27 14:49       ` Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1249838657.33136909.1445029697101.JavaMail.zimbra@redhat.com \
    --to=mbenjamin@redhat.com \
    --cc=bfields@redhat.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=stefanha@redhat.com \
    --cc=sweil@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.