KALI使用LVM逻辑卷进行系统安装并拍摄动态快照

何谓LVM

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。
LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

本文中说的PM就是物理卷

VG就是卷组

LV就是逻辑卷

不了解的可以提前百度以下

如何为KALI安装LVM

目前绝大多数的Linux都已经支持了LVM,在安装界面就可以选择LVM卷的类型进行系统安装,所以本教程同样适用Debian系的其他系统甚至更多系的Linux下面来说以下如何安装

创建必要分区

首先是为启动安装介质,这里就不过多赘述,启动安装介质后,在对磁盘进行分区之前都按照自己的直觉走就可以了

到达对磁盘进行分区这一步后,如过是想使用整个磁盘,而不是使用部分磁盘(一部分给linux,一部分给windows),就可以直接直接选择使用整个磁盘并配置LVM,后面的一路确定就可以了

如果不想使用整个硬盘,可以先选择使用最大空间(是这个意思的选项就可以了),让他先把主要EFI分区和boot分区建立好,因为这俩分区不需要也不推荐放到LV里面,我这里因为是一个空的虚拟磁盘,所以没有使用最大空间那个选项。

点击使用最大空间后选择你想要装KALI的那个磁盘

我这里只有一个虚拟磁盘

然后选择将所有文件放在同一个分区中(先不用管你是不是要将home分配到其他分区,因为后面会把这些分区都删掉)

点击继续

因为我的是bios legacy引导,所以没有EFI分区

到这里后,你会看见已经分配好分区了,你们的分区数量可能会比我的多一些。因为你们的硬盘上面可能还会有一一些windows分区和引导分区,这些分区我们不需要进行任何操作,我们主要操作的是图片里面的这两个分区。

然后我们双击挂载在根目录的分区

然后删除此分区

同样把挂载在swap的分区也删除掉

其他分区千万别动。这个时候如果你还想保留一些空间留给windows,那么你就需要先提前创建一个分区,注意一定不要创建到硬盘的最后,硬盘的最后是用来当pm的,因为pm放中间可能会导致磁盘空间读取不准确的问题,所以最好还是放在磁盘的最后。

创建保留分区(可选)

演示一下创建给windows保留的分区

双击空闲空间,创建一个新分区

然后填写分区大小,再点击继续

这里需要选择开始

然后双击用于

选择不使用此分区,再点击继续,然后双击设定结束

这样就创建好了一个物理分区。当然这个分区是为windows保留的,kali创建好后只需要在windows里把这个分区格式化并挂载上就行了

创建boot分区(如果已经有boot分区了,并且是挂载在boot目录下的,则可以跳过)

双击空闲空间,然后创建一个新分区,分配512MB

继续,后面分区的位置要放在开始

用于:那里我们选择Ext2文件系统(也可以选择Ext4)

挂载点:挂载到/boot

点击分区设定结束完成boot分区的设定

创建VG(卷组)

然后创建我们的PM

我们双击配置逻辑卷管理器,然后提示我们将修改写入磁盘并配置LVM,我们点击是就可以了

然后点击创建卷组

给个名字

选择空闲空间,继续,然后会提示将修改写入磁盘并配置LVM,我们点击是就可以了

创建LV(逻辑卷)

然后创建逻辑卷

先创建一个swap分区,分配1G(1024M),也可以结合自己的需要多分配或者少分配

然后再创建一个挂载根目录的分区,名字为root(自己命名也行),然后可以将所有的或者部分空间;分配给这个分区,默认是分配全部空间,如果后面还想要创建快照,则需要留下至少是root分区一半的空间作为快照分区

点击完成

个性化创建非必要分区(可选)

如果你想把home,var 等目录单独分配分区,则可以以上面相同的方式创建更多的逻辑分区,因为方法向多,不再过多赘述

为逻辑分区分配挂载目录

然后我们需要为逻辑分区分配挂载的目录,这一步是必须的

然后我们可以看见我们刚才创建的root逻辑分区

双击用于

为root分区使用Ext4 日志文件系统

然后将挂载点选择为根目录(/ – 根文件系统),其他默认,然后双击分区设定结束,完成这个分区的设置

下面我们双击swap_1逻辑分区

让他用于交换空间

然后双击分区设定结束,完成这个分区的设定

分区设置完成

至此我们完成了所有的分区设置,接着我们点击完成分区操作并将修改写入磁盘就行了

这里选择是,不然不生效

然后就开始安装了

看,已经安装好了

LVM 快照 — snapshot

创建LVM快照

下面我们就来说一下如何创建快照以及设置动态快照

首先就是打开终端,并进入root模式,我们 lvs 以下可以看见现在有的LV(逻辑卷)

创建快照的指令 lvcreate -L 30G --snapshot --name snap_root /dev/vg0/root

-L        #后面接快照的大小,最好能达到快照对象的一半以上,如果快照空间满了,快照就会立即失效
--snapshot        #指明类型是快照
--name        #后面接快照的名字
/dev/vg0/root        #是快照的对象,也就是需要拍摄快照的那个LV

创建好后再 lvs 以下就可以看见新创建好的快照卷了

vgdisplay可以查看卷组的信息(Alloc是已经使用的空间,Free是还剩余的空间)

配置快照卷的动态扩增

快照卷的动态括在扩增需要快照卷为可读写状态,只读状态的快照卷不能进行扩增

需要修改配置文件: sudo vim /etc/lvm/lvm.conf

在这个文件的最下面填加上这两行

snapshot_autoextend_threshold = 70        #配置快照卷自动增加容量的阈值,当快照卷使用达到70%的时候就会自动增加快照容量
snapshot_autoextend_percent = 20          #配置快照卷自动增加的容量,每次都会增加当前卷大小的百分之20的容量

然后重启一下就可以生效了

看,是不是生效了

快照恢复(文件拷贝和快照合并)

快照恢复对于根目录来说会有点困难,因为根目录是不能卸载的,如果只是很少的文件需要还原,你可以直接挂载上快照卷,去里面找你需要的文件就行了

mount /dev/vg0/snap_root /mnt          #挂载快照卷,后的  /mnt  是挂载点,可以自己创建(mkdir)一个挂载点

如果是大量文件丢失或者系统损坏这种的,我们不可能一个一个去替换文件,但又因为根目录不能卸载,所以我们需要另一个Linux系统进行恢复,可以在U盘中创建一个小型Linux,也可以使用微软的WSL(需要自己编译支持snapshot的内核才行),这里以U盘中的小型Linux作为演示

在U盘启动的Linux中也可以看见LV卷,然后激活VG(卷组)(这里有一个问题,就是在WSL里面可能会出现合并快照卷报错,这个时候可以手动取消激活VG,他会在下一次激活VG的时候自动恢复快照(重启进系统的时候)

命令: vgchange -ay /dev/vg0 #/dev/vg0 是卷组的地址,一般是 /dev/(卷组名)

取消激活的命令是 vgchange -an /dev/vg0

接下来就是一条指令合并快照卷 lvconvert --merge /dev/vg0/snap_root

注意后面接的是的快照卷的地址

再一次 lvs 查看逻辑卷,如果快照卷已经没了,则代表快照恢复成功了,然后只需要重启到系统就可以了

成功了

快照卷的删除

删除快照卷也同样简单

lvremove /dev/vg0/snap        #这里注意对应自己的快照卷,如果不知道快照卷可以用 lvdisplay查看  

结束语

就这些了,大家新年快乐牙,祝新的一年里永远不宕机,白白

评论

  1. 头像
    博主
    Linux
    1 年前
    2023-1-08 22:40:52

    错别字可能有点多,没办法,linux的输入法不好用⌇●﹏●⌇

  2. FightpwnRA
    Linux
    1 年前
    2023-1-10 9:55:59

    祝大家的linux都不要嘎()

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇