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
,然后查看文件
文章来源:https://www.toymoban.com/news/detail-811714.html
6、从宿主机上直接解挂disk device
文章来源地址https://www.toymoban.com/news/detail-811714.html
[root@tudou transfer]# virsh detach-disk 2 vdb
到了这里,关于【云计算 | OpenStack】在无法网络访问的情况下,如何在KVM虚机和宿主机之间互传文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!