文件系统及磁盘管理

8.1 文件系统介绍

8.1.1 文件系统的定义

文件系统是一种用于向用户提供底层数据存取的机制,它将设备中的空间划分为特定大小的块(扇区),一般每块 512字节。数据存储在这些块中,大小被修正为占用整数个块,由文件系统软件来负责将这些块组织为文件和目录,并记录哪些块被分配给了哪个文件,以及哪些块没有被使用。
不过,文件系统并不一定只在特定存储设备上出现,它是数据的组织者和提供者,至于它的底层,可以是磁盘,也可以是其它动态生成数据的设备(比如网络设备)。

8.1.2 Linux 文件系统组成

在 Linux系统内部,一个文件系统是由逻辑块的序列组成的,每块 512字节。具体组成
如图:
在这里插入图片描述

引导块:在 Linux文件系统的开头通常有一个扇区存放一定的程序,用于读入并启动操作系统。每个文件系统都有一个引导块;
超级块:记录文件系统的当前状态,如硬盘空间的大小和文件系统的基本信息;
索引节点区:存放文件系统的索引节点表,Linux文件系统中每个文件和目录都占据一个索引节点,文件系统一般从根节点开始;
数据区:存放文件数据和用于文件管理的其他数据。

8.1.3 文件类型

8.1.3.1 普通文件

文本文件:以文件的 ASCII码形式存储在计算机中,它是以“行”为基本结构的一种信息组织和存储方式;
二进制文件:以文件的二进制形式存储在计算机中,用户一般不能直接读懂,只有通过相应的软件才能将其显示出来,二进制文件一般是可执行程序、图像和声等。

8.1.3.2 目录文件

目录文件用于管理和组织系统中的大量文件。Linux系统把目录也看成是文件,称为目录文件。

8.1.3.3 链接文件

硬链接:通过索引节点进行的链接。在 Linux文件系统中,保存在磁盘分区中的文件,不管是什么类型,都给它分配一个编号,称为索引节点号。在 Linux中,多个文件名指向同一个索引节点即为硬链接。
软连接(符号链接):它实际上是特殊文件的一种,文件实际上是一个文本文件,其中包含另一个文件的位置信息。

8.1.3.4 设备文件

Linux系统把每一个 I/O设备都看成一个文件,与普通文件一样处理,设备文件可以细分为块设备文件和符号设备文件。Linux系统主要硬件设备文件如下:
在这里插入图片描述

8.1.3.5 管道文件

管道是通过通常的 I/O接口存取的字节流。管道文件是一个很特殊的文件,主要用于不同进程间的信息传递。当两个进程间需要进行数据或信息传递时,可以通过管道文件实现。

8.1.4 xfs

XFS,一种高性能的日志文件系统,最早于 1993年,由 Silicon G客户 phics为他们
的 IRIX操作系统而开发,是 IRIX 5.3版的默认文件系统。2000年 5月,Silicon G客户
phics以 GNU通用公共许可证发布这套系统的源代码,之后被移植到 Linux内核上。XFS特
别擅长处理大文件,同时提供平滑的数据传输。RHEL7上默认采用 XFS格式的文件系统。xfs
可为 Linux和开放社区带来如下新特性:
(1)可升级性
xfs被设计为可升级的,以满足大多数存储容量和 I/O存储需求。xfs可处理大型
文件系统和包含巨大数量文件的大型目录。
(2)优秀的 I/O性能
xfs 可以很好的满足 I/O请求的大小和并发 I/O 请求的数量。xfs可作为 root 文件系统,并被 LILO支持。

8.1.5 swap

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

8.2 新建分区

8.2.1 linux 下磁盘的表示方法

在 linux操作系统中,用 hda便是 IDE硬盘、sda表示 STAT/SCSI/SAS硬盘、vda表示虚拟磁盘。Linux下分区表示知识点如下:

(1)Linux下有最多支持四个主分区;
(2)第一个主分区叫 sda1;第二个主分区叫 sda2;第三个主分区叫sda3;第四个主分区(扩展分区)叫 sda4;
(3)所有的逻辑分区第一个都是 sda5;那么 sda8为第四个逻辑分区。

8.2.2 查看磁盘分区信息

使用命令 **fdisk -l(**列出当前系统中所有硬盘设备及其分区的信息)来查看磁盘的分区情况。

[root@ezsvs ~]# fdisk -l
磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Un客户 = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000dcdb7
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 123906047 61440000 83 Linux
/dev/sda3 123906048 128100351 2097152 82 Linux swap / S
olaris

备注:

Device:分区的设备名; Boot:是否为引导分区,是则有*标识;
Start:该分区在硬盘中的起始位置(柱面数); End:结束位置;
Block:分区的大小(默认单位 KB);
Id:分区类型的 ID标记号(EXT3=83,LVM=8e);
System:分区类型。

8.2.3 创建新分区

在交互式的操作环境中管理磁盘分区,大体分为四步:

fdisk分区——重读分区表——创建文件系统(格式化)——挂载分区

第一步:使用 fdisk分区

[root@ezsvs ~]# fdisk /dev/sda 【管理第一块磁盘】
欢迎使用 fdisk (util-Linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p 【输入 p:查看分区】
磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Un客户 = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ac6f8
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 123906047 61440000 83 Linux
/dev/sda3 123906048 128100351 2097152 82 Linux swap / Solar
is

> 【以上显示只有三个主分区,主分区总共只能创建四个,所以接下来我们需要将第四个
> 主分区成为扩展分区,在扩展分区上划分逻辑分区。下图,把剩下的磁盘空间全部给扩展分 区,即 sda4】

命令(输入 m 获取帮助):n 【输入 n:创建新的分区】
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e 【Linux下最多 4个主分区,上面 p命令结果显示了三
个主分区,因此这里选择扩展分区】
已选择分区 4
起始 扇区 (128100352-209715199,默认为 128100352): 【直接回车,默认起始扇区】
将使用默认值 128100352
Last 扇区, +扇区 or +size{K,M,G} (128100352-209715199,默认为 209715199)> 【直接回车,把剩下的所有空间都给扩展分区】

将使用默认值 209715199
分区 4 已设置为 Extended 类型,大小设为 38.9 GiB
命令(输入 m 获取帮助):p 【查看分区】
磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Un客户 = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ac6f8
 设备 Boot Start End Blocks Id System
 /dev/sda1 * 2048 1026047 512000 83 Linux
 /dev/sda2 1026048 123906047 61440000 83 Linux
 /dev/sda3 123906048 128100351 2097152 82 Linux swap / Solaris
/dev/sda4 128100352 209715199 40807424 5 Extended 【刚刚创建的扩展分区】

> 然后再扩展分区上创建逻辑分区

命令(输入 m 获取帮助):n 【创建新分区】
All primary partitions are in use
添加逻辑分区 5
起始 扇区 (128102400-209715199,默认为 128102400): 【直接回车,默认起始
扇区】
将使用默认值 128102400
Last 扇区, +扇区 or +size{K,M,G} (128102400-209715199,默认为 209715199):+
500M 【指定分区大小】
分区 5 已设置为 Linux 类型,大小设为 500 MiB
命令(输入 m 获取帮助):p
磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Un客户 = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ac6f8
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 123906047 61440000 83 Linux
/dev/sda3 123906048 128100351 2097152 82 Linux swap / Solaris
/dev/sda4 128100352 209715199 40807424 5 Extended
/dev/sda5 128102400 129126399 512000 83 Linux 【刚刚创建的 500M的逻辑分区】

> 命令(输入 m 获取帮助):w 【保存,不保存退出 q】

The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。

fdisk的其他用法可使用 fdisk –help查看,进入 fdisk分配配置界面后,有以下常用的分区指令:

m:查看所有指令的帮助信息;
p:列出硬盘分区情况;
n:新建分区;
d:删除分区;
t:变更分区类型;
w:保存分区的设置并退出;
q:放弃分区的设置并退出;

其他指令可进入到 fdisk管理中输入 m查看。
第二步:重读分区表

重建分区表有两种方式:partprobe 命令刷新内核或者重启计算机;我们选择第一种进行。
[

root@ezsvs ~]# partprobe /dev/sda 【新分区刷入内核】
[root@ezsvs ~]# more /proc/partitions 【查看分区】
major minor #blocks name
11 0 3655680 sr0
8 0 104857600 sda
8 1 512000 sda1
8 2 61440000 sda2
8 3 2097152 sda3
8 4 1 sda4
8 5 512000 sda5

第三步:格式化分区

mkfs:格式化 EXT3/EXT4/FAT32/xfs等不同类型的分区;
mkswap:在指定的分区创建交换文件系统。

[root@ezsvs ~]# mkfs.xfs /dev/sda5 【将新建的分区格式为 xfs格式】
meta-data=/dev/sda5 isize=256 agcount=4, agsize=32000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=128000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

第四步:挂载分区

挂载分区有两种方式,一种是手动挂载,第二种是写入 fstab文件自动挂载。

方法一:手动挂载
使用 mount命令挂载文件系统、ISO镜像到指定的文件夹,命令格式为 mount [-t类型] 存储设备 挂载点目,例如 mount -o loop ISO镜像文件 挂载点目录(iso镜像文件通常被视为一种特殊的回环文件系统,挂载时加“-o loop”)。如果要卸载已挂载的文件系统,使用 umount命令,格式为 umount 存储设备位置/挂载点目录。

[root@ezsvs ~]# mkdir /aaa 【创建一个目录供分区挂载使用】
[root@ezsvs ~]# mount /dev/sda5 /aaa 【将/dev/sda5挂载到/aaa目录上】
[root@ezsvs ~]# df -h 【查看挂载】
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 59G 3.8G 55G 7% /
devtmpfs 986M 0 986M 0% /dev
tmpfs 994M 84K 994M 1% /dev/shm
tmpfs 994M 8.9M 986M 1% /run
tmpfs 994M 0 994M 0% /sys/fs/cgroup
/dev/sda1 497M 116M 382M 24% /boot
/dev/sr0 3.5G 3.5G 0 100% /run/media/root/RHEL-7.0 Server.x86_64
/dev/sda5 497M 26M 472M 6% /aaa

备注:linux下的所有硬件设备必须挂载在某一目录下才能正常使用。

方法二:文件系统的自动挂载
文件系统的自动挂载即设备随开机自动挂载到相应的目录,可以通过配置/etc/fstab文件实现。
第一步:配置/etc/fstab文件。mount的配置文件,包含了开机自动挂载的文件系统记录。

[root@ezsvs ~]# vi /etc/fstab
# /etc/fstab
# Created by anaconda on Thu May 5 09:51:43 2016
# Accessible filesystems, by reference, are maintained under '/dev/dis
k'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more
info
UUID=3f0e2d6a-b41a-4ed5-9911-1b4791603397 / xfs defaults 1 1
UUID=5d5c392d-54c2-41e8-8984-2f0e75f268be /boot xfs defaults 1 2
UUID=734c665b-d590-4cb9-86f4-67c86f575b08 swap swap defaults 0 0
/dev/sda5 /bbb xfs defaults 0 0

第二步:刷新 fstab文件

[root@ezsvs ~]# mount -a 【只能刷新当前没有挂载的分区的 fstab 文件】
[root@ezsvs ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 59G 3.0G 56G 5% /
devtmpfs 986M 0 986M 0% /dev
tmpfs 994M 80K 994M 1% /dev/shm
tmpfs 994M 8.9M 986M 1% /run
/dev/sda1 497M 116M 382M 24% /boot
/dev/sda5 497M 26M 472M 6% /bbb

或者

[root@ezsvs ~]# mount -o remount /bbb 【刷新当前已经挂载的分区的fstab文件】

8.3 磁盘配额

8.3.1.1 磁盘配额简介

磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使 用最大配额范围内的磁盘空间。这样可以防止个别用户恶意或无意占用大量磁盘空间,保持 系统存储空间的稳定性。

(1)前提:需要内核支持并安装 quota软件包
(2)作用范围:指定的文件系统(即分区);
(3)限制对象:用户账号、组账号;
(4)限制类型:磁盘容量(KB)、文件数量;
(5)限制方式:软限制(soft,允许超出,但会提醒)、硬限制(hard,一旦达到不允许超出限制)。

**

8.3.2 磁盘配额管理

**

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

在配置调试过程中,可以使用“-o usrquota,grpquota”选项的 mount命令挂载指定的分区,以便增加对用户、组配额功能的支持。

例:将/dev/sda5分区挂载到/aaa目录下,添加用户配额、组配额支持。

[root@ezsvs ~]# mount -o usrquota,grpquota /dev/sda5 /aaa
[root@ezsvs ~]# mount | grep "quota"
/dev/sda2 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/sda5 on /aaa type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)

上述的是手动挂载,也可以将参数写入到 fstab文件实现开机自动挂载,如下:

[root@ezsvs ~]# vi /etc/fstab
/dev/sda5 /aaa xfs defaults,usrquota,grpquota 0 0

8.3.2.2 检测磁盘配额并生成配额文件

使用 quotacheck 命令可以对文件系统进行磁盘配额检测,也可以用来建立配额文件,以便保存用户、组在该分区中的配额设置。

例:检查系统所有分区的磁盘配额信息,并在可用的文件系统中建立配额文件。
[

root@ezsvs ~]# quotacheck -augcv
quotacheck: Skipping /dev/sda5 [/aaa]
quotacheck: Cannot find filesystem to check or filesystem not mounted with
quota option.【表示当前主机没有支持磁盘配额功能的文件系统】

备注:上述命令选项解释

-a:扫描所有分区;
-u:检测用户配额信息;
-g:检测组配额信息;
-c:创建新的配额文件;
-v:显示命令执行过程中的细节信息

8.3.2.3 编辑用户和组账号的配额设置

使用 edquota命令编辑用户、组 ude配额设置,可以设置磁盘容量、文件大小的软硬限 制数值。

例:编辑 max用户的配额设置,容量软限制值设为 80M、硬限制设置为 100M,文件数量软限制设置为 40个、硬限制设置为 50个。

[root@ezsvs ~]# edquota -u max
Disk quotas for user max (uid 1000):
Filesystem blocks soft hard inodes soft
hard
/dev/sda5 0 80000 100000 0 40
50

备注:
Filesystem:对应的文件系统,即作用范围;
Blocks:已使用的磁盘容量,默认单位为 KB,不改动;
第一个 Soft:磁盘容量的软限制数值,默认单位为 KB;
第一个 hard:磁盘容量的硬限制数值,默认单位为 KB;
Inodes:用户当前已经拥有的文件数量(占用 i节点的个数,不改动);
第二个 soft:文件数量的软限制;
第二个 hard:文件数量的硬限制。

8.3.2.4 启动文件系统的配额功能

启动和关闭文件系统的磁盘功能分别使用 quotaon、quotaoff命令。

例:关闭、开启/aaa文件系统的用户、组磁盘配额功能。

[root@ezsvs ~]# quotaoff -ugv /aaa
Disabling group quota enforcement on /dev/sda5
/dev/sda5: group quotas turned off
Disabling user quota enforcement on /dev/sda5
/dev/sda5: user quotas turned off
[root@ezsvs ~]# quotaon -ugv /aaa
Enabling group quota enforcement on /dev/sda5
/dev/sda5: group quotas turned on
Enabling user quota enforcement on /dev/sda5
/dev/sda5: user quotas turned on

8.3.2.5 验证磁盘配额功能

使用受配额限制的用户登录系统,切换到应用了配额的文件系统中,进行写入操作,测试配额是否生效。在测试中,可以使用 dd 命令创建文件,dd 是一个设备转换和复制命令,使用“if=”选项指定输入设备(或文件)、“of=”选项指定输出设备(或文件),使用“bs=”选项指定读取数据块的大小,“count=”选项指定读取数据块的数量。
例:用 max用户登录系统,并切换到/aaa目录下,使用 dd命令进行磁盘配额测试。

[root@ezsvs ~]# chmod 777 /aaa 【在 root用户下给/aaa目录(/dev/sda5挂载目录)777权限】
[root@ezsvs ~]# su – max 【切换到 max用户】
上一次登录:一 627 17:20:50 CST 2016pts/0 上
[max@ezsvs ~]$ cd /aaa 【切换到/aaa目录】
[max@ezsvs aaa]$ dd if=/dev/zero of=myfile bs=1M count=50 【创建空文件 50M】

> 记录了 50+0 的读入 记录了 50+0 的写出

52428800字节(52 MB)已复制,0.0653185 秒,803 MB/秒 【在配额范围内,创建成功】
[max@ezsvs aaa]$ dd if=/dev/zero of=myfile bs=1M count=100 【创建空文件 100M】
dd: 写入"myfile" 出错: 超出磁盘限额 【超出硬限制,创建失败】

> 记录了 98+0 的读入 记录了 97+0 的写出

102400000字节(102 MB)已复制,0.646678 秒,158 MB/秒

8.3.2.6 查看用户或分区的配额使用情况

可以使用 quota查看用户的配额使用情况;使用 repquota命令查看文件系统配额使用情况。

例:查看 max用户磁盘配额使用情况。

[root@ezsvs ~]# quota -u max
Disk quotas for user max (uid 1000):
Filesystem blocks quota limit g客户 ce files quota limitg客户 ce
/dev/sda5 99328* 80000 100000 6days 1 40 50

例:查看/dev/sda5(/aaa)文件系统的磁盘配额使用情况。

[root@ezsvs ~]# repquota /aaa
*** Report for user quotas on device /dev/sda5
Block g客户 ce time: 7days; Inode g客户 ce time: 7days
Block lim客户 File lim客户
User used soft hard g客户 ce used soft hard g客户
ce
----------------------------------------------------------------------
root -- 0 0 0 3 0 0
max +- 99328 80000 100000 6days 1 40 50

8.4 RAID 磁盘阵列

8.4.1 Raid 简介

独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),简称磁盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据选择的版本不同,RAID 比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于电脑来说,看起来就像一个单独的硬盘或逻辑存储单元。分为 RAID-0,RAID-1,RAID-5,RAID-6,RAID-10,RAID-50,RAID-60。
简单来说,RAID 把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。RAID 常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与 RAID功能更加有效地与主板集成,它也成为玩家的一个选择,特别是需要大容量存储空间的工作,如:视频与音频制作。
最初的 RAID分成了不同的档次,每种档次都有其理论上的优缺点,不同的档次在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器(群)读写性能。这些年来,出现了对于 RAID观念不同的应用。

8.4.2 常见 RAID 及其原理

8.4.2.1 RAID-0:带区卷

它将两个以上的磁盘并联起来,成为一个大容量的磁盘。在存放数据时,分段后分散存
储在这些磁盘中,因为读写时都可以并行处理,所以在所有的级别中,RAID 0的速度是最快的。但是 RAID 0既没有冗余功能,也不具备容错能力,如果一个磁盘(物理)损坏,所有数据都会丢失,危险程度与 JBOD相当。
在这里插入图片描述

8.4.2.2 RAID-1:镜像卷

两组以上的 N个磁盘相互作镜像,在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,另外写入速度有微小的降低。只要一个磁盘正常即可维持运作,可靠性最高。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当
主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的 RAID级别上来说是最好的。但无论用多少磁盘做 RAID 1,仅算一个磁盘的容量,是所RAID中磁盘利用率最低的一个级别。如果用两个不同大小的磁盘建 RAID 1,可用空间为较小的那个磁盘,较大的磁盘多出来的空间也可以分区成一个区来使用,不会造成浪费。
在这里插入图片描述

8.4.2.3 RAID-3:奇偶检验卷

采用 Bit-interleaving(数据交错存储)技术,它需要通过编码再将数据比特分割后分别存在硬盘中,而将同比特检查后单独存在一个硬盘中,但由于数据内的比特分散在不同的硬盘上,因此就算要读取一小段数据资料都可能需要所有的硬盘进行工作,所以这种规格比较适于读取大量数据时使用。
在这里插入图片描述

8.4.2.4 RAID-5:分布式奇偶检验卷

RAID Level 5是一种储存性能、数据安全和存储成本兼顾的存储解决方案。它使用的是 Disk Striping(硬盘分区)技术。RAID 5至少需要三块硬盘,RAID 5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成 RAID5的各个磁盘上,并且奇偶校信息和相对应的数据分别存储于不同的磁盘上。当RAID5 的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。RAID 5可以理解为是 RAID 0和 RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID 5具有和 RAID 0相近似的数据读取速度,只是因为多了一个奇偶校验信息,写入数据的速度相对单独写入一块硬盘的速度略慢,若使用“回写缓存”可以让性能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比 RAID 1高,存储成本相对较便宜。
在这里插入图片描述

8.4.2.5 RAID-6:双重奇偶检验卷

与 RAID 5相比,RAID 6增加第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,任意两块磁盘同时失效时不会影响数据完整性。RAID 6需要分配给奇偶校验信息更大的磁盘空间和额外的校验计算,相对于 RAID 5有更大的 IO操作量和计算量,其“写性能”强烈取决于具体的实现方案,因此 RAID6通常不会通过软件方式来实现,而更可能通过硬件/固件方式实现。同一数组中最多容许两个磁盘损坏。更换新磁盘后,数据将会重新算出并写入新的磁盘中。依照设计理论,RAID 6必须具备四个以上的磁盘才能生效。

8.4.2.6 RAID10 与 RAID01

RAID-10:先做 RAID1,再做 RAID0;
RAID-01:先做 RAID0,再做 RAID1

在这里插入图片描述

8.4.3 RAID 级别比较

在这里插入图片描述

8.4.4 硬 RAID

目前 RAID技术大致分为两种:基于硬件的 RAID技术和基于软件的 RAID技术。硬 RAID通过 RAID卡实现,软 RAID是通过软件(上面小节通过 Linux命令)实现的 RAID。这两种技术都将在近期成为性能比较适中的产品,并联用户提供可行的数据保护措施。其中基于硬件的 RAID解决方案比基于软件 RAID技术在使用性能和服务性能上稍胜一筹,具体表现在检测和修复多位错误的能力、RAID 保护的可引导阵列、错误磁盘自动检测、剩余空间取代和阵列重建、共有的或指定的剩余空间和彩色编码报警等许多方面优于后者。另外,还提供从单一控制实施的对多 RAID安装、多操作系统远程检测和管理的能力。从安装过程来看,两种 RAID解决方案的安装过程都比较容易,安装耗时也相差无几。从 CPU占有率来看,基于硬件的 RAID显然能够减少 CPU的中断次数,同时降低主 PCI总线的数据流量。从而是系统的性能产生一个提升。从 I/O占用角度考虑,两种解决方案的差别并不算很大。基于硬件的 RAID方案仅在下列两方面有一定优势;减少 RAID5阵列在降级模式的运行时间;平行引导阵列的能力。另外,在硬件解决方案中,可以采用 RAID0/1 取代 RAID1来提高性能。尽管基于硬件的 RAID 方案具有优势,但在产品的价格上仍然无法与基于软件的RAID 抗衡–后者完全免费。不过,硬件解决方案的价格也不是不可接受,一般只需增加少许投资即可获得一套基于硬件入门级 RAID 解决方案。而基于软件的 RAID 解决方案也不是
分文不花,至少还需购置一块 SCSI卡。因此,在计算总体拥有成本是,必需考虑基于软件的 RAID解决方案的隐性成本,如用户生产效率、管理成本和重新配置的投资等等。这些成本的综合往往会超过购买一套基于硬件的 RAID解决方案所需投资。
在当今企业环境中,任务密集型数据以应用于各种商业活动。为了使自己的数据获得更好的保护,许多企业已经开始利用 RAID技术。一套优秀的 RAID解决方案意味着可行性、友好的用户界面和简单的热键,总之应使用第一次使用的用户也能够非常方便的运行系统。同时还需要具有更加详细的功能,以方便那些高级用户对他们的 RAID进行优化配置。企业在选择 RAID 解决方案时,如果不考虑初始投资和某些 I/O资源的占有,或是出于对某些远程集体性能上的优势是基于软件的 RAID技术无法比拟的。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值