Linux 磁盘管理

一、磁盘结构

1.1 硬盘的物理结构

  1. 盘片

    • 磁盘内部有一个或多个金属或玻璃盘片,其表面被涂覆了磁性材料。数据通过在盘片表面上的磁性颗粒的磁性变化来存储和读取
  2. 读写磁头

    • 每个盘片上都有至少一对读写磁头,它们负责读取和写入数据。读写磁头悬浮在盘片表面上,通过气垫(如磁悬浮技术)或者传统的磁头设计来保持极小的距离
  3. 磁道

    • 盘片表面被划分为多个同心圆状的路径,称为磁道。每个磁道在盘片上沿着径向排列,数据被存储在不同的磁道上
  4. 扇区

    • 每个磁道被进一步分成多个扇区,每个扇区是存储数据的最小单位。常见的扇区大小是512字节或4KB
  5. 柱面

    • 柱面是指多个盘片上同一位置的磁道组成的集合。所有盘片上对应的磁道构成一个柱面。读写操作时,磁头可以同时访问同一柱面上的多个磁道

1.2 磁盘存储容量

硬盘存储容量=磁头数(8个2进制)×磁道(柱面)数×每道扇区数(6个二进制)×每扇区字节数

1.3 接口类型

IDE、SATA、SCSI、SAS、光纤接口

二、磁盘分区

2.1 磁盘分区的表示

Linux中将硬盘、分区等设备均表示为文件

2.2 磁盘的两种分区类型

MBR

MBR 是主引导记录,位于硬盘第一个物理扇区处,MBR中包含硬盘的主引导程序和硬盘分区表

MBR总共512字节, 前446字节是主引导记录,

分区表保存在MBR扇区中的第447-510字节中。分区表有4个分区记录区,每个分区记录区占16字节
主启动记录(MBR)磁盘分区支持最大卷为2.2TB,每个磁盘最多有4个主分区,或3个主分区、1个扩展分区和在扩展分区里面分多个逻辑分区
 

GPT

可以对磁盘空间2t以上的磁盘进行分区

在磁盘的开头和结尾各有一个分区表副本,增加了数据冗余和恢复能力

GPT 支持多达 128 个分区

总结:GPT提供了更现代化的分区方案,适用于大容量磁盘和现代系统,而 MBR 则是传统的分区方案,主要用于小容量磁盘和旧系统。根据具体需求和系统兼容性,选择适合的分区表格式,以充分利用磁盘空间和系统功能

2.3 文件系统类型

XFS:是一种高性能的日志文件系统,特别擅长于处理大文件,可支持上百万 T 字节的存储空间。由于 XFS 文件系统开启日志功能,所以即便发生宕机也不怕数据遭到破坏,这种文件系统可以根据日志记录在短时间内进行数据恢复

SWAP:交换文件系统,用于为 Linux 系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。一般建议将交换分区的大小设置为物理内存的 1.5~2 倍。例如,对于拥有 512MB物理内存的主机,其交换分区的大小建议设置为 1024MB。如果服务器的物理内存足够大(如 8GB 以上),也可以不设置交换分区。交换分区不用于直接存储用户的文件和目录等数据。

EXT4:第 4 代扩展文件系统,用于存放文件和目录数据的分区,是 Linux 系统中默认使用的文件系统(CentOS 7 默认使用 XFS)。EXT4 是典型的日志型文件系统,其特点是保存有磁盘存取记录的日志数据,便于恢复,在存取性能和稳定性方面更加出色。

    Linux 系统还广泛支持其他各种类型的文件系统,
    如 JFS、FAT16、FAT32、NTFS 等

2.4 查看磁盘分区的命令

fdisk -l 查询磁盘设备

fdisk -l :查看硬盘的整体情况和分区情况

lsblk 以树形查看磁盘分区

blkid 查看磁盘的UUID

三、Linux 分区方式

3.1 创建分区基础命令

fdisk指令说明

fdisk    /dev/sda

交互模式中的常用指令
Command (m for help): m                      #输入m指令
  a   toggle a bootable flag                 #设置可引导标记
  b   edit bsd disklabel                     #修改bsd的磁盘标签
  c   toggle the dos compatibility flag      #设置DOS操作系统兼容标记
  d   delete a partition                     #删除一个分区
  l   list known partition types             #显示已知的分区类型
  m   print this menu                        #显示帮助菜单
  n   add a new partition                    #增加一个新的分区
  o   create a new empty DOS partition table #创建一个新的空白的DOS分区表
  p   print the partition table              #显示磁盘当前的分区表
  q   quit without saving changes            #退出fdisk程序,不保存任何修改
  s   create a new empty Sun disklabel       #创建一个新的空白的Sun磁盘标签
  t   change a partition's system id         #改变一个分区的系统号码
  u   change display/entry units             #改变显示记录单位
  v   verify the partition table             #对磁盘分区表进行验证
  w   write table to disk and exit           #保存修改结果并退出fdisk程序
  x   extra functionality (experts only)     #特殊功能,不建议初学者使用
 

mkfs 创建系统文件(格式化)

用于在分区或设备上创建文件系统。创建文件系统的过程通常包括在指定设备或分区上组织数据结构,使其能够存储文件和目录,并确保数据的读取和写入操作能够正确执行

根据指定的文件系统类型进行格式化

mkfs -t xfs /dev/sdb1     mkfs.xfs /dev/sdb1

mount 挂载命令

挂载文件系统、ISO镜像到指定文件夹

mount      存储设备       挂载目录


mount  [ -t 类型 ]  存储设备  挂载点目录      #用于指定文件系统类型,通常可以省略,由系统自动识别
mount  -o loop  ISO镜像文件  挂载点目录
-o options 主要用来描述设备或档案的挂接方式    #挂载参数列表,以英文逗号分隔:如用来描述特殊设备,用loop指定
loop:用来把一个文件当成硬盘分区挂接上系统

umount命令

卸载已挂载的文件系统
umount  存储设备位置
umount  挂载点目录
 

3.2 创建物理卷详细操作:

首先在虚拟机设置添加一块新的硬盘

lslblk 命令查看到名为 sdb 一块新硬盘:

使用 fdisk 命令进入/dev/sdb:

配置分区:

 mkfs 格式化

创建成功:

以一个空目录mntjqg作为挂载点:

将/dev/sdb1 挂载到/home/mntjqg

3.3 LVM机制的基本概念

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

PE的值可以是4、8、16、32、64。PE越小硬盘利于率高,但是每个VG块的最大数65534,所以PE大小决定了VG卷组大小

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

LV(Logical Volume,逻辑卷)

逻辑卷建立在卷组之上,与物理卷没有直接关系。对于逻辑卷来说,每一个卷组就是一个整体,从这个整体中“切出”一小块空间,作为用户创建文件系统的基础,这一小块空间就称为逻辑卷。使用mkfs等工具在逻辑卷上创建文件系统
 

LVM 的管理命令
 

3.4 创建逻辑卷详细操作:

首先取消之前的挂载

fdisk /dev/sdb   创建sdb2 ,把分区类型的ID标记号改为“8e”

创建逻辑卷

格式化 /dev/csdn/pkm

查看

挂载

四、设置磁盘配额

当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。

为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可

在Centos系统中,不同的文件系统使用不同磁盘配额配置管理工具。
例如,XFS文件系统通过xfs_quota 工具进行管理;
EXT3/4 文件系统通过quota工具进行管理。

CentOS7中设置磁盘配额步骤

检查是否已安装xfsprogs和xfs_ quota软件包

以支持配额功能的方式挂载文件系统

添加挂载参数"usrquota"用于增加对用户配额功能的支持

创建用户名为 pkm

配置限额:

查看pkm用户的配额

验证:

数据超过100M后就会写入出错

五、RAID 分区

5.1 什么是 raid

raid 是磁盘的集合,简称磁盘阵列

RAID 把多个硬盘组合成为一个逻辑硬盘,因此,操作系统只会把它当作一个实体硬盘。 RAID
常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与 RAID 功能更
加有效地与主板集成,它也成为普通用户的一个选择,特别是需要大容量存储空间的工作

5.2 raid 功能实现

1.提高IO 能力
2.提高耐用性 ,
3.磁盘冗余备份

5.3 raid 实现的方式

外接式磁盘阵列:通过扩展卡提供适配能力
内接式 RAID :主板集成 RAID 控制器,安装 OS 前在 BIOS 里配置
软件 RAID :通过 OS 实现

5.4 raid 级别

RAID 层级的命名会以 RAID 开头并带数字,例如: RAID 0 RAID 1
RAID 5 RAID 6 RAID 7 RAID 01 RAID 10 RAID 50 RAID 60 。每种等级都有其理论上的优缺 点,不同的等级在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器群)读写性能

raid 0

因为读写时都可以并行处理,所以在所有的级别中, RAID 0 的速度是最快的。但是 RAID 0 既没有冗余功
能,也不具备容错能力,如果一个磁盘(物理)损坏,所有数据都会丢失

读、写性能提升可用空间: N*min(S1,S2,...)
无容错能力
最少磁盘数: 2 块才有效果
服务器只能识别一种模式,没有混杂模式
直通模式:没有做 raid
raid 模式: 做了 raid
raid 0 1 块没有提高性能的效果

raid 1

也称为镜像 , 两组以上的 N 个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理论上读
取速度等于硬盘数量的倍数,与 RAID 0 相同。另外写入速度有微小的降低
读性能提升、写性能略有下降
磁盘利用率 50%
有冗余能力
最少磁盘数: 2n n>=1

raid 5

读、性能提升
写的性能略微降低
利用率: n-1 留出做计算结果
有容错能力:允许最多 1 块磁盘损坏
最少磁盘数: 3, 3+

raid 10

读、写性能提升
可用空间: n/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数: 4, 4+( 偶数 )

5.5 实现软 raid

mdadm 常用选项说明

模式:
创建: -C
装配: -A
监控: -F
管理: -f, -r, -a
-C: 创建模式
-n #: 使用 # 个块设备来创建此 RAID
-l # :指明要创建的 RAID 的级别 0 1 5 10
-c CHUNK_SIZE: 指明块大小 , 单位 k
-x #: 指明空闲盘的个数 热备 盘 -x 1 /dev/sd#
-D :显示 raid 的详细信息
mdadm -D /dev/md
raid 名字
管理模式:
-f: 标记指定磁盘为损坏
-a: 添加磁盘
-r: 移除磁盘
观察 md 的状态: cat /proc/mdstat

建立 raid 5

先在系统添加三块 scsi 磁盘

将sdb sdc sdd 分区类型为 fd

创建raid5 :

创建完成后 格式化:

进行挂载:

此时创建完成查看到状态:

测试:

将sdb1 sdc1 标记为坏盘

查看状态:

raid 5 只能允许坏一块盘,两块盘都坏了,此时md5盘已经崩溃:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值