centos7.3 kvm虚拟化全自动化部署(金测OK)
环境说明:VMware中的centos7做kvm虚拟化实验必须的设置,否则无法正常使用kvm虚拟化功能:#kvm虚拟化一键安装和启动的脚本(已测OK) #说明:此脚本实现kvm虚拟化平台的一键安装,并且创建一台新的虚拟机vmx0,给vmx0全自动安装系统。
本文是通过脚本在centos7系统中全自动化安装和配置kvm虚拟化平台,并通过脚本创建一台新虚拟机vmx0,并且自动安装centos7系统.本案脚本创建的虚拟机vmx0配置了vnc和console控制功能.本文附带了mininal和gnome桌面安装的ks自动安装应答文件.测试都能正常运行.欢迎大家来试用.
网络环境:
kvm+vsftpd服务器:192.168.10.7
vi kvma.sh 脚本代码如下
#!/bin/bash
setenforce 0
getenforce
sed-i '/^SELINUX=/c\SELINUX=disable' /etc/selinux/config
grep ^SELINUX /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
read-p 'selinux和firewalld已关闭,按回车键继续配置本地yum源...'
#准备本地yum源
mkdir-pv/dvd
mount /dev/cdrom /dvd
chmod+x/etc/rc.d/rc.local
grepdvd /etc/rc.d/rc.local || echo 'mount /dev/cdrom /dvd'> /etc/rc.d/rc.local
source /etc/rc.d/rc.local
cd/etc/yum.repos.d
mkdir-pvbak/
mv-v*.repobak/
cat> dvd.repo <<EOF
name=centos linux 7.3 local
baseurl=file:///dvd
enabled=1
gpgcheck=0
EOF
yumcleanall
yumrepolist
mkdir -pv /var/ftp/ks/
read-p '请务必先用vi /var/ftp/ks/7text.ks手动创建自动应答文件,7text.ks文件内容见下文,然后按回车键安装并配置vsftpd文件共享服务...'
#vsftpd文件共享环境准备
yuminstall-yvsftpdlftpftpelinkscurl
systemctlrestartvsftpd
systemctlenablevsftpd
mkdir-pv/var/ftp/dvd/
mount /dev/cdrom /var/ftp/dvd
curl ftp://127.0.0.1/
grepftp /etc/rc.d/rc.local || echo 'mount /dev/cdrom /var/ftp/dvd'> /etc/rc.d/rc.local
source /etc/rc.d/rc.local
read-p '按回车键安装并配置kvm虚拟化平台...'
#安装kvm虚拟化平台软件
egrep '(vmx|svm)' --color=always /proc/cpuinfo
yuminstall -yqemu-kvmqemu-imglibvirt
yuminstall -yvirt-installlibvirt-pythonvirt-managerpython-virtinstpython-virtualenv libvirt-clientvirt-viewer virt-top bridge-utils
systemctl restart libvirtd
systemctl enable libvirtd
systemctl status libvirtd
virshlist--all
#创建用console安装系统的kvm虚拟机。
mkdir-pv/vmdisk
read-p '请务必先用vi /var/ftp/ks/7text.ks手动创建自动应答文件,7text.ks文件内容见下文,然后按回车键创建一台新虚拟机...'
vm_name=vmx0
vm_port=5910
#vftp=ftp://192.168.10.7/dvd/
read-p '请输入kvm虚拟机名称:'vm_name
read-p '请输入kvm虚拟机vnc端口号,如5910:'vm_port
#read-p '请输入centos7系统安装包ftp服务器地址,如ftp://192.168.10.7/dvd/:'vftp
#创建vmx0虚拟机(mininal最小版,已测OK)
virt-install \
--name${vm_name} \
--ram 1200 \
--disk path=/vmdisk/${vm_name}.img,size=3,format=qcow2,sparse\
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--graphics vnc,listen=0.0.0.0,port=${vm_port},keymap='en-us'\
--console pty,target_type=serial \
--location=ftp://192.168.10.7/dvd/ \
--extra-args 'console=ttyS0,115200n8 serialks=ftp://192.168.10.7/ks/7text.ks' \
--noautoconsole--autostart
virshlist--all
#在创建虚拟机时指定ks自动安装的应答文件(本例未用ks功能)
#ks应答文件参考7text.ks这一节的内容。
#virt-install --extra-args="ks=ftp://192.168.10.7/ks/7text.ks"
echo<<EOF
然后依次选择创建分区、软件环境、设置root用户密码、时区这3个主要的系统安装参数,最后按b开始安装系统。
技巧:virsh console vmx0进入到console控制台后,如何退出console控制台?
方法:用 ctrl+]快捷键即可.
EOF
virshlist--all
read-p'按回车键继续管理${vm_name}虚拟机...'
virshconsole${vm_name}
#virtstartvm01--console #启动虚拟机并进入console控制台
#virt-console vm01 #进入vm01虚拟机控制台,按ctrl+]退出
#virt-viewer vm01&
#virt-manager&
#脚本完毕###
#测试脚本的运行:
chmod kvma.sh
shkvma.sh
-------------------------------------------------------------------------
#创建vm01虚拟机(mininal最小版,已测OK)sparse
virt-install \
--namevm01 \
--ram 1200 \
--disk path=/vmdisk/vmx01.img,size=3,format=qcow2,sparse\
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--graphics vnc,listen=0.0.0.0,port=5951,keymap='en-us'\
--console pty,target_type=serial \
--location=ftp://192.168.10.7/dvd/ \
--extra-args 'console=ttyS0,115200n8 serialks=ftp://192.168.10.7/ks/7text.ks' \
--noautoconsole--autostart
创建vm02虚拟机(gnome桌面版)
virt-install \
--namevm02 \
--ram 1200 \
--disk path=/vmdisk/vm02.img,size=8,format=qcow2,sparse\
--vcpus 1,maxcpus=10 \
--os-type linux \
--os-variant rhel6 \
--graphics vnc,listen=0.0.0.0,port=5952,keymap='en-us' \
--console pty,target_type=serial \
--location=ftp://192.168.10.7/dvd/ \
--extra-args 'console=ttyS0,115200n8 serialks=ftp://192.168.10.7/ks/7gnome.ks' \
--noautoconsole--autostart
创建vm03虚拟机(gnome桌面版)
virt-install \
--namevm03 \
--ram 1200 \
--disk path=/vmdisk/vm03.img,size=8,format=qcow2,sparse\
--vcpus 1,maxcpus=10 \
--os-type linux \
--os-variant rhel6 \
--graphics vnc,listen=0.0.0.0,port=5953,password=123,keymap='en-us' \
--console pty,target_type=serial \
--location=http://mirrors.163.com/centos/7.3.1611/os/x86_64/ \
--extra-args 'console=ttyS0,115200n8 serialks=ftp://192.168.10.7/ks/7gnome.ks' \
--noautoconsole--autostart
----------------------------------------
临时测试
virt-install \
--namevm08 \
--ram 1200 \
--disk path=/vmdisk/vm08.img,size=3,format=qcow2,sparse\
--vcpus 1 \
--os-type linux \
--os-variant rhel6 \
--graphics vnc,listen=0.0.0.0,port=5958,keymap='en-us'\
--console pty,target_type=serial \
--location=ftp://192.168.10.7/dvd/ \
--extra-args 'console=ttyS0,115200n8 serialks=ftp://192.168.10.7/ks/7text.ks' \
--noautoconsole--autostart
页:
[1]