默认情况下,Ubuntu 18.04 在每次启动期间使用 dm-crypt/Swap 加密创建一个随机加密交换。对我来说,这是创建一个 1gb 的交换空间,但我找不到在哪里增加它在每次启动时创建的交换空间的大小。我们如何增加每次引导期间分配的交换大小?我不想切换到静态交换文件。没有/swapfile
或分区。
这似乎是一项新功能,每次系统启动时都会动态创建交换。我怎样才能增加它?
来自/etc/crypttab:
nvme0n1p3_crypt UUID=1e092df8-5c37-4409-8ac8-361402244f69 none luks,discard
cryptswap1 UUID=aba1b825-a77b-4384-a40f-fdc6fdaaced0 /dev/urandom swap,offset=1024,cipher=aes-xts-plain64
从/etc/fstab:
/dev/mapper/cryptswap1 none swap sw 0 0
# swapon -s
Filename Type Size Used Priority
/dev/dm-3 partition 1003004 601088 -2
gparted 不显示任何交换分区。这是唯一的驱动器。
在这里的答案中,建议这样做:
sudo swapoff -a
sudo cryptsetup resize cryptswap1 --size (in sectors)
sudo mkswap /dev/cryptswap1
sudo swapon -a
所以我跑:cryptsetup resize cryptswap1 --size 7812500
。这会导致错误:Device /dev/mapper/mint--vg-swap_1 is too small.
所以我尝试:cryptsetup resize /dev/mapper/mint--vg-swap_1 --size 7812500
这不会产生错误,但不会parted --list; fdisk -l
显示任何变化:
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/cryptswap1: 979.5 MiB, 1027080192 bytes, 2006016 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
并尝试再次运行cryptsetup resize cryptswap1 --size 7812500
产生Device /dev/mapper/mint--vg-swap_1 is too small.
我也尝试过:resize2fs /dev/mapper/mint--vg-swap_1 -s 4G
它产生了:
resize2fs 1.44.1 (24-Mar-2018)
resize2fs: Device or resource busy while trying to open /dev/mapper/mint--vg-swap_1
Couldn't find valid filesystem superblock.
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 54.6M 1 loop /snap/core18/1279
loop1 7:1 0 89.1M 1 loop /snap/core/8213
loop2 7:2 0 89.1M 1 loop /snap/core/8268
loop3 7:3 0 497.4M 1 loop /snap/wickrme/246
loop4 7:4 0 497.2M 1 loop /snap/wickrme/247
loop5 7:5 0 54.6M 1 loop /snap/core18/1288
nvme0n1 259:0 0 465.8G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /boot/efi
├─nvme0n1p2 259:2 0 732M 0 part /boot
└─nvme0n1p3 259:3 0 464.6G 0 part
└─nvme0n1p3_crypt 253:0 0 464.6G 0 crypt
├─mint--vg-root 253:1 0 463.6G 0 lvm /
└─mint--vg-swap_1 253:2 0 980M 0 lvm
└─cryptswap1 253:3 0 979.5M 0 crypt [SWAP]
如果 --size 被忽略,它将使用整个设备。
更新- 基于反馈。 重新启动并确保 mint--vg-swap_1 仍然是 980M。
如果是,请执行以下步骤。-- 首先尝试手动增加容器的大小(我认为没有必要这样做)。您的评论说您正在尝试使交换 4G (+3G),所以:
另一方面,如果 mint--vg-swap_1现在是 4G,那么运行这个(考虑到标头的大小):
参考
这个答案基于 Ubuntu 22.04 LTS
之前没有解决的一件事是,为了增加lvm 交换大小,必须首先减小 lvm 根大小!
(至少当
lsblk
(如上)显示 root + swap 构成了整个加密设备时。)TL;DR(但要备份重要数据!)
在这里,我们减少根 -40G 并增加交换 +40G:
重启后,Ubuntu应该正常启动,swap应该调整大小: