首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何挂载带有dataset的zfs池文件作为回送?

如何挂载带有dataset的zfs池文件作为回送?
EN

Ask Ubuntu用户
提问于 2022-11-21 08:21:51
回答 1查看 291关注 0票数 0

我已经安装了一个Ubuntu22.04.1(来自22.04.1-desktop-amd64.iso),运行在VirtualBox 7,并安装了zfs-tools

我有一个名为zfsfile01的zfs池中的图像文件。我可以通过以下方式查看这个文件:

代码语言:javascript
复制
fdisk -l zfsfile01

我得到了两个数据集的值:dataset01dataset02 -该文件似乎没有问题。

现在,我必须将文件zfsfile01本身或第二个dataset02作为回送设备挂载。在阅读了一些有用的文本之后,我意识到我必须首先用zpool导入池文件,然后挂载文件系统( dataset?)在池文件中使用zfs mount。将池导入

代码语言:javascript
复制
zpool import /zfsfile01

失败:

代码语言:javascript
复制
cannot import /zfsfile01: no such pool available

我想是因为文件没有正确的zfs池。

基本上,我可以在Linux中继续使用mount命令,并可以用sudo mount -o loop,offset=xxx image.dd /tmp/destination之类的东西挂载转储文件。但是,我不知道用dataset作为回循环设备挂载zfs池文件时必须使用哪些选项。

以下是sudo fdisk -l zfsfile01的输出:(对注释的响应)

代码语言:javascript
复制
Festplatte ewf1: 1,82 TiB, 2000398934016 Bytes, 3907029168 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 44E0E83D-A9CA-11EC-xxxx-xxxxx
Gerät       Anfang       Ende       Sektoren   Größe Typ
dataset1    128          4194431    4194304    2G FreeBSD Swap
dataset2    4194432      3907029127 3902834696 1,8T FreeBSD ZFS

以下是losetup的输出:(对Artur答案的响应)

代码语言:javascript
复制
$ losetup -f
/dev/loop8
$ sudo losetup /dev/loop8 /media/sf_E_DRIVE/zfsfile01
losetup: /media/sf_E_DRIVE/zfsfile01: Loop-Gerät konnte nicht eingerichtet werden: Vorgang nicht zulässig

我可以用以下方式循环dd图像:

代码语言:javascript
复制
sudo losetup /dev/loop8 /media/image.dd 

然后我就可以用:

代码语言:javascript
复制
sudo losetup -d /dev/loop8

但是我在zfsfile01中遇到了一个错误:

代码语言:javascript
复制
Loop-Gerät konnte nicht eingerichtet werden: Vorgang nicht zulässig

这意味着:

代码语言:javascript
复制
cannot setup loop-device: progress is not valid
EN

回答 1

Ask Ubuntu用户

发布于 2022-11-21 14:45:29

我找到了一个指南在这里,希望能适用于你的情况。

我就是这样把它转化成你的处境的:

  1. 将映像挂载为循环设备:# losetup /dev/ loop 100 //zfsfile01 01
  2. 创建分区(仅当图像包含分区时):# kpartx -av /dev/loop100 100添加映射loop100p1 (252:0):添加映射loop100p9 (252:1):
  3. 创建挂载点:# mkdir /mnt/<池名>
  4. 尝试导入具有以下池名的ZFS池:# zpool导入-R /mnt/<池名> -d /dev/mapper池: id:<指定的ID>状态:联机状态:池上没有启用一些受支持的特性。操作:可以使用其名称或数字标识符导入池,但如果没有显式的“zpool升级”,则某些功能将不可用。配置:联机loop100 ONLINE
  5. 使用上一个结果中的ID,您可以导入具有新选项和名称的池(如果有必要,可以跳过这一步,只需在下面使用 ):# -o导入-o readonly=on -f -d /dev/mapper <指定ID> -R /mnt/
  6. 完成:# zpool状态池:状态:联机状态:一些受支持的特性在池中没有启用。池仍然可以使用,但有些功能是不可用的。操作:使用“zpool升级”启用所有功能。一旦完成,不支持这些特性的软件可能不再可以访问这个池。有关详细信息,请参阅zpool-功能(5)。扫描:无请求配置:名称状态读写CKSUM ONLINE 0 0 0 loop100 ONLINE 0 0 0错误/mnt/<池名>/dataset02 01<新的池名>/dataset02 02 xxxM xxxxG xxK /mnt//dataset02 02
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1441781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档