标签: luks

MD Raid 1 读平衡算法

我通过google搜索过,但没有找到任何关于MD raid1的读平衡算法的信息。

几年前,我可能在某处读到它用来hashing the process id确定它使用哪个设备,但我不确定。

我在 raid1 之上安装了 KVM 虚拟化 + LVM,并且多次目睹从多个虚拟机读取数据到同一个磁盘,利用率达到 100%,而 raid1 中的另一个磁盘处于空闲状态。(通过 iostat -x)

编辑:问题还与虚拟机内的多个进程有关。即使在虚拟机内部也会发生读取平衡吗?

读数是否平衡?如果是的话通过什么算法?

我问的原因是因为我目前正在两种变体之间做出选择

  1. LUKS 位于单个 MD 设备之上
  2. MD 位于两台 LUKS 设备顶部

第二种变体使用更多的CPU,但这不是问题。

linux raid lvm raid-1 luks

5
推荐指数
1
解决办法
2512
查看次数

LUKS加密分区的数据访问速度

在 Linux (Fedora 28) 中,我的主目录 LUKS 已加密,当使用 Gnome Disk(屏幕截图)时,我可以分别对底层 LUKS 分区(上方蓝色矩形)和解密的主分区(下方白色矩形)进行基准测试。

LUKS 分区的访问时间为 500MB/s,但解密后的访问速度为 350MB/s。需要明确的是,这是 500GB SSD 的同一分区。

得出加密使数据访问速度降低 30% (= 150/500)的结论是否公平?

这种类型的数字是否有记录,或者我做错了什么。这比我预期的要慢得多。

截图磁盘


编辑:这是我的输出

$ cryptsetup benchmark
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1       384375 iterations per second for 256-bit key
PBKDF2-sha256     494611 iterations per second for 256-bit key
PBKDF2-sha512     323634 iterations per second for 256-bit key
PBKDF2-ripemd160  293225 iterations per second for 256-bit key
PBKDF2-whirlpool  185917 iterations per second for 256-bit key
argon2i …
Run Code Online (Sandbox Code Playgroud)

linux encryption ssd partitioning luks

5
推荐指数
1
解决办法
7718
查看次数

btrfs、LUKS、交换文件:如何在交换文件上休眠?

我在 fedora 32 silverblue、内核版本 5.7.7 和 anaconda 安装程序默认设置上使用由 LUKS 加密的 btrfs。

因为 Fedora 安装程序自动分区不会添加交换分区或文件(或者我做错了),所以我自己添加了交换文件以进行休眠,如下所示:

$ # swapfile under /var directory because the location is the only part user can modify on fedora silverblue
$ touch /var/swapfile
$ chattr +C /var/swapfile 
$ fallocate --length 10GiB /var/swapfile
$ sudo chown root /var/swapfile 
$ sudo chmod 600 /var/swapfile 
$ sudo mkswap /var/swapfile 
$ sudo swapon /var/swapfile
Run Code Online (Sandbox Code Playgroud)

swapfile_t为 selinux 添加了 attr:

$ ls -Z /var/swapfile
unconfined_u:object_r:swapfile_t:s0 /var/swapfile
Run Code Online (Sandbox Code Playgroud)

然后我按照arch wiki指令(https://wiki.archlinux.org/index.php/Power_management/Sus ​​pend_and_hibernate#Hibernation_into_swap_file_on_Btrfs)。

我 …

linux fedora hibernate luks btrfs

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

从未加密的 Ubuntu 16.04 迁移到 16.04 的 LUKS 加密安装

我的公司正在努力在一些新的测试工作中实施一些 Ubuntu 系统,我的任务是为它们提供加密解决方案。作为一名主要使用 Windows 的用户,通常只了解 Ubuntu 和 Linux/Unix 的工作知识,这有点具有挑战性,但很有趣。我知道许多就地加密服务可以在 Windows 上使用,但注意到 Ubuntu 缺乏这些服务,在阅读了 20 多篇关于它的文章后,决定全新安装带全盘加密是唯一现实的选择。话虽这么说,一些系统已经在使用中,并且不能仅仅被擦除并通过加密重新安装。我需要所有设置和更改以及复制/备份的现有文件。因此,它并不像复制/home那么简单。我很好奇对我来说最好的做法是什么,我有一个完整的分区副本(使用 gparted 快速复制到外部),用于我的测试机,并全新安装了 Ubuntu w/LUKS。我熟悉 Clonezilla 的基础知识,但我不认为这对我收集的信息有帮助。

tldr:我需要将 Ubuntu 16.04 的完整安装移动到加密磁盘。有些机器将启用 TPM,而有些则不会,我需要知道每种机器的最佳操作方案。感谢您帮助新管理员。

如果您可以描述一种不需要外部网络访问但不是必需的方法,那就更好了。即,如果需要软件包,我可以在测试 PC 上将其下载到 USB/CD/DVD 并离线安装该软件包。

linux encryption clone luks ubuntu-16.04

4
推荐指数
1
解决办法
5328
查看次数

将 LUKS 加密分区移动到另一个系统并能够使用相同的密码是否安全?

如果我有一个带有密码的 LUKS 加密分区,那么用于解锁该分区的所有信息是否都包含在标头中?

下列说法正确的是:

密码允许访问包含分区加密密钥的标头?如果我将整个分区移动到另一个系统并拥有密码,我可以安装吗?

linux encryption partitioning luks

4
推荐指数
1
解决办法
1256
查看次数

dm-crypt+luks:我可以有一个单独的标头而不将它存储在 luks 加密设备上吗?

我想用 dm-crypt+luks 加密我的外部硬盘驱动器,但我对 LUKS 标头以明文形式提供的所有信息都不满意。

所以我想保持 LUKS 标头和加密数据彼此分开:

  1. 将 LUKS 分区 (CRYPT) 不带标头存储在外部驱动器上。
  2. 当我想访问加密数据时,合并标头和 CRYPT 并正常挂载 luks 分区。

我已经知道如何手动实现这一点:

  1. 使用 dd 备份 LUKS 标头。
  2. 覆盖外部驱动器上的 LUKS 标头。
  3. 每当应该挂载 LUKS 分区时,将其写回并正常挂载。
  4. 完成后再次卸载并覆盖标头。

这不是很理想,因为每次安装驱动器时,luks 标头的扇区都会被覆盖,我担心这些扇区肯定会变坏。


另一种方法是,将头文件和加密的 luks 分区合并到一个虚拟 linux 设备中,可以正常挂载。

“合并到一个虚拟设备”我的意思是,标头实际上并未写回 luks 分区,但系统会以这种方式感知它。标题仍然保留在我的 U 盘上。

我唯一的问题是,我不知道如何创建这样的虚拟设备。

任何帮助,将不胜感激。

linux virtual-drive luks dm-crypt

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

为什么 cryptsetup 会在大小为 10M 的容器中失败?

我正在尝试创建一个大小为 10M 的加密卷。我知道这是可能的,因为我有 10M 大小的坟墓。我已经运行了以下命令。

fallocate -l 10M container
cryptsetup -y -v luksFormat --progress-frequency 1 container
cryptsetup open --type luks container luksvol1
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息。

Requested offset is beyond real size of device container.
Run Code Online (Sandbox Code Playgroud)

但是如果我的容器大小为 20M,我的命令就会成功。为什么这会以 10M 失败?10M 应该足够大来容纳加密的 luks 卷。

encryption luks

2
推荐指数
1
解决办法
711
查看次数

无法在 luks 卷内挂载使用 mkudffs 创建的 UDF 文件系统

我正在尝试创建加密的蓝光备份。我已经使用以下粗略的脚本创建并刻录了图像:

imgsize=23000M
imgfile=~/backup.img
imgloop=`sudo losetup -f`
truncate -s $imgsize $imgfile
sudo losetup $imgloop $imgfile
sudo cryptsetup luksFormat --cipher aes-xts-plain64 $imgloop
sudo cryptsetup luksOpen $imgloop mybackup
sudo mkudffs /dev/mapper/mybackup
if [ ! -d "/mnt/backup" ]; then
    sudo mkdir /mnt/backup
fi
sudo mount /dev/mapper/mybackup /mnt/backup

# Now copy all files that are part of the backup
echo "Copy files to backup to /mnt/backup. Type 'ready' when done";
while read line; do
    echo "$line";
    if [ "$line" == "ready" ]; then
        break;
    fi …
Run Code Online (Sandbox Code Playgroud)

linux backup mount udf luks

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