kvm_vm_setup 是 KVM 虚拟机自动部署脚本,可以自动化的完成 kvm 虚拟机的部署,包括 ip 注入。 主要功能如下:1 全自动的完成虚拟机生成、主机名、ip地址配置; 2 支持Windows系统、RHEL6/RHEL7、CentOS6/CentOS7、RHEL6/RHEL7衍生系统、Ubuntu系统的部署,其它系统未做测试; 使用前提条件:1 Windows、Linux系统按照帮助文档要求制作镜像: Windows 镜像制作请参考Windows_img_make,Linux镜像制作请参考Linux_img_make; 2 宿主机上,镜像、虚拟机的存储路径为/datapool; 3 如果要使用lvm,vg的名字必须是datavg; 4 宿主机系统只支持RHEL6/RHEL7、CentOS6/CentOS7、RHEL6/RHEL7衍生系统,本脚本通过调用Libvirt配置虚拟机,通过guestfish编辑虚拟机镜像,需要安装虚拟化组件、Libvirt组件、guestfish组件: 首先需要运行firsh.sh脚本,会自动判断操作系统,并安装组件,升级操作系统。 安装完成后重启系统,并启动libvirt服务。 service libvirtd restart 使用方法:1 下载脚本源代码 git clone https://github.com/xiaoli110/kvm_vm_setup 2 编辑vm.csv文件,格式如下: #vmflag,template,name,disk1_size,disk2_size,mem_size,cpu_num,nic_type,nic1_bridge,nic2_bridge,vnc_port,outip,outmask,outgw,inip,inmask,ingw #vm template name must be ''win2003ent32chs' 'win2003ent64chs' 'win2008ent64chs' 'centos56x64' 'ubuntu1204X64' #keyword vmLvm means create lvm for vm,default vg is datavg #keyword vmCpOnly means not resize images , just cp imaiges,default vg is datavg #kerword url: means download vm images path,like #url:http://172.16.1.100/ ftp:ftp://ftpuser1:password@ftp.myimages.com:10021/ ftp:ftp://ftpuser2:password@ftp.myimages2.com:10021/ 此处如果指定url,会到url上去拉去虚拟机镜像,支持ftp方式,拉取方式为url加镜像名字,镜像名字为下面虚拟机配置文件中的镜像名字。 可以指定两个url,脚本会自动比较多个url的速度,需要在url里面放置一个200MB大小的名为“ratetest”的文件。 如果没有指定url,脚本会认为/datapool已经有指定的镜像,如果/datapool下面也没有镜像,就会报错退出。 vm,win2003ent32chs,win2003-138,20G,20G,2048,2,e1000,br1,br1,5921,10.10.10.21,255.255.255.0,10.10.10.1,192.168.122.138,255.255.255.0,none vmLvm,win2003ent32chs,virt1-lab-222,10G,10G,2048,2,e1000,br2,br2,59222,10.0.0.222,255.0.0.0,10.0.0.1,172.16.2.222,255.255.255.0,none vmCpOnly,centos6564.qcow2,centos65-8,30G,20G,2048,2,virtio,br1,br1,59008,10.10.10.8,255.255.255.0,10.10.10.1,172.16.2.8,255.255.255.0,none 虚拟机生成配置文件信息如下: 第一个关键字意义如下: vm 使用qcow2方式,并通过guestfish进行文件系统的扩展; vmLvm 使用lvm方式; vmCpOnly 使用qcow2方式,直接复制镜像。 第二个关键字为镜像名字,建议名字包含操作系统信息。 后面的配置关机字依次为虚拟机主机名,第一块磁盘大小,第二块磁盘大小,CPU、内存配置等信息。 注意: 1 如果使用vm关键字进行磁盘扩展,第一块磁盘必须大于镜像; 2 每个关键字必须有内容,第二块磁盘必须有,最小为1G; 3 ip地址合法性本脚本不作检查; 4 CentOS7的虚拟机只支持在CentOS7的宿主机上进行配置。 运行脚本使用命令 python virtauto.py 就可以自动生成虚拟机。 virtauto.py 帮助信息如下: kvm vm setup script -h, --help print this --vg,assige vg name,such as --vg=datavg,vg=vmVG default vg name is 'datavg' if not assige --config,assige config file name ,such as --config=vm.csv config file must in same directory and must be csv default config file name is 'vm.csv' if not assige --url,give path to download vm images,such as --url=ftp://user1:pass@172.16.1.100/ (责任编辑:IT) |