Table of Contents
一.磁盘管理
1.本地存储设备的识别
(1)真实存在设备的查看
fdisk -l ##### 真实存在设备的查看
插上u盘后,可以看见:
(2)系统可识别的设备查看
cat /proc/partitions ##系统可识别的设备
但这些设备并不一定都可用。
(3)系统可使用的设备查看
blkid ##系统可使用的设备
(4)挂载设备查看
df ##查看正在挂载的设备
2.设备挂载和卸载
(1)设备挂载
mount /dev/sdb1 /mnt ##挂在设备到指定目录下
查看此时/mnt目录的权限,我们可以看见权限为:
此时root用户具有读写执行权限。我们可以对目录里的内容进行修改。
那如果我们想要只拥有读的权限该怎么做呢?
方法1:挂载设备时将设备只读挂载到指定目录
mount -o ro /dev/sdb1 /mnt ###将设备只读挂载到指定目录
mount ###查看挂载信息
可以看到设备此时是只读的。
方法2:重新挂载时设定权限
mount -o remount,rw /dev/sdb1|/mnt ####重新读写挂载
(2)设备卸载
umount /dev/sdb1 ##卸载指定设备
umount /mnt ###卸载指定目录挂载的设备
但如果此时设备正忙,我们该怎么解决呢?
有两种方法解决。方法1:
fuser -kvm /mnt ###强制退出
umount /mnt ####卸载
方法2:
lsof /mnt ####查看什么进程占用了目录
kill -9 pid ####结束进程
umount /mnt ###卸载
二.磁盘分区管理
1.主分区管理
(1)管理分区
fdisk /dev/vdb ##创建新分区
常用指令:
m ###查看帮助
n ###新建分区
d ###删除分区
p ###显示分区
t ###修改分区功能
w ###保存分区到分区表中
q ###退出
(2)创建新分区
n ###创建分区
MBR分区只能拥有4个主分区:p 。当用户想创建超过四个分区时,只能将其中一个分区作为扩展分区:e,并在扩展分区内创建新的分区——逻辑分区。这样就是将扩展分区作为容器,扩展分区内的逻辑分区大小不能超过扩展分区;并且删除扩展分区时,它内部的逻辑分区也会被删除。
但这样的分区有其上限,不能超过16个;超过16个,系统不识别。并且MBR管理的硬盘单个不能超过2TB。
由于MBR是为32位操作系统设计的,这就限制了它的寻址范围为2的32次方个扇区 ,即2^32=4294967296。目前每个标准扇区的容量为512字节,所以MBR能管理的磁盘空间为4294967296*512=2199023255552Bytes(此为硬盘厂商宣传的2.19TB)=2147483648 KB=2097152 MB=2048 GB=2TB。这也是MBR分区不能管理更大容量硬盘的最根本原因。
p ###察看是否设置成功
wq推出保存。
(3)同步磁盘分区表
partprobe ##同步磁盘分区表
cat /proc/partitions ##查看系统可识别分区信息
(4).格式化分区
但创建出的主分区此时能不能直接使用呢。blkid查看分区是否可用:
可以看到此时设备并不可用。为了让创建的分区可用,我们需要将其格式化。
mkfs.xfs /dev/vdb1 ###将分区格式化
格式化完后,可以看到此时分区可以使用了。
(5).永久挂载
此时的分区可以作为设备挂载到目录了。但我们都知道,挂载并不是永久性的。当计算机重启时,挂载会消失。为了永久挂载,我们可以这么做。
vim /etc/fstab ##修改配置文件,使得可以永久挂载
修改完配置文件后,为了使之生效,需在命令行输入:
mount -a ###使/etc/fstab中的挂载策略生效
2.swap分区管理
(1)swap分区建立
步骤:
1.将一个分区的标签修改为swap
fdisk /dev/vdb
t ###修改分区类型
82 ###swap类型编号,这是msdos磁盘分区下的编号,如果是其他分区类型编号也会不同
p ###查看类型是否成功
wq ###退出保存
2.将分区作为swap分区
将分区标签修改为swap后并不会立即生效。我们只修改了其标签,而系统还未识别。我们需要同步分区表后再进行下一步。
然后:
- mkswap /dev/vdb5 ##将/dev/vdb5这个分区用作swap交换分区
- swapon -a /dev/vdb5 ##激活这个新的swap分区
- swapon -s ##显示swap分区状态
3.永久挂载swap分区
vim /etc/fstab ##编写永久挂载文件
最后 swapon -a ,使得配置文件中的策略生效。
(2)swap分区删除
如果不想启用swap分区,我们可以删除它。
步骤:
1.删除配置文件中的永久挂载
vim /etc/fstab
2.关闭swap分区
swapoff /dev/vdb5 ##关掉swap分区
3.删除分区
觉得前两步清理得不够干净,我们还可以删除该分区。
fdisk /dev/vdb
d ###删除
5 ###选择该分区
wq ###退出保存
前两步无所谓顺序,但最后一步需在最后执行。
(3)当没有磁盘分区,需要添加swap分区时的应急方法
当我们需要sawp分区,但是却没有磁盘分区或硬盘空间不够时,我们可以利用文件方法来应急。
步骤:
1.
dd if=/dev/zero of=/swapfile bs=1M ###以1m速率读写文件 count=500 ###大小,单位为M
2.查看文件大小
3.格式化
mkswap /swapfile ###将文件格式化为swap分区
4.激活
swapon -a /swapfile ###激活swap分区
5.删除该临时文件
- swapoff /swapfile ###关闭swap分区
- rm -fr /swapfile ###删除文件
3.配额管理
如果作为硬盘空间的提供者,你的硬盘大小有限,而不能让用户无终止地写入磁盘内容。此时,我们就需要对硬盘空间进行配额,使用户只能写入规定大小内容的文件。但是注意:配额针对的是设备而不是用户。
步骤:
1.创建设备分区,并格式化
2.
mount -o usrquota /dev/vdb6 /mnt ###给分区设定配额挂载
3.
chmod 777 /mnt ###给mnt目录777权限
必须要在挂载后再给/mnt目录权限,如果先给权限再挂载,则/mnt/目录会被系统撤销一部分权限。
4.
edquota -u student ###修改student用户配额
修改hard 20480=20M,意为使student用户配额20M,其不能写入超过配额的文件。
5.切换到student用户检验一下
dd if=/dev/zero of=/mnt/file bs=1M count=15 ###再mnt目录下创建15M的文件
可以看到确实在mnt目录下写入了15M的文件。
dd if=/dev/zero of=/mnt/file bs=1M count=21 ###再mnt目录下创建21M的文件
但如果创建超过配额大小的文件,则最大只能写入配额大小的文件。
我们也可以查看用户配额:
quota ##查看用户的配额信息
6永久修改配额
步骤:
vim /etc/fstab
写入如下内容
4.luks磁盘加密
如果你想要自己的计算机更加安全,你可以尝试磁盘加密的方法。给磁盘加上加密层,数据的 写入和读取都会经过加密层。同时加密层被破坏时,由于不经过加密层,数据也无法被识别。我们可以使用luks磁盘加密方式加密磁盘。
但是注意:luks加密后由于需要计算加密前后对应的数据,大量占用了硬件资源,使得磁盘速度慢 cpu负载负担大。这是牺牲了性能来换取的安全性。
(1).磁盘加密挂载
步骤:
1.创建一个分区,并将其设为加密类型。
cryptsetup luksFormat /dev/vdb5 ##加密磁盘
查看分区类型
cryptsetup open /dev/vdb5 shuai ##打开加密的盖子,给盖子起名,名字随意。shuai叫做虚拟设备。
此时会让你输入设定的密码。
2.格式化虚拟设备
mkfs.xfs /dev/mapper/shuai ##格式化虚拟设备
3.挂载虚拟设备到目录
mount /dev/mapper/shuai /mnt/ ##挂载设备到/mnt
此时你可以在挂载目录上创建文件,查看文件。
4.关闭盖子
当你操作完后,还需要加密时,你需要把盖子关上。
umount /mnt ###卸载设备
- crypsetup close shuai ###关闭盖子
当我们卸载虚拟设备时,就已经看不到目录里文件的内容了 。但此时虚拟设备还存在,我们需要关闭它。
关闭虚拟设备后,存放虚拟设备的目录内就没有了刚才的虚拟设备。
(2).开机加密自动挂载
如果我们想开机加密自动挂载怎么办呢?按以下步骤:
1.
vim /etc/fstab ##编辑自动挂载文件
2.
vim /etc/crypttab ##编辑解密文件
3.
vim /root/shuaikey ##编写密码
chmod 600 /root/shuaikey ##给这个文件600权限
4. 将加密磁盘和密码存放位置关联起来
cryptstup luksAddKey /dev/vdb5 /root/shuaikey
这样开机时就会自动加密挂载了
重启测试一下:
(3).关闭加密
步骤:
(1) 删除 /etc/fstab和/etc/cryptta文件里面我们刚编辑的内容
(2) umount /pub ##卸载
(3) cryptsetup close shuai ##关闭加密的盖子
(4) mkfs.xfs /dev/vdb1 -f ##强行格式化
此时该分区就不再是加密磁盘了。
(4)修改磁盘分区类型
MBR类型有诸多限制。如果我们想改换磁盘分区类型的话,可以这么做。
parted /dev/vdb ###编辑磁盘
mklable ###更改类型gpt ###更改为gpt类型
q ###退出自动保存
一开始我们的分区类型为dos(MBR)
更改为gpt类型
可以看到已经修改为gpt类型的了。
三.利用脚本自动创建swap分区练习
1.
vim create-swap.sh
2.