部署opnestack-train云平台(packstack一键部署)

作者: oldboy 分类: Openstack 发布时间: 2023-02-08 12:39

服务器准备

4台机器安装C7.9,网卡名也要保持一致

103.73.119.106:22    controller  eno1
103.73.119.116:22    nova01      eno1
103.73.119.117:22    nova02      eno1
103.73.119.120:22    nova03      eno1

系统环境(所有节点都要设置)

1、修改主机名

hostnamectl set-hostname controller
echo xxx | passwd --stdin root

2、做好hosts文件解析

cat >>/etc/hosts<<EOF
103.73.119.106 controller
103.73.119.116 nova01
103.73.119.117 nova02
103.73.119.120 nova03
EOF

获取集群主机名

awk '{print $2}' /etc/hosts|grep -v localhost

3、做好了密钥登录

在controller节点上生成密钥分发到所有的nova节点上

ssh-keygen
for i in `awk '{print $2}' /etc/hosts|grep -v localhost`;do ssh-copy-id $i;done

分发hosts文件

for i in `awk '{print $2}' /etc/hosts|grep -v localhost`;do scp /etc/hosts ${i}:/etc;done

4、系统优化

PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$" echo 'PS1="\[\e[1;32m\][\t \[\e[1;33m\]\u\[\e[35m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"' >>/etc/profile 
echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >>/etc/bashrc 
echo -e "ClientAliveInterval 30 \nClientAliveCountMax 86400" >>/etc/ssh/sshd_config
sed -i '/UseDNS/a UseDNS no' /etc/ssh/sshd_config
systemctl restart sshd
yum install -y wget ntpdate
mkdir /etc/yum.repos.d/bak
\mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak  
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#epel源有些软件版本比openstack需要的版本高,不兼容容易出错,先不安装
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -ri 's@(.*aliyuncs)@#\1@g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
#yum -y update
#reboot
#重启系统后再继续安装
#yum-utils是yum库的配置工具箱
yum install -y vim net-tools lrzsz bash-completion nfs-utils yum-utils
echo 'LANG="en_US.UTF-8"' >/etc/locale.conf
. /etc/locale.conf
#echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
#sysctl -p
systemctl stop firewalld.service
systemctl disable firewalld.servic
sed -ri 's#^(SELINUX=).*$#\1disabled#g' /etc/selinux/config
setenforce 0
systemctl stop NetworkManager
systemctl disable NetworkManager 

5、内核优化:

cat  >>/etc/sysctl.conf<< EOF
##default 1
net.ipv4.tcp_syncookies=1
##default 0
net.ipv4.tcp_tw_reuse=1
##default 0
net.ipv4.tcp_tw_recycle=1
##default 60
net.ipv4.tcp_fin_timeout=30
##default 256
net.ipv4.tcp_max_syn_backlog=4096
##default 32768 60999
net.ipv4.ip_local_port_range=1024 65535
##default 129=8
net.core.somaxconn=32768
EOF
sysctl -p

置文件句柄及其他限制参数

cat >>/etc/security/limits.conf<<EOF
*          hard           nofile          655360
*          soft            nofile          655360
*          hard           nproc          655360
*          soft            nproc          655360
*          soft            core            655360
*          hard           core            655360
EOF
sed -i 's/4096/unlimited/g' /etc/security/limits.d/20-nproc.conf
cat !$

说明:

#* 代表针对所有用户

#nproc 是代表最大进程数

#nofile 是代表最大文件打开数

6、设置DNS

要把/etc/resolv.conf里的search开关的行删除

7、NTP设置

ntpdate 61.160.213.184
clock -w
echo "0 */1 * * * /usr/sbin/ntpdate 61.160.213.184 &> /dev/null" >> /var/spool/cron/root

8、配置train版yum源

cat <<EOF>/etc/yum.repos.d/openstack-train.repo
[openstack-train]
name=openstack-train
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/cloud/x86_64/openstack-train/
gpgcheck=0
enabled=1
[kvm-qemu]
name=kvm-qemu
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/virt/x86_64/kvm-common/
gpgcheck=0
enabled=1
EOF
yum clean all
yum makecache
yum repolist

部署openstack

1、controller节点上需要安装的

yum install -y python-setuptools openstack-packstack

生成应答文件

cd ~
packstack --gen-answer-file=answer.ini

修改应答文件

sed -i '/CONFIG_SWIFT_INSTALL=y/c CONFIG_SWIFT_INSTALL=n' answer.ini
sed -i '/CONFIG_CEILOMETER_INSTALL=y/c CONFIG_CEILOMETER_INSTALL=n' answer.ini
sed -i '/CONFIG_AODH_INSTALL=y/c CONFIG_AODH_INSTALL=n' answer.ini
#没有此项
#sed -i '/CONFIG_GNOCCHI_INSTALL=y/c CONFIG_GNOCCHI_INSTALL=n' answer.ini
sed -i '/CONFIG_NTP_SERVERS=/c CONFIG_NTP_SERVERS=61.160.213.184' answer.ini
sed -i '/CONFIG_COMPUTE_HOSTS=/c CONFIG_COMPUTE_HOSTS=103.73.119.116,103.73.119.117,103.73.119.120' answer.ini
sed -i '/CONFIG_NETWORK_HOSTS=/c CONFIG_NETWORK_HOSTS=103.73.119.106,103.73.119.116,103.73.119.117,103.73.119.120' answer.ini
sed -i '/CONFIG_KEYSTONE_ADMIN_PW=/c CONFIG_KEYSTONE_ADMIN_PW=www.123.nyc' answer.ini
sed -i '/CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=/c CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex' answer.ini
sed -i '/CONFIG_NEUTRON_ML2_TYPE_DRIVERS=/c CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan,geneve' answer.ini
sed -i '/CONFIG_NEUTRON_OVS_BRIDGE_IFACES=/c CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eno1' answer.ini
sed -i '/CONFIG_PROVISION_DEMO=/c CONFIG_PROVISION_DEMO=n' answer.ini
cat -n answer.ini |egrep -w '41|46|50|79|97|101|326|858|795|869|1181'

根据应答文件安装openstack

packstack --answer-file=answer.ini

大概需要35分钟安装完成

2、nova节点上需要安装的

yum install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu python-setuptools
systemctl enable --now libvirtd
systemctl status libvirtd

浏览器访问IP地址

用户名默认admin,密码是在应答文件里设置的

1、查看计算节点(nova节点)及资源池容量

除去宿主机(计算节点)使用的资源,剩下的资源就可以分配给云主机使用了

2、主机聚合

通常将相同规格的硬件归为一组,对象是计算节点。例如具备CPU高主频的计算节点归为一个组;固态硬盘的计算节点归为一组等

因为我们3台计算节点都是240G的SSD硬盘,可以创建一个SSD-store组。这里不创建也不会有什么影响的,有其他规格的计算节点可以创建主机聚合分类存放,方便管理。默认没有主机聚合。

可用域也叫可用区,和名称保持一致即可

管理主机

3、实例类型

也叫云主机类型,就是资源模板,创建实例(云主机)要指定vCPU数量、内存大小、硬盘容器。默认5个实例类型。可以全部删除再创建自己需要的类型。

4、镜像

镜像其实就是虚拟磁盘文件,镜像模板(后端盘)。根据后端盘创建镜像(创建不同的系统类型(centos/windows/ubuntu等))

5、网络

需要创建外部网络和内部网络

外网

内网需要在项目中创建

6、浮动IP

给云主机绑定浮动IP即可实现内网云主机分配了专用公网IP地址

资源池对应的是上面创建的wan网络里地址池

7、配额

通过配额限制,防止资源过度使用

修改默认值

修改完成会,已有的项目配额也会随之变化

8、创建实例(云主机)

一般是进入项目进行管理

概况里有配额的资源

查看已创建的网络

先创建内部网络

创建成功

创建实例

对实例可以的操作

控制台

small.img镜像的用户名root 密码redhat

存在的问题

占用大量的内存

mysql读写慢

dashboard退出后提示认证失败,查看keystone日志,数据库报错,无法登录

tail /var/log/keystone/keystone.log -n 30

解决方法(未测试)

(15条消息) Openstack DashBoard 无法正常登录_普通网友的博客-CSDN博客

(15条消息) mysql server has gone away_mysql server has gone away的解决方法_FR绘画教程的博客-CSDN博客

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

标签云