1

Я вращаю физические диски в зеркальном ZFS zpool (используя ZoL) и использую его для резервного копирования за пределы площадки; чтобы упростить процесс, я использовал правила udev для ответа на замену дисков.

В настоящее время, когда диск вставлен, я использую zfs attach , для которого требуется имя существующего диска из пула. На данный момент он жестко запрограммирован на один из дисков, который никогда не отключается.

Итак, вместо того, чтобы жестко кодировать идентификатор, как я могу получить идентификатор сетевого диска для целевого пула? В настоящее время я играю с выводом его из zpool status но надеялся, что может быть лучший вариант.

1 ответ1

0

Сейчас я собрал небольшой скрипт, zfs-online-disks.sh который выводит онлайн-диски из zpool status:

#!/bin/bash

# Return a list of online disks for a storage pool

ONLINE=$(zpool status $1 | grep -Po "\S*(?=\s*ONLINE)")

while read -r line; do
  if ! [ -b "/dev/disk/by-id/$line" ]; then
    continue
  fi
  echo $line
done <<< "$ONLINE"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .