OpenStack 文件注入排错过程
1) 撰写功能模块
1) 因Centos 7.0 x64文件系统的特殊性(XFS),openztack.nova.virt.disk.api.vfs 模块无法识别文件系统,故调用系统命令guestmount,撰写函数
- IPDB 调试代码是否成功
- 程序启动正常
- 看到下面的日志,表示^_^,创建成功
- 启动服务 service openstack-nova-compute restart
2)如果我用ipdb /usr/bin/nova-compute --config-file=/etc/nova.conf 就很OK
3) 细心研究发现,guestmount之后的 目录是root 权限
[[email protected] 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函数
5) 得到的结果依然很难受,还是报同样的错误信息
6) 于是网友提醒,让我用nova用户权限登录,看是否可以mount,并且可以create一个文件
7) 在nova 用户模式中,mount 本地之后的权限是root 权限,故不能正常访问,
8) 无意看官方资料,man 文档,无意中看到惊喜
10) 修改源代码
11) 至此,所有问题已全部解决,虚机已正常生产
文件注入技术之guestmount 排错之道
时间: 2024-10-02 10:10:09