您好,登錄后才能下訂單哦!
環境準備
基礎條件:CentOS或Redhat裸機一臺,內存16G以上,并自行安裝基礎工具包(net-tools及vim等)
配置物理機YUM源(請使用官方提供的最完整的倉庫)
TIPS: 前面的步驟均為環境準備,具體安裝步驟請看該博客最后部分
搭建KVM平臺
yum -y install qemu-kvm \
> libvirt-client \
> livbirt-daemon \
> libvirt-daemon-driver-qemu
systemctl restart libvirtd
物理機:添加一個虛擬網卡
vim /etc/libvirt/qemu/network/vbr.xml
<network>
<name>vbr</name>
<bridge name="vbr"/>
<forward mode="nat"/>
<ip address="192.168.1.254" netmask="255.255.255.0"/>
</network>
virsh net-define vbr.xml ##創建虛擬網絡
virsh net-start vbr ##啟動虛擬網絡
virsh net-autostart vbr ##設置vbr虛擬網絡開機自啟動
virsh net-list ##查看虛擬網絡
物理機:搭建FTP服務(保證與虛擬機的文件傳輸)
yum -y install vsftpd
vim /etc/vsftpd/vsftpd.conf
listen=YES
listen_ipv6=NO
systemctl start vsftpd
systemctl enable vsftpd
物理機:搭建DNS和NTP服務
yum -y install bind-chroot
vim /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 named
yum -y install chrony
vim /etc/chrony.conf
server ntp1.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0
systemctl restart chronyd
chronyc sources -v
虛擬機openstack,nova:
yum -y install chrony
vim /etc/chrony.conf
server 192.168.1.254 iburst
systemctl restart chronyd
chronyc 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 ##禁用selinux
cd /etc/yum.repos.d/
rm -f *
vi centos.repo
[local_source]
name=centos
baseurl=ftp://192.168.1.254/centos
enabled=1
gpgcheck=0
yum repolist
yum -y install vim net-tools
卸載防火墻和NetworkManager
yum -y remove firewalld-*
yum -y remove python-firewall
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
IPV6INIT=no
TYPE=Ethernet
BOOTPROTO=dhcp
yum -y remove NetworkManager-*
systemctl stop NetworkManager
systemctl restart network
ip route show ##將看到一條空路由,會有一定的影響
vim /etc/sysconfig/network
NOZEROCONF=yes ##添加本行,禁用空路由
systemctl restart network
ip route show
導入gpg key
yum -y install lftp
vim /etc/yum.repos.d/centos.repo
gpgcheck=1 ##僅修改本行
lftp 192.168.1.254/centos
>get RPM-GPG-KEY-CentOS7
>bye
rpm --import RPM-GPG-KEY-CentOS7
yum -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.cfg
vim /etc/fstab
##將UUID修改為/dev/vda1
安裝分區擴展軟件(有擴容需求時執行)
yum -y install cloud-utils-growpart
shutdown
物理機:virt-sysprep -d node ##執行信息清理工作
快速創建虛擬機
virsh undefine node ##取消定義,保證后端模板只讀
cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -b node.qcow2 node1.img 30G
sed 's,node,node1,' /root/node.xml > /etc/libvirtd/qemu/node1.xml
virsh define /etc/libvirtd/qemu/node1.xml
virsh start node1
添加一塊新的網卡和設備
virsh console node1
ip link show
Ctrl + ] ##退出虛擬機,進入物理機
virsh edit node1
<interface type='bridge'> ##在第一個</interface>后添加4行
<source bridge='private1'/>
<model type='virtio'>
</interface>
poweroff -p
virsh start --console node1
ip link show
ifconfig -a
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth2
vim ifcfg-eth2
DEVICE=eth2
ONBOOT=yes
IPV6INIT=yes
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.4.100
PREFIX=24
systemctl restart network
物理機:為虛擬機node1添加一塊硬盤
qemu-img create -f qcow2 disk.img 20G
virsh edit node1
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/disk.img'/>
<target dev='vdb' bus='virtio'>
</disk>
halt -p
virsh start node1
lsblk
離線修改前,后端磁盤的方式(非需要操作,需謹慎)
##注意:修改后端盤后,所有前端盤都會失效
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
<forward mode='nat'/>
虛擬機openstack:
創建openstack存儲卷
yum -y install lvm2
vgcreate cinder-volumes /dev/vdb
修改centos1708YUM源的gpgcheck=1,并導入公鑰,
rpm --import RPM-GPG-KEY-CentOS-7
yum -y install qemu-kvm \
> libvirt-client \
> livbirt-daemon \
> libvirt-daemon-driver-qemu \
> python-setuptools
最后的環境檢測
sestatus ##查看SELinux狀態并禁用
rpm -qa |grep firewall ##查看是否已卸載防火墻
rpm -qa |grep NetworkManager ##查看是否已卸載NetworkManager
ping 192.168.4.xx ##查看ip是否正確
yum repolist ##查看YUM源
vgs ##查看是否存在cinder-volumes卷組
gpgcheck=1 ##查看是否已修改第一個系統源的gpgcheck=1
virsh ##查看KVM平臺是否搭建成功
##注意:需修改所有ip為靜態IP,取消DHCP服務
##兩臺虛擬機均需符合以上配置:第一臺修改主機名為openstack,內存8G;第二臺修改主機名為nova,內存6G
虛擬機openstack:
yum -y install openstack-packstack
packstack --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,可以看到登錄頁面
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。