设为首页 收藏本站
查看: 1677|回复: 0

[经验分享] KVM script 脚本 automate 创建虚拟机vm

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-3-22 08:20:54 | 显示全部楼层 |阅读模式
使用这个脚本可以预先设置安装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

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-194012-1-1.html 上篇帖子: Linux kvm安装 下篇帖子: kvm虚拟化部署及基本命令 虚拟机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表