千家信息网

OpenStack一键部署安装

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,openstack环境准备基础条件:CentOS或Redhat裸机一台,内存16G以上,并自行安装基础工具包(net-tools及vim等)配置物理机YUM源(请使用官方提供的最完整的仓库)TIPS:
千家信息网最后更新 2024年11月19日OpenStack一键部署安装

openstack

环境准备
基础条件:CentOS或Redhat裸机一台,内存16G以上,并自行安装基础工具包(net-tools及vim等)
配置物理机YUM源(请使用官方提供的最完整的仓库)

TIPS: 前面的步骤均为环境准备,具体安装步骤请看该博客最后部分

搭建KVM平台

yum -y install qemu-kvm \  > libvirt-client \  > livbirt-daemon \  > libvirt-daemon-driver-qemusystemctl restart libvirtd

物理机:添加一个虚拟网卡

vim /etc/libvirt/qemu/network/vbr.xml             vbr                                 virsh net-define vbr.xml         ##创建虚拟网络virsh net-start vbr                  ##启动虚拟网络virsh net-autostart vbr           ##设置vbr虚拟网络开机自启动virsh net-list                           ##查看虚拟网络

物理机:搭建FTP服务(保证与虚拟机的文件传输)

yum -y install vsftpdvim /etc/vsftpd/vsftpd.conf    listen=YES    listen_ipv6=NOsystemctl start vsftpdsystemctl enable vsftpd

物理机:搭建DNS和NTP服务

yum -y install bind-chrootvim /etc/named.conf   listen-on port 53 { 192.168.1.254; };   allow-query   { any; };   forwarders  { 202.106.196.115; };   dnssec-enable no;   dnssec-validation no;systemctl restart namedyum -y install chronyvim /etc/chrony.conf   server ntp1.aliyun.com iburst   bindacqaddress 0.0.0.0   allow 0/0systemctl restart chronydchronyc sources -v

虚拟机openstack,nova:

yum -y install chronyvim /etc/chrony.conf   server 192.168.1.254 iburstsystemctl restart chronydchronyc sources -v

创建后端模板虚拟机

qemu-img create -f qcow2 node.qcow2 8G         ##创建后端盘在virt-manager中使用该后端盘新建一台虚拟机,具体操作如下:选择网络安装-->URL: ftp://176.204.xx.xx/centos-->RAM: 2048MiB   CPU: 2-->选择或创建自定义存储 /var/lib/libvirt/images/node.qcow2-->选择网络 虚拟网络'vbr':NAT-->最小化分区Minimal Install-->关闭 KUDMP-->选择手动分区 I will configure partitioning-->New mount points will use the following partitioning scheme:    Standard Partition        选择 /设置root密码,并等待安装完成

进入后端模板虚拟机:

vim /etc/selinux/config    ##禁用selinuxcd /etc/yum.repos.d/rm -f *vi centos.repo    [local_source]    name=centos    baseurl=ftp://192.168.1.254/centos    enabled=1    gpgcheck=0yum repolistyum -y install vim net-tools

卸载防火墙和NetworkManager

yum -y remove firewalld-*yum -y remove python-firewallvim /etc/sysconfig/network-scripts/ifcfg-eth0   DEVICE=eth0   ONBOOT=yes   IPV6INIT=no   TYPE=Ethernet   BOOTPROTO=dhcpyum -y remove NetworkManager-*systemctl stop NetworkManagersystemctl restart network ip route show                                 ##将看到一条空路由,会有一定的影响vim /etc/sysconfig/network   NOZEROCONF=yes                  ##添加本行,禁用空路由systemctl restart networkip route show                                

导入gpg key

yum -y install lftpvim /etc/yum.repos.d/centos.repo       gpgcheck=1    ##仅修改本行lftp 192.168.1.254/centos>get RPM-GPG-KEY-CentOS7>byerpm --import RPM-GPG-KEY-CentOS7yum -y install psmisc                               ##验证导入KEY后能否安装软件

打开串口终端,方便使用virsh console连接

vim /etc/sysconfig/grub   GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=ttyS0,115200n8"   GRUB_DISABLE_LINUX_UUID="true"   GRUB_ENABLE_LINUX_LABEL="true"grub2-mkconfig -o /boot/grub2/grub.cfg     ##重新生成grub.cfgvim /etc/fstab   ##将UUID修改为/dev/vda1

安装分区扩展软件(有扩容需求时执行)

yum -y install cloud-utils-growpartshutdown物理机:virt-sysprep -d node            ##执行信息清理工作

快速创建虚拟机

virsh undefine node                 ##取消定义,保证后端模板只读cd /var/lib/libvirt/images/qemu-img create -f qcow2 -b node.qcow2 node1.img 30Gsed 's,node,node1,' /root/node.xml > /etc/libvirtd/qemu/node1.xmlvirsh define /etc/libvirtd/qemu/node1.xmlvirsh start node1

添加一块新的网卡和设备

virsh console node1ip link showCtrl + ]                                                   ##退出虚拟机,进入物理机virsh edit node1                      ##在第一个后添加4行                               poweroff -p virsh start --console node1ip link showifconfig -acd /etc/sysconfig/network-scripts/cp ifcfg-eth0 ifcfg-eth2vim ifcfg-eth2   DEVICE=eth2   ONBOOT=yes   IPV6INIT=yes   TYPE=Ethernet   BOOTPROTO=static   IPADDR=192.168.4.100   PREFIX=24systemctl restart network

物理机:为虚拟机node1添加一块硬盘

qemu-img create -f qcow2 disk.img 20Gvirsh edit node1                                          halt -pvirsh start node1lsblk

离线修改前,后端磁盘的方式(非需要操作,需谨慎)

##注意:修改后端盘后,所有前端盘都会失效guestmount -a /var/lib/libvirt/images/node.qcow2 -i /mnt/     ##-a 指定镜像的位置  -i 指定一个空的目录chroot /mnt/cd /mnt/umount /mnt

切记:每台机器只能有一个网关!
在/etc/sysconfig/network-scripts/ifcfg-eth0将网关配置为192.168.1.254
使private1能够上网
物理机:

virsh net-edit private1     

虚拟机openstack:
创建openstack存储卷

yum -y install lvm2vgcreate cinder-volumes /dev/vdb

修改centos1708YUM源的gpgcheck=1,并导入公钥,

rpm --import RPM-GPG-KEY-CentOS-7yum -y install qemu-kvm \  > libvirt-client \  > livbirt-daemon \  > libvirt-daemon-driver-qemu \  > python-setuptools

最后的环境检测

sestatus                                        ##查看SELinux状态并禁用rpm -qa |grep firewall                    ##查看是否已卸载防火墙rpm -qa |grep NetworkManager    ##查看是否已卸载NetworkManagerping 192.168.4.xx                         ##查看ip是否正确yum repolist                                  ##查看YUM源vgs                                                ##查看是否存在cinder-volumes卷组gpgcheck=1                                  ##查看是否已修改第一个系统源的gpgcheck=1virsh                                              ##查看KVM平台是否搭建成功##注意:需修改所有ip为静态IP,取消DHCP服务##两台虚拟机均需符合以上配置:第一台修改主机名为openstack,内存8G;第二台修改主机名为nova,内存6G

开始安装openstack

虚拟机openstack:

yum -y install openstack-packstackpackstack --gen-answer-file answer.ini                                                  ##ini文件自带颜色,便于发现错误vim answer.ini                                                                                        ##修改应答文件   CONFIG_DEFAULT_PASSWORD=Taren1                                        ##第11行   CONFIG_CINDER_INSTALL=n                                                          ##第25行 使用本机硬盘存储,不适用共享存储   CONFIG_SWIFT_INSTALL=n                                                             ##第42行   CONFIG_NTP_SERVERS=192.168.1.254                                         ##第75行   CONFIG_CINDER_VOLUMES_CREATE=n                                       ##第554行   CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan                    ##第840行   CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5                    ##第876行   CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex   ##第910行   CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0                 ##第921行   CONFIG_NEUTRON_OVS_TUNNEL_IF=eth2                                   ##第936行   CONFIG_PROVISION_DEMO=n                                                        ##第1179行packstack --answer-file answer.ini

openstack安装完成后

vim /etc/httpd/conf.d/15-horizon_vhost.conf    WSGIApplicationGroup %{GLOBAL}              ##添加本行apachectl graceful在虚拟机家目录下:cat ~/keystonerc_admin                                       ##查看密码物理机:firefox 192.168.1.100                                           ##通过浏览器访问dashboard,可以看到登录页面
0