OpenStack部署及故障排除方法

**

OpenStack 是一套IaaS解决方案

**
七大组件:

       1) Horizon    web管理界面

            -  用于管理OpenStack各种服务的、基于web的管理接口、通过图形界面实现创建用户、网络实例等


       2) Keystore  身份认证

            -  为其他服务提供认证和授权的集中身份管理服务
            -  也提供了集中的目录服务
            -  支持多种身份认证模式,如:密码认证、令牌认证、以及AWS WEB服务
            -  为用户和其他服务提供了SSO认证服务


       3) Neutron   虚拟交换机、虚拟vlan

            -  软件定义网络的服务
            -  用于创建网络、子网、路由器、管理浮动IP地址
            -  可以实现虚拟交换机、虚拟路由器
            -  可用于在项目中创建VPN
            (在zai 两台主机里各别创建虚拟交换机,再在虚拟交换机里划分不同的vlan,两台主机上虚拟交换机不同的vlan可以通信)


       4) Cinder   共享存储卷

           -  为虚拟机管理存储卷的服务
           -  为运行在Nova中的实例提供永久的块存储
           -  可以通过快照进行数据备份
           -  经常应用在实例存储环境中,
   

       5) Nova  管理节点软件

           -  在节点上用于管理虚拟主机的服务
           -  Nova是一个分布式的服务,能够与Keystore交互实现认证,与Glance交互实现镜像管理
           -  Nova被设计成在标准硬件上能够进行水平扩展
           -  启动实例时,如果有需要则下载镜像  

       
       6) Glance  

           -  扮演虚拟机镜像注册的角色
           -  允许用户为直接存储拷贝服务器镜像
           -  这些镜像可以用于新建虚拟机的模板
           -  只需要把经镜像传给Glance,Glance会给节点主机安装镜像
           -  若镜像有更新只需要更新Glance的镜像即可

OpenStack基础环境

步骤一:配置 yum仓库

警告:仅yum配置的第一个源(系统源)为gpgcheck=1需要导入公钥,其他的都是gpgcheck=0,否则安装会报错。

[root@room9pc01 ~]# mkdir /var/ftp/system  
[root@room9pc01 ~]# mkdir /var/ftp/extras 
[root@room9pc01 ~]# mkdir /var/ftp/HEL7OSP


[root@room9pc01 ~]# vim /etc/fstab
/iso/RHEL7OSP-10.iso  /var/ftp/HEL7OSP iso9660 defaults 0 0
/iso/CentOS7-1708.iso  /var/ftp/system iso9660 defaults 0 0
/iso/RHEL7-extras.iso  /var/ftp/extras iso9660 defaults 0 0
[root@room9pc01 ~]# mount –a


[root@room9pc01 ~]# vim /etc/yum.repos.d/local.repo
[local_repo]
name=CentOS-$releasever - Base
baseurl="ftp://192.168.1.254/system"
enabled=1
gpgcheck=1

[local_extras]
name=extras
baseurl="ftp://192.168.1.254/extras"
enabled=1
gpgcheck=0

[1local_devtools-rpms]
name=devtools-rpms
baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-openstack-10-devtools-rpms"
enabled=1
gpgcheck=0

[2local_optools-rpms]
name=optools-rpms
baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-openstack-10-optools-rpms"
enabled=1
gpgcheck=0

[3local_rpms]
name=rpms
baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-openstack-10-rpms"
enabled=1
gpgcheck=0

[4local_tools-rpms]
name=tools-rpms
baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-openstack-10-tools-rpms"
enabled=1
gpgcheck=0

[5local_mon-rpms]
name=mon-rpms
baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhceph-2-mon-rpms"
enabled=1
gpgcheck=0

[6local_osd-rpms]
name=osd-rpms
baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhceph-2-osd-rpms"
enabled=1
gpgcheck=0

[7local_rhceph-2-tools-rpms]
name=rhceph-2-tools-rpms
baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhceph-2-tools-rpms"
enabled=1
gpgcheck=0

[8local_agent-rpms]
name=agent-rpms
baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhscon-2-agent-rpms"
enabled=1
gpgcheck=0

[9local_installer-rpms]
name=installer-rpms
baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhscon-2-installer-rpms"
enabled=1
gpgcheck=0

[10local_rhscon-2-main-rpms]
name=rhscon-2-main-rpms
baseurl="ftp://192.168.1.254/HEL7OSP/rhel-7-server-rhscon-2-main-rpms"
enabled=1
gpgcheck=0

**

步骤二:配置DNS(真机操作)

**

[root@room9pc01 ~]# yum -y install bind bind-chroot
[root@room9pc01 ~]# vim /etc/named.conf
options {
        listen-on port 53 { 192.168.1.3; };        //修改ip
           allow-query     { any; };                //允许所有
        recursion yes;
        forwarders { 172.40.1.10; };    //转发dns,真机的服务器地址
        dnssec-enable no;
        dnssec-validation no;
};

[root@room9pc01 ~]# systemctl restart named

步骤三:两台虚拟机配置静态ip

两台主机同样操作,改一下ip即可(以openstack.tedu.cn为例)

[root@localhost ~]# echo openstack.tedu.cn > /etc/hostname 
[root@localhost ~]# hostname openstack.tedu.cn    //另外一台主机改名为nova.tedu.cn
 [root@openstack ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
# Generated by dracut initrd
DEVICE="eth0"
ONBOOT="yes"
IPV6INIT="no"
IPV4_FAILURE_FATAL="no"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.1.1"
PREFIX=24
GATEWAY=192.168.1.254

[root@openstack ~]# systemctl restart network

步骤四:域名解析

[root@openstack ~]# vim /etc/hosts     
//在openstack.tedu.cn和nova.tedu.cn主机上面操作
192.168.1.1 openstack.tedu.cn
192.168.1.2 nova.tedu.cn

步骤五:配置NTP时间同步(真机操作)

[root@room9pc01 ~]# yum -y install chrony
[root@room9pc01 ~]# vim /etc/chrony.conf
server ntp1.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0            //允许所有人使用我的时间服务器 
cmdallow 127.0.0.1      //控制指令

[root@room9pc01 ~]# systemctl restart chronyd
[root@room9pc01 ~]# netstat -antup | grep chronyd
udp        0      0 0.0.0.0:123             0.0.0.0:*                           23036/chronyd       
udp        0      0 127.0.0.1:323           0.0.0.0:*                           23036/chronyd

[root@room9pc01 ~]# chronyc sources -v    //出现*号代表NTP时间可用
^* 120.25.115.20                 2   6    17    62   -753us[-7003us] +/-   24ms

**

环境准备

1)配置yum源

备注:只有系统源的gpgcheck=1,其他的都是gpgcheck=0)

[root@room9pc01 ~]# scp /etc/yum.repos.d/local.repo 192.168.1.1:/etc/yum.repos.d/        //拷贝给openstack.tedu.cn这台主机

[root@room9pc01 ~]# scp /etc/yum.repos.d/local.repo 192.168.1.2:/etc/yum.repos.d/   //拷贝给nova.tedu.cn这台主机

2)配置ip

备注: 配置eth0为公共网络,网络地址192.168.1.0/24(已经配置过)

配置eth1为隧道接口,网络地址192.168.2.0/24

1)给openstack.tedu.cn主机添加eth1网卡

[root@room9pc01 networks]# virsh -c qemu:///system attach-interface openstack bridge private2 --model virtio
Interface attached successfully    //添加成功
[root@openstack ~]# cd /etc/sysconfig/network-scripts
[root@openstack network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@openstack network-scripts]# vim ifcfg-eth1
# Generated by dracut initrd
DEVICE="eth1"
ONBOOT="yes"
IPV6INIT="no"
IPV4_FAILURE_FATAL="no"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.2.1"
PREFIX=24
GATEWAY=192.168.1.254

[root@openstack network-scripts]# systemctl restart network

2)给nova.tedu.cn主机添加eth1网卡

[root@room9pc01 networks]# virsh -c qemu:///system attach-interface nova bridge private2 --model virtio
Interface attached successfully    //添加成功
[root@nova ~]# cd /etc/sysconfig/network-scripts
[root@nova network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@nova network-scripts]# vim ifcfg-eth1
# Generated by dracut initrd
DEVICE="eth1"
ONBOOT="yes"
IPV6INIT="no"
IPV4_FAILURE_FATAL="no"
NM_CONTROLLED="no"
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.2.2"
PREFIX=24
GATEWAY=192.168.1.254

[root@openstack network-scripts]# systemctl restart network

3)配置卷组(openstack主机上面操作)

[root@room9pc01 images]# qemu-img  create -f qcow2 disk.img 50G

[root@room9pc01 networks]# virsh -c qemu:///system attach-disk openstack  /var/lib/libvirt/images/disk.img vdb --subdriver qcow2 --sourcetype file
Disk attached successfully        //添加成功

[root@openstack ~]# yum install lvm2 
[root@openstack ~]# pvcreate /dev/vdb 
[root@openstack ~]# vgcreate cinder-volumes /dev/vdb

4)安装openstack的依赖包(openstack.tedu.cn和nova.tedu.cn主机上面

[root@openstack ~]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools 

[root@nova ~]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools

部署Openstack

步骤一:安装packstack

[root@openstack ~]# yum install -y openstack-packstack
[root@openstack ~]# packstack --gen-answer-file answer.ini  
//answer.ini与answer.txt是一样的,只是用vim打开answer.ini文件有颜色
Packstack changed given value  to required value /root/.ssh/id_rsa.pub


[root@openstack ~]# vim answer.ini
  11 CONFIG_DEFAULT_PASSWORD=redhat  //密码
  42 CONFIG_SWIFT_INSTALL=n
  75 CONFIG_NTP_SERVERS=192.168.1.3   //时间服务器的地址
 554 CONFIG_CINDER_VOLUMES_CREATE=n    //创建卷,已经手动创建过了
 840 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan   //驱动类型
 876 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5  
//设置组播地址,最后一个随意不能为0和255,其他固定
 910 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex  //物理网桥的名称
 921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0   
//br-ex桥的名称与eth0连接,管理eth0,网桥与哪个物理网卡连接
 936 CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1
1179 CONFIG_PROVISION_DEMO=n   //DEMO是否测试


[root@openstack ~]# packstack    --answer-file=answer.ini
  **** Installation completed successfully ******    //出现这个为成功

安装openstack可能会出现的错误以及排错方法

1)ntp时间不同步
在这里插入图片描述

解决办法:查看ntp时间服务器,是否出现*号,若没有,查看配置文件,配置ntp服务器步骤在案例3,可以参考

[root@room9pc01 ~]# chronyc sources -v    //出现*号代表NTP时间可用

2)网桥名称写错

在这里插入图片描述
解决办法:检查配置文件

[root@openstack ~]# vim answer.ini
...
921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0   
//br-ex桥的名称与eth0连接,管理eth0,网桥与哪个物理网卡连接
...

3)若/root/.ssh/id_rsa.pub,提示password,同样是配置文件没有写对
在这里插入图片描述
4)yum源没有配置正确

在这里插入图片描述
解决办法:检查yum是否为10731个软件包,查看是否是yum源没有配置正确,之后安装oprnstack-dashboard

备注:除了系统源gpgcheck=1之外,其他都是gpgcheck=0

5)出现Cannot allocate memory
在这里插入图片描述
解决办法:

内存不足,重新启动主机

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值