linux学习 lesson16磁盘的加密、配额和LVM

一、磁盘的加密

磁盘加密的定义:

众所周知,磁盘里的数据都是非常重要的。为了保护磁盘数据要进行磁盘加密。在RHEL系统中,可以使用cryptsetup工具对磁盘进行加密操作,再创建文件系统,这样强力破锁也会伴随着数据的直接销毁,实现数据的安全性。

1.命令方法加密

1)加密格式化:必须在卸载状态

  cryptsetup luksFormat /dev/vdb1  

在这里插入图片描述
大写的YES。
在这里插入图片描述
加密成功!

2)解密

cryptsetup open /dev/vdb1 名字                     ##解密为xxx文件,此文件存放于/dev/mapper/

在这里插入图片描述在这里插入图片描述

3)添加文件系统

mkfs.xfs /dev/mapper/kris                                                             ##添加文件系统

在这里插入图片描述

4)测试

挂载

将其挂载并挂载目录里touch文件。
在这里插入图片描述
可以看到文件显示

关锁

关锁之前先解挂(umount)
在这里插入图片描述
关锁cryptsetup close /dev/mapper/kris
在这里插入图片描述
文件不见了
在这里插入图片描述
kris文件也消失。

开锁

那么现在怎么还能看到创建的文件呢?没错,就是再开锁。
cryptsetup open /dev/vdb1 名字
在这里插入图片描述
出现了!

2.开机自动加密

step1:vim /etc/crypttab ###将文件关联
文件里编辑:解密后名字 解密设备文件 密码位置
在这里插入图片描述

step2:vim /root/kriskey ###记录密码
在这里插入图片描述

step3:

   chmod 600 /root/kris   ###改变权限增加安全性

step4:cryptsetup luksAddKey /dev/vdb1 /root/kriskey ###添加加密解密
step5:vim /etc/fstab
在这里插入图片描述
检测:reboot后虚拟机可启动,并df挂载成功
在这里插入图片描述
错误:reboot后,虚拟机起不了。因为解密后的文件是一次性的。
改错:在进系统时,按
删除r后,改为rw rd.break
在这里插入图片描述
按<ctrl+x>切换到单用户
chroot /sysroot/ 进入真实的根目录
在这里插入图片描述
vim /etc/fatab/
在这里插入图片描述
删除或者注释自动挂载行 wq退出保存
命令行输入两次exit+回车 重启。并重新进行开锁挂载。
3.恢复:

vim /etc/crypttab
vim /etc/fstab
cryptsetup close kris
mkfs.xfs /dev/vdb1 -f
rm -fr /root/kris

在这里插入图片描述

二、磁盘配额

为什么要配额呢?
配合:分配额度,为了约束用户在磁盘中写入数据的大小。配额是针对于分区的,因为用户只有在此分区里写的数据会被限制。

权限(先挂载,再设置挂载目录权限。否则会覆盖)
chmod 1777 /public/

开启

mount  -o usrquota /dev/vdb1 /public                 ##开启usrquota 并挂载vdb1到public下

mount查看状态

在这里插入图片描述

编辑限额文件

edquota -u student

编辑内容:限制最大容量为20M(20480k)

 设备名           已用大小  软件限制警告  用户能写入设备的最大容量     用户在设备的文件个数   文件个数软限   最多可建多少文件
Filesystem        blocks       soft          hard                       inodes          soft       hard

在这里插入图片描述

测试

step1

在这里插入图片描述

step2

 dd if=/dev/zero of=file bs=1M count=10
                     ^       ^        ^
                  文件名称 单位大小   单位个数

在这里插入图片描述

当大小为10M和20M时,文件创建成功。22M的时候因为过大超过配额而报错。

永久设定

以上操作的挂载依然是临时的重启之后不会生效,如果要永久需要修改fstab文件。

 vim /etc/fstab

/dev/vdb1 /public xfs defaults,usrquota 0 0

三、LVM

1.LVM的介绍

lvm :Logical Volume Manager(逻辑卷管理)是可以使硬盘无限扩容:

PV(物理卷):物理卷在逻辑卷管理系统最底层,可谓整个物理硬盘或实际物理硬盘上的分区。

VG(物理卷组):卷组建立在物理卷上,一卷组中至少要包括一些物理卷,卷组建立后可动态添加卷到卷组中,一个逻辑卷管理系统工作中可有多个卷组。

LV:逻辑卷建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可动态拓展或缩小空间

PE(物理拓展,lvm最小的存储单元): 物理分区是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入vg后,pe的大小自动更改为vg中定义的pe大小。

下面一张图片表现各个部分关系:
在这里插入图片描述

2.安装LVM

首先确定系统中是否安装了lvm工具:

 rpm -qa|grep lvm

在这里插入图片描述
如果命令结果与上例相似,说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安装LVM管理工具,则需要从网络下载或者从光盘装LVM rpm工具包。

3.建立LVM分区

监控命令

watch -n 1 'pvs;echo ==;vgs;echo ==;lvs;echo ==;df -h /mnt'

pvs |pvdisplay #查看物理卷
vgs |vgdisplay #查看物理圈组
lvs |lvdisplay #对逻辑卷设备进行查看
在这里插入图片描述

建立LVM分区

删除原有的分区。新建分区并使用t切换格式,接着l列出所有格式。
找到LVM格式。

在这里插入图片描述
在此处linux LVM是我们要选择的,他的代号是8e。在命令行输入代号转换格式。
在这里插入图片描述
pvcreate /dev/vdb1 #把物理分区做成物理卷
在这里插入图片描述
vgcreate vg0 /dev/vdb1 #用制作好的/dev/vdb1这个物理卷做成一个物理卷组
在这里插入图片描述
lvcreate -L 300M -n lv0 vg0 #在vg0组中建立出lv0设备 -L 指定设备大小 -n 指定设备的名字lv0
在这里插入图片描述

mkfs.ext4 /dev/vg0/lv0 ##格式化为ext文件
在这里插入图片描述
mount /dev/vg0/lv0 /mnt/ ##将设备挂载
在这里插入图片描述
看到了mnt size变成了283M 这是因为换算方法不同。一个是1/1024一个是1/1000.

4.拉伸

vg够用

lvextend -L 1800M /dev/vg0/lv0 ##将设备拉伸到1800M
在这里插入图片描述
lv size变为1000M

vg不够用

如果要扩大到2000M呢?那我们的vdb1显然是不够用的。
fdisk /dev/vdb ##建立新lvm磁盘
在这里插入图片描述

partprobe同步分区表
pvcreate /dev/vdb2              ###把物理分区做成物理卷
vgextend  vg0 /dev/vdb2          ###用制作好的/dev/vdb2这个物理卷做成一个物理卷组

在这里插入图片描述
在这里插入图片描述
VG变成了2G了。加盘成功。

5.LVM压缩

umount /mnt/ 先卸载
e2fsck -f /dev/vg0/lv0  ##看看占用了多少(最小能缩小到多少)##必须查看
为了不使文件遭到破坏压缩大小必须大于此值。不查看无法进行下面步骤。

在这里插入图片描述
resize2fs /dev/vg0/lv0 ##缩小文件系统

必须先缩小文件系统,保护文件

在这里插入图片描述
mount /dev/vgo/lv0 /mnt/ ##挂载
lvreduce -L 1000M /dev/vg0/lv0 ##将硬件设备缩小。

在这里插入图片描述

删除pv

在这里插入图片描述
在图中监控可以看到vdb2是完全闲置的,那么我们就可以将它拿出VG。

vgreduce vg0 /dev/vdb2

在这里插入图片描述
想要拿出一个不为空的pv怎么办?
先将其内容转移

vgextend vg0 /dev/vdb2 ##先将vdb2重新拉回
pvmove /dev/vdb1 /dev/vdb2 ##将文件移动

在这里插入图片描述
此时vdb2闲置可以将其拿出VG。

vgreduce vg0 /dev/vdb1      ##分解vdb1和vg

在这里插入图片描述

将pv删除

pvremove vg0 /dev/vdb1      ##删除vdb1

在这里插入图片描述

6.磁盘快照

  touch /mnt/file            ###在原文件/dev/vg0/lv0挂载/mnt状态下

在这里插入图片描述

  lvcreate -L 100M -n lv0backup -s /dev/vg0/lv0 #制作一个容量为50M的快照lv0backup

在这里插入图片描述

  mount /dev/vg0/lv0backup /mnt/ 同步到文件系统
  ls /mnt 

快照挂载文件依然在。
在这里插入图片描述

删除快照里/mnt的所有文件。

 rm -fr /mnt/*
 ls /mnt 

在这里插入图片描述

  umount /mnt                                    ##卸载快照
  lvremove /dev/vg0/lv0backup                    ##删除快照

在这里插入图片描述
lvcreate -L 100M -n lv0backup -s /dev/vg0/lv0 ##新建快照
mount /dev/vg0/lv0backup /mnt/ ##挂载新快照
ls /mnt
发现文件还在。
在这里插入图片描述

此实验证明,快照建立之后磁盘里内容不会被更改。只是被删除的快照内容。

7.删除LVM可扩展磁盘分区

umount /mnt/

lvremove /dev/vg0/lv0backup #删除快照

lvremove /dev/vg0/lv0 #删除lv0

vgremove vg0 #删除vg0

pvremove /dev/vdb{1…2} #删除物理分区
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38864155/article/details/83379248