利用fabric批量安装kvm虚拟机及其xp
公司一批PC机需要安装多个虚拟机跑任务,搞来搞去决定用centos7安装KVM来跑。于是先折腾了一下午,利用早先搭建好的cobbler给PC机安装OS。然后fabric批量部署。
环境:centos7 gnom桌面 关闭了SELINUX,FIREWALLD.
工具:fabric
虚拟机:nat模式 安装xp
技术有限,所以在cobbler装完OS后又手动给PC一个个固定了IP。
安装fabric过程不再赘述
vim fabfile.py #-*- encoding:utf-8 -*- from fabric.api import * env.user = "root" env.password = "root" env.hosts = ['192.168.0.62','192.168.0.63','192.168.0.64','192.168.0.65','192.168.0.66','192.168.0.67','192.168.0.68','192.168.0.69','192.168.0.70','192.168.0.71','192.168.0.72','192.168.0.73','192.168.0.74','192.168.0.75','192.168.0.76','192.168.0.77','192.168.0.78','192.168.0.79','192.168.0.202','192.168.0.203','192.168.0.204','192.168.0.205','192.168.0.206','192.168.0.207','192.168.0.208','192.168.0.209','192.168.0.211','192.168.0.212'] #更换yum源,添加epel源 def change_yum(): run('mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup') run('wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo') run('yum -y install epel-release') #yum安装kvm def install_kvm(): run('yum -y install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils')
#开机自启动
def enable_kvm():
run('systemctl start libvirtd')
run('systemctl enabled libvirtd')
run('systemctl enabled libvirt-guests.service')
保持文件退出。
使用fab -l查看当前可用方法。
使用fab change_yum等方法批量部署。
如此KVM便安装完成。
进入图形界面。傻瓜式安装xp虚拟机。将XP中所需环境部署好后,克隆及分发虚拟机。
#使用命令克隆虚拟机,预先关闭虚拟机。
virt-clone -o winxp1 -n winxp2 -f /home/xp_spool/winxp2.qcow2
#-o 指定要克隆的虚拟机,-n 指定克隆后生成的虚拟机名, -f 指定虚拟机磁盘镜像存放位置及名称。
当完成克隆后,会在/etc/libvirt/qemu目录下生成对应的xml配置文件,里面记载了虚拟机的各种配置。
此时,本机克隆完成了。
异地克隆虚拟机需要借助fab
vim fabfile.py
#将xml文件分发到各实体机中。
def put_xml():
put(local_path='/etc/libvirt/qemu/winxp[1-5].xml',remote_path='/etc/libvirt/qemu/')
#将本地克隆的虚拟机副本镜像分发到各实体机中。注意路径要与xml中的配置的一样。
def put_disk():
put(local_path='/home/xp_spool/winxp[1-5].qcow2',remote_path='/home/xp_spool/')
#应用xml配置启用虚拟机。
def define_xml():
for i in range(1,6):
run('virsh define /etc/libvirt/qemu/winxp%s.xml' % i)
#创建快照。
def creat_kuaizhao():
for i in range(1,6):
run('virsh snapshot-create winxp%i'% i)
奇怪现象:由于采用的nat模式,所以centos中的路由转发功能应该打开,但是安装kvm后大部分主机都自动开启了,只有少部分没有。
于是无脑
def set_ip_forward():
run('echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf')
#使路由生效
run('sysctl -p ')
于是所有xp虚拟机都可以上网了。
利用fabric批量安装kvm虚拟机及其xp的更多相关文章
- 11.安装KVM虚拟机
安装KVM虚拟机是一大难题,不按照虚拟机物理机128G内存和强劲的CPU无法充分利用.也不便于后面的jenkins自动部署.安装KVM虚拟机过程我是借鉴了网上下载的马哥linux KVM那块的内容 ...
- CentOS 7.5 安装KVM虚拟机(Windows)
一.KVM环境搭建1.检测系统是否支持cat /proc/cpuinfo | egrep 'vmx|svm' KVM是基于x86虚拟化扩展(Intel VT 或者 AMD-V)技术的虚拟机软件,所以查 ...
- 命令行安装kvm虚拟机、桥接网络、用virt-manager管理
宿主机CentOS Linux release 7.2.1511 (Core),内核3.10.0-327.el7.x86_64 1.配置宿主机网络桥接 想让虚拟机有自己的ip且外网可访问,需要在安装虚 ...
- Centos7使用pxe安装KVM虚拟机
Centos7使用pxe安装KVM虚拟机 一.安装服务所需的软件 [root@localhost ~]yum install nginx dhcp vsftpd syslinux -y [root@l ...
- (转)CentOS7安装KVM虚拟机详解
原文:https://github.com/jaywcjlove/handbook/blob/master/CentOS/CentOS7%E5%AE%89%E8%A3%85KVM%E8%99%9A%E ...
- centos7安装kvm虚拟机
一 centos7安装kvm虚拟机 1.验证CPU是否支持KVM 结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的. [root@centos ~]# egrep '(vmx| ...
- centos6.2安装kvm虚拟机
http://www.wenzizone.com/2012/03/06/centos_6-2_install_kvm.html KVM虚拟机简介 kernel-based Virtual Machin ...
- 如何在CentOS6.4系统上安装KVM虚拟机
CentOS6.4系统上安装KVM虚拟机 备注:以下操作说明是经过实验验证后总结出来的笔录,有需要的朋友可以进行参考,以下是基于VMware12.5.2虚拟机版本上安装的实验环境. 一.安装KVM ...
- vmware安装kvm虚拟机
1. 概述 本篇博客主要使用运行在win10专业版上的vmware workstation 15 pro虚拟化软件,安装centos7.7最小化系统,并在centos7上安装kvm虚拟机,实现快速创建 ...
随机推荐
- PHP学习过程中遇到的疑难杂症
变量当双引号中包含变量时,变量会与双引号中的内容连接在一起:当单引号中包含变量时,变量会被当做字符串输出. Heredoc结构形式首先使用定界符表示字符串(<<<),接着在“< ...
- Unity 烘焙的2种方式
游戏场景通常有许多光源,使用实时渲染会非常消耗性能,解决办法是烘焙,烘焙有2种方式. 1, 在3dmax等模型制作软件中对场景进行烘焙.将烘焙好的模型以及贴图导入到unity3d. 相对复杂但效果好 ...
- Kattis - String Matching(kmp)
String Matching Input The input consists of several test cases. Each test case consists of two lines ...
- 【转】Retina 屏幕下,网页图片的显示兼容
感谢 Apple,带来了 Retina 屏幕的革命,让我们可以在电子显示屏上享受到印刷级的分辨率.由于分辨率的提升,网页中的文字.Flash 和 SVG 内容显示得比原来更加精细,但网页中的图片却变得 ...
- BZOJ 4817 [SDOI2017]树点涂色 (LCT+线段树维护dfs序)
题目大意:略 涂色方式明显符合$LCT$里$access$操作的性质,相同颜色的节点在一条深度递增的链上 用$LCT$维护一个树上集合就好 因为它维护了树上集合,所以它别的啥都干不了了 发现树是静态的 ...
- java SSM多操作注解回滚
在业务操作时难免会遇到一个业务多操作,会用到事物回滚这里写了一个简单的多操作失败事物回滚案例 在这之前你需要在你的applicationContext-mybatis.xml中配置: <!-- ...
- python 网络编程 粘包问题
1.粘包现象 TCP粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾. 粘包出现原因 使用了优化方法(Nagle算法),将多次间隔较小.数据 ...
- 使用uglifyjs压缩JS
一般vue项目完成打包以后需要优化,特别是首次打开加载速度们,webpack打包以后js文件体积很大等方法,可以用这个方法来压缩js文件 安装node.js 安装当前应用 -- uglifyjs 如何 ...
- pcapy-0.10.8 安装
(1)下载 http://corelabs.coresecurity.com/index.php?module=Wiki&action=view&type=tool&name= ...
- HDU 4418 高斯消元法求概率DP
把两种状态化成2*n-2的一条线上的一种状态即可.很容易想到. 高斯列主元法,不知为什么WA.要上课了,不玩了...逃了一次课呢.. #include <iostream> #includ ...