Такую панику я получаю, когда FreeBSD пытается смонтировать проблемный пул raidz1. Да, в нём 1 (из 3-ох) диск не очень, но это не повод паниковать ядру! Всяческие попытки оживить пул или хотя бы достучаться до него из-под FreeBSD (LiveCD 8/9) не увенчались успехом. Зато загрузившись с Solaris 11.1 пул отлично увиделся и данные с него успешно были стянуты.
Категорія: FreeBSD
ZFS-снапшоты – это конечно хорошо, но как вытянуть из них, например, определённый файл из определённого снапшота? Оказывается, очень просто. За показ папки со снапшотами отвечает параметр snapdir. И так, сначала узнаем текущее значение:
По умолчанию, ipfw что при сборке ядра, что при подгрузке модулем находится в режиме
deny all from any to any.
Иногда бывают ситуации, когда нужно иметь по дефолту последнее правило
allow all from any to any
Ниже будут представлены команды для определения не всего железа, а только подключаемых плат (pci, agp,…).
Для более детального вывода во всех командах можно использовать параметр “-v”
Если слишком медленно получаем вывод сетевых утилит типа arp, netstat, то достаточно добавить ключ ‘-n’ что бы не резолвились имена и получим моментальный вывод. Медленный вывод замечал только на Linux/Solaris, на FreeBSD/OpenBSD вывод быстрый.
Пример: arp -an, netstat -rn, ping -n HOST
Ниже буде приведены однострочники для dtrace, которые можно использовать под Solaris/FreeBSD. Примеры взяты из книги по dtrace
Для работы и управления данными контролерами используем утилиту tw_cli. Вот пример с работающего сервера, где вышёл из строя 9-й диск (здесь нету RAID’a, каждый диск сам по себе; о замене диска в RAID-5 читайте ниже):
При заполнении пула почти на 90% (вообще-то у всех по-разному: у кого-то и в 70%, а у кого-то только при 98%) Zfs начинает сильно притормаживать, точнее искать свободное место в пуле, куда-бы записать. Связано это с тем, что по умолчанию установлено слишком большое значение параметра metaslab_min_alloc_size.
Если вам критичен простой и вы не хотите разбираться с дампом при kernel panic, то можно облегчить себе жизнь, выставив авторебут при kernel panic. Вот как это делается в каждой из ОС.
Внимание
Перезагрузка после Kernel panic имеет и очень серьёзный недостаток, особенно если это изменение не пропадает после первой перезагрузки. В случае, если перезагрузка не устраняет ту ошибку, которая вызывает Kernel panic, система будет останавливаться и перезапускаться вновь и вновь, что может привести к аппаратным ошибкам или потерям данных
Ниже будет приведён скрипт, который позволяет перехватить удаление файла и вывести сообщение на консоль. При этом, на место блока /* INSERT HERE */ можно вставить свои обработчики, которые будут выполняться каждый раз, когда кто-то захочет удалить файл.