NSD CLOUD DAY02
1 案例1:实验环境准备
1.1 问题
本案例要求配置基本环境:
- 请按照如下要求准备 4 台虚拟机(20分钟)
- openstack 主机
- IP:192.168.1.10 内存:7.0G CPU:2 硬盘最小10G
- nova 主机
- IP:192.168.1.11 内存:3.5G CPU:2 硬盘最小10G
- IP:192.168.1.12 内存:3.5G CPU:2 硬盘最小10G
- 功能服务器
- IP:192.168.1.250 内存:1.0G CPU:2 硬盘最小20G
1.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:给openstack和nova主机配置IP
openstack:192.168.1.10
nova01: 192.168.1.11
nova02: 192.168.1.12
[root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# vim ifcfg-eth0 # Generated by dracut initrd DEVICE="eth0" ONBOOT="yes" NM_CONTROLLED="no" TYPE="Ethernet" BOOTPROTO="static" PERSISTENT_DHCLIENT="yes" IPADDR=192.168.1.10 NEMASK=255.255.255.0 GATEWAY=192.168.1.254 [root@localhost ~]#systemctl restart network
2 案例2:配置功能服务器
本案例要求配置功能服务器:
- IP:192.168.1.250 内存:1.0G CPU:2 硬盘最小20G
- 配置时间源服务器(chrony)
- 配置yum源服务器(REHL7OSP, RHEL7-Extras)
2.1 步骤
实现此案例需要按照如下步骤进行。
步骤一:配置时间源服务器
[root@localhost ~]# yum install -y chrony ... ... [root@localhost ~]# vim /etc/chrony.conf # 注释所有 server 开头的行,添加 server ntp.aliyun.com iburst bindacqaddress 0.0.0.0 allow 0/0 local stratum 10 [root@localhost ~]# systemctl enable --now chronyd
步骤二:配置yum源服务器
[root@localhost ~]# yum install -y vsftpd [root@localhost ~]# systemctl enable --now vsftpd [root@localhost ~]# mkdir -p /var/ftp/{extras,openstack} [root@localhost ~]# mount -t iso9660 -o ro,loop /iso/RHEL7-extras.iso /var/ftp/extras [root@localhost ~]# mount -t iso9660 -o ro,loop /iso/RHEL7OSP-10.iso /var/ftp/openstack
3 案例3:配置网络环境
本案例要求所有机器上完成以下操作:
- 禁用 selinux
- 修改网卡配置文件,使用 network 服务启动
- 卸载 NetworkManager
- 卸载 firewalld-*
3.1 步骤
实现此案例需要按照如下步骤进行。
步骤一:所以机器禁用 selinux,卸载防火墙firewalld-*和NetworkManager(以一台为例)
1)禁用防火墙,selinux
[root@localhost ~]# vim /etc/selinux/config ... ... SELINUX=disabled [root@localhost ~]# yum -y remove firewalld-* ... ... [root@localhost ~]# reboot ... ... [root@localhost ~]# sestatus SELinux status: disabled
2)禁用防火墙NetworkManager
[root@localhost ~]# systemctl stop NetworkManager [root@localhost ~]# yum remove -y NetworkManager [root@localhost ~]# systemctl enable --now network
步骤二:IP地址配置见案例1
4 案例4:系统环境配置
本案例要求系统环境配置:
- 时间同步服务 chrony
- 主机名解析 /etc/hosts
- 域名解析 /etc/resolv.conf
- 保证4个Yum源,10670个软件包
4.1 步骤
实现此案例需要按照如下步骤进行。
步骤一:时间同步服务 chrony
[root@localhost ~]# yum install -y chrony [root@localhost ~]# vim /etc/chrony.conf server 192.168.1.250 iburst [root@localhost ~]# chronyc enable --now chronyd [root@localhost ~]# chronyc sources -v 210 Number of sources = 1 ... ... ======================================================== ^* gateway 3 6 377 17 +14us[ +17us] +/- 16ms
步骤二:主机名解析
[root@localhost ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 192.168.1.10 openstack 192.168.1.11 nova01 192.168.1.12 nova02
步骤二:域名解析
[root@localhost ~]# vim /etc/resolv.conf ; generated by /usr/sbin/dhclient-script nameserver 192.168.1.254
步骤二:yum客户端配置
[root@localhost ~]# vim /etc/yum.repos.d/local.repo [BaseOS] name=CentOS-$releasever - BaseOS baseurl="file:///var/centos-1804" enabled=1 gpgcheck=0 [local_extras] name=CentOS-$releasever - extras baseurl="ftp://192.168.1.250/extras" enabled=1 gpgcheck=0 [openstack] name=CentOS-$releasever - Openstack baseurl="ftp://192.168.1.250/openstack/rhel-7-server-openstack-10-rpms" enabled=1 gpgcheck=0 [openstack-devel] name=CentOS-$releasever - Openstack-devel baseurl="ftp://192.168.1.250/openstack/rhel-7-server-openstack-10-devtools-rpms" enabled=1 gpgcheck=0 [root@localhost ~]# yum repolist
5 案例5:安装软件
本案例要求:
- 在nova01、nova02上安装
- qemu-kvm,libvirt-daemon,libvirt-daemon-driver-qemu
- libvirt-client,python-setuptools
- 在openstack上安装
- openstack-packstack,python-setuptools
5.1 步骤
实现此案例需要按照如下步骤进行。
步骤一:openstack主机安装
[root@localhost ~]# yum -y install openstack-packstack,python-setuptools
步骤二:nova01 和nova02 安装
[root@localhost ~]# yum install -y qemu-kvm libvirt-daemon \ libvirt-daemon-driver-qemu libvirt-client python-setuptools ... ... [root@localhost ~]# systemctl enable --now libvirtd
6 案例6:部署Openstack
6.1 问题
本案例要求通过packstack完成以下配置:
- 创建应答文件 answer.ini
- 修改应答文件的配置
- 安装openstack
6.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:安装packstack
[root@localhost ~]# packstack --gen-answer-file=answer.ini
[root@openstack ~]# vim answer.ini
42: CONFIG_SWIFT_INSTALL=n //存储对象组件
45: CONFIG_CEILOMETER_INSTALL=n //计费模块
49: CONFIG_AODH_INSTALL=n //计费模块
53: CONFIG_GNOCCHI_INSTALL=n //计费模块
75: CONFIG_NTP_SERVERS=192.168.1.254 //时间服务器
98: CONFIG_COMPUTE_HOSTS=192.168.1.11 //管理节点IP
102: CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11 //计算节点IP
333: CONFIG_KEYSTONE_ADMIN_PW=a //管理员密码
840: CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan //支持协议
910: CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex //网桥设备
921: CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0 //出口网卡
1179: CONFIG_PROVISION_DEMO=n //演示模块
[root@openstack ~]# packstack --answer-file=answer.ini
Welcome to the Packstack setup utility
The installation log file is available at: /var/tmp/packstack/20190423-170603-b43g_i/openstack-setup.log
Installing:
Clean Up [ DONE ]
Discovering ip protocol version [ DONE ]
root@192.168.1.11’s password:
root@192.168.1.10’s password:
Setting up ssh keys
**** Installation completed successfully ****** //出现这个为成功
7 案例7:使用Openstack
7.1 问题
本案例要求登录Openstack:
- 修改 apache 配置文件,通过web页面登录私有云
- 通过命令行登录
7.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:浏览器访问openstack
1)浏览器访问
[root@openstack ~]# firefox 192.168.1.10 //访问失败
2)需要改配置文件并重新加载
[root@openstack ~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf 35 WSGIProcessGroup apache 36 WSGIApplicationGroup %{GLOBAL} //添加这一行 [root@openstack conf.d]# apachectl graceful //重新载入配置文件
3)浏览器访问,出现页面,如图-6所示:
图-6
3)查看用户名和密码
[root@openstack conf.d]# cd [root@openstack ~]# ls answer.ini keystonerc_admin //keystonerc_admin生成的文件,里面有用户名和密码 [root@openstack ~]# cat keystonerc_admin unset OS_SERVICE_TOKEN export OS_USERNAME=admin //用户名 export OS_PASSWORD=a //密码 export OS_AUTH_URL=http://192.168.1.10:5000/v2.0 export PS1='[\u@\h \W(keystone_admin)]\$ '
export OS_TENANT_NAME=admin
export OS_REGION_NAME=RegionOne
4)在火狐浏览器中输入用户名和密码,登录后页面如图-7所示:
图-7
安装openstack可能会出现的错误以及排错方法
1)ntp时间不同步,如图-2所示:
图-2
解决办法:查看ntp时间服务器,是否出现号,若没有,查看配置文件,配置ntp服务器步骤在案例3,可以参考
[root@room9pc01 ~]# chronyc sources -v //出现号代表NTP时间可用
^* 120.25.115.20 2 6 17 62 -753us[-7003us] +/- 24ms
[root@openstack ~]# chronyc sources -v
^* 192.168.1.254 3 9 377 504 +50us[-20us] +/- 24ms
[root@nova ~]# chronyc sources -v
^* 192.168.1.254 3 9 377 159 -202us[-226us] +/- 24ms
2)网桥名称写错,如图-3所示:
图-3
解决办法:检查配置文件
[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所示:
图-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文件,在里面添加
<cpu mode=‘host-passthrough’>
</cpu>
7)若出现 Could not prefetch… ‘openstack’。 如图-8所示:
图-8
配置文件里面有中文符号
9)访问openstack出错
图-9
没有修改Apache配置文件
4)创建名为myproject的项目
[root@openstack ~]# source ~/keystonerc_admin //初始化环境变量
[root@openstack ~(keystone_admin)]# openstack project create myproject
±------------±---------------------------------+
| Field | Value |
±------------±---------------------------------+
| description | None |
| enabled | True |
| id |f73949e2701346328faf5c1272414cd0|
| name | myproject |
±------------±---------------------------------+
5)查看项目信息
[root@openstack ~(keystone_admin)]# openstack project list
±---------------------------------±----------+
| ID | Name |
±---------------------------------±----------+
| 3fd5bffd734543d39cf742492273a47f | services |
| 7f0b43274a9f4e149357fc8393ff2c68 | admin |
| f73949e2701346328faf5c1272414cd0 | myproject |
±---------------------------------±----------+
6)更新vcpu配额为30
[root@openstack ~(keystone_admin)]# nova quota-update --cores 30 myproject
7)删除myproject
[root@openstack ~(keystone_admin)]# openstack project delete myproject