开发者
资源
使用qcow2格式虚拟机镜像创建虚拟机
使用qcow2格式虚拟机镜像创建虚拟机
发表于2023/09/09
1.9k7
 

1 环境信息 

操作系统:centos7.6/openEuler20.03-LTS-SP1 

2 安装指南 

执行以下命令安装qemu和libvirt及相关依赖: 

yum -y install qemu* libvirt*  virt-install 

yum -y install qemu libvirt openssl-devel numactl numactl-devel libcap-ng-devel traceroute python2-paramiko qemu-guest-agent virt-viewer 

x86上执行:yum install -y AAVMF 

arm上执行:yum install -y edk2-aarch64 edk2-devel 

 

安装完成后执行命令virsh version进行验证。 

arm上执行以下命创建虚拟机: 

virt-install --name VM01 --ram 8192 --vcpus=8 --disk path=openEuler-20.03-LTS.aarch64.qcow2  --force --import --autostart  --network network=default 

命令执行后开始创建虚拟机,虚拟机创建完成后自动进入操作系统,本质上是使用virsh console命令进入虚拟机。 

x86上执行以下命令创建虚拟机: 

yum install virt-viewer 

export DISPLAY=<客户端ip>:0.0 #这里的客户端ip是指你个人电脑的ip,在个人电脑cmd里面输入ipconfig或者在服务器上输入who查看。 

virt-install --name VM01 --ram 8192 --vcpus=8 --disk path=openEuler-20.03-LTS.aarch64.qcow2  --force --import --autostart  --network network=default --graphics vnc 

命令执行后弹出图形化界面,虚拟机安装完成后自动启动操作系统,可以在图形化界面进行操作。 

 

使用 --network network=default可以使用默认网络,默认情况下虚拟机创建后就可以联网(如果无法联网,在宿主机执行sysctl -w net.ipv4.ip_forward=1)。虚拟机使用动态分配的ip,查看虚拟机ip可以通过以下命令: 

virsh dumpxml VM01 |grep mac #查看虚拟机mac地址 

arp -a |grep <mac>  

获取到虚拟机ip后也可以使用ssh命令连接虚拟机。 

 

如果执行virsh console <VM>无法进入虚拟机,则需要通过ip或者其他方式连接虚拟机后在虚拟机内部执行命令: 

echo "ttyS0" >> /etc/securetty 

grubby --update-kernel=ALL --args="console=ttyS0" # 更新内核参数 

reboot 

虚拟机重启后才可以通过virsh console <VM>连接虚拟机。  

 

默认情况下虚拟机使用的网络模式是NAT,只能于宿主机互通且可以访问互联网,但宿主机所在网段的其他机器无法访问到虚拟机,如果需要其他机器可以访问到虚拟机可以使用桥接模式,参考https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/KVM/kunpengkvm_03_0017.html进行配置,桥接模式下虚拟机需要配置和宿主机相同网段的可用ip 

 

另外,安装虚拟机还可以使用virt-manager,执行以下命令安装并启动virt-manager: 

yum install virt-manager  

export DISPLAY=<客户端ip>:0.0 

virt-manager 

 

如果需要扩容虚拟机磁盘,可以将虚拟机关机以后使用以下命令: 

virsh blockresize --path /var/lib/libvirt/images/xx.img --size 100G <VM> 

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞