Linux系统的分区管理

MBR分区划分

MBR分区时, 一共分为2部分:分别是MBR和磁盘分区。

MBR
主引导记录(Master Boot Record,缩写:MBR),MBR早在1983年IBM PC DOS 2.0中就已经提出,又叫做主引导扇区。之所以叫“主引导记录”,是因为它是存在于驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息。是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。

它由三个部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节,偏移地址0000H–0088H,它负责从活动分区中装载,并运行系统引导程序;第二部分是Partition table区(DPT分区表),占64个字节;第三部分是Magic number,占2个字节。

缺点:在MBR分区表中,一个分区最大的容量为2T。

磁盘分区
在Linux系统中,硬盘分区命名为sda1-sda4或者hda1-hda4(其中a表示硬盘编号可能是a、b、c等等)。在MBR硬盘中,分区号1-4是主分区(或者扩展分区),逻辑分区号只能从5开始。

MBR分区结构大致如下图所示:
在这里插入图片描述

fdisk 是用于管理磁盘分区的实用程序
下面看几个管理磁盘的命令:

fdisk -l   列出磁盘分区信息
在这里插入图片描述
fdisk 后面直接跟磁盘名称表示对该磁盘进行操作,如下:
在这里插入图片描述
然后需要你输入相应的命令对其进行操作,可以输入 m 查看帮助,可以看到都可以使用哪些命令,以及对应的功能:
在这里插入图片描述新建分区操作:
在这里插入图片描述退出时一定要记得保存并退出 wq:
在这里插入图片描述然后还要执行同步分区表的命令:

partprobe

在这里插入图片描述
由于磁盘分区只能分4个主分区,第4个为扩展分区,如果再继续分的话就是在扩展分区中分逻辑分区,如下,我们尝试创建多于4个分区:
在这里插入图片描述
然后用p命令查看分区:
在这里插入图片描述
wq保存退出,并 partprobe 同步分区表。

对分区格式化命令
我们要想使用新建的分区就需要对分区进行格式化,给予分区一个新的文件系统。

mkfs就是对分区格式化的命令,一般在mkfs.后面加上相应的格式,然后再跟要格式化的分区,我们可以看一下可以格式化的文件系统都有那些:
在这里插入图片描述
其中最常用的有以下几个:

  • ext4 是 Red Hat Enterprise Linux 6 的标准文件系统。它非常强大可靠,具有多项可以提高现代工作量处理性能的功能
  • ext2 是常用于 Linux 中的较旧的文件系统。它简单可靠,非常适合小型存储设备, 但是效率低于 ext4
  • vfat 支持包括一系列相关文件系统 ( VFAT/FAT16,FAT32 ),这些文件系统针对较旧版本的 Microsoft Windows 开发 ,在大量的系统和设备上受支持
  • xfs 在 Red Hat Enterprise Linux 7 的标准文件系统其具备数据完全、性能稳定、扩展性强 ( 8eb-1byte ) 、传输速率高 ( 7G/s )

对新建的分区vdb2进行格式化,并将其挂载到 /mnt 目录下:
在这里插入图片描述
可以用命令 df 查看系统中正在使用的设备信息,如下:
在这里插入图片描述
然后我们切换到/mnt目录下,在目录中新建10个文件:
在这里插入图片描述
然后再退出/mnt 目录,并通过 umount 命令把 /dev/vdb2 卸载掉,再查看/mnt目录下的内容,可以发现卸掉之后目录就为空了:
在这里插入图片描述

设定分区方式为gpt

全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区结构。它的推出是和UEFI BIOS相辅相成的,GPT首要的任务就是突破了2.2T分区的限制,最大支持18EB的分区。

为了设定一个分区方式为gpt,我们需要给虚拟机新加一块磁盘,如下:
在这里插入图片描述加完之后fdisk -l 查看新加的磁盘:
在这里插入图片描述
gpt分区对磁盘操作方式会有所不同,可以通过 parted 命令,对新加的磁盘进行操作,如下:
在这里插入图片描述
首先我们输入 help 查看可使用的操作命令列表及对应的功能,如下,已将最常用的几个操作命令加上注释:
在这里插入图片描述
我们新建一个gpt类型的分区表,然后新建分区并显示分区表,如下:
在这里插入图片描述然后我们需要对新建的分区进行格式化,之后就可以使用对其进行挂载了,如下:
在这里插入图片描述
在这里插入图片描述
mount 挂载只是一种临时的挂载方式,系统关闭后再开启,之前的挂载就会失效。因此我们需要一种方式可以实现永久挂载,在 /etc/fstab文件中记录挂载的信息就可以实现永久挂载。用vim编辑器打开该文件,在文件中编辑如下内容:
在这里插入图片描述
然后保存并退出,用 umount 卸载掉,再用 mount -a 命令使/etc/fstab中记录的挂载策略生效:
在这里插入图片描述


swap分区

Swap分区在系统的物理内存(这里应该是运行内存)不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
这样 , 系统就能在主内存中留出空间用于储存当前正在处理的数据 ,并在系统面临主内存空间不足的风险时提供应急溢出。

设置分区为swap分区的具体步骤:

Step1 用fdisk对分区进行操作,然后输入 t 命令将指定分区修改为swap分区标识
在这里插入图片描述
然后 p 显示分区表:
在这里插入图片描述wq保存并退出:
在这里插入图片描述
Step2 同步分区表并格式化分区用作交换区
此处的格式化命令为 mkswap :
在这里插入图片描述
Step3 激活新的swap分区
命令如下:

swapon -a /dev/vdb5

然后可以用下面命令查看linux内存使用情况,可以看到新的swap分区:

free -m

在这里插入图片描述
Step4 停用指定的swap分区
命令:

swapoff /dev/vdb5

在这里插入图片描述


磁盘加密保护

磁盘加密,是指将计算机用户的磁盘进行加密,防止信息泄漏。可以通过分区加密启用数据保密。
LUKS ( Linux 统一密钥设置)是标准的设备加密格式。 LUKS 可以对分区或卷进行加密。必须首先对加密的卷进行解密,才能挂载其中的文件系统。

磁盘加密的步骤:

Step1 对指定的分区进行加密并设置密码

cryptsetup luksFormat /dev/vdb3

在这里插入图片描述
Step2 解锁加密的分区并设定一个新的名字

cryptsetup open /dev/vdb3 任意名称

在这里插入图片描述
将加密分区解锁之后就可以在 /dev/mapper/ 目录下查看到指定名称的设备,如下:
在这里插入图片描述
Step3 将解密的分区格式化,创建新的文件系统
在这里插入图片描述
Step4 然后就可以使用解密之后的设备了,可以对其进行挂载
在这里插入图片描述
Step5 对设备进行卸载,并对解锁的分区重新进行加密
重新加密的命令:

cryptsetup close 名称

在这里插入图片描述
重新加密之后,在/dev/mapper/目录下就没有了刚才的解密之后的设备:
在这里插入图片描述

实现加密磁盘永久挂载的步骤:

Step1 编辑/etc/crypttab文件实现开机自动打开加密设备生成虚拟文件

vim /etc/crypttab

在文件中编辑如下内容:
在这里插入图片描述
Step2 编辑打开设备的密码文件
上一步在/etc/crypttab文件中写的密码存放文件为 /root/password,那么就在该文件中存放密码字符。注:该文件中只能存放密码字符,不能有任何其它字符包括空格。

vim /root/password

在文件中编辑密码,如下:
在这里插入图片描述
为了防止其他人随意打开该文件,看到密码,因此修改该文件权限为 “600”:
在这里插入图片描述
Step3 把密码添加到LUKS中,让密码文件生效

cryptsetup luksAddKey /dev/vdb3  /root/password

在这里插入图片描述
Step4 编辑/etc/fstab文件,实现开机自动挂载

vim /etc/fstab

文件中编辑如下内容:
在这里插入图片描述
该文件的含义前面已经介绍过,此处不再介绍。
以上操作步骤就实现了加密磁盘的永久挂载。

磁盘加密清除的步骤:

如果之前加密的磁盘不需要加密了,这时候就需要磁盘的加密清除,清除之后磁盘就会跟普通磁盘一样了,下面介绍一下磁盘加密清除的步骤:

Step1 把在开机自动挂载的文件中编辑的内容删掉

vim /etc/fstab

Step2 清空开机自动打开加密设备的文件/etc/crypttab

> /etc/crypttab

Step3 把存放密码的文件删除掉

rm -rf /root/password

Step4 卸载掉之前的挂载

umount /mnt/

Step5 把加密的设备关掉

cryptsetup close 名称

Step6 对设备重新格式化

mkfs.xfs  /dev/vdb3

以上步骤操作之后就会将磁盘的加密清除掉了。


磁盘阵列RAID

磁盘阵列(Redundant Arrays of Independent Drives,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。

RAID技术主要有以下三个基本功能

  • 通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。
  • 通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。
  • 通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。

RAID最常用的两个级别
(1). RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。

(2). RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。

创建磁盘阵列的步骤:

在创建磁盘阵列之前要创建多个分区
在这里插入图片描述

Step1 用下面命令创建一个磁盘阵列

mdadm  -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{2,3,5}

在这里插入图片描述
其中各参数的含义分别如下表:

参数含义
-C创建磁盘阵列
-aauto,如果raid不存在,则自动创建
-llevel,raid的等级(raid0, raid1<备份/镜像>)
-n当前激活的设备个数
-x当前空闲的设备个数

Step2 对创建的磁盘阵列进行格式化

mkfs.vfat  /dev/md0

在这里插入图片描述
Step3 可以对磁盘阵列进行挂载使用了

mount /dev/md0  /mnt/

磁盘阵列就创建完成了。

下面再介绍几个磁盘阵列常用的参数,如下:

mdadm -f /dev/md0  /dev/vdb1

-f: faulty, 让磁盘发生错误,破坏磁盘

mdadm -D /dev/md0

-D: 查看raid的状态

mdadm -r /dev/md0  /dev/vdb1

-r:remove,移出磁盘

mdadm -a /dev/md0 /dev/vdb1

-a:add,添加磁盘

mdadm  -S /dev/md0

-S:stop,停止使用raid,然后删除raid里面的分区即可

raid操作示例
可以用 -D 参数,先查看磁盘阵列的状态信息:
在这里插入图片描述
然后我们用下面的命令实时监控磁盘阵列的状态:

watch -n 1 'mdadm -D /dev/md0 | tail -n 7'

在这里插入图片描述
(1). 把激活的/dec/vdb2 破坏掉:
在这里插入图片描述
可以看到 vdb2在毁坏之后,闲置的vdb5就会被激活了。

(2). 把毁坏的磁盘vdb2移除
在这里插入图片描述/dev/vdb2 就被移除掉了

(3). 添加新的磁盘到磁盘阵列中
在这里插入图片描述
(4). 停用正在使用的RAID
使用 -S 参数停用RAID:
在这里插入图片描述


磁盘配额

磁盘配额是一种磁盘空间的管理机制,使用磁盘配额可限制用户或组在某个特定文件系统中所能使用的最大空间。

磁盘配额的作用
Linux系统是多用户任务操作系统,在使用系统时,会出现多用户共同使用一个磁盘的情况,如果其中少数几个用户占用了大量的磁盘空间,势必压缩其他用户的磁盘的空间和使用权限。因此,系统管理员应该适当的开放磁盘的权限给用户,以妥善分配系统资源。

给磁盘配额的具体步骤:

Step1 给磁盘分区
如下,给磁盘分一个大小2G的分区vdb3:
在这里插入图片描述
保存退出并同步分区表:
在这里插入图片描述
Step2 将分区格式化
在这里插入图片描述
格式化成ext4也可以。

Step3 创建一个公共目录,并将设备挂载到该目录上,修改该目录权限
在这里插入图片描述
Step4 激活磁盘配额

quotaon -uv /dev/vdb3

在这里插入图片描述
注意:如果是ext格式的文件系统,则需要先执行的命令 quotacheck -u /dev/vdb3,之后才可以激活磁盘配额。

Step5 配置指定用户的磁盘配额信息

edquota -u 用户名

给student用户进行配额:
在这里插入图片描述
然后会打开如下文件:
在这里插入图片描述
修改里面的配额信息,如下:
在这里插入图片描述
Step6 客户端测试配置的磁盘配额是否生效
(1). 测试文件个数限制
切换到student 用户,然后在/public 目录创建 20 个文件:
在这里插入图片描述
(2). 可使用空间大小的限制
把/public 下的文件全都删除掉,然后用 dd 命令往 /public 下写30M的内容:
在这里插入图片描述dd命令详解:
if ——> input file,of ——> output file,bs ——> block size(每块大小), count提取数据块的个数

quota命令查看当前用户的磁盘使用情况:
在这里插入图片描述
取消磁盘配额的步骤:

Step1 卸载掉配额磁盘的挂载
在这里插入图片描述
Step2 对磁盘重新格式化
在这里插入图片描述
格式化完成之后则取消了磁盘配额。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值