宿主机与虚拟机共享文件

本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/article/kvm_share_files/

简介

如果是在本地的机器上安装kvm和虚拟机,拷贝文件还可以通过外接usb和kvm的redirect usb device来完成。而如果是远程的kvm,该如何拷贝文件到本地是一个问题。

静态文件服务器

依赖于python环境,目前仅支持python2.

在要分享的文件路径下运行该命令,然后在要获取文件的系统中下载即可。

python2 -m SimpleHTTPServer 8080

缺点是只能下载,不能上传。

网盘

可用的网盘很多,如公有云的百度网盘、坚果云,私有云的可道云、nextcloud。

我自己用nextcloud,通过内网穿透或者租用公网服务器的方式部署一个可访问的nextcloud网站,只要有浏览器就可以下载与上传文件。

缺点:不能免下载安装软件,即像挂载第二块磁盘那样直接安装(有时候主磁盘的空间比较尴尬,正好能装下软件,但是先下载到主磁盘再安装就不够)。

共享磁盘

新建img文件(100G)

sudo dd if=/dev/zero of=raspberrypi.img bs=1MB count=102400

给img文件新增分区表

sudo parted raspberrypi.img mklabel msdos

分区

sudo parted raspberrypi.img

格式化工具不支持在img中格式化,所以需要先挂载镜像。

在 Linux 系统里,loop 设备是一种伪设备(pseudo-device),或者也可以说是仿真设备。它能使我们像块设备一样访问一个文件,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来。

连接loop设备

sudo losetup --show -f raspberrypi.img

命令会返回链接后的设备路径,本例中为/dev/loop0

连接设备后还需映射分区:

sudo kpartx -va /dev/loop0

新的块设备在/dev/mapper目录下,这时候可以用mkfs进行格式化

sudo mkfs.vfat /dev/mapper/loop0p1

挂载到宿主机的目录中

sudo mount -t vfat /dev/mapper/loop0p1 /mnt/share

在kvm面板中,选择view->details->Add Hardware->Storage->select or create custom storage, 在弹出的对话框中选择之前创建的img文件即可。

注意:该种方式不是实时共享,也就是说在虚拟机中新建一个文件,不能在宿主机中看到。需要虚拟机关机,宿主机重新挂载共享磁盘。

参考

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小闫笔记

crontab定时执行python脚本不成功解决方案

Learn the rules like a pro, so you can break them like an artist.

14620
来自专栏PHP专享栏

thinkphp执行计划任务crontab

tp5.1中的php 计划任务的实现,本质上可以分为两种第一种封装在框架内部,在crontab -e中只要添加一条,然后在框架内去扩展内容就好了(Laravel...

11320
来自专栏中科院渣渣博肆僧一枚

numpy.logical_and()

numpy.logical_and(x1, x2, /, out=None, *, where=True, casting='same_kind', order...

4730
来自专栏LAMPer 技术栈

蓝默空间のLvBlog-1.1.2.20191030_release开源啦~

The LvBlog Application is open-source software licensed under the MIT license.

10620
来自专栏C/C++基础

Linux 命令(81)—— chmod 命令

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

6810
来自专栏Java架构师历程

Nginx多个子域名映射到不同的端口或 ip

我决定采用采用 子域名区分服务 的方式,然后使用 nginx 做反向代理,分发到不同的端口。

24510
来自专栏中科院渣渣博肆僧一枚

Linux xargs 命令

xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读...

6210
来自专栏中科院渣渣博肆僧一枚

numpy.logical_or

numpy.logical_or(x1, x2, /, out=None, *, where=True, casting='same_kind', order=...

8340
来自专栏eguid开源技术分享

mybatis批量增、删、改(更新)操作oracle和mysql批量写法小记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

21030
来自专栏C/C++基础

Linux 命令(82)—— chgrp 命令

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

7910

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励