DIY NAS系列32 — ZFS 存储池故障与恢复

说明

关于 ZFS 的内容,在 DIY NAS系列04 — ZFS 存储池管理 一文中已有详细介绍。然而,过去 ZFS 存储池一直运行在正常状态,尚未在实际生产环境中进行过存储池故障及恢复的操作。今天,恰巧木子使用了 3 年的 NAS 系统中的 ZFS 存储池发生了故障,借此机会我们记录了相关的恢复操作流程,也算是对于 ZFS 存储池管理的一个完整闭环。

故障现象

当通过 zpool status -v 查看存储池状态显示 DEGRADED,对应故障磁盘状态为 UNAVAIL ,并关联硬盘信息 was /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6E1GE-part1,这样可以很快定位到硬盘,即:Serial NumberZ1X6E1GE。但如果是看到的是 was /dev/sdg1 时,就需要再通过其它命令确认硬盘 Serial Number

# 查看存储池状态,已经降级(DEGRADED)
❯ zpool status -v
  pool: HDD
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Mon Aug 12 11:21:07 2024
        1003G scanned at 12.7G/s, 38.5M issued at 499K/s, 8.29T total
        0B resilvered, 0.00% done, no estimated completion time
config:

        NAME                                  STATE     READ WRITE CKSUM
        HDD                                   DEGRADED     0     0     0
          raidz1-0                            DEGRADED     0     0     0
            ata-ST2000DL001-9VT156_5YD0GNWY   ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E0J6  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E24N  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X7RWV0  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6D0WX  ONLINE       0     0     0
            3590686044359175262               UNAVAIL      0     0     0  was /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6E1GE-part1

通过挂载点快速定位硬盘 Serial Number

# 如下所示,显示的是对应挂载点信息,没有 Serial Number 信息。
❯ zpool status -v
  pool: HDD
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Mon Aug 12 11:21:07 2024
        1003G scanned at 12.7G/s, 38.5M issued at 499K/s, 8.29T total
        0B resilvered, 0.00% done, no estimated completion time
config:

        NAME                                  STATE     READ WRITE CKSUM
        HDD                                   DEGRADED     0     0     0
          raidz1-0                            DEGRADED     0     0     0
            ata-ST2000DL001-9VT156_5YD0GNWY   ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E0J6  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E24N  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X7RWV0  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6D0WX  ONLINE       0     0     0
            3590686044359175262               UNAVAIL      0     0     0  was /dev/sdg1 # 挂载点信息

# 通过挂载点(序列号)查找对应硬盘 SN 号,但如果您不确认哪个是 SN 号,可以通过下面 4 条命令进行辅佐验证。
❯ ls -l /dev/disk/by-id/ | grep sdg | grep ata-ST2000
lrwxrwxrwx@ - root 13 8月  10:42 ata-ST2000NM0033-9ZM175_Z1X6E1GE -> ../../sdg
lrwxrwxrwx@ - root 13 8月  10:44 ata-ST2000NM0033-9ZM175_Z1X6E1GE-part1 -> ../../sdg1
lrwxrwxrwx@ - root 13 8月  10:42 ata-ST2000NM0033-9ZM175_Z1X6E1GE-part9 -> ../../sdg9

# 通过以下 4 个命令都可以获取硬盘 SN号 或者 MN 号。
❯ lsblk -o NAME,HCTL,MODEL,SERIAL
NAME        HCTL       MODEL               SERIAL
sda         1:0:0:0    KingFast            0919201400443
├─sda1                                     
└─sda2                                     
  ├─rl-root                                
  ├─rl-swap                                
  └─rl-home                                
sdb         4:0:0:0    ST2000NM0033-9ZM175 Z1X7RWV0
├─sdb1                                     
└─sdb9                                     
sdc         3:0:0:0    ST2000NM0033-9ZM175 Z1X6E24N
├─sdc1                                     
└─sdc9                                     
sdd         0:0:0:0    ST2000DL001-9VT156  5YD0GNWY
├─sdd1                                     
└─sdd9                                     
sde         2:0:0:0    ST2000NM0033-9ZM175 Z1X6E0J6
├─sde1                                     
└─sde9                                     
sdf         5:0:0:0    ST2000NM0033-9ZM175 Z1X6D0WX
├─sdf1                                     
└─sdf9                                     
sdg         6:0:0:0    ST2000NM0033-9ZM175 Z1X6E1GE
├─sdg1                                     
└─sdg9                                     

❯ smartctl -i /dev/sdg | grep Serial
Serial Number:    Z1X6E1GE

❯ hdparm -I /dev/sdg
/dev/sdg:
ATA device, with non-removable media
        Model Number:       ST2000NM0033-9ZM175                     
        Serial Number:      Z1X6E1GE
        Firmware Revision:  SN06    
        Transport:          Serial, SATA Rev 3.0

❯ udevadm info --query=all --name=/dev/sdg | grep ID_SERIAL
E: ID_SERIAL=ST2000NM0033-9ZM175_Z1X6E1GE
E: ID_SERIAL_SHORT=Z1X6E1GE

仅仅获取硬盘 SN 号是不够的,不可能每个硬盘都拆下来看对应 SN 号,这时候就需要确认硬盘所在 SATA 接口。

# 查看对应物理硬盘所接的 SATA 接口,通过 udevadm 获取对应信息为 pci-0000:05:00.0-ata-1,即硬盘接在 PCI 接口 0000:05:00.0 的 SATA 0 口上。
❯ udevadm info --query=all --name=/dev/sdg | grep DEVLINKS
E: DEVLINKS=/dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6E1GE /dev/disk/by-diskseq/7 /dev/disk/by-path/pci-0000:05:00.0-ata-1 /dev/disk/by-id/scsi-35000c50087fef8d8 /dev/disk/by-path/pci-0000:05:00.0-ata-1.0 /dev/disk/by-id/scsi-SATA_ST2000NM0033-9ZM_Z1X6E1GE /dev/disk/by-id/wwn-0x5000c50087fef8d8 /dev/disk/by-id/scsi-0ATA_ST2000NM0033-9ZM_Z1X6E1GE /dev/disk/by-id/scsi-1ATA_ST2000NM0033-9ZM175_Z1X6E1GE

# 获取 PCI 信息
❯ lspci | grep 05:00.0
05:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9170 PCIe 2.0 x1 2-port SATA 6 Gb/s Controller (rev 13)

# 木子这里有两个 SATA 控制器,PCI 05:00.0 实际是插在主板上的一个 2 口 PCI 转 SATA 转接板。
❯ lspci | grep "SATA controller"
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller (rev 05)
05:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9170 PCIe 2.0 x1 2-port SATA 6 Gb/s Controller (rev 13)

# 通过 dmesg 可以看到 PCI 0000:05:00.0 对应接口为 ata7 和 ata8 口,其中 ata8 口状态是 down 的,说明物理硬盘接在 ata7 口上。
❯ dmesg | grep -i 'SATA'
[    0.018032] ACPI: SSDT 0x00000000CCE8D3E8 00036D (v01 SataRe SataTabl 00001000 INTL 20091112)
[    1.834759] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 3 Gbps 0x3f impl SATA mode
[    1.852292] ata1: SATA max UDMA/133 abar m2048@0xdc402000 port 0xdc402100 irq 29
[    1.852412] ata2: SATA max UDMA/133 abar m2048@0xdc402000 port 0xdc402180 irq 29
[    1.852528] ata3: SATA max UDMA/133 abar m2048@0xdc402000 port 0xdc402200 irq 29
[    1.852645] ata4: SATA max UDMA/133 abar m2048@0xdc402000 port 0xdc402280 irq 29
[    1.852762] ata5: SATA max UDMA/133 abar m2048@0xdc402000 port 0xdc402300 irq 29
[    1.852878] ata6: SATA max UDMA/133 abar m2048@0xdc402000 port 0xdc402380 irq 29
[    1.853256] ahci 0000:05:00.0: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl SATA mode
[    1.854153] ata7: SATA max UDMA/133 abar m512@0xdc110000 port 0xdc110100 irq 30
[    1.854275] ata8: SATA max UDMA/133 abar m512@0xdc110000 port 0xdc110180 irq 30
[    2.157130] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.157255] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.157362] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.157468] ata6: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.157567] ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.165043] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.165168] ata8: SATA link down (SStatus 0 SControl 300)
[    3.675210] ata7: SATA link up 6.0 Gbps (SStatus 133 SControl 300)

综合以上信息,基本可以确认硬盘 /dev/sdg 接在 PCI SATA 0 上。

通过 smartctl 命令验证 /dev/sdg 硬盘是否真得损坏:

❯ smartctl -A /dev/sdg
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-6.1.96-1.el9.elrepo.x86_64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       100 # 重映射扇区数,这个值如果为 100 ,说明已经没有可用于坏道映射的可冗余空间了。
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       10  # 目前正在等待重新分配的扇区数量。如果该值不为 0 ,则磁盘存在潜在的坏扇区。
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0   # 记录离线状态下发现的无法校正的坏扇区数。

上面的检测数据并不代表硬盘 100% 损坏,可以通过 fscke2fsck 等命令进行检测或修复,当然还有很多方法,比如:屏蔽物理坏道等,有机会再开篇详解。

在硬盘的外壳上,通常可以直接看到以下几种信息:

  1. 型号(Model Number)
    • 通常标识为 "Model" 或 "Model Number"。
    • 例如:ST2000NM0033-9ZM175。
  2. 序列号(Serial Number)
    • 通常标识为 "Serial" 或 "Serial Number"。
    • 例如:Z1X6E1GE。
  3. 制造商(Manufacturer)
    • 制造商的名字,比如 Seagate、Western Digital 等。

从木子拆下硬盘可以看到,对应 Serial Number 没有错。

ZFS 存储池修复

ZFS 存储池修复相对简单,更换新硬盘、开机,然后使用 zpool replace 替换硬盘,再通过 zpool status -v 查看对应状态,数据开始恢复,并显示有对应数据同步速度、预计完成时间、数据量等。

# 将存储池中硬盘 ID 为 3590686044359175262 替换成新更换的硬盘
❯ zpool replace HDD 3590686044359175262 /dev/sdg

# 查看同步状态
❯ zpool status -v

  pool: HDD
 state: DEGRADED
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Mon Aug 12 11:21:07 2024
        1.14T scanned at 9.55G/s, 5.43G issued at 45.6M/s, 8.29T total
        568M resilvered, 0.06% done, 2 days 04:55:08 to go
config:

        NAME                                  STATE     READ WRITE CKSUM
        HDD                                   DEGRADED     0     0     0
          raidz1-0                            DEGRADED     0     0     0
            ata-ST2000DL001-9VT156_5YD0GNWY   ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E0J6  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E24N  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X7RWV0  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6D0WX  ONLINE       0     0     0
            replacing-5                       DEGRADED     0     0     0
              3590686044359175262             UNAVAIL      0     0     0  was /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6E1GE-part1
              sdg                             ONLINE       0     0     0  (resilvering) # 重新同步中

errors: No known data errors

# 持续查看状态
❯ zpool status -v

  pool: HDD
 state: DEGRADED # 状态已降级
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state. # 当前正在重新同步一个或多个设备。此池将继续运行,但可能处于降级状态。
action: Wait for the resilver to complete. # 等待同步完成
  scan: resilver in progress since Mon Aug 12 11:21:07 2024
        1.14T scanned at 2.88G/s, 62.5G issued at 158M/s, 8.29T total
        9.62G resilvered, 0.74% done, 15:07:33 to go #自 2024 年 8 月 12 日星期一 11:21:07 以来,重新同步正在进行中以 2.88G/s 的速度扫描了 1.14T,以 158M/s 的速度发送了 62.5G,总计 8.29T,已重新同步 9.62G,已完成 0.74%,还需要 15:07:33 的时间。
config:

        NAME                                  STATE     READ WRITE CKSUM
        HDD                                   DEGRADED     0     0     0
          raidz1-0                            DEGRADED     0     0     0
            ata-ST2000DL001-9VT156_5YD0GNWY   ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E0J6  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E24N  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X7RWV0  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6D0WX  ONLINE       0     0     0
            replacing-5                       DEGRADED     0     0     0
              3590686044359175262             UNAVAIL      0     0     0  was /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6E1GE-part1
              sdg                             ONLINE       0     0     0  (resilvering)

errors: No known data errors

# 存储池恢复完成
❯ zpool status -v

  pool: HDD
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected. # 一个或多个设备遇到不可恢复的错误。已尝试更正该错误。应用程序不受影响。
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'. # 确定是否需要更换设备,并使用 zpool clear 清除错误或使用 zpool replace 替换设备。
   see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-9P
  scan: resilvered 1.50T in 13:54:45 with 0 errors on Sat Aug 17 17:54:28 2024
config:

        NAME                                  STATE     READ WRITE CKSUM
        HDD                                   ONLINE       0     0     0
          raidz1-0                            ONLINE       0     0     0
            ata-ST2000DL001-9VT156_5YD0GNWY   ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E0J6  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E24N  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X7RWV0  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6D0WX  ONLINE       0     0     0
            sdg                               ONLINE       0     7     0

errors: No known data errors

# 存储池恢复完成以后,需要进行清除错误操作
❯ zpool clear HDD

# 再查看存储池状态,无异常
❯ zpool status -v

  pool: HDD
 state: ONLINE
  scan: resilvered 1.50T in 13:54:45 with 0 errors on Sat Aug 17 17:54:28 2024
config:

        NAME                                  STATE     READ WRITE CKSUM
        HDD                                   ONLINE       0     0     0
          raidz1-0                            ONLINE       0     0     0
            ata-ST2000DL001-9VT156_5YD0GNWY   ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E0J6  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E24N  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X7RWV0  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6D0WX  ONLINE       0     0     0
            sdg                               ONLINE       0     0     0

errors: No known data errors

从日志来看,ZFS 在 13 小时 54 分钟 45 秒内恢复了 1.5TB 的数据。计算一下每秒恢复的数据量:

  1. 将时间转换为秒

    • 13 小时 = 13 * 3600 秒 = 46800 秒
    • 54 分钟 = 54 * 60 秒 = 3240 秒
    • 45 秒 = 45 秒
    • 总时间 = 46800 + 3240 + 45 = 50085 秒
  2. 将 1.5TB 转换为 MB

    • 1TB = 1024GB
    • 1GB = 1024MB
    • 因此,1.5TB = 1.5 1024 1024MB = 1572864MB
  3. 计算每秒恢复的数据量

    • 每秒恢复的数据量 = 总数据量(MB) / 总时间(秒)
    • 每秒恢复的数据量 = 1572864MB / 50085 秒 ≈ 31.4MB/s

因此,根据日志信息,ZFS 在 13 小时 54 分钟 45 秒内恢复 1.5TB 数据的速度大约是 31.4MB/s

木子硬件信息如下:

  • 硬盘接口:SATA 2.0
  • 单盘容量:2TB
  • RAID 类型:RAID 5
  • 数据类型:大文件居多(电影)
  • 恢复速度:31.4MB/s

希望以上数据能为您提供参考。因此,在使用 ZFS 时,不建议选择8TB 这种大容量的硬盘,因为一旦发生磁盘故障,数据恢复的周期会非常长,尤其是在存在大量小文件的情况下。

填坑

因为操作失误,木子在替换 ZFS 存储池硬盘时,用的挂载点信息 /dev/sdg,这会存在一个问题,重启服务器会出现硬盘与挂载点错位,从而造成 ZFS 存储池磁盘故障的情况。

❯ zpool status -v

  pool: HDD
 state: ONLINE
  scan: resilvered 1.50T in 13:54:45 with 0 errors on Sat Aug 17 17:54:28 2024
config:

        NAME                                  STATE     READ WRITE CKSUM
        HDD                                   ONLINE       0     0     0
          raidz1-0                            ONLINE       0     0     0
            ata-ST2000DL001-9VT156_5YD0GNWY   ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E0J6  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E24N  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X7RWV0  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6D0WX  ONLINE       0     0     0
            3590686087659175262               UNAVAIL      0     0     0  was /dev/sdg1

errors: No known data errors

解决方案

这时候如果使用 zpool replace HDD 3590686087659175262 /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X7SE5Z 命令去替换 3590686087659175262 故障硬盘,会报错:此设备已经在存储池。而在 RAID 5 模式下,想删除对应磁盘,再重新添加也不可行。

操作步骤:先将现有存储池信息从服务器上删除,再重启服务器,这时候检测存储池状态是没有可用存储池的,再从磁盘导入存储池,就能解决此问题。

# 删除存储池信息
❯ rm -rf /etc/zfs/zpool.cache 

# 重启服务器
❯ reboot

# 查看存储池信息不可用
❯ zpool status -v

# 这时候如果直接导入磁盘 ID 中的存储池信息,是可以正常使用的,但是对应的 NAME 信息为 wwn-0x5000c5009230bee8,与存储池其它磁盘 NAME 信息是不一致的,这时候怎么解决了?
❯ zpool import -d /dev/disk/by-id HDD

❯ zpool status -v
  pool: HDD
 state: ONLINE
  scan: resilvered 908K in 00:00:02 with 0 errors on Mon Aug 19 10:33:46 2024
config:

        NAME                                  STATE     READ WRITE CKSUM
        HDD                                   ONLINE       0     0     0
          raidz1-0                            ONLINE       0     0     0
            ata-ST2000DL001-9VT156_5YD0GNWY   ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E0J6  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E24N  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X7RWV0  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6D0WX  ONLINE       0     0     0
            wwn-0x5000c5009230bee8            ONLINE       0     0     0

如上所示,直接导入存储池信息是可用的,也不会再出现重启挂载点错位问题,但是对应的 NAME 信息为 wwn-0x5000c5009230bee8,与存储池其它磁盘 NAME 信息是不一致的,这时候怎么解决了?
骚操作:先将现有存储池信息从服务器上删除,再重启服务器,然后创建软链接,再从磁盘导入存储池,就能解决此问题。

# 先将磁盘 ID 软链接到一个临时目录,然后再导入临时目录的存储池信息,这样就能解决问题。
❯ mkdir /tmp/zfs-import/
❯ ln -s /dev/disk/by-id/ata-ST2000* /tmp/zfs-import
❯ ls -l /tmp/zfs-import/
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000DL001-9VT156_5YD0GNWY -> /dev/disk/by-id/ata-ST2000DL001-9VT156_5YD0GNWY
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000DL001-9VT156_5YD0GNWY-part1 -> /dev/disk/by-id/ata-ST2000DL001-9VT156_5YD0GNWY-part1
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000DL001-9VT156_5YD0GNWY-part9 -> /dev/disk/by-id/ata-ST2000DL001-9VT156_5YD0GNWY-part9
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X6D0WX -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6D0WX
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X6D0WX-part1 -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6D0WX-part1
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X6D0WX-part9 -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6D0WX-part9
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X6E0J6 -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6E0J6
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X6E0J6-part1 -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6E0J6-part1
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X6E0J6-part9 -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6E0J6-part9
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X6E24N -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6E24N
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X6E24N-part1 -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6E24N-part1
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X6E24N-part9 -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X6E24N-part9
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X7RWV0 -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X7RWV0
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X7RWV0-part1 -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X7RWV0-part1
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X7RWV0-part9 -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X7RWV0-part9
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X7SE5Z -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X7SE5Z
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X7SE5Z-part1 -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X7SE5Z-part1
lrwxrwxrwx@ - root 19 8月  18:30  ata-ST2000NM0033-9ZM175_Z1X7SE5Z-part9 -> /dev/disk/by-id/ata-ST2000NM0033-9ZM175_Z1X7SE5Z-part9

# 从链接 /tmp/zfs-import 目录导入存储池
❯ zpool import -d /tmp/zfs-import HDD

# 再查看存储池信息,恢复正常,完美解决。
❯  zpool status -v
  pool: HDD
 state: ONLINE
  scan: resilvered 908K in 00:00:02 with 0 errors on Mon Aug 19 10:33:46 2024
config:

        NAME                                  STATE     READ WRITE CKSUM
        HDD                                   ONLINE       0     0     0
          raidz1-0                            ONLINE       0     0     0
            ata-ST2000DL001-9VT156_5YD0GNWY   ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E0J6  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6E24N  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X7RWV0  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X6D0WX  ONLINE       0     0     0
            ata-ST2000NM0033-9ZM175_Z1X7SE5Z  ONLINE       0     0     0

errors: No known data errors

:删除服务器上存储池信息,再从磁盘导入存储池,并不会造成存储池数据丢失或者数据重组等情况,所以在非业务高峰期,可以放心操作。

Avatar photo

关于 木子

Founder of the Rocky Linux Chinese community, MVP、VMware vExpert、TVP, advocate for cloud native technologies, with over ten years of experience in site reliability engineering (SRE) and the DevOps field. Passionate about Cloud Computing、Microservices、CI&CD、DevOps、Kubernetes, currently dedicated to promoting and implementing Rocky Linux in Chinese-speaking regions.
用一杯咖啡支持我们,我们的每一篇[文档]都经过实际操作和精心打磨,而不是简单地从网上复制粘贴。期间投入了大量心血,只为能够真正帮助到您。
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇