环境说明:

VMware中的centos7做kvm虚拟化实验必须的设置,否则无法正常使用kvm虚拟化功能:

#kvm虚拟化一键安装和启动的脚本(已测OK)

 #说明:此脚本实现kvm虚拟化平台的一键安装,并且创建一台新的虚拟机vmx0,给vmx0全自动安装系统。

    本文是通过脚本在centos7系统中全自动化安装和配置kvm虚拟化平台,并通过脚本创建一台新虚拟机vmx0,并且自动安装centos7系统.本案脚本创建的虚拟机vmx0配置了vnc和console控制功能.本文附带了mininal和gnome桌面安装的ks自动安装应答文件.测试都能正常运行.欢迎大家来试用.


-------------------------------------------------------------------------

#创建vm01虚拟机(mininal最小版,已测OK)sparse
virt-install \
   --name  vm01 \
   --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 serial  ks=ftp://192.168.10.7/ks/7text.ks' \
   --noautoconsole  --autostart

创建vm02虚拟机(gnome桌面版)
virt-install \
   --name  vm02 \
   --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 serial  ks=ftp://192.168.10.7/ks/7gnome.ks' \
   --noautoconsole  --autostart

创建vm03虚拟机(gnome桌面版)
virt-install \
   --name  vm03 \
   --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= \
   --extra-args 'console=ttyS0,115200n8 serial  ks=ftp://192.168.10.7/ks/7gnome.ks' \
   --noautoconsole  --autostart

----------------------------------------
临时测试
virt-install \
   --name  vm08 \
   --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 serial  ks=ftp://192.168.10.7/ks/7text.ks' \
   --noautoconsole  --autostart


----------------------------------------

##7text.ks自动安装的应答文件创建方法##
#cat   /root/anaconda-ks.cfg
#mkdir   -pv  /var/ftp/ks/
#vi   /var/ftp/ks/7gnome.ks

#7text.sk是安装mininal最小版的自动安装应答文件(已测OK,直接复制内容即可)
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use network installation
#nfs --server=192.168.10.7 --dir=/var/ftp/dvd
url --url="

#url --url="http://192.168.10.7/dvd/"
# Use text mode install
text
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=vda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts=''
# System language
lang en_US.UTF-8
reboot

# Network information
network  --bootproto=dhcp --device=eth0 --ipv6=auto --activate
network  --hostname=localhost.localdomain

# Root password
rootpw --iscrypted $6$S7A0lg2zIUxWkI36$j9tYy5n3NDc/j.DTyJU0lE7VHcBxyRkFLDDME85f5.xvWtEMFRwrkacBctHLcw8e7.bVbLbzZ2CCUR6NVbRGt.
# System services
services --enabled="chronyd"
# Do not configure the X Window System
skipx
# System timezone
timezone Asia/Shanghai --isUtc
# System bootloader configuration
#bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=vda
bootloader --append=" crashkernel=auto" --location=mbr
autopart --type=lvm
# Partition clearing information
#clearpart --all --initlabel --drives=vda
clearpart --all --initlabel

#安装后会执行的脚本
%post
useradd   tom
echo  redhat | passwd  --stdin  tom
echo  redhat | passwd  --stdin  root
systemctl  start   acpid
systemctl  enable   acpid
#wget  
ftp://${sip}/ftp.repo  /mnt/sysp_w_picpath/etc/yum.repos.d/
cd   /etc/yum.repos.d
mkdir   bak
mv  *.repo   bak/
cat  > /etc/yum.repos.d/ftp.repo <<EOF
[centos73]
name=centos linux 7.3 ftprepo
baseurl=ftp://192.168.122.1/dvd
enabled=1
gpgcheck=0

EOF
#设置开机欢迎信息
echo "Welcome to Red Hat Linux learning cla***oom!" >>  /etc/issue
echo -e "Please login as 'root' with password 'redhat'.\n" >>  /etc/issue
#useradd redhat &> /root/postinstall.log
#systemctl set-default  graphical.target
#systemctl set-default  multi-user.target
%end

%packages
@core
chrony
kexec-tools
acpid
net-tools
bridge-utils
openssh-server
openssh-clients
%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=50 --notstrict --nochanges --notempty
pwpolicy luks --minlen=6 --minquality=50 --notstrict --nochanges --notempty
%end


##应答文件内容完毕##

----------------------------------------