使用这个脚本可以预先设置安装ubuntu时候需要的参数, 可实现automate安装 。
https://github.com/christhai/Vir ... pts/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 脚本参数设置如下:
root@s199425-OptiPlex-780:~/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 mroot@192.168.122.16
root@s199425-OptiPlex-780:~/Virtualization/preseed# virsh list
Id Name State
----------------------------------------------------
76 control24 running
79 control16 running
可以发现 安装之后,主机可以直接ssh到VM上,以实现更多操作。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com