美国Linux服务器RAID故障时有恢复和重建数据的办法,这就是本文小编将主要讨论的内容,下面就来详细讲解当美国Linux服务器磁盘发生故障时,如何重建软件 RAID 阵列并且不会丢失数据。下面办法仅考虑美国Linux服务器RAID 1 的配置, 但其方法和概念适用于所有情况。
在进一步讨论之前,请确保美国Linux服务器已经配置好了 RAID 1 阵列。此外,如果 SELinux 设置为 enforcing 模式,需要将相应的标签添加到挂载 RAID 设备的目录中。否则,当试图挂载时,则会碰到警告信息,那么需要通过以下命令来解决:# restorecon -R /mnt/raid1。
美国Linux服务器存储设备损坏的原因很多,尽管固态硬盘大大减少了这种情况发生的可能性,但也有可能会随时发生问题,需要准备好替换发生故障的部分,并确保数据的可用性和完整性。
首先建议的是,虽然可以通过查看 /proc/mdstat 来检查美国Linux服务器 RAID 的状态,但有一个更好和更节省时间的方法,就是使用监控 + 扫描模式运行 mdadm,它将警报通过电子邮件发送到一个预定义的收件人。
MAILADDR user@<domain or localhost>
要让 mdadm 运行在监控 + 扫描模式中,以 root 用户添加以下 crontab 条目:
@reboot /sbin/mdadm --monitor --scan –oneshot
默认情况下,mdadm 每隔60秒会检查美国Linux服务器 RAID 阵列,如果发现问题将发出警报,可以通过添加 --delay 选项到crontab 条目上面,后面跟上秒数,来修改默认行为,例如添加--delay 1800,则意味着间隔30分钟。
最后,确保已经安装了一个邮件用户代理MUA,如mutt或者mailx,否则将不会收到任何警报。一般设置完毕,在一分钟内就会看到 mdadm 发送的警报。
为了给美国Linux服务器RAID 阵列中的存储设备模拟一个故障,下面将使用 --manage 和 --set-faulty 选项,如下所示:
# mdadm --manage --set-faulty /dev/md0 /dev/sdc1
更重要的是,看看是不是收到了同样的警报邮件,在这种情况下,需要从美国Linux服务器软件 RAID 阵列中删除该设备:
# mdadm /dev/md0 --remove /dev/sdc1
然后,可以直接从机器中取出,并将其使用备用设备来取代,/dev/sdd 中类型为 fd 的分区是以前创建的:
# mdadm --manage /dev/md0 --add /dev/sdd1
幸运的是,美国Linux服务器系统会使用刚才添加的磁盘自动重建阵列,可以通过标记 /dev/sdb1 为 faulty 来进行测试,从阵列中取出后,并确认 tecmint.txt 文件仍然在 /mnt/raid1 是可访问的:
# mdadm --detail /dev/md0 # mount | grep raid1 # ls -l /mnt/raid1 | grep tecmint # cat /mnt/raid1/tecmint.txt
这样添加 /dev/sdd1 到阵列中来替代 /dev/sdc1,数据的重建是系统自动完成的,不需要干预。
还有一个备用设备可以操作,这样更换美国Linux服务器故障的设备就可以在瞬间完成了。要做到这一点,要先重新添加 /dev/sdb1 和 /dev/sdc1:
# mdadm --manage /dev/md0 --add /dev/sdb1 # mdadm --manage /dev/md0 --add /dev/sdc1
如前所述,当一个磁盘发生故障时, mdadm 将自动重建数据。如果是美国Linux服务器阵列中的2个磁盘都故障的情况,通过标记 /dev/sdb1 和 /dev/sdd1 为 faulty:
# umount /mnt/raid1 # mdadm --manage --set-faulty /dev/md0 /dev/sdb1 # mdadm --stop /dev/md0 # mdadm --manage --set-faulty /dev/md0 /dev/sdd1
如果此时尝试以同样的方式重新创建阵列就,或使用 --assume-clean 选项,可能会导致美国Linux服务器数据丢失,因此建议不要使用。
可以试着从 /dev/sdb1 恢复数据,例如,在一个类似的磁盘分区/dev/sde1上使用 ddrescue,注意这需要执行前在/dev/sde 上创建一个 fd 类型的分区:
# ddrescue -r 2 /dev/sdb1 /dev/sde1
到现在为止,还没有触及的 /dev/sdb 和 /dev/sdd,它们的分区是 RAID 阵列的一部分。现在,让我们使用 /dev/sde1 和 /dev/sdf1 来重建阵列:
# mdadm --create /dev/md0 --level=mirror --raid-devices=2 /dev/sd[e-f]1
注意,在真实的情况下,需要使用与美国Linux服务器原来的阵列中相同的设备名称,即设备失效后替换的磁盘的名称应该是 /dev/sdb1 和 /dev/sdc1。
在本文中,小编是选择了使用额外的设备来重新创建全新的磁盘阵列,是为了避免与美国Linux服务器原来的故障磁盘混淆。当被问及是否继续写入阵列时,键入 Y,然后按 Enter键,阵列被启动,也可以查看它的进展:
# watch -n 1 cat /proc/mdstat
当这个过程完成后,就能够重新访问美国Linux服务器 RAID 的数据,最后再确认一下RAID数据。还有一点需要记住,这种技术是一种存储解决方案,不能取代备份。
现在梦飞科技合作的美国VM机房的美国Linux服务器所有配置都免费赠送防御值 ,可以有效防护网站的安全,以下是部分配置介绍:
CPU | 内存 | 硬盘 | 带宽 | IP | 价格 | 防御 |
E3-1230v3 | 16GB | 500GB SSD | 1G无限流量 | 1个IP | 900/月 | 免费赠送1800Gbps DDoS防御 |
E3-1270v2 | 32GB | 500GB SSD | 1G无限流量 | 1个IP | 1250/月 | 免费赠送1800Gbps DDoS防御 |
E3-1275v5 | 32GB | 500GB SSD | 1G无限流量 | 1个IP | 1350/月 | 免费赠送1800Gbps DDoS防御 |
Dual E5-2630L | 32GB | 500GB SSD | 1G无限流量 | 1个IP | 1450/月 | 免费赠送1800Gbps DDoS防御 |
梦飞科技已与全球多个国家的顶级数据中心达成战略合作关系,为互联网外贸行业、金融行业、IOT行业、游戏行业、直播行业、电商行业等企业客户等提供一站式安全解决方案。持续关注梦飞科技官网,获取更多IDC资讯!