Неможливо використовувати kdump або kexec для Linux віртуальні машини на Hyper-V

Переклади статей Переклади статей
Номер статті: 2858695 - Показ продуктів, яких стосується ця стаття.
Розгорнути все | Згорнути все

Ознаки

Розглянемо таку ситуацію.
  • У вас на основі Windows комп'ютера, що має ролі Hyper-V, встановлений.
  • Ви встановлюєте Linux на Hyper-V віртуальна машина на комп'ютері.
  • Настроювання kdump на Linux VM. Linux VM вже має драйверів Linux інтеграції послуг, або готові або вручну встановлений.
Якщо на віртуальній машині Linux аварій в цьому випадку, файл дампу з ядра Linux не генерується, як очікувалося.

причина

Ця проблема виникає тому, що Hyper-V не може містити два одночасних з'єднань з одного синтетичних драйвера, запущених у віртуальній машині.

Коли kdump настроєно на віртуальній машині Linux, який використовує Linux інтеграції послуг синтетичних онлайнове пул носіїв драйвера (також відомий як storvsc), ядра kexec налаштовано на сценарій виконання і той же драйвер. Якщо на віртуальній машині Linux аварій, синтетичні онлайнове пул носіїв драйвер, який розміщується в ядрі kexec намагається відкрити підключення до постачальника онлайнове пул носіїв Hyper-V. Однак, Hyper-V не може встановити нове підключення через вже існуючі з'єднання однаковий драйвер онлайнове пул носіїв на розбився віртуальній машині Linux. Таким чином, kexec ядра не дамп ядра для розбився віртуальній машині Linux.

Розв'язанн

Щоб вирішити цю проблему, настройте kexec ядра за допомогою стандартних Linux драйвера для онлайнове пул носіїв. Ця конфігурація повинна виконуватися після того, як на віртуальній машині Linux ввімкнуто функцію kdump. Основна ідея полягає в тому, щоб вимкнути драйвер онлайнове пул носіїв Linux інтеграції послуг і потім ввімкнути стандартний драйвер онлайнове пул носіїв Linux всередині ядра kexec за допомогою параметра prefer_ms_hyper_v у стратегічних місцях.

Параметр prefer_ms_hyper_v використовується для керування поведінкою стандартний драйвер онлайнове пул носіїв Linux. Коли цей параметр має значення 1 і Linux віртуальній машині працює на Hyper-V, стандартний драйвер онлайнове пул носіїв Linux вимикає себе і дозволяє Linux інтеграції застосунок-служба онлайнове пул носіїв драйвер керування пристроєм онлайнове пул носіїв. Встановивши параметр prefer_ms_hyper_v0, стандартний драйвер онлайнове пул носіїв Linux може функціонувати. Оскільки стандартний драйвер онлайнове пул носіїв Linux не потребує підключення до Hyper-V, kexec ядра можна скинути ядро.

Різні збірки Linux мають дещо різні механізми для визначення значення prefer_ms_hyper_v. У цьому розділі описано, як параметр може бути встановлений для декількох популярних дистрибутивів Linux.

Red Hat Enterprise Linux (RHEL) 5.9

У RHEL 5,9 вам доведеться пройти через аргумент командний рядок ядра, параметр prefer_ms_hyper_vide_core модуль, вбудований у RHEL 5.9 ядра. За промовчанням цей параметр ініціалізовано 1і це призводить до віртуальній машині Linux уникати сценарій виконання ide_core модуля, якщо він працює в середовищі Hyper-V. Адміністратори мають встановити значення параметра prefer_ms_hyper_v0 , так що ide_core драйвера стає оперативних під Вільний час процесу завантаження ядра kexec. Ви можете зробити це шляхом зміни вмісту /etc/kdump.conf.

Щоб змінити вміст /etc/kdump.conf, виконайте такі дії:
  1. Запустіть таку команду, щоб налаштувати kdump писати до локального каталогу:

    шлях/var/аварії
  2. Чорний список драйверів Linux інтеграції послуг в /etc/kdump.conf. Це запобігає драйвери навантаження в до kexec ядра. Для цього виконайте таку команду:

    чорний список hv_vmbus hv_storvsc hv_utils hv_netvsc hid_hyperv
  3. Настроїти значення часу очікування диска, запустіть таку команду:

    disk_timeout 100
  4. Після необхідні зміни /etc/kdump.conf файл виглядає наступним чином:
    шлях/var/аварії
    core_collector makedumpfile - c - протокол IMAP рівень 1 - d 31
    чорний список hv_vmbus hv_storvsc hv_utils hv_netvsc hid_hyperv
    disk_timeout 100
  5. Змінити вміст файлу /etc/sysconfig/kdump наступним чином:
    • Додати або змінити наступний рядок для включення в prefer_ms_hyperv = 0 аргумент:

      KDUMP_COMMANDLINE_APPEND = "irqpoll-maxcpus = 1 reset_devices ide_core.prefer_ms_hyperv=0"
    • Після необхідні зміни /etc/sysconfig/kdump файл виглядає наступним чином:
      KDUMP_COMMANDLINE = ""

      # Ця змінна дозволяє нам додати аргументи для поточного командний рядок kdump
      # Як прийнято з будь-якого KDUMP_COMMANDLINE вище, або з/proc/командного рядка

      KDUMP_COMMANDLINE_APPEND = "irqpoll-maxcpus = 1 reset_devices ide_core.prefer_ms_hyperv=0"

Red Hat Enterprise Linux (RHEL) 6.4

У RHEL 6.4 ви повинні передати параметра prefer_ms_hyper_v модуль драйвера ata_piix . Ви можете зробити це, змінивши вміст файлу /etc/kdump.conf.

Щоб змінити вміст /etc/kdump.conf, виконайте такі інтерактивні елементи:
  1. Настроювання kdump писати до локального каталогу:

    шлях/var/аварії
  2. запит на додавання додаткових модулів ata_piix, sr_mod, sd_mod:

    extra_modules ata_piix sr_mod sd_mod
  3. Чорний список драйверів Linux інтеграції послуг у etc/kdump.conf. Це запобігає драйвери від навантаження на ядра kexec:

    чорний список hv_vmbus hv_storvsc hv_utils hv_netvsc hid_hyperv
  4. Додати параметри параметр передати параметр ata_piix модуля:

    Параметри ata_piix prefer_ms_hyperv = 0
  5. Настроїти значення часу очікування диска, так, що він не перестає відповідати на запити (зависнути):

    disk_timeout 100
  6. Після необхідні зміни /etc/kdump.conf файл виглядає наступним чином:
    шлях/var/аварії
    core_collector makedumpfile - c - протокол IMAP рівень 1 - d 31
    extra_modules ata_piix sr_mod sd_mod
    чорний список hv_vmbus hv_storvsc hv_utils hv_netvsc hid_hyperv
    Параметри ata_piix prefer_ms_hyperv = 0
    disk_timeout 100

Ubuntu 12.04(.x)

В Ubuntu 12.04 (.x), ви повинні передати параметра prefer_ms_hyper_vata_piix драйвера. Ви можете зробити це, змінивши вміст файлу /etc/init.d/kdump.

Щоб змінити вміст файлу /etc/init.d/kdump, додати ata_piix. prefer_ms_hyper_v = 0 до параметрів командний рядок kdump:
do_start {{}
….
….
запит на додавання = "$APPEND kdump_needed maxcpus = 1 irqpoll reset_devices ata_piix.prefer_ms_hyperv=0"

}

SUSE Linux підприємство сервера (SLES) 11 SP2(x)

У SLES 11 SP2(x) дистрибутивів ви повинні передати параметра prefer_ms_hyper_vata_piix драйвера. Ви можете зробити це шляхом зміни вміст файлу /etc/sysconfig/kdump наступним чином:

Додати ata_piix.prefer_ms_hyper_v=0 KDUMP_COMMANDLINE_APPEND:

KDUMP_COMMANDLINE_APPEND="ata_piix.prefer_ms_hyperv=0"

Після необхідні зміни /etc/sysconfig/kdump файл виглядає наступним чином:

KDUMP_COMMANDLINE_APPEND="ata_piix.prefer_ms_hyperv=0"

Додаткові відомості

KDUMP має бути настроєно в стандартний спосіб, який запропонував дистрибутивів Linux.

Продукти сторонніх виробників, описані в цій статті, виробляються компаніями, які не залежать від корпорації Майкрософт. корпорація Майкрософт не надає жодних гарантій, неявних або інших, стосовно продуктивності або надійності цих продуктів.

Властивості

Номер статті: 2858695 - Востаннє переглянуто: 26 червня 2013 р. - Редакція: 2.0
Застосовується до:
  • Microsoft Hyper-V Server 2008 R2
  • Microsoft Hyper-V Server 2008 R2 Service Pack 1
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 for Itanium-Based Systems
  • Windows Server 2008 R2 Service Pack 1
  • Windows Storage Server 2008 R2
  • Windows Storage Server 2008 R2 Essentials
  • Microsoft Hyper-V Server 2012
  • Windows Server 2012 Foundation
  • Windows Server 2012 Release Candidate
  • Windows Server 2012 Standard
  • Windows Storage Server 2012 Standard
  • Windows Storage Server 2012 Workgroup
Ключові слова: 
kbmt KB2858695 KbMtuk
Машинний переклад
ВАЖЛИВО! Ця стаття перекладена засобами машинного перекладу Microsoft. Статтю можна редагувати в середовищі Community Translation Framework (CTF). Щоб якомога швидше перекласти всі статті у своїй базі знань різними мовами, компанія Microsoft не лише звертається до професійних перекладачів, але й вдається до машинного перекладу, який потім редагується спільнотою. Такі статті можуть містити лексичні, синтаксичні та граматичні помилки. Microsoft не несе відповідальності за будь-які неточності, помилки або збитки, до яких може призвести неправильний переклад статей або їх використання. Докладніше про CTF див. на веб-сторінці http://support.microsoft.com/gp/machine-translation-corrections/uk-ua.
Клацніть тут, щоб переглянути цю статтю англійською мовою: 2858695

Надіслати відгук

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com