openstack 时间:2016年11月28日
部署openstack管理服务 Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务。
Dashboard
提供一个web界面操作openstack的系统,使用Django框架基于openstack API开发,支持session存储在DB memcached 支持集群
安装软件包:
[root@linux-node1 ~]# yum install openstack-dashboard -y
虚拟机创建流程 ![OpenStack 图形化Dashboard [七]_认证](http://static.zybuluo.com/abcdocker/uknhd35ci49j11j5th5ie1v7/p_w_picpath_1b2kr32ei14lt1sqc1gbj6m785r9.png)
第一步,图形界面输入用户名密码到keyston进行认证,认证通过之后会分配一个token,然后使用该token即可访问其他服务,第二步将创建虚拟机的请求转换给REST API并发送给NOVA API,然后其拿着此token到keyston查询是否合法,第四步NOV api和数据库进行交互,将要创建的虚拟机信息写入到数据库,第五步发送消息大rabbitMQ,消息会发送给nova scheduler,第六步nova scheduler算法确认虚拟机将被创建在哪个物理机上,第七步nova scheduler和数据库进行交互,将虚拟机生成的信息写入到数据库,第八步nova computer接收到消息进行虚拟机创建,第九步nova computer到数据库查询该虚拟机要创建的信息,第十步nova conductor和数据库进行沟通,新版的openstack使用nova conductor代替第九步的操作,第十一步nova conductor更新数据库信息,然后nova computer从数据库获取到虚拟机的创建信息后进行下一步创建虚拟机的操作,第十二步联系glance获取镜像,第十三步glace联系keyston进行认证,第十四步联系neutron获取网络,第十五步neutron联系keyston进行认证,第十六步nova computer再联系cinder获取磁盘,第十七不cinder再到keyston进行认证,第十八步mova computer调用KVM创建虚拟机。
查看角色
[root@linux-node1 ~]# openstack role list+----------------------------------+-------+| ID | Name |+----------------------------------+-------+| 4161dec8714f468f832a55a6ec2abb9e | user || c934dad680e142d09c434e2301b2a9bf | admin |+----------------------------------+-------+
编辑文件/etc/openstack-dashboard/local_settings
[root@linux-node1 ~]# vim /etc/openstack-dashboard/local_settings
允许所有主机访问仪表板
30 ALLOWED_HOSTS = ['*', ]
配置API版本
55 OPENSTACK_API_VERSIONS = { 56 # "data-processing": 1.1, 57 "identity": 3, 58 "volume": 2, 59 "compute": 2, 60 }在controller节点上配置仪表盘以使用 OpenStack 服务:158 OPENSTACK_HOST = "192.168.56.11"
启用第3版认证API
159 OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
通过仪表盘创建的用户默认角色配置为 user
160 OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
启用对域的支持
64 OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
通过仪表盘创建用户时的默认域配置为 default
72 OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'default'
如果您选择网络参数1,禁用支持3层网络服务:
提示:如果不禁用,一会可能会出现错误
260 OPENSTACK_NEUTRON_NETWORK = {261 'enable_router': False,262 'enable_quotas': False,263 'enable_ipv6': False,264 'enable_distributed_router': False,265 'enable_ha_router': False,266 'enable_lb': False,267 'enable_firewall': False,268 'enable_vpn': False,269 'enable_fip_topology_check': False,修改时区
TIME_ZONE = "Asia/Shanghai"修改为亚洲上海
保存重启
[root@linux-node1 ~]# systemctl restart httpd
登陆页面
默认域:default
用户名:demo
密码:demo
提示:我们也可以使用admin用户登陆
登陆地址:http://192.168.56.11/dashboard
![OpenStack 图形化Dashboard [七]_认证_02](http://static.zybuluo.com/abcdocker/x4ajalj6l8wpic3lar425rgb/p_w_picpath_1b2krnpjlir6rva9qaf4m5q3m.png)
管理界面 ![OpenStack 图形化Dashboard [七]_用户名_03](http://static.zybuluo.com/abcdocker/ugwff1t3t3b1ii5nohdpdnip/p_w_picpath_1b2kru4v6p511jb711vg120f1v2513.png)
admin用户需要在管理员窗口进行控制
![OpenStack 图形化Dashboard [七]_密码_04](http://static.zybuluo.com/abcdocker/vydldpg9zgjc2zghch6v0dyu/p_w_picpath_1b2kruqbuga11td41f6p1fmi17hg1g.png)
云主机介绍 ![OpenStack 图形化Dashboard [七]_数据库_05](http://static.zybuluo.com/abcdocker/ogsm2sseviq59wwjp900ye8m/p_w_picpath_1b2krvefi13ra7gfsikpmb1j5d1t.png)
admin用户可以管理所有用户创建的所有云主机,可以进行管理
主机聚合介绍
可以创建一个主机组将它们放在一块 ![OpenStack 图形化Dashboard [七]_数据库_06](http://static.zybuluo.com/abcdocker/r1nuoa0rtdbpkbbw9fwiq16d/p_w_picpath_1b2ks1kck9uv93b1snh16fvrmm2a.png)
云主机
除了无法对云主机进行名称的修改,其他的修改都可以的 ![OpenStack 图形化Dashboard [七]_密码_07](http://static.zybuluo.com/abcdocker/f1v00emclyln1oaumjnfx7ra/p_w_picpath_1b2ks23lmmbb1v92rt31jtd1rrp2n.png)
云主机类型
我们可以进行添加、删除
![OpenStack 图形化Dashboard [七]_用户名_08](http://static.zybuluo.com/abcdocker/s70az4jwlh0x0r6811498fh7/p_w_picpath_1b2ks2g721kq553hbor1qt7fp434.png)
网络等等。。 ![OpenStack 图形化Dashboard [七]_虚拟机_09](http://static.zybuluo.com/abcdocker/alzog1p6j20zecaw043xdjtz/p_w_picpath_1b2ks2skp15171iaj18mp1j8eopv3h.png)
用户验证 ![OpenStack 图形化Dashboard [七]_数据库_10](http://static.zybuluo.com/abcdocker/u2wdrdgesio0z3ltzfq82s0g/p_w_picpath_1b2ks37u013nr126d1vbb14g91gg43u.png)
我们演示删除云主机
我们切换到demo用户上,准备删除云主机,在从新添加一个
构建一台云主机
![OpenStack 图形化Dashboard [七]_认证_11](http://static.zybuluo.com/abcdocker/ufj5ofe8sp0azmg9bxf3vp8u/p_w_picpath_1b2ksi9f51t4ejf5mddchilh84b.png)
![OpenStack 图形化Dashboard [七]_虚拟机_12](http://static.zybuluo.com/abcdocker/6kvqqlw90si8m14q01880k19/p_w_picpath_1b2ksihnr12b14v5k1h9nk1kal4o.png)
点击下方+号,加入。
这里可以使用镜像、实力快照、卷、卷快照等
![OpenStack 图形化Dashboard [七]_认证_13](http://static.zybuluo.com/abcdocker/er2jlu9viku1kjuy5bkhgbmf/p_w_picpath_1b2ksitbv10todsrqmm1gdd1qh755.png)
我们可以在管理进行添加
![OpenStack 图形化Dashboard [七]_认证_14](http://static.zybuluo.com/abcdocker/qwpjd5w8jlonz3ucawhego24/p_w_picpath_1b2ksj7drr331apg4mvh7a1p1a5i.png)
添加网络
![OpenStack 图形化Dashboard [七]_数据库_15](http://static.zybuluo.com/abcdocker/ox2maj88rf6zupj8movmwmfd/p_w_picpath_1b2ksjgvk2441ni61rmod3475e5v.png)
添加安全组 ![OpenStack 图形化Dashboard [七]_认证_16](http://static.zybuluo.com/abcdocker/6881cjmepkv7xa2c4hmlxqfc/p_w_picpath_1b2ksjrjntmq5haq9d11be1j506c.png)
添加密钥对 ![OpenStack 图形化Dashboard [七]_数据库_17](http://static.zybuluo.com/abcdocker/9butdqx19yyroyxyjzleaynl/p_w_picpath_1b2ksk3leivp1qpv1aj5n4beo96p.png)
然后我们启动实例就可以了 ![OpenStack 图形化Dashboard [七]_数据库_18](http://static.zybuluo.com/abcdocker/9yrqv04xga4b7lbyb539td5p/p_w_picpath_1b2kskemc165f1qmvli15kc3v376.png)
我们刚刚创建了2个,现在它在启动
![OpenStack 图形化Dashboard [七]_密码_19](http://static.zybuluo.com/abcdocker/x8a2dlmd520t1clmchflxz5i/p_w_picpath_1b2kskr08j13nnh37e1f3220o7j.png)
![OpenStack 图形化Dashboard [七]_虚拟机_20](http://static.zybuluo.com/abcdocker/n9yqjo1auhfgrvhwdfvv5dj2/p_w_picpath_1b2ksl0vteg1n78qt4u3l1nf280.png)
我们的虚拟机是使用kvm启动的,那么使用kvm启动就会在计算节点产生2个进程
查看计算节点进程 ![OpenStack 图形化Dashboard [七]_数据库_21](http://static.zybuluo.com/abcdocker/ms2mzjl1y9j5men5khovn0wk/1.png)
要监听vnc的端口,vnc默认端口从5900开始 ![OpenStack 图形化Dashboard [七]_用户名_22](http://static.zybuluo.com/abcdocker/1zilfnzhmm1ada1sevhq9bpj/p_w_picpath_1b2ksnp5qv8uh8p1a9afoe6ke99.png)
在openstack环境下,桥接网卡名字都一样
都会桥街到本地网卡eth0 ![OpenStack 图形化Dashboard [七]_用户名_23](http://static.zybuluo.com/abcdocker/f4zj8svi7yws1c53ljigv2mm/p_w_picpath_1b2kso2qh7at4v319ctoqr1oo9m.png)
虚拟机保存在/var/lib/nova/instances
[root@linux-node2 ~]# tree /var/lib/nova/instances//var/lib/nova/instances/├── 10ea5ada-150a-42fb-bebf-dd99936f08a2│ ├── console.log│ ├── disk│ ├── │ └── libvirt.xml├── 3bb362fb-464b-40ad-b564-628387944c4a│ ├── console.log│ ├── disk│ ├── │ └── libvirt.xml├── _base│ └── e24c82eb013841010cf48ebfe8281d09ed4b251a├── cc7f38cd-29e4-492f-b72b-e60bb3f4bed2│ ├── console.log│ ├── disk│ ├── │ └── libvirt.xml├── compute_nodes└── locks ├── nova-e24c82eb013841010cf48ebfe8281d09ed4b251a └── nova-storage-registry-lock5 directories, 16 files[root@linux-node2 ~]#
![OpenStack 图形化Dashboard [七]_数据库_24](http://static.zybuluo.com/abcdocker/15ipotuggvsfl0ow36rxurc3/p_w_picpath_1b2ksp9f21mm71rvgetu1od61c1ga3.png)
console.log 控制台日志disk 虚拟磁盘 虚拟磁盘信息libvirt.xml KVM生成的一个文件base 镜像路径e24c82 镜像ID
提示:虽然我们的虚拟机分配了1G硬盘,但是缺没有达到1G的用量,因为这样可以节省空间,增加启动速度。真的是空间全在镜像里面
[root@linux-node2 ~]# ll /var/lib/nova/instances/10ea5ada-150a-42fb-bebf-dd99936f08a2/total 1824-rw-rw---- 1 qemu qemu 19760 Nov 23 23:31 console.log-rw-r--r-- 1 qemu qemu 1835008 Nov 23 23:41 disk-rw-r--r-- 1 nova nova 79 Nov 23 23:27 -rw-r--r-- 1 nova nova 2653 Nov 23 23:27 libvirt.xml[root@linux-node2 ~]# file /var/lib/nova/instances/10ea5ada-150a-42fb-bebf-dd99936f08a2/disk/var/lib/nova/instances/10ea5ada-150a-42fb-bebf-dd99936f08a2/disk: QEMU QCOW Image (v3), has backing file (path /var/lib/nova/instances/_base/e24c82eb013841010cf48ebfe8281d09e), 1073741824 bytes
我们还可以使用qemu命令进行详细查看
[root@linux-node2 ~]# qemu-img info /var/lib/nova/instances/10ea5ada-150a-42fb-bebf-dd99936f08a2/diskp_w_picpath: /var/lib/nova/instances/10ea5ada-150a-42fb-bebf-dd99936f08a2/diskfile format: qcow2virtual size: 1.0G (1073741824 bytes)disk size: 1.8Mcluster_size: 65536backing file: /var/lib/nova/instances/_base/e24c82eb013841010cf48ebfe8281d09ed4b251aFormat specific information: compat: 1.1 lazy refcounts: false refcount bits: 16corrupt: false
提示:文件就是一个路径
云计算与虚拟化工具之KVM
http://www.abcdocker.com/abcdocker/1627
console.log我们登陆云主机显示的 ![OpenStack 图形化Dashboard [七]_认证_25](http://static.zybuluo.com/abcdocker/ikpd7ke4d0nu4mlqwny7basz/p_w_picpath_1b2ksra2quvjdan1lrs13fj1sgvag.png)
libvirt.xml是动态生成的,无法进行修改
待更新
















