Удаляем .nop устройства из zfs пула

Mar 21, 2013 02:01

Когда в nas4free мы создаём zfs массив и ставим галочку для использования 4K сектора, на выходе имеем пул, оптимизированный под современные диски, которые именно с 4K физическим сектором, даже если сообщают иное. Сегодня мы уберём лишний слой. Это не обязательно, но может пригодиться в трудную минуту.

Пул под 4K диски во FreeBSD создаётся на на самих дисках, а на логических устройствах поверх них. Хотя это не оказывает заметного влияния ни на быстродействие ни на надёжность, IMHO .nop устройства после создания массива лучше убрать. Во-первых, после того, как массив создан, он уже всё, что надо, про себя знает. И в костылях не нуждается. Во-вторых, лишний программный слой в редких случаях может создать проблемы. Мне их удалось получить при моделировании нештатных ситуаций с заменой диска. Пул на дисках вёл себя нормально, пул на .nop устройствах пришёл в нерабочее состояние.

Поехали
Имеем пул, созданный через вебгуй.
nas4free:~# zpool status Test
  pool: Test
 state: ONLINE
 scan: none requested
config:
        NAME          STATE     READ WRITE CKSUM
        Test          ONLINE       0     0     0
          raidz1-0    ONLINE       0     0     0
            ada4.nop  ONLINE       0     0     0
            ada5.nop  ONLINE       0     0     0
            ada6.nop  ONLINE       0     0     0
errors: No known data errors

Экспортируем его
nas4free:~# zpool export Test

Удаляем .nop устройства
nas4free:~# gnop destroy ada4.nop
nas4free:~# gnop destroy ada5.nop
nas4free:~# gnop destroy ada6.nop

Импортируем пул и смотрим статус
nas4free:~# zpool import Test
nas4free:~# zpool status Test
  pool: Test
 state: ONLINE
 scan: none requested
config:
        NAME        STATE     READ WRITE CKSUM
        Test        ONLINE       0     0     0
          raidz1-0  ONLINE       0     0     0
            ada4    ONLINE       0     0     0
            ada5    ONLINE       0     0     0
            ada6    ONLINE       0     0     0
errors: No known data errors

Для проверки перегружаем систему, смотрим статус
Пул без .nop устройств. Бинго.

UPD от 21 марта. Удалять .nop проще на свежем пуле, только что созданном. Если на пуле много чего настроено и при попытке экспорта пула идёт сообщение Device busy, то, наверное, стоит махнуть рукой. Всё же вреда от .nop устройств немного, удалось найти только в специально подобранной редкой ситуации.

Если же кровь из носу хочется от них избавиться - способов много. Например, отключить временно те сервисы, которые не дают экспортировать пул (самбу, торрент...)

руками, nas, nas4free, zfs

Previous post Next post
Up