1. 首页
  2. 电子数码
  3. ​如何从电脑往虚拟机复制文件(怎样从windows向虚拟机拷贝)

​如何从电脑往虚拟机复制文件(怎样从windows向虚拟机拷贝)

简介:关于​如何从电脑往虚拟机复制文件(怎样从windows向虚拟机拷贝)的相关疑问,相信很多朋友对此并不是非常清楚,为了帮助大家了解相关知识要点,小编为大家整理出如下讲解内容,希望下面的内容对大家有帮助!
如果有更好的建议或者想看更多关于电子数码技术大全及相关资讯,可以多多关注茶馆百科网。

翻译|希拉任务

本文介绍导出KVM虚拟机磁盘和配置,然后将它们导入到同一台机器或不同的机器的步骤。我还将向您展示如何使用Bash脚本导出和导入KVM虚拟机。

最近,我把我的虚拟机管理程序从Oracle VirtualBox切换到KVM,因为它的原生特性和性能。在我的测试中,我发现KVM虚拟机比Virtualbox VMS运行得更快。

定期备份虚拟机非常重要。如果我们的KVM出现任何问题,我们可以使用备份KVM来恢复虚拟机。导入和导出KVM虚拟机是两个不同的过程。

首先,您必须检查磁盘映像的存储位置,并将磁盘映像复制到备份位置。

其次,导出机器配置,以便稍后创建域。

1.前言

获取虚拟机配置信息有两种方式。您可以使用“Virsh”或“Virt-manager”。

虚拟机名称可通过Virt-manager或virsh命令获取。

复制$ virsh列表- allId名字状态 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Linux_Mint_20关闭offmxlinux关闭offpopos_21_10关闭offrocky_linux_8关闭offubuntu20.04关闭offubuntu20.04-clone off1.2.3.4.5.6.7.8.9关闭。关闭offrocky_Linux_8关闭offubuntu20.04-克隆关闭off1.2.3.4.5.6.7.8.9。使用实例查看虚拟机的全部信息(虚拟机配置)。该命令以XML格式显示查询结果。

用virsh dumpxml ubuntu20.04 - clone | grep -i 'MEMORY' MEMORY unit='KiB' 5632000/memorycurrentMemory 5632000/currentMemory1.2.3='KiB' unit。如果您更喜欢使用Virt-manager工具,您可以通过“show virtual hardware”选项中的XML子选项获得以XML格式显示的虚拟机配置信息。

2.虚拟机的配置

虚拟机磁盘的创建格式为qcow2。默认情况下,虚拟机磁盘存储在/var/lib/libvirt/images/目录中,除非显式指定磁盘路径。

执行如下命令获取磁盘所在目录路径。

用virsh dumpxml拷贝$ ubuntu20.04 - clone | grep -i 'source'源文件='/var/lib/libvirt/images/ubuntu20.04 - clone。Qcow2'/1.2。如果使用Virt-manager工具,可以通过上图中的磁盘选项查看虚拟机的磁盘信息。

如果您使用不同的路径存储磁盘映像,并希望了解所有虚拟机磁盘路径,您可以从终端或shell脚本运行以下代码片段:

用virsh dumpxml拷贝$ ubuntu20.04 - clone | grep -i 'source'源文件='/var/lib/libvirt/images/ubuntu20.04 - clone。Qcow2'/1.2。现在您知道了如何获取磁盘路径和虚拟机配置信息,您可以导出虚拟机配置信息并将磁盘映像复制到不同的位置。

要导出虚拟机信息,执行以下命令“virsh dumpxml”,并将输出保存到XML文件中。

用virsh dumpxml vm - name/path/复制$到/xm_file。复制~/Documents/ubuntu. XMLXml1.2。接下来,我们使用以下命令将磁盘映像复制到另一个位置以供以后使用。

拷贝$sudo cp/var/lib/libvirt/images/ubuntu20.04 - clone。Qcow2 ~ /文档/1。完成KVM导出。

注意:您应该使用sudo或root来复制磁盘,因为磁盘属于root。

3.虚拟机磁盘位置

如果需要导入KVM虚拟机,则需要执行以下命令,使用导出的XML文件重新定义虚拟机。

将$用virsh define -文件路径-复制到XML文件$用virsh define -文件~/Documents/ubuntu。Xml1.2。现在可以检查Virt-manager或执行virsh命令来成功创建域。还必须将磁盘映像复制到XML文件中定义的目录路径。在我的环境中,这是默认位置/var/lib/libvirt/images/,所以我使用以下命令复制它。

拷贝sudo cp ~/Documents/ubuntu20.04 - clone。Qcow2/var/lib/libvirt/images /至此,已完成KVM的导入。

我已经创建了一个bash脚本来导出所有的配置和磁盘映像。如果你感兴趣,你可以在我的GitHub库上查看这个脚本。我们也期待您对剧本的改进建议。

复制# !/usr/bin/env bash # ----------------------------------------------------------------------------------------------------# 作者:KARTHICK年代#目的:此脚本将导出/导入配置和虚拟机磁盘。## usage:# export函数将负责导出所有VM的必要内容。运行'scriptname.sh export'# import函数将负责导入所有VM所需的文件。注意:在给出导出和导入路径时,不要在目录后面加上/。#------------------------------------------------------------------------------------------------------# 使用根用户触发脚本或退出。If [[$ -ne 0]];thenecho -e '[EXIT] -以root用户或sudo权限运行脚本…'exitfifunction export_vm()]] || mkdir -p $#使用virsh dumpxml命令导出配置。VM_NAMES=($(virsh list——all| awk '(NR2)' | awk ')))for VM in $;Dovirsh dumpxml $ $/$。使用rsync从默认位置复制整个目录。echo -e '\n[拷贝磁盘映像]\n' sudo rsync -avxp——progress /var/lib/libvirt/images $echo -e '\n[导出的文件]\n' ls -lR $}function import_vm()]] || #复制所有文件到默认磁盘位置。echo -e '[拷贝磁盘映像]\n' sudo rsync -avxp——progress $/images /var/lib/libvirt/if [[$?]-eq 0]];#定义VMecho -e '\n[定义虚拟机]\n'为XML_FILE $/*.xml;dovirsh define——file $doneecho -e '\n[导入的虚拟机列表]\n' virsh List——allfi}case $1 inexport)import_vm;*) echo -e 'USAGE:kvm_export_import.sh export -导出配置和diskvm_export_import .sh import -定义虚拟机并复制磁盘';exitesac1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.4 1.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.79.80.8 1.82.83.84.85.86.87.88.89.90.91.92.93.94。脚本使用如下所示。

您可以通过以下命令从GitHub克隆gist。

复制$https://gist.github.com/d6c671597592fe5634a39b7974bc8029.git1 git克隆。该脚本执行备份(即导出)和恢复(即导出)。

让我们使用以下脚本导出KVM虚拟机。

下图显示了导出的工作方式。

当您传递“import”作为参数时,它将首先将磁盘映像复制到默认位置/var/lib/libvirt/,并对所有导出的XML文件运行“virsh define”命令。

拷贝$sudo bash kvm_export_import.sh import1。当前位置在本文中,我向您展示了如何导出KVM虚拟机,并将它们导入相同或不同的计算机。从头构建虚拟机是一项耗时的任务。因此,使用适当的策略来保护我们的虚拟机环境免受任何情况的影响。

赵青山,51CTO社区编辑,从事驱动开发多年。主要研究方向为安全操作系统和网络安全,已发表网络相关专利。

本文主要介绍了关于​如何从电脑往虚拟机复制文件(怎样从windows向虚拟机拷贝)的相关养殖或种植技术,电子数码栏目还介绍了该行业生产经营方式及经营管理,关注电子数码发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解电子数码技术怎么管理的要点,是您电子数码致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://seotea.com/article/1443601.html