KVM script 脚本 automate 创建虚拟机vm
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KVM script 脚本 automate 创建虚拟机vm相关的知识,希望对你有一定的参考价值。
使用这个脚本可以预先设置安装ubuntu时候需要的参数, 可实现automate安装 。
https://github.com/christhai/Virtualization/blob/master/kvmScripts/makeUbuntuVM.sh
makeVM.sh
#! /bin/bash # Using newest versions from apt # Making desktop if [ ! "$1" ] then echo "Usage: $0 vmNumber" exit fi # apt-get update vmNR=$1 host=192.168.122.$vmNR user=mroot pw=lightblue dir=/home/s199425/kvmScripts logDir=$dir/log GB=$((20 + $vmNR)) # 20GB image ++ vm=control$vmNR # VM name vnc=$((5900 + $vmNR)) vncNested=$((6900 + $vmNR)) virsh destroy $vm virsh undefine $vm # Will be built from scratch cd ../images file=ubuntu14.04.amd64.${GB}G.img /bin/rm $file # qemu-img create -o compat=0.10 -f qcow2 $file ${GB}G qemu-img create -f qcow2 $file ${GB}G # Enters IP and name in /root/preseed/preseed.cfg cat ../preseed/preseed.cfg.orig | sed s/192.168.122.4/192.168.122.$vmNR/ > ../preseed/preseed.tmp.cfg cat ../preseed/preseed.tmp.cfg | sed s/control2/$vm/ > ../preseed/preseed.cfg date > $logDir/startVM$vmNR virt-install --name $vm --ram 1024 --vcpus=1 --os-type=linux --initrd-inject=../preseed/preseed.cfg --disk path=../images/$file,device=disk,bus=ide,format=qcow2 --bridge=virbr0 --location=http://no.archive.ubuntu.com/ubuntu/dists/trusty/main/installer-amd64 --vnc --vncport=$vnc --vnclisten=0.0.0.0 --extra-args "file=file:../preseed/preseed.cfg"
preseed.cfg 脚本参数设置如下:
[email protected]:~/Virtualization/preseed# grep -v ‘^#‘ /root/preseed/preseed.cfg | grep -v -e ‘^$‘ d-i debian-installer/locale string en_US d-i console-setup/ask_detect boolean false d-i keyboard-configuration/layout string Norwegian d-i keyboard-configuration/variant string Norwegian d-i netcfg/choose_interface select auto d-i netcfg/disable_autoconfig boolean true d-i netcfg/get_nameservers string 128.39.89.8 d-i netcfg/get_ipaddress string 192.168.122.24 d-i netcfg/get_netmask string 255.255.255.0 d-i netcfg/get_gateway string 192.168.122.1 d-i netcfg/confirm_static boolean true d-i netcfg/get_hostname string control24 d-i netcfg/get_domain string vlab.cs.hioa.no d-i netcfg/wireless_wep string d-i mirror/country string manual d-i mirror/http/hostname string archive.ubuntu.com d-i mirror/http/directory string /ubuntu d-i mirror/http/proxy string d-i clock-setup/utc boolean true d-i time/zone string Europe/Oslo d-i clock-setup/ntp boolean true d-i clock-setup/ntp-server string ntp.ubuntu.com d-i partman-auto/method string regular d-i partman-auto/choose_recipe select atomic d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true d-i partman-md/confirm boolean true d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true d-i passwd/user-fullname string Mr Root d-i passwd/username string mroot d-i passwd/user-password password lightblue d-i passwd/user-password-again password lightblue d-i user-setup/encrypt-home boolean false d-i tasksel/first multiselect OpenSSH server d-i pkgsel/update-policy select unattended-upgrades d-i grub-installer/only_debian boolean true d-i grub-installer/with_other_os boolean true d-i finish-install/reboot_in_progress note xserver-xorg xserver-xorg/autodetect_monitor boolean true xserver-xorg xserver-xorg/config/monitor/selection-method select medium xserver-xorg xserver-xorg/config/monitor/mode-list select 1024x768 @ 60 Hz d-i preseed/late_command string in-target chsh -s /bin/bash ; in-target echo GRUB_RECORDFAIL_TIMEOUT=2 >> /etc/default/grub ; in-target /usr/sbin/update-grub
How to use makeVM.sh
1965 ./makeVM.sh 16 1966 virsh list 1967 ssh [email protected]
[email protected]:~/Virtualization/preseed# virsh list Id Name State ---------------------------------------------------- 76 control24 running 79 control16 running
可以发现 安装之后,主机可以直接ssh到VM上,以实现更多操作。
本文出自 “SystemAdmin成长记” 博客,转载请与作者联系!
以上是关于KVM script 脚本 automate 创建虚拟机vm的主要内容,如果未能解决你的问题,请参考以下文章
new ActiveXObject("Scripting.FileSystemObject") 时抛出异常 .
[Notes] AWS Automation using script and AWS CLI