文件注入技术之guestmount 排错之道

OpenStack 文件注入排错过程

1)    撰写功能模块

1)  Centos 7.0 x64文件系统的特殊性(XFS,openztack.nova.virt.disk.api.vfs 模块无法识别文件系统,故调用系统命令guestmount,撰写函数

  1. wKioL1P1oHqjxaJtAAPlsSASY6c673.jpg

  2. IPDB 调试代码是否成功

  3. 程序启动正常

    wKioL1P1oSeTnXW0AAYP7P13NnY822.jpg

  4. 看到下面的日志,表示^_^,创建成功

    wKioL1P1oTqT0IUAAAnLYhuYFzM689.jpg

  5. 启动服务 service openstack-nova-compute restart

    wKiom1P1oDHzduxkAAcNdKq0G1k999.jpg

2)如果我用ipdb /usr/bin/nova-compute --config-file=/etc/nova.conf 就很OK

3)  细心研究发现,guestmount之后的 目录是root 权限

[root@athController eb9a4714-448a-4a2c-a9ee-53227b811753]# ll
total 9300
-rw-rw----   1 nova nova       0 Aug 20 15:32 console.log
-rw-r--r--   1 nova nova 9437184 Aug 20 15:34 disk
-rw-r--r--   1 nova nova  198656 Aug 20 15:32 disk.local
drwxr-xr-x. 18 root root    4096 Jul  8 15:17 mnt

 

4)  为了解决 root权限问题,调用nova.virt.libvirt.utils.chow函数

wKioL1P1oVey__KVAASTHDlmOxI462.jpg

5)  得到的结果依然很难受,还是报同样的错误信息

wKiom1P1oFKzmoqyAAe6kOuuQ0s900.jpg

6)  于是网友提醒,让我用nova用户权限登录,看是否可以mount,并且可以create一个文件

wKioL1P1oXXDMrClAAUFKDFBz4Y596.jpg

7)  nova 用户模式中,mount 本地之后的权限是root 权限,故不能正常访问,

8)  无意看官方资料,man 文档,无意中看到惊喜

wKiom1P1oGuwWzOoAAFJbC3pb4s825.jpg

10)             修改源代码

wKioL1P1oZyS2czxAASESNgqb4o508.jpg

wKiom1P1oIST0dwKAAD5Xv8RifU068.jpg

11) 至此,所有问题已全部解决,虚机已正常生产

 



你可能感兴趣的:(openstack,nova,libvirt,libguest,guestmount)