前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >宿主机与虚拟机共享文件

宿主机与虚拟机共享文件

作者头像
羽翰尘
修改2019-11-26 16:14:27
2.1K0
修改2019-11-26 16:14:27
举报
文章被收录于专栏:技术向技术向

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

简介

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

静态文件服务器

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

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

代码语言:txt
复制
python2 -m SimpleHTTPServer 8080

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

网盘

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

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

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

共享磁盘

新建img文件(100G)

代码语言:txt
复制
sudo dd if=/dev/zero of=raspberrypi.img bs=1MB count=102400

给img文件新增分区表

代码语言:txt
复制
sudo parted raspberrypi.img mklabel msdos

分区

代码语言:txt
复制
sudo parted raspberrypi.img

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

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

连接loop设备

代码语言:txt
复制
sudo losetup --show -f raspberrypi.img

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

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

代码语言:txt
复制
sudo kpartx -va /dev/loop0

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

代码语言:txt
复制
sudo mkfs.vfat /dev/mapper/loop0p1

挂载到宿主机的目录中

代码语言:txt
复制
sudo mount -t vfat /dev/mapper/loop0p1 /mnt/share

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

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

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 静态文件服务器
  • 网盘
  • 共享磁盘
  • 参考
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档