7)openstack|7)openstack 扩充计算节点
使用一断时间之后,玩的正hgin,创建一个新主机报错了:
openstack创建云主机时界面报错:错误: 实例 "xxxx" 执行所请求操作失败,实例处于错误状态。: 请稍后再试 [错误: No valid host was found. There are not enough hosts available.].
出现这种情况,大家可以去调查一下nova下的调度信息日志(nova-scheduler.log),不外乎下面资源用完了的情况:vCPU,内存,存储空间,网络。
我们假定现在是cpu和内存资源不够用了,无法创建更多虚拟机了,我们需要扩充计算节点。下面我们新增一台计算节点。
我们同样准备了一台CentOS7.2的主机,把它升级到最新,它的管理IP为192.168.25.25。
1,执行安装脚本安装。创建下面脚本,保存在任意位置,赋予执行权限,然后执行。
[root@nova-node02 ~]# vi novainstall.sh
拷贝下面内容到该文件,注意如果你的环境不是严格按照我的做的话,必要的参数自行修改。
#!/bin/sh
# openstack pike nova节点安装
# 环境 centos 7.x.1708 x86_64
# modify by Qiao[[ `uname -r` = *el7* ]] && { echo '开启安装openstack pike nova';
} || { echo '请在CentOS7.x 环境运行';
exit;
}##########################################
#参数#获取第一块网卡名、ip地址
Net=`ip add|egrep global|awk '{ print $NF }'|head -n 1`
IP=`ip add|grep global|awk -F'[ /]+' '{ print $3 }'|head -n 1`
echo"网卡名称:$Net"
echo"IP地址:$IP"#参数
Netname=$Net#网卡名称
MyIP=$IP#IP地址
ControllerName="controller"# 控制节点主机名
ControllerIP="192.168.25.24" # 控制节点IP
VncProxy="110.110.110.110"#VNC代理controller的外网IP地址。如果没有外网地址,输入控制节点controoler的内网IP地址。
Imgdir=/data/glance #自定义glance镜像目录
VHD=/data/nova#自定义Nova实例路径
Kvm=qemu#QEMU或KVM ,KVM需要硬件支持##########################################
#1、设置echo'关闭selinux、防火墙'
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0[[ -f /usr/bin/wget ]] || { yum install wget -y;
} #若没wget则安装
[[ -f /usr/sbin/ntpdate ]] || { yum install ntpdate -y;
} #若没ntpdate则安装echo'时间同步'
/usr/sbin/ntpdate ntp6.aliyun.com
echo "*/3 * * * * /usr/sbin/ntpdate ntp6.aliyun.com&> /dev/null" > /tmp/crontab
crontab /tmp/crontabecho'设置hostname'
echo "$ControllerIP $ControllerName">>/etc/hosts
#使用阿里源
rm -f /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i '/aliyuncs.com/d' /etc/yum.repos.d/*.repo #删除阿里内网地址
echo'自定义openstack源'
wget -O /etc/yum.repos.d/Ali-pike.repo http://elven.vip/ks/openstack/Ali-pike.repo
yum clean all && yum makecache #生成缓存##########################################echo'安装nova'
yum install -y openstack-nova-computemkdir -p $VHD
chown -R nova:nova $VHDecho 'nova配置'
echo '#
[DEFAULT]
instances_path='$VHD'
enabled_apis = osapi_compute,metadata
transport_url = rabbit://openstack:openstack@controller
my_ip = '$MyIP'
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
osapi_compute_listen_port=8774[api_database]
connection = mysql+pymysql://nova:nova@controller/nova_api
[database]
connection = mysql+pymysql://nova:nova@controller/nova[api]
auth_strategy = keystone
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova[vnc]
enabled = true
vncserver_listen = $my_ip
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://'$VncProxy':6080/vnc_auto.html[glance]
api_servers = http://controller:9292
[oslo_concurrency]
lock_path = /var/lib/nova/tmp[placement]
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:35357/v3
username = placement
password = placement[scheduler]
discover_hosts_in_cells_interval = 300[libvirt]
virt_type = '$Kvm'#
[neutron]
url = http://controller:9696
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = neutron
service_metadata_proxy = true
metadata_proxy_shared_secret = metadata#'>/etc/nova/nova.conf
#nova服务 配置开机自动启动
systemctl enablelibvirtd.service openstack-nova-compute.service
#启动
systemctl startlibvirtd.service openstack-nova-compute.service
【7)openstack|7)openstack 扩充计算节点】这样一台计算节点就安装完了,下面我们来验证一下。
在控制节点上执行下面命令 。看到nova-compute 的节点多了,有新加的这一台主机名,且状态是正常enabled 和up的就OK了。
[root@controller ~]# source admin-openstack.sh
[root@controller ~]# openstack compute service list
+----+------------------+-------------+----------+---------+-------+----------------------------+
| ID | Binary| Host| Zone| Status| State | Updated At|
+----+------------------+-------------+----------+---------+-------+----------------------------+
|1 | nova-scheduler| controller| internal | enabled | up| 2018-01-29T09:48:46.000000 |
|2 | nova-consoleauth | controller| internal | enabled | up| 2018-01-29T09:48:48.000000 |
|3 | nova-conductor| controller| internal | enabled | up| 2018-01-29T09:48:51.000000 |
|8 | nova-compute| controller| nova| enabled | up| 2018-01-29T09:48:46.000000 |
|9 | nova-compute| nova-node01 | nova| enabled | up| 2018-01-29T09:48:51.000000 |
| 10 | nova-compute| nova-node02 | nova| enabled | up| 2018-01-29T09:48:46.000000 |
+----+------------------+-------------+----------+---------+-------+----------------------------+
推荐阅读
- 使用协程爬取网页,计算网页数据大小
- ACSL|ACSL 美国计算机科学联赛 2016-2017 R4 摩天大楼-Skyscraper 题解
- 首屏时间,你说你优化了,那你倒是计算出给给我看啊!
- ATAN2根据xy坐标计算角度
- 历史上的今天|【历史上的今天】2 月 16 日(世界上第一个 BBS 诞生;中国计算机教育开端;IBM 机器人赢得智能竞赛)
- 计算机网络基础TCP\HTTP\HTTPS
- 计算机网络|计算机网络——DHCP协议详解
- android|android today上下卡片,【精品文档】关于计算机专业大学生安卓系统有关的外文文献翻译成品(基于Android(安卓)的考勤管理系统(中英文双语对照)
- Python|Python 科学计算库 NumPy 学习笔记 - 5 - 遮盖与布尔逻辑
- 计算机与时间