qemu-img转换磁盘格式

8次阅读
没有评论

qemu-img convert -f <原格式> -O <目标格式> <原文件路径> <目标文件路径> 这里 -f <原格式>可以忽略。qemu-img会自动识别

vmdk转qcow2

qemu-img convert -O qcow2 Centos_7.6-disk1.vmdk Centos_7.6-disk1.qcow2

qcow2转vmdk 

qemu-img convert -O vmdk Centos_7.6-disk1.qcow2 Centos_7.6-disk1.vmdk

vdi转qcow2

qemu-img convert -O qcow2 Centos_7.6-disk1.vdi Centos_7.6-disk1.qcow2

vhd&vhdx转qcow2

qemu-img convert -O qcow2 Centos_7.6-disk1.vhdx Centos_7.6-disk1.qcow2

RAW转qcow2

qemu-img convert -O qcow2 Centos_7.6-disk1.raw Centos_7.6-disk1.qcow2

img转qcow2

qemu-img convert -O qcow2 Centos_7.6-disk1.img Centos_7.6-disk1.qcow2

qm虚拟导入参考

 ESXi OVA 导入ProxmoxVE 虚拟机

首先从esxi主机的管理客户端vSphere Client中把要迁移的虚拟机关机选中需要迁移的机器,在菜单“文件”–“导出”–“导出OVF模板”,然后格式选择“单个文件(OVA)”,等待导出完成

Centos7.6.ova 

上传Centos7.6.ova虚拟机存储(local-lvm的备份默认路径为:/var/lib/vz/template/iso)

解压 Centos7.6.ova

一个ovf文件,文件包虚拟机的硬件配置,例如cpu规格、内存等

一个或多个vmdk,虚拟机的硬盘镜像,数量取决于虚拟机有多少个硬盘。

tar -xvf Centos7.6.ova

qm基本硬件环境

主板类型

简化

–machine q35|i440fx

完整

–machine (pc|pc(-i440fx)?-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|q35|pc-q35-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|virt(?:-\d+(\.\d+)+)?(\+pve\d+)?)

  CPU

–sockets <N>    //几个物理插槽

–vcpus <N>      //几个核心

–cpu <string>   //CPU类型 host | kvm64 | qemu64 等等

–cpulimit <0-128> //CPU限制

–cpuunits <2-262144> //CPU权重

其他信息

–bios seabios|ovmf  //选择是哪种bios类型

–boot cdn //启动顺序。cdrom  disk network 

–ostype  //l24 | l26 | other | solaris | w2k | w2k3 | w2k8 | win10 | win7 | win8 | wvista | wxp 

(注意前两个 一个是linux 2.4内核 一个是linux2.6内核以上,所以是字母小写L,不是1)

–agent 1  //开启qemu-guest-agent

–name vmname  //虚拟机名称

–scsihw virtio-scsi-pci | virtio-scsi-single | megasas | pvscsi | lsi53c810 |lsi //磁盘控制器类型

–serial<N> (/dev/.+|socket) //增加串口,N=0-3。一般指定串口0,类型为socket。此项对于需要串口情况非常有用,例如cloudinit。

硬盘参数

–scsi<N> [pool]:[size]       //其中N为scsi序号,从0开始。pool为储存池名称,例如local-lvm,[size]是硬盘大小,不需要指定磁盘名,系统创建。

例: qm create 100 –scsi0 local-lvm:40

创建虚拟机100,并且在local-lvm上创建一个40G的scsi磁盘。

–ide<N> [pool]:[size]  //ide磁盘

–sata<N> [pool]:[size] //sata磁盘

网络参数

–net[N] 

      这是一个option。N是整数,一般用序列。代表网卡序列

model

      网卡类型。e1000 | e1000-82540em | e1000-82544gc | e1000-82545em | i82551 | i82557b | i82559er | ne2k_isa | ne2k_pci | pcnet | rtl8139 | virtio | vmxnet3 

bridge=<bridge>

      bridge=vmbr[N].N代表桥接网卡的序号。

firewall=<1|0>

      防火墙是否开启。值为1则开启,0为关闭

link_down=<1|0>

     是否连接网卡,1为连接,0为端口。默认值为连接,所以一般不指定此项。

macaddr=<XX:XX:XX:XX:XX:XX>

     指定网卡的MAC地址

rate=<number> 

     限速。单位mbps。一般不指定这项

tag=<integer>]

     VLAN 标签

trunks=<vlanid[;vlanid…]> 

     trunk选项

<model>=<macaddr> 

     此项是model和mac的合集。可以不用上面的两个选项。直接这样设置。

cloud-init

cloudinit常用于公有云中。

需要虚拟机有cloud drive

#创建cloud drive

qm set 100 –ide2 local-lvm:cloudinit –ciuser root –cipassword YOU_password

单一导入ESXI OVA虚拟机到 ProxmoxVE

qm create 103 –name Centos7.6 –ostype l26 –agent 1 –bios seabios –boot cdn –bootdisk ide0 –onboot yes –memory 4096 –cores 2 –sockets 1 –cpu host –scsihw pvscsi –serial0 socket –start 0 –net0 virtio,bridge=vmbr0

 将Esxi的磁盘导入local-lvm存储

var/lib/vz/template/iso 上传到此目录或者自定义到任意目录

qm importdisk 103 /var/lib/vz/template/iso/Centos_7.6-disk1.vmdk local-lvm –format=qcow2

将新磁盘以ideo或者scsi驱动器的形式绑定给虚拟机 

qm set 103 –ide0 local-lvm:vm-103-disk-0

增加一个磁盘

qm set 103 –ide1 local-lvm:100

将 VM 转换成 template

qm template 103

从 template 中克隆系统

qm clone 103 104 –name Centos7.6-01

 启动104 vm

qm start 104

qm批量一键导入 OVA 虚拟机10台

前提,esxi 创建安装导出的OVA虚拟机

vi /root/qm-ova.sh

#!/bin/bash

clear

wget -N -P /root/ ftp://192.168.12.20//VMware/OVA/Centos7.6.ova –ftp-user=user –ftp-password=you_password

tar -xvf Centos7.6.ova -C /root/

echo “###”

echo “### create multiple qm Containers”

echo “###”

if [ $# -lt 3 ]; then

        echo “usage:   $0 <from id> <to id> <name>”

        echo “example: $0 120 130 centos”

        exit

else

# which template to use from local storage

vmdk=”/root/Centos_7.6-disk1.vmdk”

# create container (4096MB RAM, 200GB Storage, DHCP)

for i in `seq $1 $2`; do

        clear

        echo “###”

        echo “### create qm Container ID $i from $2”

        echo “###”

        qm create $i \

        –name $3$i \

        –ostype l26 \

        –agent 1 \

        –bios seabios \

        –boot cdn \

        –bootdisk ide0 \

        –onboot yes \

        –memory 4096 \

        –cores 2 \

–sockets 1 \

–cpu host \

–scsihw pvscsi \

–serial0 socket \

–start 0 \

–net0 virtio,bridge=vmbr0 

qm importdisk $i $vmdk local-lvm –format=qcow2

qm set $i –ide0 local-lvm:vm-$i-disk-0

qm set $i –ide1 local-lvm:100

qm start $i

#qm template $i

done

fi

qm批量部署开始

sh qm-ova.sh 120 130 centos

qm批量创建完成 

qm一键可以删除

 for i in `seq 120 130`; do qm stop $i; qm destroy $i; done

正文完
 0
评论(没有评论)