Есть раздел zfs на 30 террабайт, при замене нескольких винтов на более ёмкие он внезапно перестал монтироваться. При загрузке сервер виснет на монтировании zfs. Если выключить загрузку модуля zfs и загрузиться в систему, то пул виден, ошибок нет, но при попытке выполнить zfs mount -a команда остается в подвешенном состоянии (система при этом работает без проблем, нагрузки никакой не наблюдается). По ps ax видно что болтается такая хрень -
50105 ?? DL 0:00,00 [zfs_vn_rele_taskq]
И всё. И в логах тишина...
И систему уже обновляли и винты обратно меняли и угуглились совсем...
Помогите люди добрые!
Дополнительная информация:
--------------------------Система FreeBSD 7.3-Release
ZFS Ver/13--------------------------
zfs get all ftp
NAME PROPERTY VALUE SOURCE
ftp type filesystem -
ftp creation пн дек 24 18:58 2007 -
ftp used 22,0T -
ftp available 2,14T -
ftp referenced 22,0T -
ftp compressratio 1.00x -
ftp mounted no -
ftp quota none default
ftp reservation none default
ftp recordsize 128K default
ftp mountpoint /ftp local
ftp sharenfs off default
ftp checksum on default
ftp compression off default
ftp atime on default
ftp devices on default
ftp exec on default
ftp setuid on default
ftp readonly off default
ftp jailed off default
ftp snapdir hidden default
ftp aclmode groupmask default
ftp aclinherit restricted default
ftp canmount on default
ftp shareiscsi off default
ftp xattr on default
ftp copies 1 default
ftp version 3 -
ftp utf8only off -
ftp normalization none -
ftp casesensitivity sensitive -
ftp vscan off default
ftp nbmand off default
ftp sharesmb off default
ftp refquota none default
ftp refreservation none default
ftp primarycache all default
ftp secondarycache all default--------------------------
zpool list
NAME SIZE USED AVAIL CAP HEALTH ALTROOT
ftp 32,7T 29,4T 3,37T 89% ONLINE ---------------------------
zpool status
pool: ftp
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
ftp ONLINE 0 0 0
raidz1 ONLINE 0 0 0
da0 ONLINE 0 0 0
da1 ONLINE 0 0 0
da2 ONLINE 0 0 0
da3 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
da4 ONLINE 0 0 0
da5 ONLINE 0 0 0
da6 ONLINE 0 0 0
da7 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
da8 ONLINE 0 0 0
da9 ONLINE 0 0 0
da10 ONLINE 0 0 0
da11 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
da12 ONLINE 0 0 0
da13 ONLINE 0 0 0
da14 ONLINE 0 0 0
da15 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
da16 ONLINE 0 0 0
da17 ONLINE 0 0 0
da18 ONLINE 0 0 0
da19 ONLINE 0 0 0
raidz1 ONLINE 0 0 0
da20 ONLINE 0 0 0
da21 ONLINE 0 0 0
da22 ONLINE 0 0 0
da23 ONLINE 0 0 0errors: No known data errors
--------------------------
scrub пройден без ошибок
>[оверквотинг удален]
>
>da23 ONLINE
>0 0 0
>
>
>errors: No known data errors
>
>--------------------------
>
>scrub пройден без ошибокKVA_PAGES
vm.kmem_size
vm.kmem_size_max
?
и еще посмотрите iostat -dx 1 в момент монтирования, есть ли какая-нибудь активность
sysctl -a | grep vm.kmem_sizevm.kmem_size_scale: 3
vm.kmem_size_max: 329853485875
vm.kmem_size_min: 0
vm.kmem_size: 2763816960
а на iostat -dx 1 в момент монтирования говоритextended device statistics
device r/s w/s kr/s kw/s wait svc_t %b
ad4 0.0 0.0 0.0 0.0 0 0.0 0
da0 0.0 0.0 0.0 0.0 0 0.0 0
da1 0.0 0.0 0.0 0.0 0 0.0 0
da2 0.0 0.0 0.0 0.0 0 0.0 0
da3 0.0 0.0 0.0 0.0 0 0.0 0
da4 0.0 0.0 0.0 0.0 0 0.0 0
da5 0.0 0.0 0.0 0.0 0 0.0 0
da6 0.0 0.0 0.0 0.0 0 0.0 0
da7 0.0 0.0 0.0 0.0 0 0.0 0
da8 0.0 0.0 0.0 0.0 0 0.0 0
da9 0.0 0.0 0.0 0.0 0 0.0 0
da10 0.0 0.0 0.0 0.0 0 0.0 0
da11 0.0 0.0 0.0 0.0 0 0.0 0
da12 0.0 0.0 0.0 0.0 0 0.0 0
da13 0.0 0.0 0.0 0.0 0 0.0 0
da14 0.0 0.0 0.0 0.0 0 0.0 0
da15 0.0 0.0 0.0 0.0 0 0.0 0
da16 0.0 0.0 0.0 0.0 0 0.0 0
da17 0.0 0.0 0.0 0.0 0 0.0 0
da18 0.0 0.0 0.0 0.0 0 0.0 0
da19 0.0 0.0 0.0 0.0 0 0.0 0
da20 0.0 0.0 0.0 0.0 0 0.0 0
da21 0.0 0.0 0.0 0.0 0 0.0 0
da22 0.0 0.0 0.0 0.0 0 0.0 0
da23 0.0 0.0 0.0 0.0 0 0.0 0
pass0 0.0 0.0 0.0 0.0 0 0.0 0
pass1 0.0 0.0 0.0 0.0 0 0.0 0
pass2 0.0 0.0 0.0 0.0 0 0.0 0
pass3 0.0 0.0 0.0 0.0 0 0.0 0
pass4 0.0 0.0 0.0 0.0 0 0.0 0
pass5 0.0 0.0 0.0 0.0 0 0.0 0
pass6 0.0 0.0 0.0 0.0 0 0.0 0
pass7 0.0 0.0 0.0 0.0 0 0.0 0
pass8 0.0 0.0 0.0 0.0 0 0.0 0
pass9 0.0 0.0 0.0 0.0 0 0.0 0
pass10 0.0 0.0 0.0 0.0 0 0.0 0
pass11 0.0 0.0 0.0 0.0 0 0.0 0
pass12 0.0 0.0 0.0 0.0 0 0.0 0
pass13 0.0 0.0 0.0 0.0 0 0.0 0
pass14 0.0 0.0 0.0 0.0 0 0.0 0
pass15 0.0 0.0 0.0 0.0 0 0.0 0
pass16 0.0 0.0 0.0 0.0 0 0.0 0
pass17 0.0 0.0 0.0 0.0 0 0.0 0
pass18 0.0 0.0 0.0 0.0 0 0.0 0
pass19 0.0 0.0 0.0 0.0 0 0.0 0
pass20 0.0 0.0 0.0 0.0 0 0.0 0
pass21 0.0 0.0 0.0 0.0 0 0.0 0
pass22 0.0 0.0 0.0 0.0 0 0.0 0
pass23 0.0 0.0 0.0 0.0 0 0.0 0При попытке монтирования zfs mount -v -a говорит
reading zfs config: done
mounting zfs filesystem (1/1)и стоит, ждёт...
ясн. чую, вам придется освоить ktrace
>При попытке монтирования zfs mount -v -a говорит
>
>reading zfs config: done
>mounting zfs filesystem (1/1)
>
>и стоит, ждёт...а read-only монтировать пробовали? zfs mount -o ro -a ?
>>mounting zfs filesystem (1/1)
>>
>>и стоит, ждёт...
>
>а read-only монтировать пробовали? zfs mount -o ro -a ?пробовали, та же самая картина :(
по iostat -dx 1 в самом начале, после отправки команды монтирования виден интенсивный обмен данными в течении примерно 10 секунд, после этого всё сваливается в 0.0в процессах висит такой вот процесс
1259 root 1 44 0 13432K 2028K tx->tx 0 0:00 0.00% zfsftp1# zpool get all ftp
NAME PROPERTY VALUE SOURCE
ftp size 32,7T -
ftp used 29,4T -
ftp available 3,37T -
ftp capacity 89% -
ftp altroot - default
ftp health ONLINE -
ftp guid 11119424965520262276 -
ftp version 13 default
ftp bootfs - default
ftp delegation on default
ftp autoreplace on local
ftp cachefile - default
ftp failmode continue local
ftp listsnapshots off default
>vm.kmem_size_scale: 3
>vm.kmem_size_max: 329853485875
>vm.kmem_size_min: 0
>vm.kmem_size: 2763816960Попробуйте ограничить kmem и arc (http://wiki.freebsd.org/ZFSTuningGuide).
У меня была подобная ситуация года полтора назад (amd64, 8-CURRENT, 2G RAM). Пул из 2 Raidz на 5Т. Поначалу всё работало без тюнинга, но потом, когда пул уже заполнился, начал паниковать. Я ограничил kmem и arc, стало опять нормально.
>>vm.kmem_size_scale: 3
>>vm.kmem_size_max: 329853485875
>>vm.kmem_size_min: 0
>>vm.kmem_size: 2763816960
>
>Попробуйте ограничить kmem и arc (http://wiki.freebsd.org/ZFSTuningGuide).
>У меня была подобная ситуация года полтора назад (amd64, 8-CURRENT, 2G RAM).
>Пул из 2 Raidz на 5Т. Поначалу всё работало без тюнинга,
>но потом, когда пул уже заполнился, начал паниковать. Я ограничил kmem
>и arc, стало опять нормально.на днях напоролся на похожее в 8.0-RELEASE-p2, при запуске виртуалбокса и интенсивной работы из виртуалки с дисковой подсистемой, система внутри виртуалки отваливалась с сообщением: "раздел переполнен", пока не ограничил kmem и arc.
kmem и arc ограничены, поигрался с параметрами - пофигу ((((
а куда оно у вас монтироваться должно?
zfs get mountpoint
простите, невнимательно читал, фары уже протерли, машинку покачали
а scrub уже делали ?
>простите, невнимательно читал, фары уже протерли, машинку покачали
>а scrub уже делали ?Да, конечно, scrub проходит без проблем (выше уже писали)
Тут обратил внимание что zfs list показывает такую картину -
zfs list
NAME USED AVAIL REFER MOUNTPOINT
ftp 22,0T 2,14T 22,0T /ftpПочему 22 террабайта - хз....
>zfs list
>NAME USED AVAIL REFER MOUNTPOINT
>ftp 22,0T 2,14T 22,0T /ftp
>
>Почему 22 террабайта - хз....оно тут показывает то ли "полезную" заполненность или еще какую,
но имхо проблема у вас не здесьа так, ради эксперимента попробуйте задать другую точку монтирования
или создайте новую файловую систему и ее смонтируйте, понимаете о чем я ?
Да, конечно.
Тоже пробовали. И убивал старую точку монтирования, пытался создать её заново, и менял точку монтирования на другую - никаких изменений.Не совсем понял только по поводу создания новой файловой системы - вы предлагаете убить массив и создать на его месте новый?
Сложно дать правильный совет (потому как с такой проблемой я не сталкивался), но могу сказать, что я бы попробовал "убрать в сторону" /boot/zfs/zpool.cache и, после этого, импортировал бы пул по-новой (особенно в свете того, что размер пула не соответствует ожидаемому размеру [если я вас правильно понял]).
И это уже попробовали... ))
Экспортировали пул, удалили zpool.cache, на всякий случай грохнули старую точку монтирования и обратно импортировали пул. Всё осталось по прежнему ((
Если вас не затруднит, покажите пожалуйста вывод следующих команд (возможно это натолкнёт на свежие идеи):
zpool list -o all
zfs list -t all
zdb -vvv
>Если вас не затруднит, покажите пожалуйста вывод следующих команд (возможно это натолкнёт
>на свежие идеи):
>zpool list -o all
>zfs list -t all
>zdb -vvvПоставил OpenSolaris на другой винт, помучался с дровами на 3Ware + исчитал тонну манов, чтобы найти, почему же системой не определяется более 16 HDD (править /kernel/drv/sd.conf на предмет добавления lun-ов)
В итоге zpool импортировался и zfs без каких либо проблем примонтировалась к солярке.Завтра будет продолжение марлезонского балета с FreeBSD
>Поставил OpenSolaris на другой винт, помучался с дровами на 3Ware + исчитал
>тонну манов, чтобы найти, почему же системой не определяется более 16
>HDD (править /kernel/drv/sd.conf на предмет добавления lun-ов)
>В итоге zpool импортировался и zfs без каких либо проблем примонтировалась к
>солярке.
>
>Завтра будет продолжение марлезонского балета с FreeBSDзабавно, а если так же попробовать на чистую FreeBSD импортировать пул?
>
>забавно, а если так же попробовать на чистую FreeBSD импортировать пул?Завтра попробую,если не примонтируется к 7.3 буду пробовать примонтировать к 8-ке, сейчас на всякий пожарный случай запустил на примонтированной к солярке zfs zdb...
>Завтра попробую,если не примонтируется к 7.3 буду пробовать примонтировать к 8-ке, сейчас
>на всякий пожарный случай запустил на примонтированной к солярке zfs zdb...К слову про восьмёрку: Martin Matuska (один из freebsd коммитеров) за последние неделю-две выполнил "merge from current" достаточно большого количества коммитов, связаных с исправлением ошибок в работе zfs. Так, что если есть возможность выбора, то лучше пробовать на свежей 8-STABLE, а не на релизе.
Ну всё, решилась проблема. Сделали проверку пула в солярке (она вообще без проблем подключила его), зацепили обратно к фре - та его так же без проблем зацепила. Хз что было, но слава богу что ничего не потеряли ))
>Ну всё, решилась проблема. Сделали проверку пула в солярке (она вообще без
>проблем подключила его), зацепили обратно к фре - та его так
>же без проблем зацепила. Хз что было, но слава богу что
>ничего не потеряли ))пляски с бубном, однако.
поздравляю.
>пляски с бубном, однако.
>поздравляю.+1
тоже за вас болел ;)
>>пляски с бубном, однако.
>>поздравляю.
>
>+1
>тоже за вас болел ;)Мы тоже очень за себя болели ))
Огромное спасибо за помощь и поддержку!
>>Завтра попробую,если не примонтируется к 7.3 буду пробовать примонтировать к 8-ке, сейчас
>>на всякий пожарный случай запустил на примонтированной к солярке zfs zdb...
>
>К слову про восьмёрку: Martin Matuska (один из freebsd коммитеров) за последние
>неделю-две выполнил "merge from current" достаточно большого количества коммитов, связаных с
>исправлением ошибок в работе zfs. Так, что если есть возможность выбора,
>то лучше пробовать на свежей 8-STABLE, а не на релизе.Сегодня с утра этот пул импортировался и примонтировался к исходной FreeBSD 7.3 без каких либо проблем...., ZDB соляровский ошибок в пуле не нашел. Полтергейст.....
>Сегодня с утра этот пул импортировался и примонтировался к исходной FreeBSD 7.3
>без каких либо проблем...., ZDB соляровский ошибок в пуле не нашел.
>Полтергейст.....ZFS - production ready? :)
>>Сегодня с утра этот пул импортировался и примонтировался к исходной FreeBSD 7.3
>>без каких либо проблем...., ZDB соляровский ошибок в пуле не нашел.
>>Полтергейст.....
>
>ZFS - production ready? :)Ну да, в продакшен запущен )) Когда только появился во фре - потестировали несколько месяцев, глюков никаких не нашли, запустили в работу. Потихоньку массив подрос, менялись контроллеры, диски, системы, всё работало без каких-либо проблем вообще. Это первый косяк за несколько лет использования.