标签: loop-device

Linux容器中的循环设备?

我正在尝试在容器内使用循环设备来挂载一些图像文件:

> sudo losetup /dev/loop0 test.img
losetup: /dev/loop0: failed to set up loop device: No such file or directory
Run Code Online (Sandbox Code Playgroud)

/dev/loop0 确实不存在,并且

> sudo mknod /dev/loop0 b 7 0
mknod: ‘/dev/loop0’: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

我怎样才能使这项工作?容器是否需要一些它可能没有的 cgroup 权限?

linux containers loop-device cgroup

19
推荐指数
2
解决办法
4万
查看次数

ZFS - 使用文件作为 l2arc 缓存

我有一台 CentOS 服务器,它使用 zfs 来管理一个大而慢的网络附加卷。

我们从这本书中阅读了很多内容,因此我想优化阅读性能。

这个想法显然是 L2ARC 缓存。

不幸的是,我只有一个 SSD 磁盘连接到这台机器,已经使用托管 / 的 xfs 进行了格式化,并且我无法连接更多磁盘(由其他人管理的机器)。

我想知道是否可以在 SSD 磁盘中创建一个文件并以某种方式将 L2ARC 放入该文件中。

我正在考虑以循环方式安装磁盘,但是循环安装似乎仅支持只读设备。

还有其他选择吗?

$ dd if=/dev/zero of=/root/cache size...
$ mount -o rw,loop /root/cache /mnt/cache-file
mount: /dev/loop0 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
Run Code Online (Sandbox Code Playgroud)

zfs mount loop-device

7
推荐指数
1
解决办法
1161
查看次数

在 Linux Box 上环回挂载 VMDK 平面映像

我正在尝试循环挂载由 VMware fusion 生成的 VMDK 平面映像。VMDK 文件具有 -flat 扩展名。我正在尝试使用 kpartx

kpartx -av /path/to /my/vmdk
Run Code Online (Sandbox Code Playgroud)

但我明白了

llseek error
device-mapper: resume ioctl on loop0p1 failed: invalid argument
create/reload failed on loop0p1
add map loop0p1 (0:0): 0 18872320 linear /dev/loop0 2048
Run Code Online (Sandbox Code Playgroud)

我还尝试将 vmdk 转换为原始数据,但遇到了同样的错误

知道出了什么问题吗?

mount loop-device vmware-vmdk kpartx

6
推荐指数
1
解决办法
1万
查看次数

找出哪个循环设备位于开发映射器块设备后面

我正在将 cryptsetup 与环回设备一起使用。我正在寻找一种方法,在给定设备映射的情况下,识别该设备使用哪个环回设备。

即通过 /dev/mapper/some_mapping 操作得到 /dev/loop1

如何才能做到这一点?

linux loop-device dmcrypt

5
推荐指数
2
解决办法
4728
查看次数

为什么要为加密文件系统的环回设备制作随机文件?

我已经阅读了一些关于使用 cryptsetup 设置加密文件系统的教程。它们都从以下随机文件的创建开始

dd if=/dev/urandom of=/etc/cryptfile bs=1M count=10
Run Code Online (Sandbox Code Playgroud)

该文件将进一步用于创建环回设备。给出的随机文件的原因通常是因为攻击者将无法找到文件的哪些部分用于写入以及哪些部分是空的。我的问题是,既然环回设备在我们写入文件系统时会以任何方式被格式化,那么我们为什么首先要关心它的随机化呢?

filesystems encrypting-file-system disk-encryption loop-device

3
推荐指数
1
解决办法
191
查看次数

无法读取设备 /dev/loop0

我正在尝试在我的 loop0 设备上创建一个加密驱动器。对于这个命令

/sbin/cryptsetup create cryptedDrive /dev/loop0
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

无法读取设备 /dev/loop0

这是我的 loop3 设备的 strace 输出:

(为了更好的粘贴 -> pastebin

munmap(0xb7845000, 4096)                = 0
mlockall(MCL_CURRENT|MCL_FUTURE)        = 0
getpriority(PRIO_PROCESS, 0)            = 20
setpriority(PRIO_PROCESS, 0, -18)       = 0
stat64("/dev/loop3", {st_mode=S_IFBLK|0660, st_rdev=makedev(7, 3), ...}) = 0
open("/dev/loop3", O_RDONLY|O_SYNC|O_DIRECT|O_LARGEFILE) = 3
ioctl(3, BLKSSZGET, 0xbff2ad84)         = 0
fstatfs64(3, 84, {f_type=0x1021994, f_bsize=4096, f_blocks=46077, f_bfree=46033, f_bavail=46033, f_files=46077, f_ffree=45421, f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0
fstat64(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(7, 3), ...}) = 0
open("/proc/mounts", O_RDONLY)          = 4
fstat64(4, {st_mode=S_IFREG|0444, st_size=0, …
Run Code Online (Sandbox Code Playgroud)

linux encryption loop-device

3
推荐指数
1
解决办法
2619
查看次数