• 1.知识回顾与端口总结

service 功能
MySQL 为各个服务提供数据存储
RabbitMQ 为各个服务之间通信提供交通枢纽
Keystone 为各个服务器之间通信提供认证和服务注册
Glance 为虚拟机提供镜像管理
Nova 为虚拟机提供计算资源
Neutron 为虚拟机提供网络资源

各服务端口列表

服务 端口
MySQL 3306
Memcached 11211
Glance-api 9292
Glance-registry 9191
RabbitMQ 15672、5672
Libvirt Dnsmasq 53
Novncproxy 6080
Nova-api 8774、8775
Kesytone(admin) 35357
Kesytone(user) 5000
Neutron 9696
Cinder-api 8776
  • 2.确保以下三项结果是正常,才能进行创建虚拟机

[root@linux-node1 ~]# openstack image list
+--------------------------------------+-----------------+--------+
| ID | Name | Status |
+--------------------------------------+-----------------+--------+
| 5aa6e9a1-4aea-467c-a684-51080c326887 | Centos--x86_64 | active |
| 51e1e125-dbe3-49c6-a3d5-55c89f195f55 | cirros | active |
+--------------------------------------+-----------------+--------+
[root@linux-node1 ~]# nova service-list
+----+------------------+-------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+----+------------------+-------------+----------+---------+-------+----------------------------+-----------------+
| | nova-consoleauth | linux-node1 | internal | enabled | up | --12T04::01.000000 | - |
| | nova-conductor | linux-node1 | internal | enabled | up | --12T04::06.000000 | - |
| | nova-scheduler | linux-node1 | internal | enabled | up | --12T04::07.000000 | - |
| | nova-compute | linux-node2 | nova | enabled | up | --12T04::06.000000 | - |
+----+------------------+-------------+----------+---------+-------+----------------------------+-----------------+
[root@linux-node1 ~]# neutron agent-list
+--------------------------------------+--------------------+-------------+-------------------+-------+----------------+---------------------------+
| id | agent_type | host | availability_zone | alive | admin_state_up | binary |
+--------------------------------------+--------------------+-------------+-------------------+-------+----------------+---------------------------+
| 308df597-c196-40e8--b35f423ce9e4 | Linux bridge agent | linux-node2 | | :-) | True | neutron-linuxbridge-agent |
| 598023d4-52a2-44d5-92fe-61376efa941e | Metadata agent | linux-node1 | | :-) | True | neutron-metadata-agent |
| a824342c-ad84-4c05-a4a9-80f5025d6ae5 | Linux bridge agent | linux-node1 | | :-) | True | neutron-linuxbridge-agent |
| e116c29d-ce28-4d84--214590e97c69 | DHCP agent | linux-node1 | nova | :-) | True | neutron-dhcp-agent |
+--------------------------------------+--------------------+-------------+-------------------+-------+----------------+---------------------------+
  • 3.云主机创建

(1)创建网络

[root@linux-node1 ~]# openstack network create  --share \
--provider-physical-network public \
--provider-network-type flat public
[root@linux-node1 ~]# neutron net-list
+--------------------------------------+--------+------------------------------------------------------+
| id | name | subnets |
+--------------------------------------+--------+------------------------------------------------------+
| c39c1348-5a8f---b03a22b085df | public | df82f43f-97fe-41d0-bdbd- 192.168.56.0/ |
+--------------------------------------+--------+------------------------------------------------------+

(2)创建子网

[root@linux-node1 ~]#  openstack subnet create --network public \
--allocation-pool start=192.168.56.100,end=192.168.56.200 \
--dns-nameserver 192.168.56.2 --gateway 192.168.56.2 \
--subnet-range 192.168.56.0/ public-subnet
[root@linux-node1 ~]# neutron subnet-list
+--------------------------------------+---------------+-----------------+------------------------------------------------------+
| id | name | cidr | allocation_pools |
+--------------------------------------+---------------+-----------------+------------------------------------------------------+
| df82f43f-97fe-41d0-bdbd- | public-subnet | 192.168.56.0/ | {"start": "192.168.56.100", "end": "192.168.56.200"} |
+--------------------------------------+---------------+-----------------+------------------------------------------------------+

(3)创建m1.nano类型

默认的最小规格的主机需要512 MB内存。对于环境中计算节点内存不足4 GB的,我们推荐创建只需要64 MB的m1.nano规格的主机。若单纯为了测试的目的,请使用m1.nano规格的主机来加载CirrOS镜像

[root@linux-node1 ~]# openstack flavor create --id  --vcpus  --ram  --disk  m1.nano

(4)生成一个键值对
大部分云镜像支持 :term:public key authentication而不是传统的密码登陆。在启动实例前,你必须添加一个公共密钥到计算服务。
生成的公钥上传到openstack,会自动把这个公钥放入虚拟机,之后登陆无需密码。

[root@linux-node1 ~]# source demo-openstack
[root@linux-node1 ~]# ssh-keygen -q -N ""
Enter file in which to save the key (/root/.ssh/id_rsa):
[root@linux-node1 ~]# openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey

验证公钥添加:

[root@linux-node1 ~]# openstack keypair list
+-------+-------------------------------------------------+
| Name | Fingerprint |
+-------+-------------------------------------------------+
| mykey | e4:ce::da:e7::b3:a9::c6:7a::bf:a0:8f: |
+-------+-------------------------------------------------+

(5)增加安全组规则
默认情况下, default安全组适用于所有实例并且包括拒绝远程访问实例的防火墙规则。对诸如CirrOS这样的Linux镜像,我们推荐至少允许ICMP (ping) 和安全shell(SSH)规则。
•添加规则到default安全组,会去修改iptables规则
允许ping

 [root@linux-node1 ~]# openstack security group rule create --proto icmp default

 允许安全shell(SSH)的访问
[root@linux-node1 ~]# openstack security group rule create --proto tcp --dst-port default

(6)确定实例选项 

①在控制节点上,获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

[root@linux-node1 ~]# source demo-openstack
②一个实例指定了虚拟机资源的大致分配,包括处理器、内存和存储。
列出可用类型: [root@linux-node1 ~]# openstack flavor list

③列出可用镜像

[root@linux-node1 ~]# openstack image list

④列出可用网络

[root@linux-node1 ~]# openstack network list

⑤列出可用的安全组

[root@linux-node1 ~]# openstack security group list

(7)启动实例

[root@linux-node1 ~]# openstack server create --flavor m1.nano --image cirros \
--nic net-id=c39c1348-5a8f---b03a22b085df \
--security-group default \
--key-name mykey demo-instance

检查实例状态,当构建过程完全成功后,状态会从BUILD变为ACTIVE

[root@linux-node1 ~]#  openstack server list

(8)使用虚拟控制台访问实例
获取你实例的 Virtual Network Computing (VNC) 会话URL并从web浏览器访问它:

[root@linux-node1 ~]# openstack console url show demo-instance

在宿主机上使用ssh登陆:

 

问题总结:
问题现象:ping云主机网络不通,从VNC上看到系统一直停留在GRUB,无法进入系统,导致无法正常创建云主机
问题原因:libvirtd、qemu与内核版本不兼容
解决方案:降低内核版本
降低CentOS 7.3的内核版本执行过程:
查看当前内核版本:

 [root@linux-node1 ~]# uname -r
3.10.-514.2..el7.x86_64

查看当前发行版本:

 [root@linux-node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.3. (Core)

降低内核版本方法:
(1)解压安装镜像,获取内核软件包:

kernel-3.10.-.el7.x86_64.rpm
kernel-tools-3.10.-.el7.x86_64.rpm
kernel-tools-libs-3.10.-.el7.x86_64.rpm
centos-release--2.1511.el7.centos.2.10.x86_64.rpm

(2)先安装这2个包:

[root@linux-node1 ~]# rpm -ivh kernel-tools-3.10.-.el7.x86_64.rpm
[root@linux-node1 ~]# rpm -ivh kernel-tools-libs-3.10.-.el7.x86_64.rpm

(3)再安装kernel-3.10.0-327.el7.x86_64.rpm

[root@linux-node1 ~]# rpm -ivh --force kernel-3.10.-.el7.x86_64.rpm  

(4)可以查看到安装的2个版本的内核:

 [root@linux-node1 ~]# rpm -qa|grep -i kernel-3.10.-
kernel-3.10.-.el7.x86_64.rpm
kernel-3.10.-514.2..el7.x86_64

(5)把7.3的内核卸载:

[root@linux-node1 ~]# rpm -ev kernel-3.10.-514.2..el7.x86_64
这时候只能查看一个结果:
[root@linux-node1 ~]# rpm -qa|grep -i kernel-3.10.-
kernel-3.10.-.el7.x86_64.rpm 再用rpm -ea 或者 yum remove命令卸载其他内核相关的包
rpm -ea kernel-tools-libs-3.10.-514.2..el7.x86_64
rpm -ea kernel-tools-3.10.-514.2..el7.x86_64

降低发行版本:

[root@linux-node1 ~]# rpm -ivh centos-release--2.1511.el7.centos.2.10.x86_64.rpm--force
Preparing... ################################# [%]
Updating / installing...
:centos-release--2.1511.el7.cento################################# [%]

(1)可以查看到安装的2个发行版本:

 [root@linux-node1 ~]# rpm -qa|grep -i centos-release--
centos-release--3.1611.el7.centos.x86_64
centos-release--2.1511.el7.centos.2.10.x86_64

(2)把7.3的发行版本卸载:

[root@linux-node1 ~]# rpm -ev centos-release--3.1611.el7.centos.x86_64
Preparing packages...
centos-release--3输出..el7.centos.x86_64

(3)这时候只能查看一个结果:

 [root@controller ~]# rpm -qa|grep -i centos-release--
centos-release--2.1511.el7.centos.2.10.x86_64

验证:

查看此时的内核版本:
[root@controller ~]# uname -r
3.10.-514.2..el7.x86_64
查看此时的发行版本:
[root@controller ~]# cat /etc/redhat-release
CentOS Linux release 7.2. (Core)
重启:
[root@controller ~]# reboot

Openstack入门篇(十三)之云主机创建的更多相关文章

  1. RabbitMQ入门教程(十三):虚拟主机vhost与权限管理

    原文:RabbitMQ入门教程(十三):虚拟主机vhost与权限管理 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://b ...

  2. OpenStack入门篇(二十二)之实现阿里云VPC的SDN网络

    1.修改/etc/neutron/neutron.conf配置 [root@linux-node1 ~]# vim /etc/neutron/neutron.conf [defalut] ... co ...

  3. OpenStack入门篇(二十)之实现阿里云ESC多FLAT网络

    1.给两台虚拟机增加网卡,使用仅主机模式,网段为:192.168.57.0/24 2.修改两台主机网卡配置 [root@linux-node1 ~]# cp /etc/sysconfig/networ ...

  4. Openstack入门篇(十五)之如何创建生产使用的openstack镜像

    在linux-node1节点上: [root@linux-node1 ~]# yum install -y openstack-nova-compute [root@linux-node1 ~]# y ...

  5. OpenStack平台上,linux云主机可以使用xshell连接,但是无法xftp连接

    笔者在OpenStack云平台上创建了CentOS6.6的云主机,用了一段时间后,发现xshell可以连接,但是xftp却连接不上. 于是进行伟大的百度操作,检查网络设置.ssh服务设置等,均正常,否 ...

  6. Openstack入门篇(十八)之Cinder服务-->使用NFS作为后端存储

    1.安装cinder-volume组件以及nfs [root@linux-node2 ~]# yum install -y openstack-cinder python-keystone [root ...

  7. Openstack入门篇(十七)之Cinder服务-->安装并配置一个本地存储节点

    怎样为块存储服务安装并配置存储节点.为简单起见,这里配置一个有一个空的本地块存储设备的存储节点.这个向导用的是 /dev/sdb,此处选用linux-node1节点作为存储节点,需要在vmware中添 ...

  8. Openstack入门篇(十四)之horizon服务的部署与测试

    1.Horizon介绍 •提供一个web界面操作openstack的系统 •使用Django框架基于openstack API开发 •支持将session存储在DB.memcached •支持集群 t ...

  9. Openstack入门篇(十一)之neutron服务(控制节点)的部署与测试

    1.Neutron的介绍 Neutron 为整个 OpenStack 环境提供网络支持,包括二层交换,三层路由,负载均衡,防火墙和 *** 等.Neutron 提供了一个灵活的框架,通过配置,无论是开 ...

随机推荐

  1. 2. 跟踪标记 (Trace Flag) 3604, 3605 输出DBCC命令结果

    跟踪标记:3604 功能: 输出DBCC命令返回结果到查询窗口(通常是SSMS窗口),类似print命令的显示效果: 用途: 常用于获取DBCC IND, DBCC PAGE命令的输出结果,因为这2个 ...

  2. CSS背景图片垂直居中center不起效果完美解决

    背景图片居中CSS如下 background:#4892fe url("<%=basePath%>/img/login_bg.jpg") no-repeat cente ...

  3. Qimage QBuffer

    QImage image;QByteArray ba;QBuffer buffer(&ba);buffer.open(QIODevice::WriteOnly);image.save(& ...

  4. 对于开发WEB方面项目需要的工具和技术了解

    1.IDE:Webstorm,JavaScript 开发工具. 2.版本管理系统:Git,独一无二. 3.单元测试:jsamine,前后端共用.Jasmine是我们梦寐以求的Javascript测试框 ...

  5. ORACLE数据库入门再在屋里坐会

    一.数据库简介 数据库概述 数据库(database)是按照数据结构来组织,存储和管理数据的仓库,它产生与距今五十年前. 简单来说是本身可视为电子化的文件柜--存储电子文件的处所,用户可以对文件中的数 ...

  6. 在myeclipse的工作环境上配置默认编码为UTF-8

        将默认环境转为UTF-8,看图分析: 在windows->Preferences上 这样整个环境就变成UTF-8,只是这样还不够, 还须要,假设你须要所有文件都设为UTF-8,就: wa ...

  7. Oracle从一个用户导出数据到另一个用户

    如果想导入的用户已经存在: 1. 导出用户 expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp 2. 导入用户 impdp user2/pas ...

  8. zookeeper 快速入门

    分布式系统简介 在分布式系统中另一个需要解决的重要问题就是数据的复制.我们日常开发中,很多人会碰到一个问题:客户端C1更新了一个值K1由V1更新到V2.但是客户端C2无法立即读取到K的最新值.上面的例 ...

  9. BZOJ4522:[CQOI2016]密钥破解(Pollard-Rho,exgcd)

    Description 一种非对称加密算法的密钥生成过程如下: 1. 任选两个不同的质数 p ,q 2. 计算 N=pq , r=(p-1)(q-1) 3. 选取小于r ,且与 r 互质的整数 e  ...

  10. ethereumjs/ethereumjs-common-1-简介

    为了了解ethereumjs/ethereumjs-block-3-代码的使用需要了解的一个模块 https://github.com/ethereumjs/ethereumjs-common Com ...