openstack实践
tiantao2012
这个作者很懒,什么都没留下…
展开
-
从neutron/setup.cfg 的[entry_points] 可以知道组成neutron个个子系统的源码路径
neutron代码的配置文件在neutron/setup.cfg 中[metadata]name = neutron从metadata 看出网络部分的name是neutron可以看出l3的代码路径是neutron/cmd/eventlet/agents/l3入口函数是main.neutron-l3-agent = neutron.cmd.eventlet.agents.l3:main类原创 2017-10-17 15:26:28 · 980 阅读 · 0 评论 -
flat型网络
我这边采用三台机器部署openstack可以看到已经存在一个flat型的网络,flat型网络一般独占一个物理网卡在controller 机器上看到是flat是配置成external在network机器上,可以看到flat网络对应的网桥是br-ex通过ovs-vsctl show。可以看到br-ex网桥原创 2017-10-12 14:42:28 · 7638 阅读 · 0 评论 -
floating ip
点击 Project -> Compute -> Access & Security 菜单,打开 Floating IPs 标签页,点击选择pool看到已经申请到ip,点击assiciate选择instance可以看到这个floating ip已经被使用了在instance的列表中也可以看到已经绑定了floating ip原创 2017-10-12 14:15:28 · 1258 阅读 · 0 评论 -
neutron安全组
在access & secure下面可以看到默认的安全组,点击manager rules可以看到安全组的规则。分别针对ipv4 和ipv6 允许所有外出(Egress)的流量,但禁止所有进入(Ingress)的流量点击create secure group新建安全组可以看到已经生成了新的安全组点击manager r原创 2017-10-11 14:49:09 · 1503 阅读 · 0 评论 -
虚拟router
虚拟router 由l3提供服务,通过neutron agent-list 查询l3 已经alive点击Project/Network/Routers的create router按钮,点击create router后就会创建新的router为router添加interface选择subnet后点击submit可以看到通过图形的方式看到原创 2017-10-11 14:27:08 · 445 阅读 · 0 评论 -
创建vxlan
点击create Network填好下表,点击submit就会创建vxlan类型的网络。为这个网络增加subnet,点击create subnet填好后,选择next点击create看到subnet创建成功,下次创建instance的时候,就可以看见我们这里新建的tiantao_vxlan 网络原创 2017-10-10 16:58:19 · 1073 阅读 · 0 评论 -
neutron的ml2 配置
neutron的配置在/etc/neutron/neutron.conf中从下面的配置中可以看到neutron采用的core_plugin 是ml2。从type_drivers 知道ml2 已经默认帮我们加载了falt,vxlan.而type_drivers 总共有五种local,flat,vlan,gre,vxlan。我们这里默认加载了两种.从tenant_network_typ原创 2017-10-10 15:59:53 · 1449 阅读 · 0 评论 -
Snapshot volume
点击Create Snapshot输入snaoshot的name后确认后就可以生产snapshot可以看到已经生成了name为tiantao的snapshot。点击create volume就可以从这个snapshot回溯到原来的volume对应的cinder-api的log对应的源码对应的cinder volume的log原创 2017-10-10 15:04:59 · 636 阅读 · 0 评论 -
Delete volume
点击deleted volume会出现如下确认的提示框确认后这个volume就会被删除了对应的cinder-api的log如下可见收到一个delete的restful apicode如下:/cinder/volume/api.py,方法为 delete。可见是发送消息给cinder voulme了检查有没有backup或者snapshot。原创 2017-10-10 14:41:32 · 1255 阅读 · 0 评论 -
network的namespace中查询ip
通过ip netns可以显示当前系统中所有的netwrok的namespace,如果想在某个namespace中执行ip命令可以通过ip netns exec qdhcp-6a41c2b2-1e8c-494d-bcd2-af76d7fe421e ip a例如本来中对应的网桥设备,可以通过ovs-vsctl show 在 Open vSwitch 的状态中找到对应的网桥原创 2017-10-12 16:48:40 · 1301 阅读 · 0 评论 -
virsh edit查询虚拟机
通过UI 可以知道目前两个虚拟机都在计算节点上登录计算节点,通过virsh list可以看到这两个虚拟机通过virsh edit 可以查看虚拟机的xml虚拟机的类型是kvm用的模拟器是qemu-system-aarch64用的是openvswitch tap是tapa7b97820原创 2017-10-13 14:22:50 · 4101 阅读 · 0 评论 -
验证计算和网络服务
验证计算服务验证网络服务原创 2017-10-17 15:01:39 · 401 阅读 · 0 评论 -
查看mysql和rabbitmq的log
从下图可以看出在controller机器的/var/log/ 目录下放着个个组件的log。也包括libvirt/mysql/rabbitmq/dashboard的log,假如系统有什么问题,可以查看/var/log/下的个个log原创 2017-10-16 16:54:41 · 965 阅读 · 0 评论 -
通过加log debug nova
通过在create 函数中加log因为我们的log是加在nova-api中,因此重启nova-api然后在create 虚拟机的时候就可以看到自己加的log原创 2017-10-16 16:32:25 · 852 阅读 · 0 评论 -
为虚拟机添加一张网卡
首先查看instance目前只有一个网卡选择attach interface这里选择lan1这样就可以看到instance 有两张网卡从网络拓扑结构可以看出instance 添加网卡前和网卡后的变化变化前:变化后:可以看到vxlan这个instance 同时连到lan1和vxlan这两个网络上原创 2017-10-16 16:03:26 · 2140 阅读 · 0 评论 -
swift 测试
查看并上传clean_ceph.sh 文件。通过这个例子大家都会明白为什么swift是对象存储这个时候从UI上已经可以看到上传的文件下载已经上传的文件原创 2017-10-16 14:20:13 · 611 阅读 · 0 评论 -
使用heat创建虚拟机
点击上差untest.yaml文件填写stackname可以看到这个时候heat创建失败了进去后发现失败的原因是选择网络的时候有多个选择,但是不知道选择哪个所以错误了.这个test.yaml 文件如下:为这个文件增加网络部分重新建立stack就会成功原创 2017-10-16 15:03:57 · 2186 阅读 · 0 评论 -
重启nova service
在非root 用户下通过sudo service erp-nova就会自动补全,可以看到nova的service有四个。逐个重启就好可以通过下面命令重启原创 2017-10-13 17:29:20 · 2543 阅读 · 0 评论 -
vxlan
从张图可以看出,当前存在两个vxlan类型的网络,注意这两个vxlan ip 地址的不同。从router的interface 可以分别看到一个是router_interface表示内部网络,一个是router_gateway 表示连接的外网。对应上图从这个vxlan的port可以看出vxlan 连接了一个computer:nova 表示一个instance,和 一个network:rout原创 2017-10-13 14:57:16 · 1146 阅读 · 0 评论 -
Extend volume
原本的volume的size是1G点击extend volume将size 扩大到2G点击extend volume 后,成功将volume的size 调整为2G对应的cinder-api的log对应的code如下:/cinder/volume/api.py,方法为 extend可见是让cinder volume来调整size具体的cod原创 2017-10-10 14:28:42 · 809 阅读 · 0 评论 -
查看和修改Image metadata
查看已有的image查看Cirros的metadata增加metadata原创 2017-10-18 16:51:39 · 2806 阅读 · 0 评论 -
让instance使用hugepage
首先判断host是否支持hugepage如果没有的/dev/hugepages的话,要手动建这样就可以通过设置flavor会这通过指定image来使用hugepage通过image来设定openstack image set [IMAGE_ID] --property hw_mem_page_size=1GB可见都是通过设置flavor和image中的metada原创 2017-10-18 16:36:27 · 620 阅读 · 0 评论 -
nova 对instance的start instance 操作的log
点击UI上的start instancenova-api首先收到消息从这里看是调用到/srv/nova/lib/python2.7/site-packages/nova/compute/api.py:2 086从nova-api 会调用到nova computer准备虚拟网卡得到虚拟机的配置虚拟机启动成功原创 2017-09-28 15:26:14 · 752 阅读 · 0 评论 -
nova computer对instance的shut off
nova 对instance的操作如下:这里用req-6b3c2251-34c0-4bba-9e0a-1bdd90ac1b42 来看log可见最后调用到_clean_shutdown /srv/nova/lib/python2.7/site-packages/nova/virt/libvirt/driver.py:2380每个instance必须在60s内关原创 2017-09-27 15:50:23 · 715 阅读 · 0 评论 -
nova list的nova-api.log
nova-api是所有nova命令的入口,这里以nova list这个命令为例从nova-api的log中可以看出,是调用nova.compute.api的get_all 函数其源码路径是/srv/nova/lib/python2.7/site-packages/nova/compute/api.py:2151原创 2017-09-26 17:01:29 · 1358 阅读 · 0 评论 -
nova-compute的resource_tracker
从下图可以看出从 nova-compute 的日志 /var/log/nova/compute.log 可以发现:每隔一段时间,nova-compute 就会报告当前计算节点的资源使用情况和 nova-compute 服务状态。Compute_service record updated for ref-compute:ref-compute 可以看出是为计算节点更新资源使用情况同时可以看原创 2017-09-25 16:50:50 · 1835 阅读 · 0 评论 -
openstack的flavor具体是啥
从下图中可以可以看到Flavor其实就是instance/vcpu/ram 的个数。原创 2017-09-23 17:03:43 · 17625 阅读 · 0 评论 -
openstack 创建虚拟机
点击Launch Instance有四个重要的选项需要选,地一个是details选择Image,这里我们选择ubuntu选择Flavor如果要ssh登录新建的虚拟机,必须选择key pari这个时候虚拟机创建完了,如果要ssh登录的话,必须给个浮动ip,选择Associate Floating Ip只有接原创 2017-09-23 16:41:00 · 845 阅读 · 0 评论 -
openstack Horizon的user/project/role/group
Horizon 在 Identity->Users 管理 User针对每个user的操作如下:Project 用于将 计算、存储和网络等资源进行分组和隔离Horizon 在 Identity->project 管理project针对每个project的操作如下:openstack中的quota 调试对资源的限制,其有一组默认值原创 2017-09-23 15:07:41 · 1121 阅读 · 0 评论 -
nova delete instance
当点击后nova-api的log如下:关闭这个instancenova-computer的log如下:可见总最终是调用_shutdown_instance /srv/nova/lib/python2.7/site-packages/nova/compute/manager.py开始删除instance成功删除instance /srv/nova/lib/py原创 2017-09-28 16:35:14 · 1753 阅读 · 0 评论 -
nova的pause instance的log
点击后可以看到instance 处于pause状态这个时候对instace的操作就包含resume操作了对应pause 操作nova-api的code如下‘:nova-api的log如下:nova computer的log如下:原创 2017-09-29 16:56:17 · 488 阅读 · 0 评论 -
nova 根据conf动态加载虚拟化驱动
在nova/virt/driver.py 中的ComputeDriver 类中定义了load_compute_driver来加载用于虚拟化的driver。def load_compute_driver(virtapi, compute_driver=None): """Load a compute driver module. Load the compute driver m原创 2017-10-18 16:07:45 · 1216 阅读 · 0 评论 -
create volume
点击create volume会看到如下界面填好信息后选择create volume,就可以看到新建的volume每个voulme对应的操作如下:原创 2017-10-09 14:54:11 · 1683 阅读 · 0 评论 -
cinder的配置和子服务
通过下面的命令可以看出在controller 运行的子服务为:cinder-api和cinder-schedule在conputer上运行的的子服务为:cinder-volume通过cat /etc/cinder/cinder.conf可以看到用的dirver是ceph通过openstack service list 可以发现cinder 服务有两个原创 2017-10-09 14:23:45 · 1190 阅读 · 0 评论 -
Image service verify operation
1:下载镜像2:上传这个image到Image service3:检查是否上传成功原创 2017-09-30 15:56:58 · 476 阅读 · 0 评论 -
nova的unshelve的log
点击,则完成unshelve的操作,这是instance的状态如下:nova-api的lognova-shedule的log可见shedule通过这么多的filter来选择host通过weight 来选择host最终选择hostnova-computer的log开始执行unshelve 操作从cinder boot instanc原创 2017-09-30 15:36:27 · 540 阅读 · 0 评论 -
nova的shelve的log
点击后就可以看到在进行shelved操作shelved成功后instance 的电源状态是 Shut Down nova-api的log如下:nova-computer的log如下:在60s内要shutdown instance。如果失败的话,直接destoryed instance原创 2017-09-30 15:05:36 · 453 阅读 · 0 评论 -
nova的rebuild的log
rebuild 是snapshot的逆操作点击选择要rebuild的snapshot对应的nova-api的lognova-api 向 Messaging(RabbitMQ)发送了一条消息:“Rebuild ” 源代码在 nova/nova/compute/api.py,方法是 rebuild。原创 2017-09-30 14:46:27 · 665 阅读 · 0 评论 -
nova的snapshot log
点击snapshot会弹出如下对话框,输入要保存的name最后成功生成snapshotsnapshot过程中nova-api的log如下可见最后调用nova-computer执行snapshot操作最后调用image_api.create来创建snapshot原创 2017-09-30 14:31:19 · 609 阅读 · 0 评论 -
验证 OpenStack
依次点击Admin->System->System Information 检查系统是否正常,重点看status是否up原创 2017-09-23 14:46:38 · 498 阅读 · 0 评论