ZFS 驱动器同时位于池和热备用中吗?

ZFS 驱动器同时位于池和热备用中吗?

我正在我的服务器上运行 RAIDZ2 设置。它被挂载为 /NAS,并且不参与引导过程。运行 Ubuntu 服务器 18.10。我有两个驱动器同时出现在我身上。我已经更换并重新同步了其中一个驱动器,但是当我分离有故障的驱动器时,它并没有从池的“备件”中删除该备件。当我执行相同的过程来删除另一个故障驱动器时,它删除了备用驱动器并将其添加到池中,这正是我想要发生的情况。

这是不同的替换功能还是错误?我在网上找不到任何实例,其中有人在池中拥有活动的备用驱动器,但在备用驱动器中仍显示为“正在使用”,而它所替换的故障驱动器已被删除。它似乎没有引起任何问题,我只是认为这可能是一个错误?如果没有人可以帮助我确定这是我无意中实现的预期功能,我将提交一份错误报告。

me@myserver:~$ sudo zpool status NAS
  pool: NAS
 state: ONLINE
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 Sun Sep  1 05:28:25 2019
        59.3G scanned out of 2.42T at 46.8M/s, 14h42m to go
        9.88G resilvered, 2.39% done
config:

        NAME                              STATE     READ WRITE CKSUM
        NAS                               ONLINE       0     0     0
          raidz2-0                        ONLINE       0     0     0
            ata-HUA722020ALA330_B9JGR5TF  ONLINE       0     0     0
            ata-HUA722020ALA330_B9JA0NHF  ONLINE       0     0     0
            ata-HUA722020ALA330_B8J92GBZ  ONLINE       0     0     0
            wwn-0x50014ee2bb3b8bb0        ONLINE       0     0     0  (resilvering)
            ata-HUA722020ALA330_YAHWBY3T  ONLINE       0     0     0
            wwn-0x50014ee265d7405a        ONLINE       0     0     0
        spares
          wwn-0x50014ee265d7405a          INUSE     currently in use

errors: No known data errors

这是我更换时遵循的指南。这些替换件中的每一个都是位于自己的SATA插槽中的备件。没有进行任何物理更换。这些是出于此目的而放置在机箱中的,因为这是一台场外机器。

采取的步骤:

zpool replace NAS <bad_drive> <spare_drive>
(New drive is resilvering)
zpool offline NAS <bad_drive>
zpool detach NAS <bad_drive>

我不确定这是否是一个错误,但我能够从备用列表和活动池中删除该驱动器。去做这个:

zpool add NAS spare <additional_drive>
zpool replace NAS <spare_drive> <additional_drive>
zpool detach NAS <spare_drive>
zpool remove NAS <spare_drive>

现在我可以将“spare_drive”添加回池中,但为了此处示例,我将省略该步骤。

me@myserver:/$ sudo zpool status NAS
  pool: NAS
 state: ONLINE
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 Sep  2 02:50:45 2019
        204G scanned out of 2.42T at 39.1M/s, 16h34m to go
        33.9G resilvered, 8.22% done
config:

        NAME                              STATE     READ WRITE CKSUM
        NAS                               ONLINE       0     0     0
          raidz2-0                        ONLINE       0     0     0
            ata-HUA722020ALA330_B9JGR5TF  ONLINE       0     0     0
            ata-HUA722020ALA330_B9JA0NHF  ONLINE       0     0     0
            ata-HUA722020ALA330_B8J92GBZ  ONLINE       0     0     0
            wwn-0x50014ee2bb3b8bb0        ONLINE       0     0     0
            ata-HUA722020ALA330_YAHWBY3T  ONLINE       0     0     0
            sdh                           ONLINE       0     0     0  (resilvering)

errors: No known data errors

但是,您会注意到,我在池中将替换驱动器标识为 sdh。在重新启动计算机之前,我计划将其更改为 /dev/disk/by-id。这很重要,因为 sd(x) 由启动顺序决定,并且当添加、删除磁盘或在重新启动之间出现故障时,这些都会发生变化。为了纠正这个问题,我将使用:

sudo zpool export [pool name]
sudo zpool import -d /dev/disk/by-id [pool name]

有关该主题的更多详细信息,请参阅此链接: https://askubuntu.com/questions/967091/zpool-degrades-when-plugging-in-a-drive

谢谢,rsturtle

相关内容