(一)swap分区的建立
1.概述
当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。
这个是SWAP 交换分区的作用。 实际上,我们更关注的应该是SWAP分区的大小问题。 设置多大才是最优的。
一般来说可以按照如下规则设置swap大小:
4G以内的物理内存,SWAP 设置为内存的2倍。
4-8G的物理内存,SWAP 等于内存大小。
8-64G 的物理内存,SWAP 设置为8G。
64-256G物理内存,SWAP 设置为16G。
实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置SWAP的值。
2.创建swap分区
2.1 临时激活swap分区(关机后失效)
swap 分区本身也是一个分区,所以需要先创建一个普通分区,再通过修改分区id(分区功能标识)来创建swap 分区。
先创建一个100M的分区
补充:这里m获得的帮助注释
a ##切换分区启动标记
b ##编辑bsd磁盘标签
c ##切换dos兼容模式
d ##删除分区
l ##显示分区类型
m ##显示帮助菜单
n ##新建分区
o ##创建新的空分区表
p ##显示分区表信息
q ##不保存退出
s ##创建新的Sun磁盘标签
t ##修改分区id,可以通过l查看id
u ##修改容量单位,磁柱或扇区
v ##检验分区表
w ##保存并退出
x ##扩展功能
通过“t“修改分区id为82(表中82对应linux swap),
通过p命令查看结果
可以看到vdb1已经为swap分区
partprobe同步分区表(让内核立刻读取新的分区表,识别新的分区)
mkswap /dev/vdb1格式化文件系统为swap格式
通过blkid(查看可使用的设备)命令看到vdb1文件系统格式已经改为"swap“
swapon -a /dev/vdb1##激活启用此swap分区
swapon -s ##查看当前swap分区状态(不显示代表没有swap分区)
swapon -s 等于cat /proc/swaps
2.2永久激活swap分区
需要编辑/etc/fstab文件
添加/dev/vdb1 swap swap defaults o o ##第一列为设备名称,设备为vdb1;第二列为挂载目录的名称;第三列为文件系统类型,此处为swap;第四列为挂载参数为defaults默认;第五列指定该文件系统是否使用dump进行备份(0表示不备份,1表示每天备份);第六列指定该文件系统在开机后使用fsck程序进行磁盘检测的顺序(根文件系统需要指定为1,其他文件系统一般为2,0表示不需要进行磁盘检测)
重启后swapon -s 仍然能看到
2.3使用文件作为swap分区
dd if=/dev/zero of=/swapfile bs=1M count=1000 ##在/目录下生成一个1000M的文件swapfile
mkswap /swapfile ##格式化
swapon -a /swapfile ###激活
swapon -s ##查看
可以看到多了一个swap分区,一个类型为partition,一个为file
删除swap分区
partiton类型的swapoff /dev/vdb1并从/etc/fstab中删除相应记录然后fdisk /dev/vdb并选择“d“删除vdb1
file类型swapoff /swapfile 然后 rm -fr /swapfile
(二)修改分区表类型
传统的MBR分区有多种限制,如最多支持4个主分区,无法创建大于2TB的分区,而GPT分区则不受这样的限制,而且GPT分区提供了分区表的冗余以实现分区表的备份与安全。但fdisk命令不支持GPT分区方式,我们需要使用另一个分区工具parted。
注意:改变分区方式后,原有磁盘中的数据将全部丢失,因此要好好保存自己的数据备份。
mktable(或mklable)+ tab可以看到类型有很多,我们选择GPT形式的
通过fdisk -l命令可以看到分区表类型已经改为GPT形式
(三)磁盘加密LUKS
先提一下“dm-crypt”和“cryptsetup”。“dm-crypt”是 Linux 内核提供的一个磁盘加密功能,而“cryptsetup”是一个命令行的前端(通过它来操作“dm-crypt”)。而luks加密是 dm-crypt 最常用的一种模式。LUKS(linux unified key setup)
cryptsetup是一种设备的映射关系,用它来把一个设备映射成另一个设备,(这个映射的过程需要密码),映射到/dev/mapper目录下。我们只能对新映射的设备进行挂载操作,这样使原设备不会被直接使用,从而达到一种安全效果。
cryptsetup工具加密的特点:
加密后不能直接挂载;
加密后硬盘丢失也不用担心数据被盗;
加密后必须做映射才能挂载。
开始实验:
1.暂时加密
先查看可使用的设备有哪些
本次实验以vdb1为对象
1.1对vdb1加密:
cryptsetup luksFormat /dev/vdb1,然后输入大写的YES还有密码要复杂一点,大于8位,不要是字典顺序
可以看到blkid下vdb1的类型为crypto_LUKS
可以看到不能对vdb1进行挂载
1.2做映射
cryptsetup open /dev/vdb1 weistos (原设备名称加映射设备名称westos)
格式化映射设备mkfs.xfs /dev/mapper/westos
blkid看到可识别新的映射设备,文件系统类型为xfs,接下来我们看能否对映射设备做操作
可以看到能挂载,大家自己可以看看能不能创建删除文件
1.3关闭映射
操作完毕后要关闭映射,先解除挂载,再关闭crytsetup close westos
查看/dev/mapper变为control
2.开机自动挂载
不用每次开机都要解密挂载一次
2.1 vim /etc/crypttab 输入westos /dev/vdb1 /root/westoskey ##记录解密过程
2.2保存密码 在/root/westoskey里
vim /root/westoskey 输入密码westos123
并设置权限chmod 600 /root/westoskey ##只允许文件所有者读写
2.3关联设备和密码
cryptsetup luksAddKey /dev/vdb1 /root/westoskey
2.4设置开机自动挂载
vim /etc/fstab输入**/dev/mapper/westos** /mnt xfs defaults 0 0
##把vdb1挂载到/mnt下,格式化xfs文件系统,一定要注意这里要挂载的是映射设备westos,如果写成vdb1,系统重启起不来,登陆root用户用命令进入/etc/fstab修改回来就好了
查看重启之前的状态
编辑完了之后准备重启看是否生效(生成映射设备westos并挂载在/mnt下)
可以看到能识别并成功挂载
(四)磁盘配额
先将磁盘类型修改为gpt形式并创建一个100M的分区
创建挂载点并挂载(要先挂载再修改权限,如果修改后再挂载权限就会变回去)
mount /dev/vdb1 /public -o usrquota ##添加配额功能
mount查看
quotaon -uv /dev/vdb1 ##开启配额功能
edquota -u zr ##给zr设置配额(10M)
repquota -a ##做限额报表
用zr用户在/public 下建立文件第一5M,第二次11M
可以看到只有10M被存储
永久配额
vim /etc/fstab
参考博客:
swap分区部分:
/tianlesoftware/article/details/8741873
/weixin_42167918/article/details/80543292
/x_r_su/article/details/52957559
cryptsetup部分:
/thread-14738-1-1.html
/super2feng/article/details/53747647
配额部分
/zyq522376829/article/details/47395887