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
    • 最新
    • 标签
主页 / server / 问题 / 704504
Accepted
hookenz
hookenz
Asked: 2015-07-09 19:38:52 +0800 CST2015-07-09 19:38:52 +0800 CST 2015-07-09 19:38:52 +0800 CST

如何使用 fuse 驱动程序挂载 rbd 设备?

  • 772

这是来自的后续问题:How do I mount an rbd device from fstab我问过一段时间。

如何使用 fuse 驱动程序挂载 rbd 设备?(如果不打开很多权限,我就无法使用 docker 的内核驱动程序)

据我所知,我在 fstab 文件中创建了一个条目,如下所示:

id=client.admin /mnt fuse.ceph 0 0

但是我看不到如何指定 rbd 块设备。如果我运行这个挂载,我会在 /mnt/mariadb1 中看到一个文件(mariadb1 是我使用 rbd create --size 250000 mariadb1 创建的 rbd 设备的名称)

我如何实际将其挂载为文件系统?

注意:是的,我真的很想使用内核 rbd 驱动程序并从主机挂载它,然后将它公开给我的 docker 容器,但是……我正在使用 CoreOS。

如果可以在主机挂载命名空间中挂载文件系统,我会接受,但还没有看到前进的方向。我管理的最好的方法是从具有很多特权的容器中安装它。但我不能与 --volumes-from 共享该容器。我真的不喜欢让这个特定的容器完全访问主机。

fuse
  • 2 2 个回答
  • 2513 Views

2 个回答

  • Voted
  1. Best Answer
    Stuart Harland
    2016-11-02T07:34:02+08:002016-11-02T07:34:02+08:00

    我不得不假设您在谈论这个时指的是 RBD-fuse,因为 ceph-fuse 是一个 cephfs 实用程序,与 RBD 无关。

    但是,您的问题的前提被进一步打破,因为您对实际操作的理解rbd-fuse是不完整的。

    librbd为您提供存储在 Ceph 中的图像文件。大多数人(通过rbd map)使用该映像以 /dev/rbd* 的形式提供伪块设备。

    唯一的区别rbd-fuse是它公开了自己的伪文件系统,并将图像作为普通的 POSIX 兼容文件提供,而不是块设备。

    因此rbd-fuse,对图像文件的实际内容没有更多的了解rbd map。

    当调用rbd-fuse mountpoint池内的任何 RBD 图像时,将在mountpoint. 它需要命令选项,特别是-p如果您在 ceph 中使用不同的池rbd而-c不是/etc/ceph/ceph. 您还可以使用-r.

    您如何处理这些文件取决于您自己。他们可以将文件系统写入它们(注意 Linux 会抱怨,因为它们不是专业的块设备)。如果存在文件系统,您可以将它们挂载为循环设备。

    $ rbd 创建测试
    # mkdir -p /rbd_images
    # rbd-fuse /rbd_images
    # mkfs /rbd_images/test
    # mkdir -p /mnt/rbd_test
    # mount /rbd_images/test /mnt/rbd_test
    

    应该呈现如下内容:

    $挂载
    rbd-fuse on /rbd_images type fuse.rbd-fuse (rw,nosuid,nodev)
    /rbd_images/rbd_test on /mnt/rbd_test type ext4 (rw)

    不过,这是否是正确的方法(供您使用)是另一回事。krbd但是,它可以让您访问您的系统版本不支持的 RBD 映像。

    • 3
  2. hennejg
    2015-08-07T07:16:06+08:002015-08-07T07:16:06+08:00

    ceph.fuse 文件系统类型(及其手动等效的 ceph-fuse)用于挂载 cephfs 卷。这些与 RADOS 块设备 (RBD) 根本不同。

    一方面,RBD 表示主机系统可以在其上运行文件系统的块设备,就像物理块设备一样。Ceph 对 RBD 内的文件系统结构一无所知。另一方面,cephfs 本身就是一个文件系统,即 ceph 管理单个文件和元数据。后果之一是您通常只能挂载一次 RBD,因为访问同一个块设备的两台主机没有任何规定来同步对它的访问,而您可以像网络文件系统一样多次挂载 cephfs。

    • 0

相关问题

  • 将 FTPS 服务器挂载到 linux 目录(但出现 Access denied: 530 错误)

  • 保险丝在centos 5.3 xen guest中不起作用

  • 将 FTP(S) 服务器挂载到 linux 目录

  • 如何在 OpenVZ 容器中挂载 glusterfs?

  • 在断开连接后仍然存在的 SSHFS 挂载

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve