[one-users] onevm stop VM, error when saving VM

Vladimir Kozhukalov kozhukalov at gmail.com
Mon May 24 03:31:20 PDT 2010


Solved. The problem was that nfs must correctly map uid:gid from client to
server. By default, the root is mapped to default anonymous uid which is
nobody. I have the following statement on NFS server in /etc/exports

/export
gss/krb5p(rw,fsid=0,sync,anonuid=2005,anongid=2005,subtree_check,root_squash)

so the root requests are mapped in 2005:2005 which are oneadmin:cloud from
my LDAP.





On Mon, May 24, 2010 at 1:16 PM, Vladimir Kozhukalov
<kozhukalov at gmail.com>wrote:

> I have a fault. Non-root virsh sets NOBODY:NOGROUP to the file where it
> saves virtual machine because of kerberos NFS. I don't know why, but for
> usual filesystems it sets root:root owner. So I see now why touch command is
> used in onevm stop script. Possible way to solve this problem is to launch
> libvirt daemon in oneadmin:cloud environment, but there will be another
> problem when network interfaces will bind to the bridge. Will think of it
> :)
>
>
>
>
> On Mon, May 24, 2010 at 12:04 PM, Vladimir Kozhukalov <
> kozhukalov at gmail.com> wrote:
>
>> I have a problem when I try to stop VM with "onevm stop VMID" command. Log
>> messages is the following
>>
>>  Mon May 24 11:41:09 2010 [LCM][I]: New VM state is SAVE_STOP
>> Mon May 24 11:41:09 2010 [VMM][I]: Command execution fail: 'touch
>> /srv/cloud/one/var/67/images/checkpoint;virsh --connect qemu:///system save
>> one-67 /srv/cloud/one/var/67/images/checkpoint'
>> Mon May 24 11:41:09 2010 [VMM][I]: STDERR follows.
>> Mon May 24 11:41:09 2010 [VMM][I]: libvir: QEMU error : operation failed:
>> failed to create '/srv/cloud/one/var/67/images/checkpoint'
>> Mon May 24 11:41:09 2010 [VMM][I]: error: Failed to save domain one-67 to
>> /srv/cloud/one/var/67/images/checkpoint
>> Mon May 24 11:41:09 2010 [VMM][I]: ExitCode: 1
>> Mon May 24 11:41:09 2010 [VMM][E]: Error saving VM state, -
>> Mon May 24 11:41:09 2010 [LCM][I]: Fail to save VM state. Assuming that
>> the VM is still RUNNING (will poll VM).
>> Mon May 24 11:41:09 2010 [VMM][I]: VM running but new state from monitor
>> is PAUSED.
>> Mon May 24 11:41:09 2010 [LCM][I]: VM is suspended.
>> Mon May 24 11:41:09 2010 [DiM][I]: New VM state is SUSPENDED
>>
>> The problem is that virsh beeing launched in non-root environment saves
>> virtual machine ("virsh save $VM $FILE" command) in file with nobody:nogroup
>> uid and gid. But the touch command in opennebula stop script creates
>> checkpoint file with oneadmin:cloud uid and gid (it is my choice of uid and
>> gid to launch opennebula). I don't know why libvirt uses nobody:nogroup and
>> I don't know how to change such behaviour. Could you help me in this
>> situation? Of course, I can modify opennebula script and remove "touch"
>> command, but I think that is not a way.
>>
>> And also I have a question (I havn't found in documentaion): why "onevm
>> create VM" command chowns a+w ${ONE_LOCATION}/var/$VMID/images directory? I
>> use shared NFS filesystem with kerberos, and nobody can have write access in
>> NFS untill he has a kerberos ticket even chown a+w had been set on file or
>> directory. Why a+w is used? And who is supposed to write into
>> ${ONE_LOCATION}/var/$VMID/imeges?
>>
>>
>>
>> --
>> Best regards,
>> Kozhukalov Vladimir
>>
>
>
>
> --
> Best regards,
> Kozhukalov Vladimir
>



-- 
Best regards,
Kozhukalov Vladimir
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opennebula.org/pipermail/users-opennebula.org/attachments/20100524/3606b133/attachment-0002.htm>


More information about the Users mailing list