利用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虚拟机都可以上网了。

  

时间: 2024-10-16 18:16:59

利用fabric批量安装kvm虚拟机及其xp的相关文章

生产环境之CentOS-6.5下KVM利用kickstart批量安装操作系统

KVM 是 kernel-based Virtual Machine 的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少.KVM目前已成为学术界的主流VMM之一. KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术).是基于硬件的完全虚拟化.而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化.但Xen本

KVM之实现批量创建KVM虚拟机

KVM之通过virsh制作image 实现批量创建KVM虚拟机 *******通过KVM虚拟机xml模板文件创建虚拟机(制作一个raw格式的image,并安装ubuntu操作系统)******************一.准备工作1.准备一个KVM虚拟机配置文件模板KVM虚拟机配置文件模板文件已上传至附件:kvm_vm_raw_template.xml复制一份虚拟机配置文件模板:kvm_vm_raw_template.xml2.确定image的存储路径3.创建raw格式的image文件4.准备ub

CentOS 7安装KVM虚拟机OpenSUSE42操作实录

准备工作:硬件配置情况:Intel NUC i3主机:CPU: Intel? Core? i3-6100U CPU @ 2.30GHz × 4 内存:4G硬盘:300G网卡:一个,单网口,DHCP连接家庭上网的Switch,Swtich WAN口连接外网: 一.下载CentOS从CentOS主站点(https://www.centos.org/download/) 页面,选择"Everything ISO",在打开的下载列表里面选择一个速度比较快的站点,例如:http://mirror

安装kvm虚拟机报错,解决办法

创建虚拟磁盘文件 [[email protected] ~]# qemu-img create -f qcow2 -o preallocation=metadata dev_beyond.img 8G Formatting 'dev_beyond.img', fmt=qcow2 size=8589934592 encryption=off cluster_size=65536 preallocation='metadata' 参数说明: -o preallocation=metadata 预分配

烂泥:ubuntu安装KVM虚拟机管理virt-manager

本文由秀依林枫提供友情赞助,首发于烂泥行天下. 打算学习KVM的图形界面管理器virt-manager,但是virt-manager只有linux系统的,没有windows下的.所以只能使用linux桌面系统,在此我选择的是ubuntu系统. 有关ubuntu系统的安装我就不做介绍,下面就介绍有关virt-manager的安装与配置. 其中安装virt-manager的机器不一定要支持虚拟化. 注意virt-manager既有图形界面,也有命令行. 启动ubuntu,并安装virt-manage

centos7图形化安装KVM虚拟机

准备:Centos7的虚拟机,虚拟机镜像文件 1.KVM的安装 [[email protected] ~]# yum -y install qemu-kvm libvirt libguestfs-tools virt-manager libvirt-python qemu-kvm #kvm的主程序,KVM虚拟化模块 virt-manager #KVM 图形化管理工具 libvirt #虚拟化服务 libguestfs-tools #虚拟机的系统管理工具 libvirt-python #pytho

Ubunut12下安装KVM并配置XP系统

转载自:http://blog.csdn.net/tzjavadmg/article/details/8011936 之前一直都在使用VMware,VMware作为一款商业化虚拟机产品,其功能确实非常强大.本人装双系统Win7+Ubuntu12.04,VMware创建的虚拟机可以很好的在双系统之间共享,用起来非常方便. 不过必竟VMware是要钱的,要钱的东西自己玩玩吗还行,真正用到商业环境还是需要考虑成本的,如果有免费且成熟的东西,自然他会成为企业应用的首选. Linux下比较成熟的开源虚拟化

在Linux系统 CentOS 6 下安装KVM虚拟机

一.KVM简介 KVM是开源软件,全称是kernel-based virtual machine(基于内核的虚拟机),是一个开源的系统虚拟化模块,基于硬件的完全虚拟化,不过需要硬件支持(如Intel VT技术或者AMD V技术).自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少.KVM目前已成为学术界的主流VMM之一. 二.KVM安装 1. 准备工作 关闭iptables防火墙 BIOS开启CPU支持虚拟化

centos(6)7 安装kvm虚拟机以及快照恢复克隆应用

废话不多说直接开干: kvm centos7(centos6大同小异) 宿主机安装centos7系统,配置好网络 关掉防火墙,关掉selinux 重启 查看cpu是否支持虚拟化: grep -E --color '(vmx|svm)' /proc/cpuinfo 启用 KVM 模块 #modprobe kvm 功能区分 intel/amd 的启用: #modprobe kvm-intel # lsmod |grep kvm kvm_intel              55496  0 kvm