linux磁盘管理及LVM

一、磁盘

1. 组成结构

  1. 硬盘有数个盘片,每盘片两个面,每个面一个磁头
  2. 盘片被划分为多个扇形区域即扇区 ,每个扇区存放512字节的数据,硬盘的最小存储单位
  3. 同一盘片不同半径的同心圆为磁道
  4. 不同盘片相同半径构成的圆柱面即柱面
  5. 公式: 存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
  6. 信息记录可表示为:××磁道(柱面),××磁头,××扇区

我们知道,每个磁盘有两个面,每个面都有一个磁头,习惯用磁头号来区分。扇区,磁道(或柱面)和磁头数构成了硬盘结构的基本参 数,帮这些参数可以得到硬盘的容量,
在这里插入图片描述

2.磁盘类型

  • IDE:并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被 SATA 所取代。
  • SATA:抗干扰性强,支持热插拔等功能,速度快,纠错能力强。
  • SCSI:小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等。(虚拟机常用)
  • SAS:是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到 6Gb/s。
  • 光纤通道:光纤通道磁盘大大提高了多磁盘系统的通信速度。热插拔、高度宽带、远程连接、连接设备数量大是光纤通道的主要特性。

3. 磁盘分区及MBR(主引导分区)

3.1 磁盘分区结构

  • 分区分为主分区和扩展分区
  1. 主分区和扩展分区共有四个
  2. 分区序号为1-4
  3. 扩展分区可以再划分一个或多个逻辑分区
  4. 逻辑分区的分区号始终从5开始

3.2 MBR

  • 位置位于第一块磁盘的第一个扇区
  1. MBR中包含信息为硬盘的主引导程序和硬盘分区表,总共512字节,前446字节是主引导记录分区表保存在MBR扇区中的第447-510字节中,每个表项16字节,共64字节
  2. 硬盘的顺序号,以字母a、b、c……表示
    分区的顺序号,以数字1、2、3……表示。主分区从1-4,第一个逻辑分区始终从5开始。
    第一块硬盘第一个主分区就为:sda1 一次类推
    在这里插入图片描述

二、管理磁盘分区

1. 磁盘文件类型

  1. XFS文件系统
  • 存放文件和目录数据的分区
    高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间。
    CentOS 7系统中默认使用的文件系统
  1. 交换文件系统-----SWAP
  • 为Linux系统建立交换分区,防止物理内存突然被占满,导致系统崩溃,可以临时充当物理内存使用
    但也只做应急备份,性能远不如物理内存
  • 一般设置为物理内存的1.5~2倍
  1. Linux支持的其他文件系统类型 :EXT4、FAT32、NTFS、 LVM

2. 管理磁盘分区

命令格式:
查看磁盘信息:

fidisk  -l  [磁盘]

创建磁盘分区:

fdisk /dev/磁盘

进入交互模式后的常用命令

  • m:获取帮助菜单
  • n:新建分区
  • p:查看分区情况
  • d:删除分区
  • t:变更分区的类型
  • w:保存分区操作并退出
  • q:不保存分区操作并退出

#######################################################################
磁盘信息
在这里插入图片描述
查询信息解释

  • Device(设备):分区的设备文件名称。
  • Boot:是否是引导分区。若是,则有“*”标识。
  • Start:该分区在硬盘中的起始位置(柱面数)。
  • End:该分区在硬盘中的结束位置(柱面数)。
  • Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节。
  • Id:分区对应的系统 ID 号。例如,83表示Linux中的XFS分区或EXT4分区、8e表示LVM逻辑卷。交换分区是82
  • System:分区类型。

1. 创建磁盘分区


创建分区步骤
fdisk /dev/磁盘
n
	--> p 主分区、e 扩展分区、l 逻辑分区
		--> 设置分区:1  (范围1-4,如按 Enter 键接受默认值)
			--> 设置柱面序列 分区起始大小:直接按 Enter 键接受默认值
				--> 设置分区大小:+20G  (指定大小为 20GB,如按 Enter 键接受默认值表示所有空间)
					--w(保存分区配置)

在这里插入图片描述

2. 格式化磁盘分区

刚创建的分区是不能立即使用的,需要格式化创建文件系统后,再挂载才能使用

格式化命令:

mkfs -t 文件系统类型 分区设备
mkfs.文件系统类型 分区设备

在这里插入图片描述

3. 挂载/解挂硬盘

mount  [-t 类型]  存储设备  挂载点目录
mount  -o loop  ISO镜像文件  挂载点目录

-t:用于指定文件系统类型,通常可以省略,由系统自动识别
-o:挂载参数列表,以英文逗号分隔;如用来描述特殊设备,用loop指定

卸载已挂载的文件系统
卸载前提:挂载的设备或者目录没有被在使用中,要先退出挂载目录

umount [-lf] 存储设备目录或者挂载点目录

-l 表示解除正在繁忙的文件系统
-f 表示强制

在这里插入图片描述

3.1 设置自动挂载

设置文件系统的自动挂载
由于通过mount命令挂载是临时的 重启后就没了,所以可以选择修改vim /etc/fstab文件自动挂载
Linux 操作系统在每次开机时,会自动读取/etc/fstab文件的内容,自动挂载所指定的文件系统。
在这里插入图片描述

/etc/fstab文件的一行配置文件分为六段信息

  • 第1字段:设备名或设备卷标名。(分区)
  • 第2字段:文件系统的挂载点目录的位置。(挂载点)
  • 第3字段:文件系统类型,如 xfs、swap 等。(文件系统类型)
  • 第4字段:挂载参数,即mount命令“-o”选项后可使用的参数。例如,defaults(默认参数)、rw(可读写)、ro(只读)、noexec(禁用执行程序)。(挂载参数)
  • 第5字段:表示文件系统是否需要 dump 备份(dump 是一个备份工具)。一般设为1时表示需要,设为0时将被dump 忽略。(备份)
  • 第6字段:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区应设为 1,其他分区设为 2。(磁盘检查顺序)

写入时 按照前后顺序写入即可 ,保存重启后,写入的文件会自动挂载

4. 创建交换分区

命令格式:

mkswap 分区设备

4.1 创建交换文件系统

创建swap之前,目标分区应先通过fdisk 工具将分区类型ID 号设为 82

fdisk /dev/sdb
-->t
	-->分区号
		-->82

swapon 磁盘设备 #启用新增加的交换分区
swapoff 磁盘设备 #停用指定的交换分区
swapon -s #查看每个分区的swap状态信息
free -m #查看总的swap状态信息
在这里插入图片描述

4.2 建立交换分区

root@localhost ~]# mkswap /dev/sdb3      //建立swap分区(需未挂载)
mkswap: /dev/sdb3: warning: wiping old xfs signature.
正在设置交换空间版本 1,大小 = 10485756 KiB
无标签,UUID=3846f1ee-f59f-4655-a73f-0f0075434d6c
[root@localhost ~]# swapon /dev/sdb3    //启用分区

在这里插入图片描述

三、LVM(逻辑卷管理)

1. 基本概念

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次,它可以将几块磁盘(物理卷,PhysicalVolume)组合起来形成一个存储池或者卷组(VolumeGroup)。LVM可以每次从卷组中划分出不同大小的逻辑卷(LogicalVolume)创建新的逻辑设备。底层的原始的磁盘不再由内核直接控制,而由LVM层来控制。对于上层应用来说卷组替代了磁盘块成为数据存储的基本单元。LVM管理着所有物理卷的物理盘区,维持着逻辑盘区和物理盘区之间的映射。LVM逻辑设备向上层应用提供了和物理磁盘相同的功能

图示如下:
在这里插入图片描述
磁盘/分区(sda,sdb…)—>物理卷—>卷组—>逻辑卷(lvm)

  • PV(Physical Volume,物理卷)
    物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录 LVM 的属性,并把存储空间分割成默认大小为 4MB 的基本单元(PE),从而构成物理卷。

  • VG(Volume Group,卷组)
    由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷。

  • LV(Logical Volume,逻辑卷)
    从卷组中分割出的一块空间,形成逻辑卷。使用 mkfs 等工具可在逻辑卷上创建文件系统。

2. 管理命令

在这里插入图片描述
命令格式

pvcreate 设备名1 [设备名2 ... ...]     //1.创建物理卷

vgcreate 卷组名 物理卷名1 物理卷名2     //2.创建卷组
vgextend 卷组名 /dev/sdc2           //扩容

lvcreate -L 容量大小 -n 逻辑卷名 卷组名  //3.创建逻辑卷
lvextend -L +大小  /dev/卷组名/逻辑卷名  //扩容

3. 实验配置

添加硬盘(≥2)创建分区 并且设置分区类型为“8e”
上述操作在前面文章已写,不再演示

3.1 创建物理卷

pvcreate /dev/sdb1 /dev/sdc1

在这里插入图片描述

3.2 创建卷组

vgcreate myvg /dev/sdb1 /dev/sdc1

在这里插入图片描述

3.3 创建逻辑卷

lvcreate -L 30G -n mylv myvg

在这里插入图片描述

3.4 格式化/挂载逻辑卷

在这里插入图片描述
至此,LVM配置完成可以使用
也可对LVM进行扩容
lvextend -L +大小 /dev/卷组名/逻辑卷名 //扩容
如果大小前不使用 “+”号 则为缩减至那个大小

例如:
lvextend -L 10G /dev/卷组名/逻辑卷名 为缩减逻辑卷大小至10G

四、磁盘配额

1. 基本概念

  • 为了避免在服务器中出现类似磁盘空间不足的问题,就需要启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
  • 在CentOS系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文件系统通过xfs_quota工具进行管理; EXT3/4 文件系统通过 quota 工具进行管理。

实现磁盘限额的条件及特点

  1. 需要Linux内核支持
  2. 安装xfsprogs与quota软件包
  • 作用范围:针对指定的文件系统(分区)
  • 限制对象:用户帐号、组帐号
  • 限制类型:磁盘容量、文件数量
  • 限制方法:软限制、硬限制

2. 实验配置

1. 检查安装软件包

在这里插入图片描述
Centos7以上已经默认安装

2. 以支持配额的方式挂载文件

mount -o usrquota,grpquota /dev/myvg/mylv /opt 	
//添加挂载参数“usrquota,grpquota”用于增加对用户、组配额功能的支持

也可使用自动挂载

3. 对用户进行配额设置

xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=4 ihard=5 text1' /opt/   #限制磁盘容量和文件数
  • -x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
  • -c:表示直接调用管理命令。
  • -u:指定用户账号对象
  • -g:指定组账号对象
  • bsoft:设置磁盘容量的软限制数值(默认单位为 KB)。
  • bhard:设置磁盘容量的硬限制数值(默认单位为 KB)。
  • isoft:设置磁盘文件数的硬限制数值。
  • ihard:设置磁盘文件数的软限制数值。
  • PS:到达软限制后在Centos6版本中,会提示用户可用空间较少 Centos7不提示

xfs_quota -x -c ‘limit -u bsoft=80M bhard=100M zhangsan’ /opt/ #仅限制磁盘容量
xfs_quota -x -c ‘limit -u isoft=4 ihard=5 zhangsan’ /opt/ #仅限制文件数
xfs_quota -c ‘quota -uv zhangsan’ /opt/ #查看 zhangsan 磁盘容量限制
xfs_quota -c ‘quota -i -uv zhangsan’ /opt/ #查看 zhangsan 文件数限制

在这里插入图片描述

4. 验证限额配置

dd if=/dev/zero of=/opt/ddtest.txt bs=10M count=12  
   #验证磁盘容量超限
touch {
    
    1,2,3,4,5}.txt              
  #验证磁盘文件数超限
  • dd 命令是一个设备转换和连续复制命令
  • “if=” 指定输入设备(或文件)
  • “of=” 指定输出设备(或文件)
  • “bs=” 指定读取数据块的大小
  • “count=” 指定读取数据块的数量
  • /dev/zero “零”设备文件,可以无限的提供空字符。常用来生成一个特定大小 的文件。可做测试使用

验证容量限制
在这里插入图片描述
图中测试为从“零”设备文件中取文件 第一次为取12次 一次为10M 还没有超过设置的限额(设置的硬限制为120M)
第二次再次写入时,超出限制 触发限额

验证创建文件限制
在这里插入图片描述
设置的硬限制文件数为6个,所以创建第七个时 触发限额

查看配额使用情况

xfs_quota -x -c 'report -a'         
#查看所有可用分区的磁盘容量配额使用情况
xfs_quota -x -c 'report -abih'    
  #查看磁盘容量和文件数的报告

猜你喜欢

转载自blog.csdn.net/bugggggggg/article/details/113542756