kdump.service — Crash recovery kernel arming. Centos 7. Failed to start Crash recovery kernel arming.
В документации не нашёл где и как нужно прописать initial ramdisk.
cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.lvm.lv=centos/swap crashkernel=auto rd.lvm.lv=centos/usr vconsole.font=latarcyrheb-sun16 vconsole.keymap=ru rd.lvm.lv=centos/root rhgb quiet" GRUB_DISABLE_RECOVERY="true"
crashkernel=auto или указать вручную, как рекомендуют, не играет роли.
Памяти 32G думаю должно хватить для crashkernel=auto
No dump target specified. Default dump target is rootfs block device.
Вполне устраивает запись в /var/crash и не нужды в target specified
/etc/kdump.conf прописано path /var/crash core_collector makedumpfile -l --message-level 1 -d 31
Избавляемся от ошибки «kdump failed» на Centos 7, 8
При получении нового VPS на Centos 7 и 8 нередко возникает ошибка kdump.service failed , которая обнаруживается при запуске команд:
# systemctl status State: degraded
Для более подробного вывода ошибки:
# systemctl --state=failed kdump.service loaded failed failed Crash recovery kernel arming
Эту ошибку можно проигнорировать, однако избавиться от неё довольно просто.
kdump это функция ядра, которая выполняет создание дампа ядра в случае его сбоя. При загрузке системы резервируется определенное количество оперативной памяти, в которую записывается копия ядра. При сбое основного ядра, включается копия ядра из оперативной памяти и захватывает аварийный дамп для дальнейшего анализа. Обычно, резервируется около 160Мб ОЗУ.
Cколько памяти (в байтах) резервирует kdump для аварийного ядра:
# cat /sys/kernel/kexec_crash_size
Если kdump не загружен (загрузился с ошибкой), результатом будет 0
Состояние kdump можно также посмотреть в сообщениях ядра dmesg:
# dmesg | grep Reserving Reserving 161MB of memory at 672MB for crashkernel
Отключение kdump
Необходимо отключить crashkernel в строке параметров ядра при загрузке. Для этого в файле /etc/default/grub замените параметр crashkernel=auto на crashkernel=no :
# nano /etc/default/grub . GRUB_CMDLINE_LINUX="crashkernel=no rhgb quiet" .
Чтобы изменения применились, нужно обновить главный конфигурационный файл grub:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Удаляем сервис kdump из автозагрузки и перезагружаем VPS:
# systemctl disable kdump # reboot
Kdump — диагностика и анализ причин сбоев ядра
Как первый уровень обороны, для тех, кому kdump сложен либо не нужен, могу предложить netconsole (в CentOS искаропки, в Debian/Ubuntu — github). Netconsole умеет слать сообщения от ядра на удаленный хост и при падении намного проще понять, что произошло с ядром до часа X.
Всего голосов 7: ↑6 и ↓1 +5
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий
Ну kdump и так используется для отладки этих ядер, разве нет? ))) Если не само поторошение дампа «на месте» через gdb, то вычитывание стектрейса точно имеет место быть )
Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий
Брр, я честно говоря не понял что Вы имели в виду. В 99% конфигураций машин как netconsole, так и kdump отключены и если машина упала, приходится их включать/ждать повторного падения.
Да, когда машина падает повторно изымается kdump (хотя для более-менее простых багов достаточно стектрейса из netconsole) и анализируется разработчиками.
Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий
Ну стектрейс из нетконсоли не всегда бывает достаточно информативен ) и далеко не всегда он есть, даже при правильной ее настройке. В этих случаях kdump решает, но если позволяет версия дистрибутива. Просто эти два инструмента взаимно дополняют друг-друга и если есть возможность использовать kdump, то почему это не делать? ) К тому же разработчики и саппорт OpenVZ очень любят, когда он есть )
Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий
Ну мы используем оба, где это возможно. Но kdump есть только в CentOS 6, например, в 5ке его нету, тоже самое касается других дистрибутивовов на не особо новых ядрах.
Комментарий пока не оценивали 0
Ответить Добавить в закладки Ещё
Неплохой первый ход. Рекомендую ловить подобные ошибки в хост-системе и отправлять клиенту по почте или в виде SMS, как это сделано у нас 🙂
Всего голосов 12: ↑2 и ↓10 -8
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий
Это сработает лишь в случае KVM, но не OpenVZ 🙂
Хотя от чего падать KVM виртуалкам, которые работают в тепличных условиях, без железа (точнее с четко изветным списком виртуальных устройств)? Если не падали стораджи и клиент не занимается отладкой ядра — имхо, не особо полезная вещь.
Всего голосов 3: ↑2 и ↓1 +1
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий
За OpenVZ, равно как за HyperV и Vmware, ничего не отвечу 🙂
Ну а падать — например от OOM-событий.
Всего голосов 4: ↑1 и ↓3 -2
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий
Ядро не паникует от OOM событий. Просто выходит из строя все ПО на сервере, но OOM не убивает ядро. Полагаю, потенциально, это возможно, если ядро не сможет выделить какой-то свой буфер, но в подавляющем числе случаев падать будет лишь юзерспейс.
И как раз в этом случае netconsole поможет — будут видны ошибки OOM, а kdump не среагирует, никак.
Всего голосов 2: ↑2 и ↓0 +2
Ответить Добавить в закладки Ещё
Показать предыдущий комментарий
Я писал не про панику ядра, а про причины падения виртуалок, о которых, изначально, и был ваш вопрос. И тут, как вы правильно отметили, рулит netconsole. Именно ей мы, кстати, и мониторим.
А что касается kernel panic’ов, то у нас на KVM виртуалках пользователи получали их на RT ядрах или, например, при использовании zswap.
В общем, что хочу сказать — если говорить об отладке сообщений и падений ядра, то, с точки зрения хостера, правильнее для начала научиться ловить и уведомлять об оомах, упсах и багах, и уже потом думать про паники.
По той простой причине, что в реальной жизни их количество соотносится в пропорции 100 к 1. И это действительно лучше делать нетконсолью.
Kdump centos 7 что это
Полный спектр компьютерных услуг!
Загрузка. Пожалуйста, подождите.

Сообщение сайта
(Сообщение закроется через 2 секунды)
Внимание!
- Вся информация, расположенная в данном и других разделах форума получена из открытых источников (интернет-ресурсы, средства массовой информации, печатные издания и т.п.) и/или добавлена самими пользователями. Администрация форума предоставляет его участникам площадку для общения / размещения файлов / статей и т.п. и не несет ответственности за содержание сообщений, а также за возможное нарушение авторских, смежных и каких-либо иных прав, которое может повлечь за собой информация, содержащаяся в сообщениях.

25 вопросов задаваемых на собеседовании системным администраторам Linux

Decker
![]()

Просмотр профиля
24.3.2016, 17:21
Группа: Главные администраторы
Сообщений: 14349
Регистрация: 12.10.2007
Из: Twilight Zone
Пользователь №: 1
Надеюсь кому-нибудь пригодится. Меня спрашивали про ps, top и overcommitment в kvm 😉
Внимание! Много букв и нет картинок.
От переводчика. Пожалуйста, не пишите в комментариях что что-то можно сделать по-другому — это перевод. Когда вам зададут на интервью в RedHat подобный вопрос, у вас будет возможность проявить себя 😉
Вопрос:1 Что такое Kdump и для чего предназначен?
Ответ: Kdump это механизм сохранения дампов при крахе системы или панике ядра. Дампы могут быть сохранены как на удаленной машине, так и на локальном диске. Анализируя дампы мы можем найти корневую причину отказа системы или паники ядра. В случае, если у вас есть платная поддержка ОС, вы можете отправить файл vmcore поставщику для дальнейшего анализа.
Вопрос:2 Как узнать когда файловая система проверялась последний раз?
Ответ: При помощи команды tune2fs мы можем проверить, когда файловая система последний раз сканировалась на предмет ошибок.
# tune2fs -l | grep «Last checked»
Вопрос:3 Как изменить срок действия пароля пользователя без изменения самого пароля?
Ответ: Команда chage позволяет задать дату (срок) действия пароля для локальной учетной записи пользователя. Синтаксис команды такой:
Вопрос:4 Как заставить fsck проверить файловую систему ОС при следующей перезагрузке?
Ответ: Для принудительного запуска утилиты fsck для проверки конкретной файловой системы при следующей перезагрузке, нужно создать пустой файл с именем ‘forcefsck’ в корне этой файловой системы. Например, если мы хотим проверить файловую системы смонтированную в каталог /home, команду будет выглядеть примерно так:
# cd /home; touch forcefsck; reboot
Вопрос:5 Каким инструментом анализируются дампы краха системы или файл vmcore в ОС CentOS 7 & RHEL 7?
Ответ: Утилита или команда crash операционных систем CentOS 7 и RHEL 7 позволяет проводить анализ файлов дампов.
Вопрос:6 Как установить все патчи за исключением патчей ядра в CentOS и RHEL?
Ответ: Параметр ‘–exclude=kernel*’ команды yum позволяет установить все патчи кроме предназначенных для ядра. Например так:
# yum update –exclude=kernel*
Если добавить следующую строку в файл ‘/etc/yum.conf’ мы предотвратим любые обновления ядра навсегда:
Вопрос:7 Как проверить, что вы работаете на физическом или виртуальном сервере?
Ответ: С помощью команды dmidecode мы можем проверить платформу сервера. Например так:
# dmidecode -t system | grep «Product Name»
Product Name: VMware Virtual Platform
Вопрос:8 Что такое automounter и для чего он служит?
Ответ: Automounter это сервис в операционной системе Linux которые используется для монтирования удаленной или локальной файловой системы автоматически в момент обращения к ней. Когда файловая система неактивна в течение определенного периода времени сервис automounter (autofs) автоматически размонтирует ее. Основная польза от autofs заключается в том, что мы не должны монтировать файловую систему каждый раз когда она нам нужна, automounter сделает это за нас при обращении к этой файловой системе.
Вопрос:9 Как принудить пользователя изменить пароль при регистрации?
Ответ: Команда ‘chage’ позволяет задать время окончания действия пользовательского пароля, например «chage -d 0 ». После этого, при попытке регистрации пользователя в системе (в том числе и по ssh), он будет получать предупреждение «Срок действия вашего пароля истек. Вы должны изменить ваш пароль и войти заново».
Вопрос:10 Как узнать как завершилась последняя команда — успешно или нет?
Ответ: Можно получить статус завершения последней команды из переменной среды ‘$?’, в ней хранится код завершения. Например:
Код завершения 0 означает что команды выполнена успешно, любой отличное от нуля число свидетельствует об ошибке.
Вопрос:11 Как узнать, установлен ли конкретный rpm-пакет?
Ответ: Возьмем например postfix. Следующее использование команды rpm покажет нам, установлен ли postfix или нет:
[root@cloud ~]# rpm -q postfix –last
postfix-2.10.1-6.el7.x86_64 Saturday 27 February 2016 11:56:43 PM EST
Для этих же целей мы можем воспользоваться командой yum:
[root@cloud ~]# yum history package postfix
Вопрос:12 Как войти в режим одиночного пользователя (single user mode) в RHEL 7?
Ответ: При загрузке системы нужно войти в меню загрузчика GRUB2, нажать ‘e’, найти строку начинающуюся с ‘linux16/vmlinz’ и заменить параметр ‘ro’ на ‘rw init=/sysroot/bin/bash’. Нажать ctrl-x для продолжения загрузки.
Вопрос:13 Какая команда позволяет изменить имя хоста навсегда в CentOS 7 & RHEL 7?
Ответ: Команда ‘hostnamectl’ используется для задания или изменения имени хоста. Например, так:
# hostnamectl set-hostname «New_HostName»
Кроме hostnamectl могут быть использованы команда ‘nmtui’& ‘nmcli’, которые тоже могут изменять имя хоста в CentOS 7 и RHEL 7.
Вопрос:14 Как включить политики паролей (password policies) в Linux?
Ответ: Политики паролей (password policies) включаются через pam (подсистему загружаемых модулей аутентификации). В Centos и RHEL у нас есть файл «/etc/pam.d/system-auth», в котором мы определяем требования к паролям. В ОС, основанных на Debian, для этих же целей служит файл «/etc/pam.d/common-password».
Вопрос:15 Как узнать, какие модуля ядра загружены в ОС Linux?
Ответ: Команда ‘lsmod’ выдает список загруженных модулей ядра.
Вопрос:16 Какой командой можно проверить состояние ввода-вывода в Linux?
Ответ: Есть несколько команд, таких как ‘sar’, ‘iostat’ и ‘vmstat’ с использованием которых мы можем проверить состояние ввода-вывода в Linux.
Вопрос:17 Каково назначение файлов ‘/etc/lvm/backup’ и ‘/etc/lvm/archive’?
Ответ: Каждый раз, когда мы создаём или изменяем любой lvm раздел, резервная копия метаданных сохраняется в файле ‘/etc/lvm/backup’, а архив метаданных ведется в файле ‘/etc/lvm/archive’ file. Используя команду vgcfgrestore мы можем восстановить метаданные группы томов lvm.
Вопрос:18 Как просмотреть таблицу маршрутизации в Linux?
Ответ: Используя команды ‘route -n’ и ‘netstat -nr’ мы можем просмотреть таблицу маршрутизации в Linux.
Вопрос:19 Что происходит на фоне когда вы заходите по ssh на сервер Linux?
Ответ: Каждый раз, когда мы заходим по ssh на любой Unix сервер, устанавливает TCP соединение между Клиентом и Сервером по порту 22 (по-умолчанию, если не указано другое) и Сервер выдает список версию протокола SSH которую он поддерживает. Если клиента она «устраивает», то соединение продолжается и после того как Сервер передаст свой публичный ключ и Клиент сохранит его в файле ‘~/.ssh/known_hosts’ мы получим подсказку ssh.
Вопрос:20 Как изменить порт по-умолчанию для SSH на сервере Linux?
Ответ: Значение порта по-умолчанию (22) для SSH может быть изменено в параметре «Port » в файле ‘/etc/ssh/sshd_config’. Где NNN — это номер порта. После внесения изменений в этом файл, сервис SSH следует перезапустить.
Вопрос:21 Как увидеть временные метки dmesg в RHEL7?
Ответ: Добавим параметр ‘-T’ к команде dmesg можно увидеть временные метки dmesg.
Вопрос:22 Как узнать модель физического сервера из командной строки?
Ответ: С помощью команды dmidecode можно узнать производителя и модель физического сервера. Например:
# dmidecode -t system
Handle 0x0011, DMI type 1, 27 bytes
Product Name: ProLiant DL580 Gen8
Serial Number: CKX42926E0
Wake-up Type: Power Switch
SKU Number: 728551-B21
Вопрос:23 Как узнать версию BIOS сервера из командной строки?
Ответ: С помощью команды dmidecode можно получить версию bios:
# dmidecode -t bios
SMBIOS 2.8 present.
Handle 0x0010, DMI type 0, 24 bytes
Release Date: 04/01/2014
Runtime Size: 64 kB
ROM Size: 16384 kB
Вопрос:24 Как расширить существующую группу томов lvm?
Ответ: Сначала нужно создать pv (физический том) на пустом новом диске (например /dev/sdb) командой «pvcreate /dev/sdb» и затем, командой vgextend расширить группу: «vgextend /dev/sdb».
Вопрос:25 Как посмотреть номер WWN на карте HBA на сервере Linux?
Ответ: Существует как минимум, два способа с помощью которых можно узнать номер WWN для карты HBA.
Первый, с использованием команды systool. Например так:
# systool -c fc_host -v | grep «port_name»
Второй способ — просмотреть содержимое файла классов в файловой системе sys: