如何对linux系统进行磁盘管理

为什么对磁盘进行管理

  1. 存储是每个计算机系统的基本需求。
    Red Hat Linux 提供了一些强大的工具,它能在大量的场景中管理多种类型的存储设备。

  2. 磁盘管理是一项计算机使用时的常规任务,它以一组磁盘管理应用程序的形式提供给用户。
    它们位于"计算机管理"控制台中,包括查错程序和磁盘碎片整理程序以及磁盘整理程序。

磁盘的管理

本地存储设备的识别

fdisk 是用于管理磁盘分区的实用程序
fdisk -l   #查看系统中真实存在的设备
cat /proc/partitions#查看能被系统识别的设备
blkid  #查看系统可使用的设备,查看系统中磁盘的格式
df   #查看系统正在挂载使用的设备
df -H #查看所有已经挂载的使用情况

图示:
1.
在这里插入图片描述

在这里插入图片描述2.
在这里插入图片描述3.在这里插入图片描述4在这里插入图片描述5在这里插入图片描述6在这里插入图片描述7在这里插入图片描述
在这里插入图片描述8
在这里插入图片描述在这里插入图片描述
注意:

  1. 系统中真实存在的不一定能被系统识别。
  2. 能被系统识别的不一定可用,想象windows下U盘有时候被识别,但是提示不可用。可能因为 blkid 和系统的软件不能对接。
  3. 系统中可用的,不一定是正在用的。

设备的挂载和卸载

设备名称

(1)/dev/xdx

/dev/hd0; /dev/hd1    
/dev/sda1 /dev/sdb1  s代表STAT 磁盘为串行接口。d代表device  a代表one 磁盘接口还有一种ide 并口形式。
/dev/vda /dev/vdb   在虚拟机里的磁盘为此格式。
 

(2)/dev/sr0 光驱 包括/dev/cdrom

(3)/dev/mapper/* 虚拟设备

设备的挂载

mount     设备                       挂载点目录
mount  /dev/sdb1    /mnt  #挂载/dev/sdb1(一般为u盘)到/mnt下
mount  -o ro /dev/sdb1 /mnt #只读挂载 ,可用mount查看只读情况
mount -o remount,rw /dev/sdb1 或者/mnt    #重新读写挂载
mount  #查看挂载信息

只有root可以对设备进行挂载
在这里插入图片描述

设备的卸载

umount /mnt 或者 /dev/sdb1

解决设备正忙情况

设备正忙情况指的是当你要卸载某个设备,如u盘时,由于U盘正在使用,提示不可卸载,因为target is busy 。
在这里插入图片描述

解决方法一:

fuser -vm 设备挂载点目录 或者设备目录 # 查看设备被使用的情况,解决时不必执行
fuser -kvm  设备挂载点目录  
umount 设备挂载点目录

在这里插入图片描述在这里插入图片描述在这里插入图片描述
方法二:

 lsof 设备挂载点目录    # lsof /mnt   #此时显示警告不影响
 kill -9 设备的 PID
 umount 设备挂载点目录 

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

磁盘的分区

磁盘的一些基础知识,已经在硬件相关分类专栏中写过,这里不再赘述。
本文将一些重点知识再记录一次,加深理解。

磁盘分区的基础知识

  1. 主引导(mbr)是什么?
    以windows系统为例,启动项在c盘,按下电源键之后,磁盘开始转动,但是磁盘怎么能知道自己怎样去找到c盘,即如何启动电脑呢?
    这就需要用到主引导,它告诉磁头应该去读c盘的信息。主引导在0磁道的第一扇区。

  2. 0磁道1扇区的信息

大小:512字节

512=446   +                  64      +                                      2
^
mbr                   mpt(主分区表)                 55aa  (硬盘的有效性标志)

3.硬盘分区表

64字节
1个分区占用16个字节
1块硬盘上最多划分4个主分区。 
mbr(dos)单个分区大小不能超过2t,它包括主分区+扩展分区,总个数应该小于等于16。
扩展分区是个容器,里面装着逻辑分区,当扩展分区(容器)损坏后,里面的东西也会损坏。扩展分区容器在第四个分区的位置。
gpt 分区可分最多128个分区

mbr 分区的步骤

此实验在虚拟机中做

fdisk  /dev/vdb   vdb为虚拟机里的硬盘

图示:

此命令查看系统的硬盘信息
在这里插入图片描述开始分区:

在这里插入图片描述
在这里插入图片描述![在这里插入图片描述](https://img-blog.csdnimg.cn/2019110515091365.png在这里插入图片描述在这里插入图片描述在这里插入图片描述

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

常用参数及其说明:

d删除某个分区
n新建分区
p显示分区信息
q退出分区界面
t修改分区id,修改分区的类型
w保存分区表信息到硬盘
partprobe  #同步分区表,建议分区完后执行此命令,否则可能不能被系统识别

改变分区表记录方式

将原来的mbr格式改变成gpt格式,改变格式会破坏掉原格式下的数据

parted /dev/vdb
输入
mklabel
gpt
fdisk -l 
fdisk  /dev/vdb  #再分区时,采用gpt格式。

在这里插入图片描述

给设备安装文件系统

1.装文件系统也就是把分区格式化,只有分区格式化后分区才能被使用。
先格式化再挂载,df才能查得到。

格式化(format)是指对磁盘或磁盘中的分区(partition)进行初始化的一种操作,这种操作通常会导致现有的磁盘或分区中所有的文件被清除。

2.三 种文件系统类型:
ext3 rhel5及之前的版本 最多支持32TB的文件系统和2t文件,实际2tb文件系统,16G文件
ext4 rhel6 1 EB 16TB
xfs rhel7 18EB 9eb 7G/s 4G/s
3. 实现步骤

设置临时生效

df # 查看当前挂载状态

mkfs.xfs /dev/vdb2 #格式化此分区
在这里插入图片描述

mount /dev/vdb2 /mnt #将分区挂载在一个上才能生效
在这里插入图片描述

df # 查看此时挂载状态

umount /mnt 卸载,不影响下一个实验的效果
在这里插入图片描述

设置永久生效

reboot之后挂载依然生效

1. vim /etc/fstab
添加
设备       挂载点       文件系统    挂载参数    是否备份     是否检测
/dev/vdb1     /mnt        xfs    defaults       0       0
2. mount   -a  激活设置  
3. df    查看挂载

图示:
vim /etc/fstab
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

swap分区管理

什么是swap分区

Swap分区在系统的物理内存(这里应该是运行内存)不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
swap分区可以看成物理硬盘的缓存区。

计算机用户会经常遇这种现象。例如,在使用Windows系统时,可以同时运行多个程序,当你切换到一个很长时间没有理会的程序时,会听到硬盘“哗哗”直响。这是因为这个程序的内存被那些频繁运行的程序给“偷走”了,放到了Swap区中。因此,一旦此程序被放置到前端,它就会从Swap区取回自己的数据,将其放进内存,然后接着运行。

swap分区的建立

临时建立

划分分区并设立分区id 为82

在这里插入图片描述

格式化建立的swap分区,swap分区才能生效。

mkswap /dev/vdb6 

激活swap分区

swapon -a /dev/vdb1

查看swap 分区

swapon -s

在这里插入图片描述

永久建立

reboot之后还是swap分区

vim /etc/fstab
添加:
/dev/vdb1  swap(类型)  swap  (用途) defaults   0  0

在这里插入图片描述reboot之后
在这里插入图片描述

脚本形式自动化建立swap分区

vim /bin/create_swap.sh

添加
在这里插入图片描述

chmod +x /bin/create_swap.sh
在这里插入图片描述

swap分区的删除

vim /etc/fstab 删除里面的内容
在这里插入图片描述
swapoff /dev/vdb1 关闭swap分区

swapon -s 再查看时没有了
在这里插入图片描述

配额管理

配额是什么

配额即设置额度。配额是针对分区的。

举例理解:
当一块100M的硬盘有5个用户使用时,每个用户平均分配硬盘大小。使每个用户能使用的大小是20M。
此时应对设备设定配额,而不是对用户。
当某一用户写入的大小超过20M时,会报错。
如你写的是45,系统给你能给的最多的20M。

临时设置配额

由于分区之后没有对/vdb6进行格式化,因此先格式化。
在这里插入图片描述

建立一个挂载目录 mkdir /public

建立一个主分区 /dev/vdb5

mount -o usrquota /dev/vdb5 /public #挂载分区
在这里插入图片描述

chmod 777 /public #设置权限 给文件设置权限应在设备挂载好之后设置,否则当挂载上之后,会恢复为默认的

edquota -u student 设置student用户可使用的额度

在这里插入图片描述在这里插入图片描述mount查看一下

在这里插入图片描述在这里插入图片描述
测试:

su - student

dd if=/dev/zero of=/public/studentfile bs=1M count=200

超过额度,会报错。
在这里插入图片描述

永久设置配额

vim /etc/fstab
添加
/dev/vdb5  /public  xfs defaults,usrquota 0 0

永久之后,reboot之后,只需重新挂载就可使用。

磁盘加密

磁盘加密是什么?(图解)

LUKS(Linux Unified Key Setup)为Linux硬盘加密提供了一种标准,操作简单,只有在挂载磁盘时需要输入密码,在写入和读取磁盘时不需要。

如图所示:
在这里插入图片描述

磁盘加密的优缺点

优点:增加了系统的安全性。

缺点:会降低磁盘的读写速度,增大cpu的负载 。
以牺牲系统性能为代价,增加系统安全性。 因此应该对核心磁盘进行加密。

磁盘加密的实现步骤

  1. df 查看设备是否挂载,如果挂载的话,就先卸载。

  2. cryptsetup luksFormat /dev/vdbx #给某一磁盘设备为加密类型,给设备盖上盖子。
    在这里插入图片描述

  3. blkid #查看设备类型
    在这里插入图片描述

  4. cryptsetup open /dev/vdbx westos #打开盖子,并且给盖子随便起一个名字

  5. ll /dev/mapper/westos 查看虚拟设备
    在这里插入图片描述

  6. mkfs.xfs /dev/mapper/hello #格式化虚拟设备
    在这里插入图片描述

  7. mount /dev/mapper/hello /mnt/ 挂载设备
    在这里插入图片描述9.在这里插入图片描述

8. touch /mnt/file{1..10} #在设备里添加文件
在这里插入图片描述
8. umount /mnt/ #使用完毕卸载设备
9. df
10. cryptsetup close hello 关闭盖子
在这里插入图片描述

当再次挂载时,需要密码,
在这里插入图片描述挂载上就可随意操作。
cryptsetup open /dev/vdbx disk #再想用设备时,再打开盖子,此时的名字可以随便起,和之前无关。
不打开盖子,直接mount会报错。

在这里插入图片描述

mount /dev/mapper/disk /mnt #再挂载

加密磁盘的开机自动挂载

当磁盘是加密的时,系统启动时不能自动挂载。
因为在‘打开盖子’时需要输入密码,才可以使用。
可以使用加密设备自动挂载,使加密磁盘开机挂载。

实现步骤:

1

 vim /etc/fstab 添加挂载策略
添加  
/dev/mapper/westos       /mnt     xfs       defaults    0    0

在这里插入图片描述

vim /etc/crypttab   编辑解密文件
添加
westos /dev/vdbx   /root/westoskey
vim /root/westsokey  #此文件名字可以随便起 这是密码文件
添加密码  密码大于等于82019westos

cryptsetup luksAddKey /dev/vdbx /root/westoskey #开机的时候,自动读取上面的几个文件,实现自动挂载

5.进行reboot测试 df 查看是否自动挂载

在这里插入图片描述

注意
上述三个文件,只要出现错误,可能会导致系统启动失败

删除加密磁盘的自动挂载

1. vim   /ect/fsatb #删除此文件与加密有关内容
2. vim /etc/crypttab  #删除此文件与加密有关内容
3. cryptsetup luksRemoveKey /dev/vdb3  /root/westoskey
彻底删除加密设备,只删设备,设备里面的文件会被破坏,因为没有办法进行解密。
4. umount /mnt 卸载
5. cryptsetup close hello
6. mkfs.xfs  /dev/vdb3  -f  强制格式化
7. partprobe #同步分区表

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值