Назад | Перейти на главную страницу

Отлаживать файлы ядра 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, но, похоже, это не имеет прямого отношения.

Ключевым моментом здесь было перейти на /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