公司一批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的更多相关文章

  1. 11.安装KVM虚拟机

    安装KVM虚拟机是一大难题,不按照虚拟机物理机128G内存和强劲的CPU无法充分利用.也不便于后面的jenkins自动部署.安装KVM虚拟机过程我是借鉴了网上下载的马哥linux   KVM那块的内容 ...

  2. CentOS 7.5 安装KVM虚拟机(Windows)

    一.KVM环境搭建1.检测系统是否支持cat /proc/cpuinfo | egrep 'vmx|svm' KVM是基于x86虚拟化扩展(Intel VT 或者 AMD-V)技术的虚拟机软件,所以查 ...

  3. 命令行安装kvm虚拟机、桥接网络、用virt-manager管理

    宿主机CentOS Linux release 7.2.1511 (Core),内核3.10.0-327.el7.x86_64 1.配置宿主机网络桥接 想让虚拟机有自己的ip且外网可访问,需要在安装虚 ...

  4. Centos7使用pxe安装KVM虚拟机

    Centos7使用pxe安装KVM虚拟机 一.安装服务所需的软件 [root@localhost ~]yum install nginx dhcp vsftpd syslinux -y [root@l ...

  5. (转)CentOS7安装KVM虚拟机详解

    原文:https://github.com/jaywcjlove/handbook/blob/master/CentOS/CentOS7%E5%AE%89%E8%A3%85KVM%E8%99%9A%E ...

  6. centos7安装kvm虚拟机

    一 centos7安装kvm虚拟机 1.验证CPU是否支持KVM 结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的. [root@centos ~]# egrep '(vmx| ...

  7. centos6.2安装kvm虚拟机

    http://www.wenzizone.com/2012/03/06/centos_6-2_install_kvm.html KVM虚拟机简介 kernel-based Virtual Machin ...

  8. 如何在CentOS6.4系统上安装KVM虚拟机

    CentOS6.4系统上安装KVM虚拟机   备注:以下操作说明是经过实验验证后总结出来的笔录,有需要的朋友可以进行参考,以下是基于VMware12.5.2虚拟机版本上安装的实验环境. 一.安装KVM ...

  9. vmware安装kvm虚拟机

    1. 概述 本篇博客主要使用运行在win10专业版上的vmware workstation 15 pro虚拟化软件,安装centos7.7最小化系统,并在centos7上安装kvm虚拟机,实现快速创建 ...

随机推荐

  1. PHP学习过程中遇到的疑难杂症

    变量当双引号中包含变量时,变量会与双引号中的内容连接在一起:当单引号中包含变量时,变量会被当做字符串输出. Heredoc结构形式首先使用定界符表示字符串(<<<),接着在“< ...

  2. Unity 烘焙的2种方式

    游戏场景通常有许多光源,使用实时渲染会非常消耗性能,解决办法是烘焙,烘焙有2种方式. 1, 在3dmax等模型制作软件中对场景进行烘焙.将烘焙好的模型以及贴图导入到unity3d. 相对复杂但效果好 ...

  3. Kattis - String Matching(kmp)

    String Matching Input The input consists of several test cases. Each test case consists of two lines ...

  4. 【转】Retina 屏幕下,网页图片的显示兼容

    感谢 Apple,带来了 Retina 屏幕的革命,让我们可以在电子显示屏上享受到印刷级的分辨率.由于分辨率的提升,网页中的文字.Flash 和 SVG 内容显示得比原来更加精细,但网页中的图片却变得 ...

  5. BZOJ 4817 [SDOI2017]树点涂色 (LCT+线段树维护dfs序)

    题目大意:略 涂色方式明显符合$LCT$里$access$操作的性质,相同颜色的节点在一条深度递增的链上 用$LCT$维护一个树上集合就好 因为它维护了树上集合,所以它别的啥都干不了了 发现树是静态的 ...

  6. java SSM多操作注解回滚

    在业务操作时难免会遇到一个业务多操作,会用到事物回滚这里写了一个简单的多操作失败事物回滚案例 在这之前你需要在你的applicationContext-mybatis.xml中配置: <!-- ...

  7. python 网络编程 粘包问题

    1.粘包现象 TCP粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾.   粘包出现原因 使用了优化方法(Nagle算法),将多次间隔较小.数据 ...

  8. 使用uglifyjs压缩JS

    一般vue项目完成打包以后需要优化,特别是首次打开加载速度们,webpack打包以后js文件体积很大等方法,可以用这个方法来压缩js文件 安装node.js 安装当前应用 -- uglifyjs 如何 ...

  9. pcapy-0.10.8 安装

    (1)下载 http://corelabs.coresecurity.com/index.php?module=Wiki&action=view&type=tool&name= ...

  10. HDU 4418 高斯消元法求概率DP

    把两种状态化成2*n-2的一条线上的一种状态即可.很容易想到. 高斯列主元法,不知为什么WA.要上课了,不玩了...逃了一次课呢.. #include <iostream> #includ ...