AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

    • 主页
    • 系统&网络
    • Ubuntu
    • Unix
    • DBA
    • Computer
    • Coding
    • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 772784
Accepted
anatoly techtonik
anatoly techtonik
Asked: 2016-05-16 06:30:09 +0800 CST2016-05-16 06:30:09 +0800 CST 2016-05-16 06:30:09 +0800 CST

9p (libvirt/QEMU) 共享模式

  • 772

谁能解释一下 libvirt/QEMU 配置中的共享模式(默认、映射、直通、压缩)是什么意思?

在此处输入图像描述

我在passthrough模式中有这个份额。我看到在 VM 内部它由vagrant:vagrant用户拥有(主机不存在)并且共享设置了 rw 位。但是尝试在那里创建文件会access denied出错。

我需要了解解决问题的过程。

virtualization
  • 2 2 个回答
  • 11493 Views

2 个回答

  • Voted
  1. FGiorlando
    2019-01-11T07:44:22+08:002019-01-11T07:44:22+08:00

    共享模式定义了虚拟化 (p9fs) 文件系统如何呈现给客户机。权限映射具有重要意义。要理解这一点,重要的是要记住虚拟化文件系统需要管理文件的权限,并且它们在主机中可能与在客户机中不同。

    我发现的关于模式的最佳文档来自libvirt 文档:

    文件系统块有一个可选属性accessmode,它指定访问源的安全模式(从 0.8.5 开始)。目前这仅适用type='mount'于 QEMU/KVM 驱动程序。可能的值是:

    • passthrough 使用source来宾内部用户的权限访问。accessmode如果未指定,则这是默认设置。更多信息。请注意,权限/所有权的更改将影响使用该文件系统的所有来宾。这种模式通常相当快。
    • mapped 使用管理程序(QEMU 进程)的权限访问源。更多信息。这意味着您需要确保 QEMU 进程(libvirt-qemu我的设置中的用户名)可以访问管理程序上的文件。优点是文件属性和权限是为来宾“映射”的,因此它们是其他地方的独立更改(只要文件保持可访问性)。如果您的主机系统支持 ACL,则此模式还将允许来宾中适当的 ACL 支持。这种模式通常比直通慢一点。
    • squash 与“passthrough”类似,例外是“chown”等特权操作的失败被忽略。这使得以非 root 身份运行管理程序的人可以使用类似直通的模式。更多信息
    • 7
  2. Best Answer
    cl-netbox
    2016-05-16T07:50:59+08:002016-05-16T07:50:59+08:00

    我曾经有一个非常相似的问题,提供对共享文件夹的读写访问。可以读取文件,但不允许我将文件写入共享源路径文件夹。

    Unix & Linux - KVM / QEMU / Virt-Manager : 如何将文件存储在挂载的共享文件夹中

    根本原因是来宾系统以libvirt-qemu用户身份运行。在已挂载的共享文件夹中,从正在运行的来宾系统中创建文件应该执行以下步骤:

    在Virt-Manager-> Add Hardware->中Filesystem选择Mapped作为ModeVM 的设置。

    更改共享文件夹的权限:sudo chmod -R 777 /<path-to-shared-folder>

    将所有者更改为您的用户名:sudo chown -R user:user /<path-to-shared folder>

    更改虚拟磁盘文件的权限:sudo chmod -R 777 /<path-to-virtual-disks>

    将所有者更改为您的用户名:sudo chown -R user:user /<path-to-virtual-disks>

    将您的用户名添加到libvirtd组:sudo usermod -G libvirtd -a <your-user-name>

    授予libvirt-qemu用户完全权限:sudo setfacl -R -m u:libvirt-qemu:rwx /*

    注意:* = 指定要授予libvirt-qemu权限的文件夹目录层次结构。

    重新启动主机操作系统......现在您应该能够在来宾系统中创建文件。

    有关 9p virtio 的信息 ->与来宾共享主机文件| QEMU 文档 9psetup

    Mode指定访问源的安全模式。Mapped指定使用管理程序的权限设置访问源。Passthrough指定使用从虚拟来宾机器内部设置的用户权限设置访问源。这是默认模式。Squash和Passthrough_ chown_ Passthrough_

    • 5

相关问题

  • 运行虚拟机和 Ubuntu EC2 云有什么区别?

  • 什么原因会阻止“virsh -c qemu:///system console guest1”的控制台输出?

  • 如何在 Windows 7 中运行 Ubuntu?

  • 哪个更好:Win7 主机运行 VMware 和 Ubuntu 来宾,反之亦然?

  • 如何在 Ubuntu 中运行 Windows XP

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助
subwaysurfers
my femboy roommate

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve