Openstack概述 、 部署安装环境 、 部署Openstack 、 Openstack操作基础 案例

Top

NSD CLOUD DAY02

  1. 案例1:配置yum仓库
  2. 案例2:测试时间服务器
  3. 案例3:配置yum仓库
  4. 案例4:检查基础环境
  5. 案例5:部署Openstack
  6. 案例6:网络管理
  7. 案例7:登录openstack

1 案例1:配置yum仓库

1.1 问题

本案例要求配置基本环境:

  • 配置三台虚拟机
  • 2CPU,6G 内存,50G 硬盘
  • 2CPU,4.5G 内存,100G 硬盘
  • 配置静态IP ifcfg-eth0
  • openstack : 192.168.1.10
  • nova: 192.168.1.11, 192.168.1.12
  • 配置主机名 /etc/hosts,能够相互 ping 通
  • 配置 dns 服务器 /etc/resolv.conf
  •  

1.2 方案

此实验的整体方案需要三台机器,openstack作为主节点,nova01 和 nova02作为额外节点,真机做为DNS转发和NTP的服务器(这里不再在表-1中体现),提供域名解析和时间同步服务,具体情况如表-1所示:

表-1

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:准备三台虚拟机

 
  1. [student@room9pc01 images]$base-vm openstack nova01 nova02
  2. [student@room9pc01 images]$virsh start openstack
  3. [student@room9pc01 images]$virsh start nova01
  4. [student@room9pc01 images]$virsh start nova02

2)opensatck主机扩容为50G

 
  1. [student@room9pc01 images]$ virsh blockresize --path /var/lib/libvirt/images/openstack.img --size 100G openstack
  2. [student@room9pc01 images]$ virsh console openstack
  3. [root@localhost ~]# /usr/bin/growpart /dev/vda 1
  4. [root@localhost ~]# /usr/sbin/xfs_growfs /
  5. [root@localhost ~]# df -h
  6. Filesystem Size Used Avail Use% Mounted on
  7. /dev/vda1 50G 914M 50G 2% /

3)nova01 和 nova02 主机扩容为100G(以nova01为例)

 
  1. [student@room9pc01 images]$ virsh blockresize --path /var/lib/libvirt/images/nova01.img --size 50G nova01
  2. 重新定义 '/var/lib/libvirt/images/nova01.img' 块设备大小
  3. [root@localhost ~]# /usr/bin/growpart /dev/vda 1
  4. [root@localhost ~]# /usr/sbin/xfs_growfs /
  5. [root@localhost ~]# df -h
  6. Filesystem Size Used Avail Use% Mounted on
  7. /dev/vda1 100G 917M 100G 1% /

4)三台主机配置静态ip(以一台为例)

openstack:192.168.1.10

nova01: 192.168.1.11

nova02: 192.168.1.12

 
  1. [root@localhost ~]# cd /etc/sysconfig/network-scripts/
  2. [root@localhost network-scripts]# vim ifcfg-eth0
  3. # Generated by dracut initrd
  4. DEVICE="eth0"
  5. ONBOOT="yes"
  6. NM_CONTROLLED="no"
  7. TYPE="Ethernet"
  8. BOOTPROTO="static"
  9. PERSISTENT_DHCLIENT="yes"
  10. IPADDR=192.168.1.10
  11. NEMASK=255.255.255.0
  12. GATEWAY=192.168.1.254

5)三台主机修改主机名,配置/etc/hosts,和/etc/resolv.conf文件(以一台为例)

 
  1. [root@localhost ~]# hostname openstack
  2. [root@localhost ~]# echo openstack > /etc/hostname
  3.  
  4. [root@localhost ~]# vim /etc/hosts
  5. 192.168.1.10 openstack
  6. 192.168.1.11 nova01
  7. 192.168.1.12 nova02
  8.  
  9. [root@localhost ~]# vim /etc/resolv.conf //去掉search开头的行
  10. ; generated by /usr/sbin/dhclient-script
  11. nameserver 192.168.1.254

6)修改三台主机的内存(openstack6G,nova01 和nova02 4G)

 
  1. [student@room9pc01 ~]$ virsh edit openstack
  2. ...
  3. <memory unit='KiB'>6588282</memory>
  4. <currentMemory unit='KiB'>6588282</currentMemory>
  5. ...
  6.  
  7.  
  8. [student@room9pc01 ~]$ virsh edit nova01
  9. ...
  10. <memory unit='KiB'>4588282</memory>
  11. <currentMemory unit='KiB'>4588282</currentMemory>
  12. ...
  13.  
  14. [student@room9pc01 ~]$ virsh start openstack
  15. 域 openstack 已开始
  16. [student@room9pc01 ~]$ virsh start nova01
  17. 域 nova01 已开始
  18.  
  19. [student@room9pc01 ~]$ virsh start nova02
  20. 域 nova02 已开始

2 案例2:测试时间服务器

2.1 问题

本案例要求掌握时间服务的配置:

  • 修改 openstack,nova01,nova02 的时间服务器
  • 重启服务后验证配置

2.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:修改openstack,nova01 和 nova02 的时间服务器(以一台为例)

 
  1. [root@openstack ~]# vim /etc/chrony.conf
  2. ...
  3. server 192.168.1.254 iburst
  4. [root@openstack ~]# systemctl restart chronyd

步骤二:验证

 
  1. [root@openstack ~]# chronyc sources -v
  2. ...
  3. || | | \
  4. MS Name/IP address Stratum Poll Reach LastRx Last sample
  5. ===============================================================================
  6. ^* gateway 3 6 37 6 -93ns[ +903ns] +/- 26ms

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

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

 
  1. [root@localhost ~]# echo openstack.tedu.cn > /etc/hostname
  2. [root@localhost ~]# hostname openstack.tedu.cn    
  3. //另外一台主机改名为nova.tedu.cn,配置ip为1.20
  4. [root@openstack ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
  5. # Generated by dracut initrd
  6. DEVICE="eth0"
  7. ONBOOT="yes"
  8. IPV6INIT="no"
  9. IPV4_FAILURE_FATAL="no"
  10. NM_CONTROLLED="no"
  11. TYPE="Ethernet"
  12. BOOTPROTO="static"
  13. IPADDR="192.168.1.10"
  14. PREFIX=24
  15. GATEWAY=192.168.1.254
  16. [root@openstack ~]# systemctl restart network

3 案例3:配置yum仓库

3.1 问题

本案例要求配置yum仓库:

  • 配置 yum 源,软件仓库一共 4 个

3.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:三台主机配置yum源(以一台主机为例,共10670个软件包)

 
  1. [student@room9pc01 ~]$ cd /linux-soft/04/openstack/
  2. [student@room9pc01 openstack]$ ls
  3. cirros.qcow2 RHEL7-extras.iso RHEL7OSP-10.iso small.qcow2
  4. [student@room9pc01 openstack]$ mkdir /var/ftp/RHEL7-extras
  5. [student@room9pc01 openstack]$ mkdir /var/ftp/RHEL7OSP-10
  6. [student@room9pc01 openstack]$ mount RHEL7-extras.iso /var/ftp/RHEL7-extras/
  7. mount: /dev/loop1 写保护,将以只读方式挂载
  8. [student@room9pc01 openstack]$ mount RHEL7OSP-10.iso /var/ftp/RHEL7OSP-10/
  9. mount: /dev/loop2 写保护,将以只读方式挂载
  10.  
  11. [root@openstack ~]# vim /etc/yum.repos.d/local.repo
  12. [local_repo]
  13. name=CentOS-$releasever - Base
  14. baseurl="ftp://192.168.1.254/centos-1804"
  15. enabled=1
  16. gpgcheck=1
  17.  
  18. [RHEL7-extras]
  19. name=RHEL7-extras
  20. baseurl="ftp://192.168.1.254/RHEL7-extras"
  21. enabled=1
  22. gpgcheck=0
  23.  
  24. [RHEL7OSP-package]
  25. name=RHEL7OSP-package
  26. baseurl="ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-rpms"
  27. enabled=1
  28. gpgcheck=0
  29.  
  30. [RHEL7OSP-devtools]
  31. name=RHEL7OSP-devtools
  32. baseurl="ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-devtools-rpms"
  33. enabled=1
  34. gpgcheck=0
  35.  
  36. [root@openstack ~]# scp /etc/yum.repos.d/local.repo 192.168.1.11:/etc/yum.repos.d/
  37. root@192.168.1.11's password:
  38. local.repo 100% 490 484.4KB/s 00:00
  39. [root@openstack ~]# scp /etc/yum.repos.d/local.repo 192.168.1.12:/etc/yum.repos.d/
  40. root@192.168.1.12's password:
  41. local.repo

4 案例4:检查基础环境

4.1 问题

本案例要求准备基础环境,为安装openstack做准备:

  • 安装额外的软件包
  • 是否卸载firewalld 和 NetworkManager
  • 检查配置主机网络参数(静态IP)
  • 主机名必须能够相互 ping 通
  • 检查配置主机yum源(4个,10670)
  • 依赖软件包是否安装
  • 检查NTP服务器是否可用
  • 检查 /etc/resolv.conf 不能有 search 开头的行

4.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:检查基础环境

1)安装额外软件包(三台机器操作,这里以一台为例)

 
  1. [root@openstack yum.repos.d]# yum install -y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools

2)是否卸载firewalld 和 NetworkManager

 
  1. [root@openstack ~]# rpm -qa | grep NetworkManager*
  2. [root@openstack ~]# rpm -qa | grep firewalld*

3)检查配置主机网络参数

 
  1. [root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
  2. # Generated by dracut initrd
  3. DEVICE="eth0"
  4. ONBOOT="yes"
  5. NM_CONTROLLED="no"
  6. TYPE="Ethernet"
  7. BOOTPROTO="static"
  8. PERSISTENT_DHCLIENT="yes"
  9. IPADDR=192.168.1.10
  10. NEMASK=255.255.255.0
  11. GATEWAY=192.168.1.254

4)验证主机名是否互通

 
  1. [root@openstack ~]# ping openstack
  2. ...
  3. 64 bytes from openstack (192.168.1.10): icmp_seq=1 ttl=255 time=0.023 ms
  4. 64 bytes from openstack (192.168.1.10): icmp_seq=2 ttl=255 time=0.027 ms
  5. ...
  6.  
  7. [root@openstack ~]# ping nova01
  8. PING nova01 (192.168.1.11) 56(84) bytes of data.
  9. 64 bytes from nova01 (192.168.1.11): icmp_seq=1 ttl=255 time=0.139 ms
  10. ...
  11.  
  12. [root@openstack ~]# ping nova02
  13. PING nova02 (192.168.1.12) 56(84) bytes of data.
  14. 64 bytes from nova02 (192.168.1.12): icmp_seq=1 ttl=255 time=0.251 ms
  15. ...

5)检查配置主机yum源

 
  1. [root@openstack ~]# yum repolist
  2. 已加载插件:fastestmirror
  3. Loading mirror speeds from cached hostfile
  4. 源标识 源名称 状态
  5. RHEL7-extras RHEL7-extras 76
  6. RHEL7OSP-devtools RHEL7OSP-devtools 3
  7. RHEL7OSP-package RHEL7OSP-package 680
  8. local_repo CentOS-7 - Base 9,911
  9. repolist: 10,670

6)检查时间同步是否可用

 
  1. [root@openstack ~]# chronyc sources -v
  2. 210 Number of sources = 1
  3.  
  4. ....
  5. || | | \
  6. MS Name/IP address Stratum Poll Reach LastRx Last sample
  7. ===============================================================================
  8. ^* gateway 3 7 377 28 +31us[ +89us] +/- 25ms
  9. [root@openstack ~]#

7)检查/etc/resolv.conf 不能有 search 开头的行

 
  1. [root@openstack ~]# cat /etc/resolv.conf
  2. ; generated by /usr/sbin/dhclient-script
  3. nameserver 192.168.1.254

5 案例5:部署Openstack

5.1 问题

本案例要求通过packstack完成以下配置:

  • 通过packstack部署Openstack
  • 根据相关日志文件进行排错

5.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装packstack

 
  1. [root@openstack ~]# yum install -y openstack-packstack
  2. [root@openstack ~]# packstack --gen-answer-file answer.ini
  3. //answer.ini与answer.txt是一样的,只是用vim打开answer.ini文件有颜色
  4. Packstack changed given value to required value /root/.ssh/id_rsa.pub
  5. [root@openstack ~]# vim answer.ini
  6. 42 CONFIG_SWIFT_INSTALL=n
  7. 45 CONFIG_CEILOMETER_INSTALL=n //计费相关模块
  8. 49 CONFIG_AODH_INSTALL=n //计费相关模块
  9. 53 CONFIG_GNOCCHI_INSTALL=n //计费相关模块
  10. 75 CONFIG_NTP_SERVERS=192.168.1.254 //时间服务器的地址
  11. 98 CONFIG_COMPUTE_HOSTS=192.168.1.11
  12. 102 CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11
  13. 333 CONFIG_KEYSTONE_ADMIN_PW=a //修改管理员的密码
  14. 840 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan //驱动类型
  15. 876 CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5
  16. //设置组播地址,最后一个随意不能为0和255,其他固定
  17. 910 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex //物理网桥的名称
  18. 921 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0
  19. //br-ex桥的名称与eth0连接,管理eth0,网桥与哪个物理网卡连接
  20. 1179 CONFIG_PROVISION_DEMO=n //DEMO是否测试
  21. [root@openstack ~]# packstack --answer-file=answer.ini
  22. Welcome to the Packstack setup utility
  23.  
  24. The installation log file is available at: /var/tmp/packstack/20190423-170603-b43g_i/openstack-setup.log
  25.  
  26. Installing:
  27. Clean Up [ DONE ]
  28. Discovering ip protocol version [ DONE ]
  29. root@192.168.1.11's password:
  30. root@192.168.1.10's password:
  31. Setting up ssh keys
  32. **** Installation completed successfully ******        //出现这个为成功

6 案例6:网络管理

6.1 问题

本案例要求运用OVS完成以下配置:

  • 查看外部OVS网桥及其端口
  • 验证OVS配置

6.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:查看外部OVS网桥

1)查看br-ex网桥配置(br-ex为OVS网桥设备)

 
  1. [root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
  2. ONBOOT="yes"
  3. NM_CONTROLLED="no"
  4. IPADDR="192.168.1.10"
  5. PREFIX=24
  6. GATEWAY=192.168.1.254
  7. DEVICE=br-ex
  8. NAME=br-ex
  9. DEVICETYPE=ovs
  10. OVSBOOTPROTO="static"
  11. TYPE=OVSBridge

2)查看eth0网卡配置(该网卡为OVS网桥的接口)

 
  1. [root@openstack ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
  2. DEVICE=eth0
  3. NAME=eth0
  4. DEVICETYPE=ovs
  5. TYPE=OVSPort
  6. OVS_BRIDGE=br-ex
  7. ONBOOT=yes
  8. BOOTPROTO=none

3)验证OVS配置

 
  1. [root@openstack ~]# ovs-vsctl show
  2. Bridge br-ex
  3. Controller "tcp:127.0.0.1:6633"
  4. is_connected: true
  5. fail_mode: secure
  6. Port br-ex
  7. Interface br-ex
  8. type: internal
  9. Port phy-br-ex
  10. Interface phy-br-ex
  11. type: patch
  12. options: {peer=int-br-ex}
  13. Port "eth0"
  14. Interface "eth0"
  15. ovs_version: "2.5.0"

7 案例7:登录openstack

7.1 问题

本案例要求通过Horizon完成以下操作:

  • 修改/etc/httpd/conf.d/15-horizon_vhost.conf 配置文件,使其可以成功登录openstack

7.2 步骤

实现此案例需要按照如下步骤进行。

步骤一:浏览器访问openstack

1)浏览器访问

 
  1. [root@openstack ~]# firefox 192.168.1.10 //访问失败

2)需要改配置文件并重新加载

 
  1. [root@openstack ~]#
  2. [root@openstack conf.d]# vi 15-horizon_vhost.conf
  3. 35 WSGIProcessGroup apache
  4. 36 WSGIApplicationGroup %{GLOBAL} //添加这一行
  5. [root@openstack conf.d]# apachectl graceful //重新载入配置文件

3)浏览器访问,出现页面,如图-6所示:

图-6

3)查看用户名和密码

 
  1. [root@openstack conf.d]# cd
  2. [root@openstack ~]# ls
  3. answer.ini keystonerc_admin //keystonerc_admin生成的文件,里面有用户名和密码
  4. [root@openstack ~]# cat keystonerc_admin
  5. unset OS_SERVICE_TOKEN
  6. export OS_USERNAME=admin //用户名
  7. export OS_PASSWORD=a //密码
  8. export OS_AUTH_URL=http://192.168.1.10:5000/v2.0
  9. export PS1='[\u@\h \W(keystone_admin)]\$ '
  10.  
  11. export OS_TENANT_NAME=admin
  12. export OS_REGION_NAME=RegionOne

4)在火狐浏览器中输入用户名和密码,登录后页面如图-7所示:

图-7

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

1)ntp时间不同步,如图-2所示:

图-2

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

 
  1. [root@room9pc01 ~]# chronyc sources -v //出现*号代表NTP时间可用
  2. ^* 120.25.115.20 2 6 17 62 -753us[-7003us] +/- 24ms
  3. [root@openstack ~]# chronyc sources -v
  4. ^* 192.168.1.254 3 9 377 504 +50us[-20us] +/- 24ms
  5. [root@nova ~]# chronyc sources -v
  6. ^* 192.168.1.254 3 9 377 159 -202us[-226us] +/- 24ms

2)网桥名称写错,如图-3所示:

图-3

解决办法:检查配置文件

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

3)若/root/.ssh/id_rsa.pub,提示password,同样是配置文件没有写对,如图-4所示:

图-4

4)yum源没有配置正确,如图-5所示:

图-5

解决办法:检查yum是否为10853个软件包,查看是否是yum源没有配置正确,之后安装oprnstack-dashboard

5)出现Cannot allocate memory,如图-6所示:

图-6

解决办法:

内存不足,重新启动主机

6)出现/usr/bin/systemctl start openvswith ... falied,说明是ssse3指令集的错误,如图-7所示:

图-7

解决办法:编辑openstack的xml文件,在里面添加

 
  1. <cpu mode='host-passthrough'>
  2. </cpu>

7)若出现 Could not prefetch... ‘openstack’。 如图-8所示:

图-8

配置文件里面有中文符号

9)访问openstack出错

图-9

没有修改Apache配置文件

4)创建名为myproject的项目

 
  1. [root@openstack ~]# source ~/keystonerc_admin //初始化环境变量
  2. [root@openstack ~(keystone_admin)]# openstack project create myproject
  3. +-------------+----------------------------------+
  4. | Field | Value |
  5. +-------------+----------------------------------+
  6. | description | None |
  7. | enabled | True |
  8. | id |f73949e2701346328faf5c1272414cd0|
  9. | name | myproject |
  10. +-------------+----------------------------------+

5)查看项目信息

 
  1. [root@openstack ~(keystone_admin)]# openstack project list
  2. +----------------------------------+-----------+
  3. | ID | Name |
  4. +----------------------------------+-----------+
  5. | 3fd5bffd734543d39cf742492273a47f | services |
  6. | 7f0b43274a9f4e149357fc8393ff2c68 | admin |
  7. | f73949e2701346328faf5c1272414cd0 | myproject |
  8. +----------------------------------+-----------+

6)更新vcpu配额为30

 
  1. [root@openstack ~(keystone_admin)]# nova quota-update --cores 30 myproject

7)删除myproject

 
  1. [root@openstack ~(keystone_admin)]# openstack project delete myproject
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值