I have a reproduceable problem when trying to boot a kvm guest whose root
filesystem is on an nfs path that is accessed from the kvm virt host via
nfs-ganesha-2.8 and the proxy fsal.
All hosts involved: kvm host, kvm guest, and nfs-ganesha server, run
CentOS 7.
The guest begins to boot but consistently fails just after the switch root
with ext4 errors like this:
[ OK ] Started Plymouth switch root service.
Starting Switch Root...
[ 15.154967] systemd-journald[145]: Received SIGTERM from PID 1
(systemd).
[ 15.168447] EXT4-fs error (device vda1): __ext4_get_inode_loc:4247:
inode #131073: block 524320: comm systemd: unable to read itable block
[ 15.269495] EXT4-fs warning (device vda1): __ext4_read_dirblock:676:
error reading directory block (ino 524296, block 0)
[ 15.278651] systemd[1]: Failed to execute /sbin/init, giving up:
Input/output error
I'm using nfs-ganesha from the CentOS 7 Storage SIG.
I've tested with both the latest stable 2.8 version from repo
[centos-nfs-ganesha28]:
nfs-ganesha-2.8.3-3.el7.x86_64
and the latest test version from [centos-nfs-ganesha28-test]:
nfs-ganesha-2.8.3-4.el7.x86_64
with similar results. I've also tried with nfs v3 and nfs v4.1 mounts
from the kvm host.
The kvm guest disk is defined as:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/mnt/ganesha/kvm/guest.qcow2'/>
<target dev='vdc' bus='virtio'/>
<boot order='1'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x08'
function='0x0'/>
</disk>
The kvm guest works fine if the kvm host accesses this qcow2 image via a
direct nfs mount instead of via nfs-ganesha proxy.
Thoughts?
Thanks,
Todd