如何在现有的Linux发行版上设置软件RAID 1

在本教程中,我们将讨论 袭击,具体来说,我们将成立 软件RAID 1 在运行中的Linux发行版上。

什么是RAID?

RAID代表 [R泛滥的 一种一世昂贵的 d吠。 RAID允许您将多个物理硬盘驱动器转换为单个逻辑硬盘驱动器。 有许多RAID级别,例如RAID 0,RAID 1,RAID 5,RAID 10等。

在这里我们将讨论 RAID 1 也称为 磁盘镜像。 RAID 1创建相同的数据副本。 如果RAID 1中有两个硬盘驱动器,则数据将被写入两个驱动器。 两个硬盘驱动器具有相同的数据。

RAID 1的优点是,如果您的一个硬盘驱动器发生故障,则您的计算机或服务器仍将启动并运行,因为您在另一个硬盘驱动器上具有完整的数据副本。 您可以在计算机运行时拉出故障的硬盘驱动器,插入新的硬盘驱动器,它将自动重建镜像。

RAID 1的缺点是您没有多余的磁盘空间。 如果两个硬盘驱动器均为1TB,则总可用容量为1TB而不是2TB。

硬件RAID与软件RAID

要设置RAID,可以使用硬盘驱动器控制器,也可以使用软件来创建它。 硬盘驱动器控制器是您放入计算机中的PCIe卡。 然后,将硬盘驱动器连接到该卡。 启动计算机时,您会看到一个选项,该选项使您可以配置RAID。 您可以在硬件RAID之上安装操作系统,这可以增加正常运行时间。

软件RAID要求您已经安装了操作系统。 这对于存储数据很有用。

在Linux上创建软件RAID 1的基本步骤

  • 首先,您需要在硬盘驱动器上安装Linux发行版。 在本教程中,我们将其命名 /dev/sda
  • 然后,您将要抓住两个硬盘驱动器,它们将被命名为 /dev/sdb/dev/sdc 在这篇文章中。 这两个硬盘驱动器可以具有不同的大小。 在格式化硬盘之前,请记住备份现有数据。
  • 接下来,我们将在 /dev/sdb/dev/sdc
  • 最后创建 RAID 1阵列 使用 mdadm 效用。

步骤1:格式化硬盘

将两个硬盘驱动器插入Linux计算机,然后打开一个终端窗口。 运行以下命令以检查设备名称。

sudo fdisk -l

你可以看到我的是 /dev/sdb/dev/sdc

然后运行以下2条命令在两个硬盘驱动器上创建新的MBR分区表。 (注意:这将清除这两个硬盘驱动器中的所有现有分区和数据。确保已备份数据。)

sudo parted /dev/sdb mklabel msdos

sudo parted /dev/sdc mklabel msdos

您可以通过替换创建GPT分区表 msdosgpt,但出于兼容性考虑,本教程将创建MBR分区表。

接下来,使用 fdisk 命令在每个驱动器上创建一个新分区并将其格式化为 Linux RAID自动检测 文件系统。 首先在 /dev/sdb

sudo fdisk /dev/sdb

请遵循以下说明。

  1. 类型 ñ 创建一个新分区。
  2. 类型 p 选择主分区。
  3. 类型 1个 创建/ dev / sdb1。
  4. 按Enter 选择默认的第一扇区
  5. 按Enter 选择默认的最后一个扇区。 该分区将跨越整个驱动器。
  6. 打字 p 将打印有关新创建的分区的信息。 默认情况下,分区类型为Linux。
  7. 我们需要更改分区类型,所以输入 Ť
  8. 输入 fd 将分区类型设置为 Linux raid autodetect
  9. 类型 p 再次检查分区类型。
  10. 类型 w 应用以上更改。

软件RAID 1 Linux RAID自动检测

按照相同的说明在上创建Linux raid自动检测分区 /dev/sdc

现在我们有两个突袭装置 /dev/sdb1/dev/sdc1

步骤2:安装mdadm

mdadm 用于管理MD(多个设备)设备,也称为Linux软件RAID。

Debian/Ubuntu:     sudo apt install mdadm

CentOS/Redhat:     sudo yum install mdadm

SUSE:              sudo zypper install mdadm

Arch Linux         sudo pacman -S mdadm

让我们检查两个设备。

sudo mdadm --examine /dev/sdb /dev/sdc

软件RAID 1

您可以看到两者都是类型 fd (Linux RAID自动检测)。 在此阶段,没有RAID设置 /dev/sdb1/dev/sdc1 可以通过此命令来推断。

sudo mdadm --examine /dev/sdb1 /dev/sdc1

md超级块

步骤3:创建RAID 1逻辑驱动器

执行以下命令以创建RAID1。逻辑驱动器将被命名为 /dev/md0

sudo mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1

Linux RAID 1阵列磁盘镜像

注意:如果看到以下消息:“设备或资源繁忙”,则可能需要重新引导操作系统。

现在我们可以使用以下命令进行检查:

cat /proc/mdstat

linux软件raid 1设置

您可以看到md0是活动的,并且是RAID 1设置。 获取有关的更多详细信息 /dev/md0,我们可以使用以下命令:

sudo mdadm --detail /dev/md0

mdadm详细信息

要获取有关每个RAID设备的详细信息,请运行以下命令:

sudo mdadm --examine /dev/sdb1 /dev/sdc1

linux raid设备

步骤4:在RAID 1逻辑驱动器上创建文件系统

让我们将其格式化为ext4文件系统。

sudo mkfs.ext4 /dev/md0

然后创建一个挂载点 /mnt/raid1 并安装RAID 1驱动器。

sudo mkdir /mnt/raid1

sudo mount /dev/md0 /mnt/raid1

您可以使用此命令来检查您有多少磁盘空间。

df -h /mnt/raid1

突袭1大小与数量

步骤5:测试

现在我们去 /mnt/raid1 并创建一个文本文件。

cd /mnt/raid1

sudo nano raid1.txt

写类似

This is raid 1 device.

保存并关闭文件。 接下来,从计算机中取出一个驱动器,然后再次检查RAID 1设备的状态。

sudo mdadm --examine /dev/sdb1 /dev/sdc1

RAID 1磁盘镜像

你可以看到 /dev/sdc1 不可用。 如果我们检查 /dev/md0,我们可以看到已删除一个RAID设备。

sudo mdadm --detail /dev/md0

突袭装置已移除

但是,文本文件仍然存在。

cat /mnt/raid1/raid1.txt

RAID 1磁盘故障

添加故障驱动器(在这种情况下, /dev/sdc1)回到RAID,运行以下命令。

sudo mdadm --manage /dev/md0 --add /dev/sdc1

突袭恢复

使用以下命令保存我们的RAID1配置非常重要。

sudo mdadm --detail --scan --verbose | sudo tee -a /etc/mdadm/mdadm.conf

输出:

ARRAY /dev/md/0 level=raid1 num-devices=2 metadata=1.2 spares=1 name=xenial:0 UUID=c7a2743d:f1e0d872:b2ad29cd:e2bee48c
      devices=/dev/sdb1,/dev/sdc1

在某些Linux发行版(例如CentOS)上,用于 mdadm/etc/mdadm.conf。 运行以上命令后,应运行以下命令以生成新的initramfs映像。

sudo update-initramfs -u

要在引导时自动安装RAID 1逻辑驱动器,请在 /etc/fstab 文件如下。

/dev/md0   /mnt/raid1   ext4   defaults   0   0

您可能要使用 x-gvfs-show 选项,可让您在文件管理器的侧栏中看到RAID1。

/dev/md0  /mnt/raid1   ext4    defaults,x-gvfs-show   0   0

如何删除RAID

如果您不想再使用RAID,请运行以下命令以删除RAID。

sudo mdadm --remove /dev/md0

然后编辑 mdadm.conf 文件并注释掉RAID定义。

#ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 spares=1 name=bionic:0 UUID=76c80bd0:6b1fe526:90807435:99030af9
#  devices=/dev/sda1,/dev/sdb1

另外,编辑 /etc/fstab 文件并注释掉可自动安装RAID设备的行。

包起来

我希望本教程可以帮助您在Linux上创建软件RAID 1。 与往常一样,如果您发现此帖子有用,请订阅我们的免费新闻通讯,或在Google +,Twitter或喜欢我们的Facebook页面上关注我们。

Sidebar