在Lvm和加密文件系统下增加Ubuntu 18.04中的交换


22

我做了Ubuntu 18.04 Desktop的全新安装。

我使用了图形安装程序,并选择了“为安全性加密新的Ubuntu安装”。

默认情况下,它使用LVM并为交换创建分区,而不是文件。下面是sudo swapon -s结果:

eviatan89@leviatan89-K55VD:~$ sudo swapon -s
Filename                Type        Size    Used    Priority
/dev/dm-2                               partition   1003516 999448  -2

我需要增加大小,因为我在RAM上运行不足时遇到很多问题。

出于好奇,将Cassandra和Firefox与多个打开的选项卡(包括YouTube)一起使用时会出现问题。我的系统有6GB的RAM。

非常感谢你的帮助!



1
如果我们可以使分区更大,我在徘徊。LVM应该使它变得容易,对吗?有人尝试过吗?使用此选项找不到任何答案。
AlikElzin-kilaka

我尝试使用disks应用程序调整分区大小,但该选项不可用。甚至在我“停止”它之后。我还尝试从拇指驱动器引导,该驱动器不会在硬盘驱动器上挂载任何东西,但是resize选项不适用于非LVM分区。可能是因为“主”分区被锁定了吗?解锁后,该选项仍然不可用。
AlikElzin-kilaka

@ AlikElzin-kilaka:是的,您需要使用它kpvm来调整swap音量,确实,这非常容易。
Dan Dascalescu

@DanDascalescu 扩展逻辑卷......是我的禁用swap_1分区,所以是减少逻辑卷...root。该怎么办?
Bojan P.

Answers:


29

最简单的解决方案是添加交换文件。如果您已经在对根文件系统进行加密,那么我就不用担心加密的交换文件了,这只是有点困难,但是速度较慢。交换文件的优点是您可以稍后将其删除以重新获得磁盘空间。磁盘已经加密!

步骤很简单。首先,制作文件。例如,这将产生1GB的新交换空间:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k

of=/swapfile通知dd把新的交换文件/swapfile。您可以随便叫它。您也可以添加多个交换文件。对于最新的Linux内核,速度与交换分区相同。

然后,您需要将交换文件格式化为交换空间,如下所示:

sudo mkswap /swapfile

该命令将为您提供一些输出,例如:

Setting up swapspace version 1, size = 1048576 KiB

no label, UUID=83352590-ef57-49f5-84c4-7fb847e4e4e0

这就是您的新交换文件。最后,您需要使用以下命令在计算机上激活交换:

sudo swapon /swapfile

现在,sudo swapon -s应该同时显示交换分区和交换文件。

然后,我建议通过如下更改权限来增加一些安全性:

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

如果到目前为止一切正常,则可以通过/etc/fstab使用喜欢的编辑器添加以下行来永久添加交换文件:

/swapfile       none    swap    sw      0       0

当然,您可以添加多个交换文件。您可以使用删除交换文件sudo swapoff /swapfile

希望这可以帮助。


2
谢谢!有效。这是我用来添加4G交换文件的dd命令:sudo dd if = / dev / zero of = / swapfile bs = 1024 count =
4096k

为什么是1024k?我的直觉是说那是1兆字节,不是演出。
grofte

4
块大小参数“ bs”以字节为单位。因此,1024k或1百万个1KB块的计数为1 GB。
Martin W

由于OP使用LVM,这将是更容易简单地调整swap音量使用kpvm
Dan Dascalescu

@DanDascalescu ...除非容易OP宁愿不安装KDE库单单这个问题
törzsmókus

3

添加到最上面的答案。由于我没有任何评论的声誉。道歉。

如果您试图增加交换空间并且已经分配了交换空间。

警告:关闭使用交换空间的应用程序。

首先,执行此操作,否则您将收到错误消息

sudo swapoff -a

然后按照上述说明进行操作。

同样,上述过程将擦除以前的交换空间,因此,如果您有2 Gig的交换空间,并且想要额外的6 Gigs,则必须分配一个新的9 Gigs交换空间。或者将交换文件命名为与其他交换文件不同的名称。

sudo dd if=/dev/zero of=/swapfile2 bs=1024 count=6144k

错误:

~ $sudo dd if=/dev/zero of=/swapfile bs=1024 count=6144k                     
dd: failed to open '/swapfile': Text file busy

注意:这是对@Martin W 答案的建议扩展


使用LVM,您不需要交换文件。您可以使用轻松地调整swap音量大小kpvm
Dan Dascalescu

1

请注意,如果您的安装使用LVM,则可能已经有交换卷。使用检查kvpm。如果不是这种情况,请按照以下简要步骤创建新的4GB交换文件。首先使用交换空间关闭所有应用程序(或重新启动计算机)。然后:

sudo swapoff -a                                    # Turn off all swap space.
sudo rm /swapfile                                  # Delete current swap file.
sudo dd if=/dev/zero of=/swapfile bs=1G count=4    # Make a new 4GB swap file.
sudo chown root:root /swapfile                     # Set owner to root, group root
sudo chmod 0600 /swapfile                          # Set permission to root
sudo mkswap /swapfile                              # Convert file to swap format
sudo swapon /swapfile                              # Enable swap space

运行htop或其他系统监视器,以检查新的交换是否有效。如果一切看起来都不错,请通过将以下行添加到来使交换文件永久存在/etc/fstab

/swapfile       none    swap    sw      0       0

如果我需要12GB的交换空间,我只需要更改count = 12288吧?
user_6396

1
实际上,4096*3=12288
Alexis

使用LVM,您不需要交换文件。LVM可以很容易地调整swap音量使用kpvm
Dan Dascalescu

0

默认情况下,它使用LVM并为交换创建分区,而不是文件。

那实际上不是一个分区。而是LVM(逻辑卷管理)卷。您可以使用kvpm以下命令查看LVM卷:

带有交换量的kpvm屏幕截图

因此,对您的问题的正确答案不是创建另一个交换目标(交换文件),而是使用kvpm以下方法来调整交换卷的大小:右键单击该swap卷,然后选择Extend logical volume

如果该选项不可用,则可能需要先减小另一个卷的大小。


zfs在ubuntu上使用时可以使用19.10吗?
AlikElzin-kilaka

1
扩展逻辑卷...对于我的swap_1分区是禁用的,因此减少逻辑卷...对于也是禁用的root。该怎么办?
Bojan P.

-1

如果您运行的是薄荷19.X,请执行以下一些简要步骤:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=10240k # make 10G swapfile
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile
sudo mkswap /swapfile

编辑 /etc/fstab

注释掉一行: /dev/mapper/mint--vg-swap_1 none swap sw 0 0

添加行: /swapfile none swap sw 0 0

然后重启。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.