Linux基金会推出了LFCS(Linux基金会认证系统管理员)认证,这是系统管理员们展示自己能够通过基于性能的考试来进行Linux系统的整体运维支持:系统支持、一级诊断和监控,以及在需要时将问题升级到其他支持团队的闪亮机会。
该系列将被命名为LFCS(Linux基金会认证系统管理员)第1至33部分,并涵盖以下主题:
本文是第6部分,属于33个教程系列的一部分,在这一部分中,我们将解释如何将分区组装为RAID设备,并创建和管理系统备份,这是LFCS认证考试所需的。
了解Linux中的RAID
被称为独立磁盘冗余阵列(RAID)的技术是一种存储解决方案,将多个硬盘组合成一个单一的逻辑单元,以提供数据冗余和/或改善磁盘的读/写操作性能。
然而,实际的容错能力和磁盘 I/O 性能取决于硬盘如何设置以形成磁盘阵列。根据可用设备和容错性能需求的不同,定义了不同的 RAID 级别。
您可以参考以下 RAID 系列文章,了解每个 RAID 级别的更详细解释。
在 Linux 安装 mdadm
我们选择的工具来创建、组装、管理和监控软件 RAID 的工具叫做mdadm(多磁盘管理)。
$ sudo apt install mdadm [On Debian, Ubuntu and Mint] $ sudo yum install mdadm [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo zypper install mdadm [On OpenSUSE]
将分区组装为 RAID 设备
将现有分区组装为 RAID 设备的过程包括以下步骤。
1. 使用 mdadm 创建新阵列
如果其中一个分区之前已经格式化过或已经是另一个RAID阵列的一部分,您将被提示确认创建新阵列。
假设您已经采取了必要的预防措施,以避免丢失可能存在的重要数据,您可以安全地输入y并按Enter键。
# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

2. 检查阵列创建状态
为了检查阵列创建状态,您将使用以下命令-无论 RAID 类型如何。这些命令与我们创建RAID0(如上所示)时一样有效,或者当您正在设置RAID5时,如下图所示。
# cat /proc/mdstat or # mdadm --detail /dev/md0 [More detailed summary]

3. 格式化RAID设备
根据您的需求/要求格式化设备,如本系列第4部分所述。
4. 监控RAID阵列服务
指示监控服务“关注”阵列。将mdadm --detail --scan
的输出添加到/etc/mdadm/mdadm.conf(Debian及其衍生版)或/etc/mdadm.conf(CentOS / openSUSE),如下所示。
# mdadm --detail --scan

# mdadm --assemble --scan [Assemble the array]
为了确保服务在系统启动时启动,以root身份运行以下命令。
# systemctl start mdmonitor # systemctl enable mdmonitor
5. 检查RAID磁盘故障
在支持冗余的RAID级别中,根据需要更换故障的驱动器。当磁盘阵列中的设备发生故障时,如果在我们第一次创建阵列时添加了备用设备,则会自动开始重建。

否则,我们需要手动将额外的物理驱动器连接到我们的系统并运行它。
# mdadm /dev/md0 --add /dev/sdX1
其中/dev/md0是遇到问题的阵列,/dev/sdX1是新设备。
6. 拆卸工作中的阵列
如果需要使用这些设备创建新的阵列,您可能需要这样做 – (可选步骤)。
# mdadm --stop /dev/md0 # Stop the array # mdadm --remove /dev/md0 # Remove the RAID device # mdadm --zero-superblock /dev/sdX1 # Overwrite the existing md superblock with zeroes
7. 创建邮件警报
您可以配置一个有效的电子邮件地址或系统帐户来发送警报(确保您在mdadm.conf中有这一行)。 – (可选步骤)
MAILADDR root
在这种情况下,RAID监控守护进程收集的所有警报都将发送到本地root账户的邮箱。其中一种警报如下所示。
注意:此事件与STEP 5中的示例相关,在该示例中,一个设备被标记为故障,并且备用设备被mdadm自动构建到阵列中。因此,我们“用完了”健康的备用设备,并收到了警报。

理解Linux中的RAID级别
以下是常见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)中的“丢失”空间用于奇偶校验(冗余)计算(您至少需要三个驱动器)。
请注意,您可以指定一个备用设备(在本例中为/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 0和RAID 1的公式计算的,因为RAID 1+0是两者的组合。首先,计算每个镜像的大小,然后计算条带的大小。
请注意,您可以指定一个备用设备(在本例中为/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[b-e]1 --spare-devices=1 /dev/sdf1
常见用途:需要快速I/O操作的数据库和应用服务器。
在Linux中创建和管理系统备份
永远不要忘记,RAID尽管有其优点,并不是备份的替代品!如果需要,请在黑板上写1000次,但请始终记住这个想法。
在我们开始之前,我们必须注意到,对于系统备份没有一刀切的解决方案,但以下是您在规划备份策略时需要考虑的一些事项。
- 您使用系统做什么?(桌面还是服务器?如果是后者,哪些是最关键的服务——其配置丢失会非常痛苦?)
- 您需要多久对系统进行一次备份?
- 您想要备份哪些数据(例如文件/目录/数据库转储)?您可能还想考虑是否真的需要备份大型文件(如音频或视频文件)。
- 那些备份将存储在哪里(意味着物理位置和介质)?
1. 使用dd命令备份驱动器
使用dd命令备份整个驱动器。您可以创建整个硬盘或分区的精确映像,以在任何时间点进行备份。请注意,这种方法在设备离线时效果最佳,即未挂载且没有进程对其进行I/O操作。
这种备份方法的缺点是,即使实际数据只占用了其一小部分空间,映像文件的大小将与磁盘或分区相同。
例如,如果您要备份一个20 GB的分区,该分区仅被占用了10%,映像文件的大小仍将是20 GB。换句话说,备份的不仅仅是实际数据,而是整个分区本身。如果您需要对设备进行精确备份,可以考虑使用这种方法。
创建分区映像
# dd if=/dev/sda of=/system_images/sda.img OR --------------------- Alternatively, you can compress the image file --------------------- # dd if=/dev/sda | gzip -c > /system_images/sda.img.gz
恢复分区映像
# dd if=/system_images/sda.img of=/dev/sda OR # gzip -dc /system_images/sda.img.gz | dd of=/dev/sda
2. 使用tar命令备份文件
使用tar命令备份特定的文件/目录——这在本系列的第3部分中已经介绍过。如果您需要保留特定文件和目录(配置文件、用户的主目录等)的副本,可以考虑使用这种方法。
2. 使用rsync命令备份和同步文件
使用rsync命令同步文件,这是一个多功能的远程(和本地)文件复制工具。如果您需要备份和同步文件到/从网络驱动器,rsync是一个很好的选择。
无论您是同步两个本地目录还是本地< --- >
远程目录,这些目录都挂载在本地文件系统上,基本语法都是相同的。
同步两个本地目录
# rsync -av source_directory destination directory
其中,-a
递归进入子目录(如果存在),保留符号链接、时间戳、权限和原始所有者/组,以及-v详细输出。

此外,如果您想增加数据传输在线上的安全性,可以使用ssh通过rsync。
通过SSH同步本地→远程目录
# rsync -avzhe ssh backups root@remote_host:/remote_directory/
这个例子将同步本地主机上的备份目录与远程主机上/root/remote_directory的内容。
其中-h
选项以人类可读的格式显示文件大小,而-e
标志用于指示SSH连接。

通过SSH同步远程→本地目录
在这种情况下,将源和目标目录从前一个示例中切换。
# rsync -avzhe ssh root@remote_host:/remote_directory/ backups
请注意,这些只是rsync使用的3个示例(您最可能遇到的常见情况)。有关rsync命令的更多示例和用法,请参阅以下文章。
总结
作为一名系统管理员,您需要确保您的系统尽可能高效地运行。如果您准备充分,并且您的数据完整性得到RAID等存储技术以及定期系统备份的良好支持,您将安全无虞。
现在可以购买LFCS电子书。立即订购您的副本,开始您的旅程,成为认证的Linux系统管理员!
Product Name | Price | Buy |
---|---|---|
The Linux Foundation’s LFCS Certification Preparation Guide | $19.99 | [Buy Now] |
最后但同样重要的是,请考虑使用以下链接购买您的考试券,以赚取我们一点佣金,这将帮助我们保持这本书的更新。
如果您有任何问题、评论或关于如何改进本文的更多想法,请随时在下方发表意见。此外,请考虑通过您的社交媒体个人资料分享这一系列文章。
Source:
https://www.tecmint.com/creating-and-managing-raid-backups-in-linux/