[libvirt] With different libvirt version, lxc-enter-namespace return Different Execution results.

hzguanqiang at corp.netease.com hzguanqiang at corp.netease.com
Thu Aug 8 07:56:35 UTC 2013


Hi Alex,
I noticed you did lots of work about lxc-enter-namespace function. There is one thing really confusing me and I really want to consult with you about it.

When I execute lxc-enter-namespace to get disk space info for lxc container under different libvirt version, It return different execution results. Details are as following:

Under libvirt of version 1.0.2 with unbuntu host OS:
              
# disk space info of Host
ubuntu at lxc-gq:~$ df -hl                   
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop7       20G   16G  3.2G  84% /
udev            2.0G   12K  2.0G   1% /dev
tmpfs           791M  300K  791M   1% /run
none            5.0M  4.0K  5.0M   1% /run/lock
none            2.0G     0  2.0G   0% /run/shm
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/nbd5        93M  1.6M   87M   2% /home/ubuntu/test

ubuntu at lxc-gq:~$ vir version
Compiled against library: libvirt 1.0.2
Using library: libvirt 1.0.2
Using API: LXC 1.0.2
Running hypervisor: LXC 3.8.0

ubuntu at lxc-gq:~$ vir list
Id    Name                           State
----------------------------------------------------
3241  instance-0000004b              running

# disk space info of instance
ubuntu at lxc-gq:~$ vir lxc-enter-namespace 3241  /bin/df -hl      
Filesystem      Size  Used Avail Use% Mounted on
/dev/nbd1       1.4G  956M  329M  75% /
devfs            64K  8.0K   56K  13% /dev
tmpfs            64K     0   64K   0% /sys/fs/cgroup
none            396M   12M  384M   3% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm

Then I logged into the lxc container :
ubuntu at lxc-gq:~$ ssh -i id_rsa_lxc ubuntu at 10.0.0.4                        
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.8.0-25-generic x86_64)

* Documentation:  https://help.ubuntu.com/

System information disabled due to load higher than 2.0

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

  Use Juju to deploy your cloud instances and workloads:
    https://juju.ubuntu.com/#cloud-precise

0 packages can be updated.
0 updates are security updates.

Last login: Thu Aug  8 07:30:04 2013 from 10.0.0.1
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubuntu at lxc3:~$ df -hl
Filesystem      Size  Used Avail Use% Mounted on
/dev/nbd1       1.4G  956M  328M  75% /
devfs            64K  8.0K   56K  13% /dev
tmpfs            64K     0   64K   0% /sys/fs/cgroup
none            396M   12M  384M   3% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm
From above,  We can see under libvirt version 1.0.2, through lxc-enter-namespace, disk space info can be obtained and it's the same as info got from lxc inside.

But when I did the same thing under libvirt of version 1.1.0 with debian host OS, the execution result changed:

#disk info of host
hzguanqiang at debian:~$ df -hl
Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                  4.0G  1.6G  2.2G  42% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   4.8G  468K  4.8G   1% /run
/dev/disk/by-uuid/12bb656b-4f80-4386-aa07-4bf90a3111b4  4.0G  1.6G  2.2G  42% /
tmpfs                                                   5.0M  4.0K  5.0M   1% /run/lock
tmpfs                                                   9.9G     0  9.9G   0% /run/shm
/dev/sda8                                               428G  112G  313G  27% /home
/dev/sda6                                               7.9G  159M  7.8G   2% /tmp
/dev/sda5                                                16G  2.7G   14G  17% /var
cgroup_root                                              24G     0   24G   0% /sys/fs/cgroup
/dev/nbd5                                               1.4G  851M  466M  65% /home/openstack/stack/data/nova/instances/eed45ccb-3707-4815-9ae4-c7a2f56adb64/rootfs

hzguanqiang at debian:~$ vir version
Compiled against library: libvirt 1.1.0
Using library: libvirt 1.1.0
Using API: LXC 1.1.0
Running hypervisor: LXC 3.2.46

hzguanqiang at debian:~$ vir list
Id    Name                           State
----------------------------------------------------
6096  instance-00000037              running
27981 instance-00000038              running
30846 instance-0000001a              running

hzguanqiang at debian:~$ vir lxc-enter-namespace  instance-00000037 /bin/df -hl
libvirt:  error : argument unsupported: Security model  cannot be entered

hzguanqiang at debian:~$ vir lxc-enter-namespace  instance-00000037 --noseclabel /bin/df -hl
Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                  4.0G  1.6G  2.2G  42% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   4.8G  468K  4.8G   1% /run
/dev/disk/by-uuid/12bb656b-4f80-4386-aa07-4bf90a3111b4  4.0G  1.6G  2.2G  42% /
tmpfs                                                   5.0M  4.0K  5.0M   1% /run/lock
tmpfs                                                   9.9G     0  9.9G   0% /run/shm
/dev/sda8                                               428G  112G  313G  27% /home
/dev/sda6                                               7.9G  159M  7.8G   2% /tmp
/dev/sda5                                                16G  2.7G   14G  17% /var
cgroup_root                                              24G     0   24G   0% /sys/fs/cgroup
/dev/nbd5                                               1.4G  851M  466M  65% /home/openstack/stack/data/nova/instances/eed45ccb-3707-4815-9ae4-c7a2f56adb64/rootfs

Then I logged into the lxc container :
hzguanqiang at debian:~$ ssh -i id_rsa ubuntu at 10.160.70.2
  Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.46-openstack-amd64 x86_64)

* Documentation:  https://help.ubuntu.com/

  System information as of Wed Aug  7 10:49:35 UTC 2013

  System load:  0.62               Processes:           31
  Usage of /:   20.9% of 19.69GB   Users logged in:     1
  Memory usage: 51%                IP address for eth0: 10.160.70.2
  Swap usage:   0%

  Graph this data and manage this system at https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

  Use Juju to deploy your cloud instances and workloads:
    https://juju.ubuntu.com/#cloud-precise

Last login: Wed Aug  7 10:49:35 2013 from 10.160.70.3
ubuntu at lxc1:~$ df -hl
Filesystem      Size  Used Avail Use% Mounted on
/dev/loop2       20G   11G  8.3G  57% /
devfs            64K  8.0K   56K  13% /dev
tmpfs            64K     0   64K   0% /sys/fs/cgroup
none            4.8G  6.4M  4.8G   1% /run
none            5.0M     0  5.0M   0% /run/lock
none             24G     0   24G   0% /run/shm

From above, We can see under libvirt version 1.1.0,  disk space info of lxc container gotten through lxc-enter-namespace are different from info got from lxc inside, but the same as host.

Why does this happen? Is there a bug or anything?

Thanks
--------------------------------------------------------------------------------

------------------     
Best regards!
GuanQiang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130808/6cdb0108/attachment-0001.htm>


More information about the libvir-list mailing list