Автозамена ZFS недоступен накопитель

У меня есть неверная настройка пула тестов ZFS в моем vm:

    NAME        STATE     READ WRITE CKSUM
    pool        DEGRADED     0     0     0
      mirror-0  DEGRADED     0     0     0
        sdb     ONLINE       0     0     0
        sdc     ONLINE       0     0     0
    spares
      sdd       AVAIL

Я пытаюсь проверить возможность замены диска, который становится недоступным , автоматически в пуле zfs. Например, если по какой-либо причине диск извлекается из системы, запасное погружение может занять место сразу после извлечения диска. Я настроил диск spare и, исходя из прочитанного мною, я понимаю, что это должно достичь моей цели. Я также установил флаг autoreplace на on, чтобы указать zfs заменить любой неисправный диск в случае его обнаружения. Когда вы удаляете диск из виртуальной машины, говорите sdb и перепроверяете статус zfs, он выглядит следующим образом:

    NAME        STATE     READ WRITE CKSUM
    pool        DEGRADED     0     0     0
      mirror-0  DEGRADED     0     0     0
        sdb     UNAVAIL      0     0     0
        sdc     ONLINE       0     0     0
    spares
      sdd       AVAIL

Устройство sdb становится недоступным, но никогда не заменяется запасным. Есть ли способ заставить мой вариант использования работать?

0
задан 20 July 2016 в 12:23

1 ответ

Введение

, В первую очередь, для любого, у кого есть та же проблема о Ubuntu 16.04, это в настоящее время - продолжающаяся ошибка и на данный момент к моему знанию, не был зафиксирован. Можно посетить разговор GitHub здесь для наблюдения ошибки, на которую я ссылаюсь. Во-вторых, я пишу это сообщение как энтузиаст и промежуточный пользователь Linux, я не разработчик или в настоящее время работаю над Linux как профессия. Это сказанное я обеспечу информацию, которую я нашел по этой проблеме насколько я знаю.

Проблема:

функциональность горячего резервирования, встроенная в zfsonlinux, пакет в настоящее время не работает, как указано в странице справочника. zpool страница справочника:

Hot Spares
   ZFS allows devices to be associated with pools as "hot spares".
   These devices are not actively used in the pool, but when an active
   device fails, it is automatically replaced by a hot spare.

Примечание: Холодная запчасть (запчасть, не замененная автоматически) функциональность, работает, но только в конфигурациях, состоящих из mirrors или любой из raidz's. Если у Вас есть конфигурация как парование:

NAME      STATE     READ WRITE CKSUM
pool      ONLINE       0     0     0
  sdb     ONLINE       0     0     0
  sdc     ONLINE       0     0     0
spares
  sdd     AVAIL

На отказ диска Вы будете не мочь заменить его запчастью из-за pool I/O is currently suspended ошибка.

Предпринятые Решения:

Это - список предпринятых решений, которые я прошел, и результаты получен:

  1. автоматическая замена ZFS: оказывается, что согласно zpool страница справочника и мое понимание ее, autoreplace функциональность не состоит в том, чтобы заменить поврежденный диск запчастью, а скорее заменять сам поврежденный диск любым новым устройством, найденным в его местоположении. zpool страница справочника:

    If set to "on", any new device, found in the same physical location
    as a device that previously belonged to the pool, is automatically 
    formatted and replaced.
    

    autoreplace хорошо, чтобы иметь на, но достигнуть функциональности горячего резервирования я не полагаю, что она необходима. Я не могу подтвердить это кроме через страницу справочника, потому что я не мог заставить запчасть работать.

  2. ZED.rc: Я позже нашел из разговора на GitHub, что ZED_SPARE_ON_CHECKSUM_ERRORS и ZED_SPARE_ON_IO_ERRORS флаги должны были быть установлены в zed.rc. Как [1 143] @user121391, сказанный в его ответе на это сообщение, сервис/демон зета, - то, что определяет состояние пула и что требуется, чтобы быть сделанным на основе того состояния. Вы видите zed.d на работе путем выполнения zpool events. После установки флагов, перезагружая и, реконфигурировав новый пул на всякий случай, мое тестирование горячего резервирования подошло отрицательное снова.

  3. сценарии ZED.d: В [1 144] комментарий @Michael Kjörling он упомянул некоторые сценарии, упакованные с ЗЕТОМ, которые записаны для помощи со сценарием горячего резервирования. Я действительно находил сценарии расположенными в [1 116]. Можно просмотреть эти сценарии на странице GitHub здесь . От моего понимания zed.d, когда событие инициировано выполнения демона ЗЕТА один из этих сценариев на основе его состояния. Это сказанное я действительно пытался работать io-spare.sh и checksum-spare.sh вручную и судящий к тому времени, когда они взяли для выполнения, а также неизменное состояние пула, они, казалось, не работали правильно. Возможно, это - потенциальный источник к проблеме.

Мои Планы

Для пользователей Ubuntu 16.04 ZFS, к моему знанию там в настоящее время, кажется, не, прикрепляют к этой проблеме. Я планирую продолжить использовать ZFS с конфигурацией mirrored или raidz (RAID5), зависящий производительность, я вхожу в тестирование. (зеркально отраженный будет быстрее, но я хочу видеть скорость [1 121]), горячее резервирование увеличило бы дублирование обеих этих конфигураций, но к сожалению мы должны будем ожидать до дальнейшего развития zfsonlinux проект. v

0
ответ дан 20 July 2016 в 12:23

Другие вопросы по тегам:

Похожие вопросы: