我计划在 Linux 中设置一组 3x 2TB 7200rpm 驱动器作为 LUKS 加密的 Z-RAID 池(用于 NAS 解决方案)。
我对手头问题的理解是,实现这一目标的唯一方法是在luksFormat每个物理设备上,然后从未锁定的 LUKS 容器中组装一个 zpool。
我对此有以下担忧:
它不会显着阻碍写入性能吗?在这种设置中,冗余数据被多次加密,因为 LUKS 不“知道”Z-RAID。在 LUKS-on-mdadm 解决方案中,数据被加密一次,只是多次写入磁盘。我的 CPU 支持 Intel AES-NI。
在设备映射器 LUKS 容器而不是物理设备上运行时,ZFS 会意识到磁盘故障吗?重复数据删除和其他 ZFS 功能怎么样?
我的 Ubuntu 11.04 机器对 root、swap 和 home 使用 LUKS 加密。例程 fsck -n 揭示了我需要修复的一组错误。fsck 需要卸载分区。在 luks 之前,我会简单地从 U 盘启动并从那里修复运行 fsck。对 LUKS 加密分区执行此操作的步骤是什么?
我在 LVM LV 之上的 LUKS 之上有一个 500GiB ext4 文件系统。我想将 LV 的大小调整为 100GiB。我知道如何在 LVM LV 上调整 ext4 的大小,但如何处理 LUKS 卷?
mgorven@moab:~% sudo lvdisplay /dev/moab/backup
--- Logical volume ---
LV Name /dev/moab/backup
VG Name moab
LV UUID nQ3z1J-Pemd-uTEB-fazN-yEux-nOxP-QQair5
LV Write Access read/write
LV Status available
# open 1
LV Size 500.00 GiB
Current LE 128000
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 2048
Block device 252:3
mgorven@moab:~% sudo cryptsetup status backup
/dev/mapper/backup is active and is in …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Linux 创建一个加密的、按需增长的文件系统。我熟悉 LUKS 和 cryptsetup。
我可以创建一个空文件:
fallocate -l 512M /root/image
Run Code Online (Sandbox Code Playgroud)
我可以在其上创建一个 LUKS 容器:
cryptsetup -y luksFormat /root/image
Run Code Online (Sandbox Code Playgroud)
然后“打开”它:
cryptsetup luksOpen /root/image luksvolume
Run Code Online (Sandbox Code Playgroud)
此时,我可以在其上创建一个文件系统:
mkfs.ext4 -j /dev/mapper/luksvolume
Run Code Online (Sandbox Code Playgroud)
这一切都很好。但是,它没有解决问题的“按需增长”部分。
这个想法是在加密文件系统上复制 2Gb 文件将“扩展”图像,使其足够大以包含该文件。
甚至有可能做到吗?
我的 Linux 服务器花费了大量时间来计算 LUKS 加密。有没有办法硬件加速它(例如使用PCI Express卡)?
我正在编写一个脚本来自动设置测试环境虚拟机。这个脚本应该自动为我格式化一个 dmcrypt+LUKS 分区,并带有特定的密码。因为这是一个本地测试环境,我不关心密码的安全性,我只希望整个 VM 设置过程是自动化的和非交互式的。
如何以非交互方式向“dmcrypt luksFormat”提供密码?我想使用密码短语,而不是密钥,因为在生产中我们也为 LUKS 使用密码短语。
我有一个虚拟化的 CentOS 7 服务器,它需要挂载多个受密码保护的加密卷。我无法在启动时自动映射设备,因为在启动过程中我无法访问控制台以输入解密密码。重新启动系统后,我必须手动运行
cryptsetup luksOpen <device> <name>
Run Code Online (Sandbox Code Playgroud)
将每个底层块设备映射到加密设备。这需要记录每个底层块设备的 UUID 及其映射到的名称。有没有简单的方法来自动化这个过程?我可以/etc/crypttab使用noauto关键字添加信息以防止设备在启动时挂载。但是,我无法让 cryptsetup 使用此文件中的信息。
如果有这样的命令这将是巨大的cryptsetup luksOpen <name>,将读取/etc/crypttab找到基本块设备(类似于你可以能方式的名称mount <mountpoint>,如果被定义/etc/fstab)。
有没有办法让 cryptsetup 从中读取映射/etc/crypttab?
我拍摄了一个(实时)luks 加密块设备的快照,将其复制到另一个系统,现在正试图打开它,但我无法这样做。任何解决此问题的帮助将不胜感激。
复制的映像当前位于其自己的 LVM 分区上
当我尝试使用命令打开设备时,并在输入密码后
cryptsetup -v luksOpen /dev/hdd/luksCrypted 块名
我收到回复“无法使用正在使用的设备 /dev/hdd/unenc_mail_dev(已映射或已安装)。命令失败,代码为 16:无法使用正在使用的设备 /dev/hdd/unenc_mail_dev(已映射或已安装) )”
我怀疑 luks 设备上有什么东西说它已安装,因为它是快照,但不知道是什么或如何清除它。我尝试通过在 lsof 的输出中执行 df、lostup -a 和 grepping "luksCrypted" 来寻找作为已安装文件系统的痕迹,但没有运气。
当我运行“crytpsetup status /dev/hdd/luksCrypted”或“cryptsetup status blockname”时,我得到一个响应 /dev/mapper/[luksCrypted|mailblock] is inactive。
任何想法如何打开卷?
这是我的配置: - 2 个硬盘驱动器, - 第一个是使用 LUKS 和 LVM 加密的。我想在卷组中添加加密的第二个硬盘。我已经成功安装并加密了它。但是当我启动时,我必须输入 2 个密码来解密两个硬盘驱动器。
没有办法只使用一个吗?
当我跑步时:
\n\nLANG=C cryptsetup --debug luksClose /dev/mapper/Pool-A\n\nit fails as follows:\n\n device-mapper: remove ioctl on Pool-A failed: Device or resource busy\n\nDevice /dev/mapper/Pool-A is still in use.\nCommand failed with code 16: Device or resource busy\nRun Code Online (Sandbox Code Playgroud)\n\n(...)(重复了很多这样的台词)
\n\n# cryptsetup 1.7.2 processing "cryptsetup --debug luksClose /dev/mapper/Pool-A"\n# Running command close.\n# Locking memory.\n# Installing SIGINT/SIGTERM handler.\n# Unblocking interruption on signal.\n# Allocating crypt device context by device /dev/mapper/Pool-A.\n# Initialising device-mapper backend library.\n# dm version OF [16384] (*1)\n# dm versions OF [16384] (*1)\n# Detected dm-crypt version …Run Code Online (Sandbox Code Playgroud) luks ×10
encryption ×4
linux ×4
lvm ×2
disk-volume ×1
dmcrypt ×1
filesystems ×1
fsck ×1
hardware ×1
mount ×1
systemd ×1
ubuntu ×1
udevd ×1
zfs ×1