AnolisOS 8.2使用Packstack工具部署OpenStack-T
本文撰写于 2024 年 9 月 5 日,最后修改于 2024 年 12 月 9 日。
-
注意:OpenStack 涉及到对虚拟机的管理,如果在本地虚拟机环境安装测试OpenStack,需要开启嵌套虚拟化,否则只能在物理机上面进行相关验证。
-
版本信息
- anolis 8.2 ANCK 64位
- Openstack-Train(简称 Openstack-T)
支持的架构
- x86_64
安装
1. 配置openstack train, rabbitmq 仓库, 开启Plus仓库, 使用 anolis 8.4 仓库等
sed -i "s/^enabled=0/enabled=1/" /etc/yum.repos.d/AnolisOS-Plus.reposed -i "s/\$releasever/8.4/" /etc/yum.repos.d/AnolisOS*sed -i "s/8.2/8.4/" /etc/yum.repos.d/AnolisOS*yum install -y wget network-scripts vim net-tools nfs-utils python3-urllib3 lvm2 lvm2-libsyum remove -y buildah podman
cat <<- EOF > /etc/yum.repos.d/openstack.repo[openstack-train]name=openstack trainbaseurl=http://mirrors.aliyun.com/centos-vault/8.2.2004/cloud/\$basearch/openstack-train/gpgcheck=0enabled=1EOF
cat <<- EOF > /etc/yum.repos.d/rabbitmq.repo[rabbitmq]name=rabbitmq serverbaseurl=https://mirrors.aliyun.com/centos-vault/8.2.2004/messaging/\$basearch/rabbitmq-38/gpgcheck=0enabled=1EOF2. 关闭防火墙,selinux, 设置ulimit
注意:packstack 会自动抽取网卡配置的 IP,作为安装,组件部署,组件通信的IP地址,如果机器有多个网卡,需要留意packstack 具体配置了哪个网卡的 IP。
# 关闭防火墙等systemctl stop firewalldsystemctl disable firewalldsystemctl stop NetworkManagersystemctl disable NetworkManagersystemctl stop iptablessystemctl disable iptables
# 关闭selinux, 编辑 /etc/sysconfig/selinux 配置文件设置 SELINUX=disabledsetenforce 0sed -i "s#SELINUX=enforcing#SELINUX=disabled#" /etc/sysconfig/selinuxsed -i "s#SELINUX=permissive#SELINUX=disabled#" /etc/sysconfig/selinux
# 开启 auditdsudo mkdir /var/log/auditservice auditd start
# 设置ulimitecho "ulimit -n 655350" >> /etc/profile# 数据段长度:echo "ulimit -d unlimited" >> /etc/profile# 最大内存大小:echo "ulimit -m unlimited" >> /etc/profile#堆栈大小:echo "ulimit -s unlimited" >> /etc/profile# CPU 时间echo "ulimit -t unlimited" >> /etc/profile# 虚拟内存echo "ulimit -v unlimited" >> /etc/profilesource /etc/profile
# 解除 Linux 系统的最大进程数和最大文件打开数限制:echo "* soft noproc 110000" >> /etc/security/limits.confecho "* hard noproc 110000" >> /etc/security/limits.conf
echo "DefaultLimitNOFILE=infinity" >> /etc/systemd/system.confecho "DefaultLimitMEMLOCK=infinity" >> /etc/systemd/system.conf
systemctl daemon-reload3. 设置主机名,配置hosts文件
# 设置主机名hostnamectl set-hostname "openstack.example.com"bash
# 将主机名与 IP 的映射echo到hosts 文件中。IP=X.X.X.X #(本机IP)echo -e "$IP\topenstack.example.com" >> /etc/hosts# 注意hosts 文件里面对于 $IP 这个,只保留 openstack.example.com 映射。格式如下# $IP openstack.example.com4. 确保有 default 路由
ip r s | grep default || echo "please set default route"如果上述命令显示 please set default route ,需要设置default 路由。参考路由添加的命令如下:(注意:这个只是格式参考,每个机器gateway是不一样的)
ip route add default via 11.158.244.247 dev bond0 proto static metric 3005. 设置时间服务
echo "pool ntp.aliyun.com iburst" >> /etc/chrony.confservice chronyd restartchronyc sources6. 安装 openstack-packstack
# qemu-kvm-4.2.0 需要高版本的libgcryptyum install -y openstack-packstack libgcrypt-1.8.57. 安装OpenStack allinone
packstack --allinone!!注意:packstack 整个安装过程持续10-20分钟左右, 如果带宽有限,可能需要更多的时间。
看到如下说明安装成功
**** Installation completed successfully ******

测试
1. 客户端方式上传新的 images
这种方式你需要先通过命令 source /root/keystonerc_admin 加载配置,然后访问相关的接口获取信息,或者触发操作。
下载并导入镜像 cirros-0.5.2-x86_64-disk.img 或者 cirros-0.5.2-aarch64-disk.img
wget http://download.cirros-cloud.net/0.5.2/cirros-0.5.2-`arch`-disk.imgsource keystonerc_adminopenstack image create --disk-format qcow2 --container-format bare --public --file cirros-0.5.2-`arch`-disk.img cirros_regular切换到 demo 用户,后续用demo用户演示, 务必切换到demo用户来执行后续操作, 因为demo用户预制了一些配置,譬如网络配置,便于我们演示。测试创建一个volumn
source /root/keystonerc_democinder create 1 --image cirros --display-name volAFromCirrosTest2. ssh 登录 VM 验证
我们可以从终端登录 VM,如上面截图所示,我们 VM 的浮动IP 是 172.24.4.29,执行如下命令 ssh 登陆 VM , 用户:cirros , 默认密码:gocubsgo
ssh cirros@172.24.4.29
首先,如果部署的机器不是刚刚重装过aonlis8.2的,碰到安装/演示问题时,建议重装,特别是机器可能安装过mysql,httpd 等软件的话,最好重装或者彻底清理干净环境。
其次,可以查看几个服务的状态
cinder service-listnova service-list重启某个服务
systemctl restart openstack-nova*systemctl restart openstack-cinder*文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!











