Centos7安装部署openstack--启动实例

一、命令行启动一个实例

  1、创建网络

neutron net-create --shared --provider:physical_network provider \         公共的网络,所有项目都能用,provider和配置文件/etc/neutron/plugins/ml2/ml2_conf.ini一致
--provider:network_type flat oldboy oldboy网络名称

  创建子网,划分网段

 neutron subnet-create --name oldgirl \
  --allocation-pool start=10.0.0.101,end=10.0.0.250 \
  --dns-nameserver 223.5.5.5 --gateway 10.0.0.2 \
  oldboy 10.0.0.0/24
  

  2、创建m1.nano规格的主机

openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano

  3、生成一个键值对

ssh-keygen -q -N "" -f ~/.ssh/id_rsa                                        生成密钥对
openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey               上传至openstack上
openstack keypair list                                                      查看所有密钥对

  4、添加规则到 default 安全组

openstack security group rule create --proto icmp default
openstack security group rule create --proto tcp --dst-port 22 default

  5、启动实例

neutron net-list                                                             查看net-id号
openstack server create --flavor m1.nano --image cirros \
--nic net-id=2b3394db-a083-424e-86fa-c373f247a60f --security-group default \
--key-name mykey ceshishili

 二、web页面启动一个实例

  1、计算,在实例页面选择创建实例,填写实例名称,选择可用域。

   2、选择镜像

   3、选择规格

   4、选择网络,选择了网络,就不用选择网络接口了。

   5、选择默认安全组

   6、选择密钥对

     7、点击创建实例,就可以了。

  8、实例目录

   9、解决控制台找不到controller地址问题

    在win主机中的hosts文件中添加解析

   10、解决磁盘进不去问题

   修改计算节点配置文件

vim /etc/nova/nova.conf                                       修改配置文件,添加如下配置
[libvirt]
virt_type = qemu
cpu_mode = none
systemctl restart openstack-nova-compute.service 重启服务,并重启实例

   11、解决主机compute没有映射到任何单元问题。

    错误:主机compute没有映射到任何单元
    compute节点日志: Instance xxx has allocations against this compute host but is not found in the database.
    解决:添加计算节点到cell数据库:

su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

  12、解决创建虚拟机报错问题

    openstack queens 创建虚拟机的时候 查看状态为error,发现计算的节点和控制节点的nove日志都报错,报错如下:
    UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position 0: ordinal not in range(128)

解决办法:
在python 文件/usr/lib/python2.7/site-packages/tenacity/init.py增加字符处理代码:
import sys
default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
reload(sys)
sys.setdefaultencoding(default_encoding)
再次创建虚拟机成功

 

posted @ 2020-07-11 22:04  人走茶良  阅读(2609)  评论(0编辑  收藏  举报
推荐:华为云