Skip to content
Search RHEL

This page uses Chinese content. Search opens the Chinese documentation.

    Browse this documentation

    RHEL 10 安装期存储:autopart LVM 布局与 LUKS2 加盘

    This content is not available in your language yet.

    RHEL 10 的 autopart --type=lvm 默认是 LVM + XFS:/boot 单独分区,根和 swap 在 rhel VG 里。本页先用 399 的实际布局说明这套默认值,再在 393 的新盘上做一次 LUKS2 加密卷。

    • 布局来源:PVE 399,Kickstart autopart --type=lvm;
    • LUKS2 测试:PVE 393,新增 2G /dev/sdb,cryptsetup 2.8.1。

    E3 记录:plans/content-expansion/evidence/rhel/rhel-install-storage/run.json(6 步,含 luksDump/open/mkfs/mount/close 输出 sha256)。

    $ lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT
    sda
    ├─sda1 1M part
    ├─sda2 2G part xfs /boot
    └─sda3 18G part LVM2_member
    ├─rhel-root 16G lvm xfs /
    └─rhel-swap 2G lvm swap [SWAP]
    • /boot 是独立分区(sda2,2G,xfs);
    • 根与 swap 在 rhel VG,root 16G、swap 2G;
    • /etc/fstab 用 UUID 挂载,不写 /dev/sdaX;
    • 20G 盘装完只剩约 15G 可用(root 16G 里用了 1.6G)。

    在 393 上新增 2G 磁盘(PVE scsi1),VM 内看到 /dev/sdb:

    Terminal window
    sudo cryptsetup luksFormat --type luks2 --batch-mode --key-file /root/luks.pass /dev/sdb
    sudo cryptsetup luksDump /dev/sdb | head -10
    sudo cryptsetup open --key-file /root/luks.pass /dev/sdb cryptdemo
    sudo mkfs.xfs -f /dev/mapper/cryptdemo
    sudo mkdir -p /mnt/cryptdemo
    sudo mount /dev/mapper/cryptdemo /mnt/cryptdemo

    luksDump 关键行:

    Version: 2
    UUID: 83c0d76d-8ef2-49ca-9ab5-5a68c5cff7bf
    Key: 512 bits
    Cipher: aes-xts-plain64
    PBKDF: argon2id

    LUKS2 默认 aes-xts-plain64 + argon2id;--type luks2 要显式写,避免落到 LUKS1。

    $ echo hello > /mnt/cryptdemo/hello
    $ cat /mnt/cryptdemo/hello
    hello
    $ lsblk -f /dev/sdb
    NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
    sdb crypto_LUKS 2 83c0d76d-8ef2-49ca-9ab5-5a68c5cff7bf
    └─cryptdemo xfs f3e57478-3dea-4af6-8b16-d1b1df881750 1.9G 4% /mnt/cryptdemo
    $ df -h /mnt/cryptdemo
    /dev/mapper/cryptdemo 2.0G 71M 1.9G 4% /mnt/cryptdemo
    Terminal window
    sudo umount /mnt/cryptdemo
    sudo cryptsetup close cryptdemo
    lsblk -f /dev/sdb
    # sdb crypto_LUKS 2 ...

    close 只移除 /dev/mapper/cryptdemo,磁盘仍是 crypto_LUKS。本次没有写 /etc/crypttab 和 /etc/fstab,所以重启后不会自动 unlock/mount;生产要:

    /etc/crypttab
    cryptdemo UUID=83c0d76d-... none luks,discard
    # /etc/fstab
    /dev/mapper/cryptdemo /mnt/cryptdemo xfs defaults,nofail 0 0
    • 装机时确认 /boot 是否独立、root 是否 LVM;
    • 20G 盘的 root 默认 16G,够不够用;
    • LUKS 用 --type luks2;
    • luksDump 确认 cipher/PBKDF;
    • open 后先 mkfs 再挂载;
    • 需要自动挂载才写 crypttab/fstab;
    • passphrase 不落盘/不进脚本。
    • 未在 Anaconda 图形界面手动分区(本次用 autopart 结果 + 加盘 LUKS2);
    • 未测试 RAID(autopart --type=raid);
    • 未测试 LUKS2 + LVM on LUKS;
    • 未测试 TPM/NBDE 自动解锁;
    • 未测试 cryptsetup reencrypt 在线换密钥。

    以下截图来自 PVE 上的 RHEL 10.2 实测环境。

    安装后的 df/lsblk 布局
    安装后的 df/lsblk 布局
    LVM 逻辑卷视图
    LVM 逻辑卷视图