【云计算 | OpenStack】在无法网络访问的情况下,如何在KVM虚机和宿主机之间互传文件

1. 背景

正常如果打通KVM虚机和宿主机之间的网络,可以通过scp的方法或者使用filezilla等工具进行文件的传输。但是如果KVM虚机无法通过网络正常访问,又想在虚机和宿主机之间传输文件,这时候应该怎么办呢?
这时候要用到如下命令给KVM虚机添加一个disk device(其中包含我们想传输的文件)
attach-disk <domain> <source> <target>

  • domain:虚机的name,id或者uuid
  • source:源disk device,一般指KVM宿主机上的一块分区
  • target:目的disk device,一般就是指kvm虚机上的硬盘,例如vdb

2. 实践

2.1 宿主机向KVM虚机传输文件

1、先在宿主机上生成一个disk device

[root@tudou mnt]# dd if=/dev/zero of=/mnt/disk_device bs=1G  count=1
  • /dev/zero: 可以产生连续不断的二进制零流,用来对设备或文件进行初始化
  • bs: 一次读取和写入的字节数,默认block为512字节
  • count: 从count个block进行拷贝,所以of对应文件的大小等于bs*count

在这里插入图片描述

2、格式化disk device

[root@tudou mnt]# mkfs.ext4 /mnt/disk_device

3、挂载disk device

[root@tudou mnt]# mkdir transfer && mount /mnt/disk_device /mnt/transfer/

在这里插入图片描述

4、传输想要上传到KVM虚机的文件到宿主机的/mnt/transfer目录下,这里直接新建一个文件用于测试

在这里插入图片描述

5、挂载disk device到KVM虚机

在这里插入图片描述

6、利用vncviewer进入KVM虚机,mount新增的设备,读取文件(可以将文件直接拷贝到其他目录下,方便以后使用)

在这里插入图片描述

7、从宿主机上直接解挂disk device

在这里插入图片描述

2.2 KVM虚机向宿主机传输文件

1、先在宿主机上生成一个disk device

[root@tudou mnt]# dd if=/dev/zero of=/mnt/disk_device bs=1G  count=1

2、格式化disk device

[root@tudou mnt]# mkfs.ext4 /mnt/disk_device

3、挂载disk device到KVM虚机

[root@tudou mnt]# virsh attach-disk 2 /mnt/disk_device vdb

4、进入KVM虚机,mount新增的设备,传输想要上传到宿主机的文件到KVM虚机的/mnt/transfer目录下,这里直接新建一个文件用于测试(下图的vdc与第三步中的vdb不对应,是因为KVM虚机之前新增过/dev/vdb设备,不影响使用)

在这里插入图片描述

5、在宿主机上mount disk device,然后查看文件

在这里插入图片描述

6、从宿主机上直接解挂disk device

[root@tudou transfer]# virsh detach-disk 2 vdb

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>