Отлаживать файлы ядра Nexenta/OpenSolaris?
У меня Sun x4540, который был недавно преобразован в NexentaStor Enterprise Edition с более ранней версии OpenSolaris. Системные диски были стерты, а zpools были экспортированы и импортированы. Я размещаю около 30 виртуальных машин для VMWare vSphere через NFS и 10GbE для нескольких хостов.
С тех пор система рушится почти каждые две недели. Сбой запускает ASR с ILOm, и система перезагружается самостоятельно через 5-10 минут. У меня есть основные файлы в корневом каталоге как таковые:
-rw------- 1 root root 2237608178 Mar 14 21:06 core
-rw------- 1 root root 81061304 Feb 8 01:23 core.mountd.1297149806
-rw------- 1 root root 69863784 Mar 6 16:34 core.mountd.1299450869
-rw------- 1 root root 36644272 Mar 6 16:39 core.mountd.1299451179
Как я могу отладить это с mdb
чтобы понять что происходит? Я видел краткий учебник, связанный с сайтом Nexenta по адресу: http://kristof.willen.be/node/1100, но, похоже, он не применяется напрямую.
2 ответа
Ключ здесь должен был измениться на /var/crash/myhost
каталог и запустить savecore -f vmdump.x
команда в файле аварийного дампа. Этот процесс создает unix.x
файл, который может быть использован mdb -k unix.x vmcore.x
команда, где "x" - это номер дампа ядра.
Знаете ли вы, если само ядро падает? Возможно, стоит также включить дампы ядра.
Проверьте URL-адрес ниже для получения инструкций о том, как анализировать файлы ядра и как включить аварийные дампы ядра.
http://developers.sun.com/solaris/articles/manage_core_dump.html
# mkdir -p /var/crash/`uname -n`
# dumpadm -y -s /var/crash/`uname -n`
# dumpadm
Dump content: kernel pages
Dump device: /dev/zvol/dsk/rpool/dump (dedicated)
Savecore directory: /var/crash/$hostname
Savecore enabled: yes
# mkdir -p /var/core/`uname -n`
# coreadm -g /var/core/`uname -n`/core.%n.%f.%p -G all -e log -e global
# coreadm
global core file pattern: /var/core/$hostname/core.%n.%f.%p
global core file content: all
init core file pattern: core
init core file content: default
global core dumps: enabled
per-process core dumps: enabled
global setid core dumps: disabled
per-process setid core dumps: disabled
global core dump logging: enabled