Linux_磁盘管理理论概述
阅读原文时间:2023年07月08日阅读:1

一、磁盘阵列

1、什么是磁盘阵列?

1️⃣:磁盘整列就是将多块独立的磁盘组合到一起,形成容量大的磁盘组。

2️⃣:将相同的数据存放到不多个的磁盘的不同位置

2、RAID0

1️⃣:RAID0是磁盘整列中最早的RAID模式,最简单、成本最低的RAID模式;可以并发读写,在同一时间磁盘的读写性能提升翻倍,具体看硬盘的使用量(使用三块硬盘并行操作,读写数据的能力就会提升三倍)—— 读写性能最高(所有的RAID级别最高的)

2️⃣:优点:成本低、组成简单(只需两块磁盘即可)、磁盘的使用率达100%

3️⃣:缺点:没有数据冗余、没有修复能力(其中一块磁盘损坏,整体数据将不可用,一般是对安全可靠不是看重的才会去使用RAID0)

3、RAID1

1️⃣:RAID1称为磁盘镜像,使用两块磁盘,其中一块存储数据,另一块当做数据的镜像,会复制一样的数据(两块硬盘写的是同样的内容),这样会使磁盘的容量缩减至一半

2️⃣:工作原理:两块磁盘并行写入数据(两块磁盘写入相同的数据)(其中的一块磁盘上的数据镜像到另一块磁盘上)

3️⃣:优点:冗余能力好(冗余能力比RAID0好)、可靠性高、修复性高、提高了硬盘的容量

4️⃣:缺点:磁盘的使用率低(占所有的50%)、写入数据慢、读取数据取决于快的那块硬盘、不能并行读取、读的话只能在一块硬盘上读;写就是并行写,两块硬盘同时进行,所以写会相对较慢

4、RAID5

1️⃣:RAID5(分布式奇偶校验),在所有的磁盘上随机存放奇偶校验信息(奇偶校验信息是保护数据的完整性)

2️⃣:工作原理:将数据和奇偶校验信息写入到各个磁盘上,奇偶校验信息是随机的写入到各个磁盘上;如果其中的一块磁盘损坏,更换新的磁盘后会根据奇偶校验信息重造数据;如果损坏的磁盘上面写得是奇偶校验信息,更换新的磁盘后,会重新入奇偶校验信息。

3️⃣读/写性能:读性能:接近于RAID0;写性能:比单块磁盘要差

4️⃣:优点:冗余能力好(允许一块磁盘损坏)、可靠性高、修复性好

5️⃣:缺点:多块磁盘造成成本较高;如果损坏两块,所有的数据将不可用。

5、RAID10

1️⃣:镜像条带整列;组成方式:RAID1+RAID1=RAID0——>RAID10;具备RAID0和RAID1的特征

2️⃣:优点:冗余能力高(允许损坏两块磁盘)、修复性强、可靠性高

3️⃣:磁盘的是利用率50%

4️⃣:读和写的性能:读和写的性能都是一样的:介于RAID5和RAID0之间

二、磁盘命名方式

1、Linux中磁盘的命名方式与磁盘的接口有关,规则如下:

  • 传统IDE接口硬盘:/dev/hda、/dev/hdb、/dev/hdc……..
  • SCISI接口硬盘:/dev/sda、/dev/sdb、/dev/sdc……….
  • 虚拟化硬盘:/dev/vda、/dev/vdb、/dev/vdc………
  • 系统的第一块SCSI接口的硬盘名称为/dev/sda
  • 系统的第二块SCSI接口的硬盘名称为/dev/sdb

2、系统中分区由数字编号表示,1-4留给主分区使用和扩展分区,逻辑分区从5开始

  • /dev/sda        //第一块磁盘
  • /dev/sda1      //第一 块磁盘的第一个分区
  • /dev/sdb1      //第二块磁盘的第一个分区

三、MBR与GPT

1️⃣:在使用新磁盘之前,你必须对其进行分区。

2️⃣:MBR (Master Boot Record)和GPT (GUID PartitionTable)是在磁盘.上存储分区信息的两种不同方式。

3️⃣:这些分区信息包含了分区从哪里开始的信息,这样操作系统才知道哪个扇区是属于哪个分区的,以及哪个分区是可以启动的。

4️⃣:在磁盘上创建分区时,你必须在MBR和GPT之间做出选择

5️⃣:MBR是Master Boot Record的简称,也就是主引导记录,是位于磁盘最前边的一段引导(Loader)代码,主要用来引导操作系统的加载与启动

  • 特点:

    • 1. MBR支持最大2TB磁盘,它无法处理大于2TB容量的磁盘
    • 2.只支持最多4个主分区。若想要更多分区,需要创建扩展分区,并在其中创建逻辑分区

6️⃣:GPT磁盘是指使用GUID分区表的磁盘,GUID磁盘分区表(GUID Partition Table,缩写: GPT)其含义为“全局唯一标识磁盘分区表”, 是一个实体硬盘的分区表的结构布局的标准

  • 特点:

    • 1. GPT对磁盘大小没有限制
    • 2.最多可以创建128个分区

7️⃣:注意:MBR与GPT之间互相转换会导致数据丢失

四、磁盘容量检查

1、使用df命令查看磁盘容量,不加参数以k为单位

  • df -i        //查看inode使用情况
  • df -h       //以G或者T或者M人性化方式显示
  • df-T        //查看文件类型

2、使用df -h查看磁盘使用情况

[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 887M 0 887M 0% /dev
tmpfs 904M 0 904M 0% /dev/shm
tmpfs 904M 8.7M 895M 1% /run
tmpfs 904M 0 904M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 50G 1.8G 49G 4% /
/dev/sr0 7.4G 7.4G 0 100% /mnt
/dev/nvme0n1p1 1014M 173M 842M 17% /boot
/dev/mapper/rhel-home 67G 511M 67G 1% /home
tmpfs 181M 0 181M 0% /run/user/0

3、使用lsblk查看分区情况

[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 7.3G 0 rom /mnt
nvme0n1 259:0 0 120G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 119G 0 part
├─rhel-root 253:0 0 50G 0 lvm /
├─rhel-swap 253:1 0 2G 0 lvm [SWAP]
└─rhel-home 253:2 0 67G 0 lvm /home

4、使用du命令查看目录或者文件的容量,不加参数以k为单位

  • du -sh 文件名       //人性化输出显示大小

    • -s: 列出总和
    • -h:人性化显示容量信息