本文是RAID系列的一部分:
MTE Explains:什么是RAID?如何在Windows中设置RAID如何在Linux中设置RAID如何在MacOS中设置RAID Sierra
在BIOS中设置硬件RAID并由Linux内核自动使用,一个软件RAID将需要在Linux上更多的工作。
这些说明将适合具有家庭系统的人,他们希望他们的文件安全,或者运行小型自托管服务器。对于较大的生产级系统,仔细的规划和更精细的实施是可取的。
使用
On Linux的工具,RAID磁盘不遵循通常的/ dev / sdX命名,但将被表示为md(multidisk)文件,如md0,md1,md2,stc。
需要记住的重要文件是/ proc / mdstat,它将提供有关系统上任何RAID设置的信息。Typing
cat / proc / mdstat
将告诉您所有现有的RAID设置。
你需要用来设置突袭的命令是mdadm。大多数系统应该预先安装。如果没有,比如在一些Debian系统上,你可以用
sudo apt-get install mdadm
获得它,一旦你拥有所有必需的工具,那么现在是时候来决定你的实现方式了。
选择正确的RAID Setup
您可以在这里找到有关不同RAID级别的更多信息。理论上,您可以将RAID阵列的任何组合应用于磁盘和分区,尽管有一些值得考虑的常见做法和注意事项。
RAID 0适用于速度非常重要的非关键磁盘。RAID 0的一个很好的用途是交换分区,因为它可以大大提高其速度。仅对于两个磁盘,在需要冗余和容量的家用计算机等小型系统中,不用担心,请使用RAID 1.如果您有四个或更多磁盘,并且您想要速度和冗余,RAID 10是一个不错的选择。RAID 5至少需要三个磁盘,为小型随机磁盘写入引入开销,并且在大型或慢速驱动器上执行的性能不佳。如果您的磁盘缓慢(小于7200 RPM)和/或大(超过1TB),请勿使用RAID 5.对于较大的磁盘,首选RAID 6,但是您将丢失两个奇偶校验磁盘(与RAID 5中的磁盘相比),并且写入开销大于RAID 5.对于更精细的设置,值得考虑使用RAID与LVM,但这需要专家知识和仔细的规划。
有两种方法可以在Linux上实现RAID。最简单的方法是将新的RAID阵列添加到现有系统中以进行存储。对于更精细的设置和更大的保护,RAID可以(并且应该)在安装时实现,但当然这并不总是一个选项。
也可以将已经安装的系统迁移到新实现的RAID阵列上,但这是一个相当先进的过程,在这个简单的教程中将不会介绍。我们现在将专注于将RAID阵列添加到现有设置中,用于存储敏感数据或任何您希望确保恢复选项的任何内容。
将RAID阵列添加到现有的系统
在此示例中,我们将在两个磁盘上设置一个用于存储重要数据文件的RAID 1阵列。
Note:分区和配置磁盘可能会导致数据损坏或丢失。在尝试此类操作之前,始终创建一个备份,并且只有当您确信您了解该过程时,才能进行备份。继续需要您自担风险。
首先你需要准备你的分区。使用您最喜欢的分区工具,并创建两个分区,每个驱动器上都有一个分区,将用作RAID阵列。新分区的大小和类型应该相同
A现在分区是sda1,sda2在第一个磁盘上,sdb1,sdb2在第二个磁盘上,其中
sda1是您的原始系统分区,(ext4挂载为/)sda2是将用于RAID阵列的新分区,大小为7.7GBsdb1是RAID阵列中使用大小为7的另一个分区。7GBsdb2是第二个硬盘驱动器的剩余部分(由于构成RAID的分区的大小必须相同,因此在这种情况下无法有意义地使用多余的RAID。)
现在有趣的是组成RAID阵列的sda2和sdb1分区。
使用mdadm命令制作RAID 1阵列相对简单,可以进行精细控制来管理RAID。要查看所有选项,请键入:
mdadm --help
对于我们的示例,请使用像这样的命令.:
sudo mdadm --create / dev / md0 --level = 1 --raid-devices = 2 / dev / sda2 / dev / sdb1 --verbose
To break下面的命令
- 创建/ dev / md0将创建新的RAID阵列,并将其称为md0.如果您有现有的RAID设置,请确保使用一直未使用的号码。
- level = 1这是为了确保它是RAID 1.
- raid devices = 2基本上告诉mdadm将使用两个将在(/ dev / sada2和/ dev / sdb1在这种情况下)之后指定的分区。
- verbose会产生更多的输出,所以当您监视命令时,您将获得更多信息。
- p f2会使用(如果驱动器出现制造错误,则以相同的方式一直写入相同的数据序列可能意味着驱动器可能同时失败或多或少失败。有用的RAID 10)
只能接受确认对话,你完成了。
要查看安装过程中发生的情况,可以使用另一个终端窗口的watch命令来监视/ proc / mdstat file:
watch -d cat / proc / mdstat
准备好后,进度条将变成通常的文件布局
虽然在所有系统上都没有严格要求,但大多数情况下会自动扫描活动的RAID阵列,最好确保/ etc / mdadm / mdadm。conf文件被创建。sudo命令不会有足够的“权力”。您在Ubuntu系统上,root密码通常不作为安全防范措施。要给它一个密码,键入:
sudo passwd root
并键入新的root密码两次。(当您使用su时,此密码将工作。对于sudo,您仍然会使用您常用的用户密码。)
现在成为root:
su
并配置mdadm。conf:
mdadm --detail --scanconf
不幸的是,mdadm默认添加了一个名称参数,这可能会在引导时安装RAID阵列时导致问题。要解决这个问题,打开你刚刚更新的mdadm。conf file with:
sudo nano / etc / mdadm / mdadm。conf
并删除name = [devicename] : [x]位,这在我们的例子中是:
name = ubuntu-test:0
Now保存并退出。
您应该更新initramfs以使用修改后的mdadm。conf
sudo updtate-initramfs -u
检查新的RAID阵列with:
mdadm --examine --scan
该命令应该没有返回错误。
现在将您的新RAID阵列格式化为您选择的文件系统。在这个例子中我们将使用ext4.
sudo mkfs。ext4 / dev / md0
要安装新阵列,请创建装载点。这可以是任何地方。在这个例子中,我们将使用〜/ failsafe
mkdir〜/ failsafe
打开/ etc / fstab文件来写入
sudo nano / etc / fstab
并添加以下命令line:
/ dev / md0 [path_to_mount_point] ext4 defaults 1 2
当然,你将不得不用[path_to_mount_point]替换您要安装新RAID 1阵列的完整路径。在我们的情况下,这行看起来像:
/ dev / md0 / home / test / failsafe ext4默认值1 2
现在挂载它而不重新启动:
sudo mount -a
你准备好使用新的RAID 1数组。
如果您的RAID已变为只读,请在安装目录下检查权限和所有权。如果它
That如果您在安装过程中遇到任何问题,请在评论中知道。
."