有您想要在 Linux 计算机上更有效地使用的备用硬盘驱动器吗? RAID 可以提供性能提升或添加冗余,具体取决于其配置方式。 让我们快速深入了解多磁盘世界。
RAID 101
廉价(或独立)磁盘冗余阵列 (RAID) 是驱动器的集合,这些驱动器协同工作以使系统受益。 这些好处可以是性能、冗余或两者兼而有之。 您将遇到的常见配置是 RAID 0、RAID 1、RAID 5、RAID 6 和 RAID 10。我们在下面总结了它们。
存在其他配置,但这些是最常见的。
无论您想使用哪种 RAID 级别, RAID 不是备份解决方案.
虽然它可以帮助您快速恢复并运行并提供另一层来保护您的数据,但它并不能取代实际的备份。 RAID 是一个很好的用例,其中高可用性是必须的。 我们的 RAID 指南进一步解释。
RAID 0:非关键存储
RAID 0 通过在多个驱动器上条带化数据来工作。 RAID 0 至少需要两个驱动器,但理论上可以添加任意数量的驱动器。 因为您的计算机同时跨多个驱动器写入,所以这提供了性能提升。
您还可以使用不同大小的驱动器。 但是,您的阵列将被限制为阵列中最小的驱动器。 如果您在 RAID 0 阵列中有一个 100GB 的驱动器和一个 250GB 条带化的驱动器,则该阵列的总空间将为 200GB。 每个磁盘有 100GB。
RAID 0 非常适合需要单个磁盘无法提供的更高读写速度的非关键存储。 RAID 0 不是容错的。
如果 任何 阵列中的驱动器发生故障,您将丢失该阵列中的所有数据。 你被警告了。
RAID 1:镜像您的硬盘
RAID 1 是一个简单的镜像。 一个驱动器上发生的任何事情都会发生在其他驱动器上。 虽然 RAID 1 不会带来性能优势,但每个驱动器上都有数据的精确副本,这意味着 RAID 1 具有冗余优势。只要阵列中的一个驱动器处于活动状态,您的数据就会完好无损.
阵列的最大大小将等于阵列中最小驱动器的大小。 如果您在 RAID 1 阵列中有一个 100GB 的驱动器和一个 250GB 的驱动器,则该阵列的总空间将为 100GB。 只需牢记这一成本含义。
RAID 5 和 6:性能和冗余
RAID 5 和 6 将提供性能和冗余。 数据与奇偶校验信息一起跨驱动器进行条带化。 RAID 5 总共使用一个驱动器的奇偶性,而 RAID 6 使用两个。 如果数据不再可用,计算机可以使用奇偶校验数据重新计算其他数据块之一的数据。 这意味着 RAID 5 可能会丢失单个驱动器,而 RAID 6 可以在任何单个时间点出现两个驱动器故障时幸存下来。
存储方面,这意味着 RAID 5 和 6 将等于总驱动器大小分别减去一个驱动器和两个驱动器。 因此,如果您有四个容量为 100GB 的驱动器,那么 RAID 5 中的阵列大小将为 300GB,而 RAID 6 为您提供 200GB。
RAID 5 至少需要三个驱动器,而 RAID 6 需要四个。 虽然您可以混合和匹配硬盘驱动器大小,但阵列会将所有磁盘视为阵列中最小驱动器的大小。 万一驱动器发生故障,您的阵列仍然可以运行,并且您将能够访问所有数据。 此时,您将需要换出死驱动器并重建阵列。
在降级状态下,阵列的运行速度会比平时慢,在阵列重建之前使用它不是一个好主意。
RAID 10:条带化和镜像
RAID 10 基本上是 RAID 1 + 0。它是这些级别的组合。 您将需要成对的磁盘才能实现这一点。 数据在两个磁盘上进行条带化,然后镜像到另一组磁盘上。 您可以从 RAID 0 和 RAID 1 的冗余中获得性能优势。
在 Linux 中配置 RAID
可以在硬件或软件级别上配置所有这些冗余优势。 硬件风格需要一个通常在服务器级硬件中找到的 RAID 控制器。 幸运的是,Linux 有一个软件版本的 RAID。 原理是相同的,但请记住开销将在您的 CPU 上,而不是 RAID 控制器上。
让我们通过一个终端窗口、几个驱动器和一些决心来完成 RAID 5 配置。 准备好后,使用您喜欢的 shell 打开终端窗口,然后键入:
sudo apt install mdadm
准备驱动器
在我们的 example,为简单起见,我们将使用三个 1GB 驱动器(实际上,这些驱动器会更大)。 使用以下终端命令检查哪些磁盘连接到您的系统:
sudo fdisk -l
从输出中,我们可以看到 sda 作为引导驱动器,而 sdb、sdd 和 sdc 刚刚连接到系统。
现在我们需要对这些磁盘进行分区。 确保备份您堂兄的毕业照片,而不是在这些驱动器上,因为这是一个破坏性的过程。 在终端中,输入:
sudo fdisk /dev/sdb
然后我们需要用以下输入来回答:
- ñ: 添加新分区
- 磷: 使分区成为磁盘上的主分区
- 1: 将此编号分配给分区
- 吨: 更改分区类型
- FD: 这是 RAID 分区类型
- w: 保存更改并退出
对其余两个驱动器执行完全相同的步骤。 即 /dev/sdc 和 /dev/sdd. 我们现在需要通知我们的操作系统我们刚刚所做的更改:
sudo partprobe /dev/sdb
按照这个:
sudo partprobe /dev/sdc
sudo partprobe /dev/sdd
设置 RAID 5
现在让我们快速看一下分区表。 再次运行:
fdisk -l
惊人的! 我们的驱动器及其分区已准备好进行 RAID-ed!
要在 RAID 5 中设置它们,请运行:
mdadm -C /dev/md0 --level=raid5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1
仔细看看语法:
- mdadm:我们正在使用的工具
- C:这是创建RAID阵列的开关
- /dev/md0:阵列将被汇集到哪里
- 级别:所需的 RAID 级别
- raid-device:设备数量及其位置
我们可以通过键入以下内容查看 RAID 的详细信息:
sudo mdadm --detail /dev/md0
最后的步骤是为阵列创建一个文件系统,并挂载它以便我们可以实际使用它! 要格式化数组并分配可以访问的位置,请键入:
sudo mkfs.ext4 /dev/md0
sudo mkdir /data
安装阵列
安装新创建的阵列有两种选择。 第一个是临时的,每次启动计算机时都需要安装它。 或者您可以永久安装它,以便在每次重新启动时安装它。 要临时安装,请键入:
mount /dev/md0 /data/
如果您希望保留存储,则需要编辑 /etc/fstab 文件并确保添加如下图所示的行:
sudo nano /etc/fstab
保存并关闭文件后,刷新安装表:
sudo mount -a
然后,我们可以通过键入以下内容查看已安装的设备:
df -h
恭喜! 您已成功创建 RAID 阵列、对其进行格式化并挂载它。 您现在可以像使用其他任何目录一样使用该目录,并获得好处!
RAID 故障排除
还记得我们谈到的裁员福利吗? 那么,如果驱动器发生故障会发生什么? 使用 mdadm,您可以使用 mdadm -r 转变。 希望您的主板支持热插拔驱动器,并且您可以插入替换驱动器。
继 磁盘 上面的命令,你可以设置新的驱动器。 只需使用 mdadm -a 转变。 您的阵列现在将开始重建。 因为这是 RAID 5,所以您的所有数据都应该在那里,甚至在驱动器不可用时也可用。
你需要RAID吗?
上表列出了 RAID 可能对您有益的一些可能用例。 如果您有推动此要求的业务需求,则可能值得考虑硬件 RAID 控制器或 FreeNAS 等选项,以更好地满足您的需求。
如果您正在寻找一种经济高效的方式来压缩一些额外的性能或为家庭提供另一层冗余,mdadm 可能是一个值得选择的人选。
您目前使用 RAID 吗? 你多久浏览一次硬盘? 你有数据丢失的恐怖故事吗?