目前,我正在尝试将数据从软件 RAID5(6 个磁盘)迁移到软件 RAID1。选择的命令是:
rsync -avxHACPX /mnt/old/ /mnt/new/
但是,在播放完前几个文件后,机器就完全死机了。一开始我以为这是因为磁盘是通过 USB3 扩展卡连接的,但即使直接使用 SATA 连接,情况也不会改变。
目前我正在使用 运行一个较长的 SMART 测试smartctl
,但这需要很长时间才能完成。同时,我想了解如何诊断此类问题。
几年前,人们曾经能够在其中一个终端上跟踪内核日志,但 Ubuntu 似乎不再提供此功能。由于日志文件不包含任何有用的信息(可能是因为一旦发生错误情况,它们就不会被写入),我很想知道如何诊断这样的问题?
我的问题更多的是关于诊断此类问题的一般问题当我遇到它时。现在我似乎唯一的机会就是记下包含错误的文件,然后在复制时跳过这些文件。但这是实际的任务。在更抽象的层面上,我想了解一些策略,比如我过去可以通过观察内核控制台来做什么。
rsync
注意:我在调用时添加了 first 前缀ionice -c 3 nice
,但之后出现错误,因此删除了它。错误与此无关。
更多信息:源卷是 XFS,目标磁盘是 ext4。我总是mount -o ro,remount
在开始复制操作之前检查源卷。源卷也恰好是位于软件 RAID5 (md) 之上的 LVM2 卷。
smartctl -a
输出(已过滤):
# for i in $(blkid |grep '/sd'|cut -b 1-8|sort|uniq); do echo $i; smartctl -a $i|grep -A 1 '^SMART Error Log Version'; done
/dev/sda
SMART Error Log Version: 1
No Errors Logged
/dev/sdb
SMART Error Log Version: 1
ATA Error Count: 1
/dev/sdc
SMART Error Log Version: 1
No Errors Logged
/dev/sdd
SMART Error Log Version: 1
No Errors Logged
/dev/sde
SMART Error Log Version: 1
No Errors Logged
/dev/sdf
SMART Error Log Version: 1
No Errors Logged
/dev/sdg
SMART Error Log Version: 1
No Errors Logged
/dev/sdh
SMART Error Log Version: 1
No Errors Logged
/dev/sdb
是组成源卷的物理卷的物理磁盘之一。
iostat
您要求的输出:
sdc 0.00 3.50 0.00 2.00 0.00 22.00 22.00 0.45 226.00 0.00 226.00 78.00 15.60
sdd 38.50 0.00 86.00 0.00 6982.00 0.00 162.37 0.27 3.14 3.14 0.00 2.95 25.40
sde 39.50 0.00 88.00 0.00 7064.00 0.00 160.55 0.43 4.95 4.95 0.00 4.30 37.80
md1 0.00 0.00 625.00 0.00 34984.00 0.00 111.95 0.00 0.00 0.00 0.00 0.00 0.00
sdf 40.00 0.00 84.50 0.00 6994.00 0.00 165.54 0.40 4.73 4.73 0.00 4.43 37.40
sdg 0.00 107.00 0.00 250.00 0.00 18018.00 144.14 1.29 5.06 0.00 5.06 0.61 15.20
sdh 0.00 107.00 251.00 6.50 16034.00 2434.00 143.44 2.54 9.69 9.74 7.69 0.60 15.40
md6 0.00 0.00 0.50 113.50 2.00 2434.00 42.74 0.00 0.00 0.00 0.00 0.00 0.00
md5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
BIGDISK 0.00 0.00 625.00 0.00 34984.00 0.00 111.95 2.59 4.19 4.19 0.00 0.92 57.80
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 38.50 0.00 86.50 0.00 6982.00 0.00 161.43 0.40 4.58 4.58 0.00 4.09 35.40
sdb 39.00 0.00 87.00 0.00 6898.00 0.00 158.57 0.38 4.37 4.37 0.00 3.91 34.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdd 40.50 0.00 86.00 0.00 7028.00 0.00 163.44 0.30 3.51 3.51 0.00 3.16 27.20
sde 37.50 0.00 86.50 0.00 6972.00 0.00 161.20 0.39 4.51 4.51 0.00 4.05 35.00
md1 0.00 0.00 626.50 0.00 34772.00 0.00 111.00 0.00 0.00 0.00 0.00 0.00 0.00
sdf 38.50 0.00 86.50 0.00 7002.00 0.00 161.90 0.42 4.86 4.86 0.00 4.23 36.60
sdg 0.00 470.00 0.00 277.50 0.00 80506.00 580.22 68.39 246.57 0.00 246.57 2.54 70.40
sdh 0.00 459.50 128.50 152.00 8224.00 71834.00 570.82 72.01 256.88 6.66 468.42 2.52 70.80
md6 0.00 0.00 0.00 612.50 0.00 71834.00 234.56 0.00 0.00 0.00 0.00 0.00 0.00
md5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
BIGDISK 0.00 0.00 626.50 0.00 34772.00 0.00 111.00 2.69 4.30 4.30 0.00 0.93 58.20
/dev/sdb
设备是否smartctl
报告错误。
答案1
回答这个问题,并给遇到这个问题的其他人提供进一步的指导。原来是机器的主板坏了。一些电容器实际上已经爆裂了。
经验教训:在这种非常尴尬的情况下,不要排除实际硬件故障。
顺便说一句:我能够从 RAID5 阵列中挽救所有数据。