收集云服务器优惠信息
记录云服务器使用心得

Linux将分区组装为RAID设备并创建系统备份简单方法

独立磁盘冗余阵列(RAID)技术是一种存储解决方案,它将多个硬盘组合成一个逻辑单元,以提供数据冗余和/或提高磁盘读/写操作的性能。然而,实际的容错能力和磁盘I/O性能取决于硬盘如何设置形成磁盘阵列。根据可用设备和容错/性能需求,定义了不同的RAID级别。

在本文中,小编主要介绍如何通过如mdadm命令将分区组装为RAID设备并创建系统备份,从而更好地管理你的Linux磁盘空间,下面一起来看看吧。

在Linux中安装mdadm

选择用于创建、组装、管理和监控软件RAID的工具称为mdadm(多磁盘管理的缩写),可以通过以下命令进行安装:

$ sudo apt install mdadm [Debian、Ubuntu和Mint上]
$ sudo yum install mdadm [RHEL/CentOS/Fedora和Rocky/AlmaLinux]
$ sudo zypper install mdadm [OpenSUSE]    

将分区组装为RAID设备

将现有分区组装为RAID设备的过程包括以下步骤。

1、使用mdadm创建一个新数组

如果其中一个分区之前已被格式化或者之前已成为另一个RAID阵列的一部分,系统将提示你确认创建新阵列。假设你已采取必要的预防措施以避免丢失其中可能存在的重要数据,则可以安全地键入y并按Enter:

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

创建RAID阵列

2、检查阵列创建状态

为了检查阵列创建状态,将使用以下命令。当然,无论RAID类型如何,这些与我们创建RAID0(如上所示)或设置RAID5时(如下图所示)一样有效。

# cat /proc/mdstat
或
# mdadm --detail /dev/md0  [此命令更加详细]

检查RAID阵列状态

3、格式化RAID设备

根据你的需要/要求使用文件系统格式化设备,具体可以参考本文中的内容:Linux系统对存储设备进行分区的两种方法

4、监控RAID阵列服务

这里要仔细看好,将mdadm --detail --scan输出添加到/etc/mdadm/mdadm.conf(Debian及其衍生版本)或/etc/mdadm.conf (CentOS / openSUSE),具体如下所示:

# mdadm --detail --scan
监控RAID阵列
# mdadm --assemble --scan [组装数组]

要确保服务在系统启动时启动,请以root身份运行以下命令:

# systemctl start mdmonitor
# systemctl enable mdmonitor

5、检查RAID磁盘故障

在支持冗余的RAID级别中,需要时更换故障驱动器。当磁盘阵列中的某个设备出现故障时,仅当我们首次创建阵列时添加了备用设备时,才会自动开始重建:

检查RAID故障磁盘

否则,需要手动将额外的物理驱动器连接到我们的系统并运行它。

# mdadm /dev/md0 --add /dev/sdX1

其中/dev/md0是遇到问题的阵列,/dev/sdX1是新设备。

6、拆卸工作阵列

如果需要使用设备创建新阵列,可能必须执行此操作(可选步骤):

# mdadm --stop /dev/md0  #停止阵列
# mdadm --remove /dev/md0 #删除RAID设备
# mdadm --zero-superblock /dev/sdX1 #用zero覆盖现有的md超级块

7、创建邮件警报

你可以配置有效的电子邮件地址或系统帐户来发送警报,确保mdadm.conf中有此行​​(可选步骤):

MAILADDR root

在这种情况下,RAID监控守护程序收集的所有警报都将发送到本地root帐户的邮箱。其中一个警报如下所示。

RAID监控守护程序

注意:此事件与步骤五中的示例相关,其中设备被标记为有故障,并且备用设备由mdadm自动构建到阵列中。因此,我们“用完”了健康的备用设备并收到了警报。

了解Linux 中的 RAID 级别

以下是常见RAID级别的简要概述,可以大致了解下。

磁盘阵列0

阵列总大小是最小分区大小的n倍,其中n是阵列中独立磁盘的数量(至少需要两个驱动器)。运行以下命令,使用分区/dev/sdb1和/dev/sdc1组装RAID 0阵列。

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

常见用途:支持实时应用程序的设置,其中性能比容错更重要。

RAID 1(又名镜像)

阵列总大小等于最小分区的大小(至少需要两个驱动器)。运行以下命令,使用分区/dev/sdb1和/dev/sdc1组装RAID 1阵列。

# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

常见用途:安装操作系统或重要子目录,例如/home。

RAID 5(又名具有奇偶校验的驱动器)

总数组大小将是最小分区大小的( n – 1 ) 倍。( n-1 ) 中“lost”的空间用于奇偶校验(冗余)计算(将需要至少三个驱动器)。

请注意,当出现问题时,可以指定备用设备(在本例中为/dev/sde1 )来替换故障部件。运行以下命令,使用分区/dev/sdb1、/dev/sdc1、/dev/sdd1和/dev/sde1作为备用分区组装RAID 5阵列。

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-devices=1 /dev/sde1

常见用途:Web和文件服务器。

RAID 6(又称双奇偶校验驱动器)

阵列总大小将为 ( n*s)-2*​​s,其中n是阵列中独立磁盘的数量,s是最小磁盘的大小。请注意,当出现问题时,可以指定备用设备(在本例中为/dev/sdf1 )来替换故障部件。运行以下命令,使用分区/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1和/dev/sdf1作为备用分区组装RAID 6阵列。

# mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde --spare-devices=1 /dev/ sdf1

常见用途:具有大容量和高可用性要求的文件和备份服务器。

RAID 1+0(又名镜像条带)

由于RAID 1+0是两者的组合,因此阵列总大小是根据RAID 0和RAID 1的公式计算的。首先,计算每个镜子的尺寸,然后计算条带的尺寸。

请注意,当出现问题时,可以指定备用设备(在本例中为/dev/sdf1 )来替换故障部件。运行以下命令,使用分区/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1和/dev/sdf1作为备用分区组装RAID 1+0阵列。

# mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[be]1 --spare-devices=1 /dev/sdf1

常见用途:需要快速 I/O 操作的数据库和应用程序服务器。

在Linux中创建和管理系统备份

记住RAID及其所有好处很有必要,但尽管如此,备份还是必须要做的事情。这一点永远不会有什么坏处!在开始之前,必须注意,系统备份没有一刀切的解决方案,但在规划备份策略时需要考虑以下一些事项。

  • 你的系统用来做什么?(桌面还是服务器?如果后一种情况适用,最关键的服务是什么——失去其配置将是非常不划算的)。
  • 需要多久备份一次系统?
  • 要备份的数据(例如文件/目录/数据库转储)是什么?可能还需要考虑是否确实需要备份大文件(例如音频或视频文件)。
  • 这些备份将存储在哪里(指物理位置和介质)?

1、使用dd命令备份驱动器

使用dd命令备份整个驱动器。你可以通过在任何时间点创建精确的映像来备份整个硬盘或分区。请注意,此方法在设备离线时效果最佳,这意味着设备未安装并且没有进程访问它以进行I/O操作。这种备份方法的缺点是映像的大小与磁盘或分区相同,即使实际数据只占其中的一小部分。

例如,如果要对仅占10%的20GB分区进行映像,则映像文件的大小仍将是20GB 。换句话说,不仅备份实际数据,还备份整个分区本身。如果需要设备的精确备份,可以考虑使用此方法。

创建分区映像

# dd if=/dev/sda of=/system_images/sda.img
-------------- 或者,也可以压缩图像文件 -------------------
# dd if=/dev/sda | gzip -c > /system_images/sda.img.gz

恢复分区镜像

# dd if=/system_images/sda.img of=/dev/sda
或者
# gzip -dc /system_images/sda.img.gz | dd=/dev/sda

2、使用tar命令备份文件

使用tar命令备份某些文件/目录,已在文章中介绍。如果需要保留特定文件和目录(配置文件、用户主目录等)的副本,可以考虑使用此方法。

3、使用rsync命令备份和同步文件

使用rsync命令同步文件,这是一个多功能的远程(和本地)文件复制工具。如果需要将文件备份到网络驱动器或从网络驱动器同步文件,rsync是一个不错的选择。无论是同步两个本地目录还是本地文件系统上挂载的本地< --- >远程目录,基本语法都是相同的。

同步两个本地目录

# rsync -av source_directory destination directory

其中,-a递归到子目录(如果存在),保留符号链接、时间戳、权限和原始所有者/组和-v verbose。

rsync同步文件

此外,如果想提高有线数据传输的安全性,可以使用ssh over rsync。

通过SSH同步本地 → 远程目录

# rsync -avzhe ssh backups root@remote_host:/remote_directory/

此示例将本地主机上的备份目录与远程主机上的/root/remote_directory的内容同步。其中该-h选项以人类可读的格式显示文件大小,并且-e标志用于指示SSH连接。

rsync同步远程文件

通过SSH同步远程 → 本地目录

在这种情况下,请切换上一示例中的源目录和目标目录,命令如下:

# rsync -avzhe ssh root@remote_host:/remote_directory/ backups

请注意,这些只是rsync使用的3个示例(也就是你可能遇到的最常见情况)。有关rsync命令的更多示例和用法,请参阅相关帮助文档。

概括

作为系统管理员,你需要确保Linux系统尽可能良好地运行。如果你做好了充分准备,并且RAID和常规系统备份等存储技术能够很好地支持数据的完整性,那么无疑将是安全的。

赞(0)
网站声明:本文内容由趣云笔记原创,部分资源收集于网络,如有侵权请联系企鹅:2472781824删除。
文章名称:《Linux将分区组装为RAID设备并创建系统备份简单方法》
文章链接:https://www.ecscoupon.com/1639.html
本站资源仅供个人学习交流,未经允许不得转载,更不允许用于商业用途。如需转载,请注明来源,感谢理解!