查看设备与 SMART 信息
#
首先,查看接入的设备:
1
2
| lsblk -o NAME,SIZE,MODEL
sudo fdisk -l
|
查看 SMART 状态:sudo smartctl -a /dev/sdX。
SMART 状态可以交给 AI 辅助分析。
SMART 自检
#
1
2
3
4
5
6
7
8
9
10
11
12
| sudo smartctl -t short /dev/sdX
sudo smartctl -t long /dev/sdX
sudo smartctl -t conveyance /dev/sdX # 运输损伤自检
# 查看进度
sudo smartctl -c /dev/sdX
# 中断自检
sudo smartctl -X /dev/sdX
# 查看自检历史
sudo smartctl -l selftest /dev/sdX
|
badblocks 检测
#
只读测试:
1
| sudo badblocks -sv /dev/sdX
|
非破坏性读写测试:
1
| sudo badblocks -nsv /dev/sdX
|
警告: 以下 -w 测试会破坏目标设备上的原有数据,执行前务必核对设备名。
1
2
3
4
| sudo badblocks -wsv /dev/sdX
# 指定块大小和每次处理的块数,以加快检测
sudo badblocks -nsv -b 4096 -c 65536 /dev/sdX
|
使用 ddrescue 救援
#
使用 mapfile 保存进度,以便断点续传。先跳过坏块,尽快复制可读数据:
1
| sudo ddrescue -f -n /dev/sdX /dev/sdY /root/map_sda.log
|
再针对坏块重试 3 轮:
1
| sudo ddrescue -f -r3 /dev/sdX /dev/sdY /root/map_sda.log
|
镜像压缩
#
快速压缩:
1
| pv bkup.img | pigz -p 6 -4 > bkup.img.gz
|
简单测速
#
1
2
3
4
5
6
| # 顺序读取速度测试
sudo hdparm -t /dev/sdX
# 简易写入速度测试
cd ./mount-point
dd if=/dev/zero of=./testfile bs=1G count=1 oflag=direct
|
备份
#
全盘备份并压缩:
1
| sudo dd if=/dev/sdX bs=4M | pv -s $(sudo blockdev --getsize64 /dev/sdX) | pigz -p 4 > ./img.gz
|
备份分区表:
1
| sudo sfdisk -d /dev/sdX > ./partition
|