openstack-Centos -7.7.1908映象製作
阿新 • • 發佈:2020-07-14
簡介
通過 KVM 安裝虛 Centos 和 Windwos 2008 R2_x86_64 作業系統步驟並將磁碟檔案作為映象上傳到 openstack glance,作為批量建立虛擬機器的映象檔案,其中 windowsn 2008 安裝 virtio 半虛擬化驅動,以實現網路 IO 和磁碟 IO 的半虛擬化提升速度,Centos 7 預設即支援半虛擬化,不需要安裝驅動,Virtio 最初由澳大利亞的一個天才級程式設計師 Rusty Russell 編寫,是一個在 hypervisor 之上的抽象 API 介面,讓客戶機知道自己執行在虛擬化環境中,從而與 hypervisor 根據 virtio 標準協作,從而在客戶機中達到更好的效能(特別是 I/O 效能),目前,有不少虛擬機器都採用了 virtio 半虛擬化驅動來提高效能
Centos 7.7.1908-映象製作
https://docs.openstack.org/image-guide/centos-image.html #centos映象製作文件
映象製作前,需要找一臺乾淨的伺服器安裝KVM,此伺服器專門用於製作openstack所需的虛擬機器映象;KVM伺服器(虛擬機器)需要開啟CPU虛擬化功能 ##KVM伺服器所需要執行的操作 1、yum install -y qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install acpid #acpid是對電源進行管理的,讓宿主機可以重啟虛擬機器,即可以通過virsh命令對虛擬機器進行重啟 2、systemctl start libvirtd acpid 3、systemctl enable libvirtd acpid 4、cd /usr/local/src #上傳ISO映象 5、qemu-img create -f qcow2 /var/lib/libvirt/images/CentOS-7-x86_64.qcow2 10G #建立虛擬機器磁碟檔案並指定路徑,格式為qcow2,qcow2跟使用量動態增長,也可以是 raw 格式(一次性佔用宿主機磁碟) 6、建立橋接網路 (1)、vim /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE=Ethernet BOOTPROTO=static NAME=eth0 DEVICE=eth0 ONBOOT=yes BRIDGE=br0 (2)、vim /etc/sysconfig/network-scripts/ifcfg-eth1 TYPE=Ethernet BOOTPROTO=static NAME=eth1 DEVICE=eth1 ONBOOT=yes BRIDGE=br1 (3)、vim /etc/sysconfig/network-scripts/ifcfg-br0 TYPE=Bridge BOOTPROTO=none NAME=br0 DEVICE=br0 ONBOOT=yes IPADDR=172.31.7.10 GATEWAY=172.31.7.254 PREFIX=21 (4)、vim /etc/sysconfig/network-scripts/ifcfg-br1 TYPE=Bridge BOOTPROTO=none NAME=br1 DEVICE=br1 ONBOOT=yes IPADDR=10.10.7.10 PREFIX=21 7、systemctl restart network 8、virt-install --virt-type kvm --name CentOS7-x86_64 --ram 1024 --cdrom=/usr/local/src/CentOS-7-x86_64-Minimal-1908.iso --disk path=/var/lib/libvirt/images/CentOS7-x86_64.qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole #建立虛擬機器(虛擬機器磁碟檔案在openstack中就是映象),指定虛擬機器型別為KVM、記憶體大小、ISO映象位置、磁碟檔案位置、網路橋接br0網路、圖形使用的是vnc,監聽在所有埠 9、virt-manager #xshell開啟xll轉發後,可以檢視到虛擬機器 10、選擇虛擬機器,安裝作業系統(16)
##ansible伺服器配置 1、ssh-keygen 2、ssh-copy-id 172.31.0.9 #將ansible伺服器的公鑰拷貝到KVM所建立的虛擬機器中,用於後期批量部署服務,實現免密要;此步驟需要在下面步驟之間執行,在下面安裝完基礎命令之後,獲取到虛擬機器DHCP地址之後,把ansible的公鑰拷貝到虛擬機器即可 ##所建立的虛擬機器中執行的操作 1、vi /etc/sysconfig/network-scripts/ifcfg-eth0 #修改網路配置 TYPE=Ethernet BOOTPROTO=dhcp #KVM建立的虛擬機器不要指定靜態IP地址,openstack會自動分配,即使KVM指定了靜態地址,但是通過openstack建立完虛擬機器後,指定的地址也無法通訊 NAME=eth0 DEVICE=eth0 ONBOOT=yes 2、systemctl restart network 3、vi /etc/default/grub GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root net.ifnames=0 biosdevname=0 rhgb quiet" #修改網絡卡名稱的核心引數 4、grub2-mkconfig -o /boot/grub2/grub.cfg #重新生成GRUB配置並更新核心引數 5、reboot #重啟後核心引數生效 6、ifconfig #檢視IP地址後,通過xshell連線過去 7、yum install vim iotop bc gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel zip unzip zlib-devel net-tools lrzsz tree ntpdate telnet lsof tcpdump wget libevent libevent-devel bc systemd-devel bash-completion traceroute -y #安裝系統常用命令 8、systemctl disable firewalld 9、systemctl disable NetworkManager 10、vim /etc/sysconfig/selinux SELINUX=disabled 11、vim /etc/hostname openstack.example.linux.local 12、poweroff #必須將虛擬機器關機,保證資料一致性 ##KVM伺服器所需要做的操作 1、cd /var/lib/libvirt/images/ 2、scp CentOS-7-x86_64.qcow2 172.31.7.102:/usr/local/src #將虛擬機器的磁碟檔案傳送到controller節點上 ##controller節點執行的操作 1、cd /usr/local/src/ 2、source /root/admin-openrc.sh 3、openstack image create "CentOS-1908-7.7-x86_64-template" --file /usr/local/src/CentOS-7-x86_64.qcow2 --disk-format qcow2 --container-format bare --public #建立映象,指定映象名稱、指定虛擬機器磁碟檔案路徑、磁碟格式qcow2、裸磁碟格式、映象可見性為公有;建立完的映象會上傳到glance 4、openstack image list #檢視映象是否建立成功 5、dashboard上使用提交的映象建立虛擬機器 6、ansible伺服器免密要連線虛擬機器,批量部署服務