首先真机安装KVM以及虚拟环境,并且创建虚拟网桥
yum install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu python-setuptools
vim /etc/libvirt/qemu/networks/vbr.xml
<network>
<name>vbr</name>
<bridge name="vbr"/>
<forward mode="nat"/>
<ip address="192.168.1.254" netmask="255.255.255.0">
<dhcp>
<range start="192.168.1.100" end="192.168.1.200"/>
</dhcp>
</ip>
</network>
进入virsh
添加虚拟网桥,启用网桥,设置开机自启
virsh
net-define /etc/libvirt/qemu/networks/vbr.xml
net-start vbr
net-autostart vbr
搭建前的虚拟化模板环境配置:
1、创建虚拟机,比如名叫 node1,安装完成后进入系统
配置自定义,也可后期完成模板后EDIT调整,比如单核CPU,4G内存,8G磁盘
2、禁用SELINUX
临时配置(重启失效)
setenforce 0
永久配置(修改后重启)
vim /etc/selinux/config
...
SELINUX=disabled
...
/wd
reboot
重启后查看selinux状态
getenforce
3、禁用FIREWALLD
systemctl stop firewalld
systemctl disable firewalld
显示删除子启动文件
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
查看状态
^disable^status
systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
4、有可用yum源的情况下安装KVM
yum -y install qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu
service libvirtd start
5、建议停止或卸载NetworkManager
6、配置网络,禁用空路由
修改添加
vim /etc/default/grub
NOZEROCONF="yes"
重启服务
systemctl restart network
查看路由状态
ip route
default via 192.168.1.254 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.108
7、添加配置串口
vim /etc/default/grub
...
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial --speed=115200"
GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 console=ttyS0,115200n8"
GRUB_DISABLE_RECOVERY="true"
GRUB_DISABLE_LINUX_UUID="true"
GRUB_ENABLE_LINUX_LABEL="true"
...
grub2-mkconfig -o /boot/grub2/grub.cfg
8、修改fstab
blkid 查看磁盘UUID
vim /etc/fstab
把根目录的UUID挂载方式改成路径方式
修改 UUID=xxxxxx 为 /dev/xvda1
9、安装分区扩展软件
yum install -y cloud-utils-growpart
扩展磁盘分区空间(让 /dev/vda1 变大)
/usr/bin/growpart /dev/vda 1
扩展文件系统识别空间(让 df -h 可使用空间变大)
/usr/sbin/xfs_growfs /
10、关闭虚拟机,清理信息 (真机)
设置语言为英文 LANG=en_US.UTF-8
virt-sysprep -d 虚拟机名称
11、dns 服务
yum install bind bind-chroot
编辑配置文件 named.conf
listen-on port 53 { 192.168.1.254; };
allow-query { any; };
forwarders { 202.106.196.115; };
dnssec-enable no;
dnssec-validation no;
12、时间服务器同步
yum install -y chrony
真机配置
vim /etc/chrony.conf
server ntp1.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0
虚拟机配置
vim /etc/chrony.conf
server 192.168.1.254 iburst
13、接下来是自定义环境配置,装什么软件,起什么服务之类的,完成后关机
14、以之前创建的虚拟机为模板,快速生成其他虚拟机,比如生成新的名为node1的主机,磁盘为32G
cd /var/lib/libvirt/images
qemu-img create -b node.img -f qcow2 node1.img 32G
15、修改新虚拟机的主机名
cd /etc/libvirt/qemu
cp /etc/libvirt/qemu/node.xml /etc/libvirt/qemu/node1.xml
sed 's/node/node1/' node.xml > /etc/libvirt/qemu/node1.xml
16、发现并添加新虚拟机
virsh define /etc/libvirt/qemu/node1.xml
17、修改新虚拟机相关硬件
注意一定要进入VIRSH修改,VIM修改会出错或无效,所有MAC与UUID信息要注意,如果不修改则设备,如果自行修改则容易出错,建议直接删除,让其自动生成
virsh edit node1
网络设备修改
<interface type='bridge'>
<source bridge='private1'/>
<model type='virtio'/>
</interface>
磁盘修改
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/disk.img'/>
<target dev='vdb' bus='virtio'/>
</disk>
内存与CPU修改
<memory unit='KiB'>2048000</memory>
<currentMemory unit='KiB'>2048000</currentMemory>
<vcpu placement='static'>2</vcpu>
18、安装packstack
yum install -y openstack-packstack
packstack --gen-answer-file answer.txt
修改应答文件
vim /root/answer.txt
CONFIG_DEFAULT_PASSWORD=Taren1
CONFIG_SWIFT_INSTALL=n
CONFIG_NTP_SERVERS=192.168.1.253
CONFIG_CINDER_VOLUMES_CREATE=n
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan
CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0
CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1
CONFIG_PROVISION_DEMO=n
如果前期环境准备无误,只要耐心等待安装结束即可
根据主机配置丌同,安装过程需要20分钟左右戒更久
如果出现错误,根据屏幕上给出的日志文件迚行排错
packstack –answer-file answer.txt
Horizon软件配置 BUG处理
– /etc/httpd/conf.d/15-horizon_vhost.conf
– WSGIApplicationGroup %{GLOBAL}
ServerAlias localhost
WSGIDaemonProcess apache group=apache processes=3
threads=10 user=apache
WSGIProcessGroup apache
WSGIApplicationGroup %{GLOBAL} <— 这里添加
重新载入配置文件 apache graceful