Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Không thể sử dụng kdump hoặc kexec Linux máy ảo trên Hyper-V

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 2858695
Triệu chứng
Trước khi Windows Server 2012 R2
Xem xét tình huống sau:
  • Bạn có sẵn Windows Server 2012 R2 dựa trên máy có cài đặt chuyên biệt vai trò Hyper-V.
  • Bạn cài đặt chuyên biệt Linux trên một máy ảo Hyper-V trên máy tính.
  • Bạn đặt cấu hình kdump Linux VM.

    Lưu ý Máy ảo Linux đã có trình điều khiển bản ghi dịch vụ tích hợp Linux. Trình điều khiển có thể dựng sẵn hoặc cài đặt chuyên biệt theo cách thủ công.
Trong trường hợp này, nếu máy ảo Linux sập, tệp kết xuất lõi từ hạt nhân Linux không tạo ra như mong đợi.
Windows Server 2012 R2
Xem xét tình huống sau:
  • Bạn có Linux máy ảo trên máy chủ Windows Server 2012 R2 Hyper-V.
  • 15 hoặc nhiều vCPUs được gắn vào máy ảo Linux.
  • Cấu hình kdump trong Linux VM.
Trong trường hợp này, kdump không hoạt động và kết xuất sập không được tạo ra bởi vì trình ngừng đáp ứng (treo).
Nguyên nhân
Sự cố này xảy ra vì Hyper-V không thể lưu trữ hai đồng thời kết nối tổng hợp trình điều khiển cùng chạy trong máy ảo.

Khi kdump được cấu hình trên máy ảo Linux đang sử dụng trình điều khiển lưu trữ tổng hợp bản ghi dịch vụ tích hợp Linux (còn được gọi là storvsc), kexec lõi được cấu hình để sử dụng trình điều khiển tương tự. Nếu máy ảo Linux sập, trình điều khiển lưu trữ tổng hợp được lưu trữ trong lõi kexec cố gắng mở kết nối với nhà cung cấp lưu trữ Hyper-V. Tuy nhiên, Hyper-V không thể thiết lập kết nối mới do kết nối sẵn trình điều khiển tương tự lưu trữ trên máy ảo rơi Linux. Do đó, kexec lõi không đổ lõi cho máy ảo rơi Linux.
Giải pháp
Để khắc phục sự cố này, cấu hình lõi kexec bằng cách sử dụng trình điều khiển lưu trữ Linux thông thường. Cấu hình này phải được thực hiện sau khi kdump chức năng được bật trên máy ảo Linux. Ý tưởng cơ bản là để tắt trình điều khiển lưu trữ bản ghi dịch vụ tích hợp Linux và sau đó kích hoạt trình điều khiển lưu trữ Linux thông thường trong lõi kexec bằng cách sử dụng tham số prefer_ms_hyper_v trong tệp cấu hình thích hợp.

Tham số prefer_ms_hyper_v có thể được sử dụng để kiểm soát hành vi của trình điều khiển lưu trữ Linux thông thường. Khi tham số này được đặt thành 1 máy ảo Linux đang chạy trên Hyper-V, trình điều khiển lưu trữ tiêu chuẩn Linux vô hiệu hoá tự và cho phép điều khiển lưu trữ bản ghi dịch vụ tích hợp Linux khiển trình lưu trữ. Bằng cách đặt tham số prefer_ms_hyper_v thành 0, trình điều khiển lưu trữ Linux chuẩn cho phép hoạt động. Vì trình điều khiển lưu trữ Linux chuẩn yêu cầu kết nối với Hyper-V, kexec lõi có thể đổ lõi.

Phân phối Linux khác nhau có các cơ chế hơi khác nhau để xác định giá trị của prefer_ms_hyper_v. Phần sau đây mô tả cách thiết lập tham số cho một số bản phân phối Linux phổ biến.

Red Hat Enterprise Linux (RHEL) 5.9

RHEL 5.9, bạn phải chuyển thông qua một đối số dòng lệnh hạt nhân prefer_ms_hyper_v tham số cho mô-đun ide_core được xây dựng vào lõi RHEL 5.9. theo mặc định, tham số này được khởi tạo 1và điều này khiến Linux máy ảo để tránh sử dụng mô-đun ide_core đang chạy trong môi trường Hyper-V. Quản trị viên phải đặt giá trị tham số prefer_ms_hyper_v thành 0 để điều khiển ide_core sẽ hoạt động trong quá trình khởi động hạt nhân kexec. Bạn có thể thực hiện việc này bằng cách thay đổi nội dung của /etc/kdump.conf.

Để thay đổi nội dung của /etc/kdump.conf, hãy làm theo các bước sau:
  1. Chạy lệnh sau để cấu hình kdump ghi vào mục tin thư thoại địa phương:

    đường dẫn/var/sập
  2. Danh sách đen các trình điều khiển bản ghi dịch vụ tích hợp Linux /etc/kdump.conf. Điều này ngăn các trình điều khiển tải trong lõi kexec. Để thực hiện việc này, hãy chạy lệnh sau:

    danh sách đen hv_vmbus hv_storvsc hv_utils hv_netvsc giấu-hyperv
  3. Cấu hình giá trị thời gian chờ đĩa bằng cách chạy lệnh sau:

    disk_timeout 100
  4. Sau khi sửa đổi cần thiết, các tập tin /etc/kdump.conf trông như thế này:
    đường dẫn/var/sập
    core_collector makedumpfile - c - thông báo mức 1 - d 31
    danh sách đen hv_vmbus hv_storvsc hv_utils hv_netvsc giấu-hyperv
    disk_timeout 100
  5. Sửa đổi nội dung của tệp /etc/sysconfig/kdump như sau:
    • Thêm hoặc chỉnh sửa dòng sau bao gồm prefer_ms_hyperv = 0 đối số:

      KDUMP_COMMANDLINE_APPEND = "irqpoll maxcpus = 1 reset_devices ide_core.prefer_ms_hyperv=0"
    • Sau khi sửa đổi cần thiết, các tập tin /etc/sysconfig/kdump trông như thế này:
      KDUMP_COMMANDLINE = ""

      # Biến này cho phép chúng tôi thêm đối số dòng lệnh kdump hiện tại
      # Khi thực hiện hoặc KDUMP_COMMANDLINE trên hoặc/proc/cmdline

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

Red Hat Enterprise Linux (RHEL) 6.4

RHEL 6.4, bạn phải chuyển prefer_ms_hyper_v tham số cho mô-đun trình điều khiển ata_piix . Bạn có thể thực hiện việc này bằng cách thay đổi nội dung của tệp /etc/kdump.conf.

Để thay đổi nội dung của /etc/kdump.conf, hãy làm theo các bước sau:
  1. Cấu hình kdump ghi vào mục tin thư thoại địa phương:

    đường dẫn/var/sập
  2. Thêm mô-đun phụ ata_piix sr_mod, sd_mod:

    extra_modules ata_piix sr_mod sd_mod
  3. Điều khiển bản ghi dịch vụ tích hợp Linux đen trong etc/kdump.conf. Điều này ngăn các trình điều khiển nạp vào lõi kexec:

    danh sách đen hv_vmbus hv_storvsc hv_utils hv_netvsc giấu-hyperv
  4. Thêm tham số tuỳ chọn để gửi tham số cho mô-đun ata_piix:

    Tuỳ chọn ata_piix prefer_ms_hyperv = 0
  5. Cấu hình giá trị thời gian chờ đĩa do đó, nó không ngừng đáp ứng (treo):

    disk_timeout 100
  6. Sau khi sửa đổi cần thiết, các tập tin /etc/kdump.conf trông như thế này:
    đường dẫn/var/sập
    core_collector makedumpfile - c - thông báo mức 1 - d 31
    extra_modules ata_piix sr_mod sd_mod
    danh sách đen hv_vmbus hv_storvsc hv_utils hv_netvsc giấu-hyperv
    Tuỳ chọn ata_piix prefer_ms_hyperv = 0
    disk_timeout 100

Ubuntu 12.04(.x)

Trong Ubuntu 12.04 (.x), bạn phải vượt qua các tham số prefer_ms_hyper_v trình điều khiển ata_piix . Bạn có thể thực hiện việc này bằng cách thay đổi nội dung của tệp /etc/init.d/kdump.

Để thay đổi nội dung của tệp /etc/init.d/kdump, thêm ata_piix. prefer_ms_hyper_v = 0 kdump tùy chọn dòng lệnh:
do_start {{}
….
….
Phụ thêm = "$APPEND kdump_needed maxcpus = 1 irqpoll reset_devices ata_piix.prefer_ms_hyperv=0"

}

SUSE Linux Enterprise Server (SLES) 11 SP2(x)

Phân phối SLES 11 SP2(x), bạn phải vượt qua các tham số prefer_ms_hyper_v trình điều khiển ata_piix . Bạn có thể thực hiện việc này bằng cách sửa đổi nội dung của tệp /etc/sysconfig/kdump như sau:

Thêm ata_piix.prefer_ms_hyper_v=0 để KDUMP_COMMANDLINE_APPEND:

KDUMP_COMMANDLINE_APPEND="ata_piix.prefer_ms_hyperv=0"

Sau khi sửa đổi cần thiết, các tập tin /etc/sysconfig/kdump trông như thế này:

KDUMP_COMMANDLINE_APPEND="ata_piix.prefer_ms_hyperv=0"

Thông tin thêm
KDUMP phải được cấu hình theo cách thông thường được đề xuất bởi phân phối Linux.

Các sản phẩm của bên thứ ba mà bài viết này thảo luận do các công ty độc lập với Microsoft sản xuất. Microsoft không bảo hành, theo ngụ ý hay cách khác, về hiệu suất hoặc độ tin cậy của những sản phẩm này.

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 2858695 - Xem lại Lần cuối: 06/04/2015 20:23:00 - Bản sửa đổi: 4.0

Windows Server 2012 R2 Datacenter, Windows Server 2012 R2 Standard, Windows Server 2012 R2 Essentials, Microsoft Hyper-V Server 2012 R2, Windows Storage Server 2012 R2 Standard, Windows Server 2012 Datacenter, Windows Server 2012 Standard, Microsoft Hyper-V Server 2012, Windows Storage Server 2012 Standard, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Service Pack 1, Microsoft Hyper-V Server 2008 R2 Service Pack 1, Microsoft Hyper-V Server 2008 R2

  • kbmt KB2858695 KbMtvi
Phản hồi
>