KORUPSI STRUKTUR KRITIS di Windows Server 2012 R2

15

Saya memiliki mesin virtual Windows Server 2012 R2; ya dengan semua pembaruan. Perangkat lunak tambahan termasuk Microsoft SQL Server 2014 (2012 pada VM sebelumnya). Perusahaan web hosting menyertakan xenpci.sys (EJBPV XenPCI Driver (Checked Build), James Harper) sebagai bagian dari instalasi default mereka di semua VM dan Plesk.

Secara berkala, OS hang, layar biru, atau reboot. Saya mendapatkan mini dump, meskipun tidak setiap saat. Masalah yang biasa terjadi adalah:

Galat: CRITICAL_STRUCTURE_CORRUPTION

File tingkat atas spesifik, jelas bukan penyebabnya, bervariasi: win32k.sys, ntoskrnl.exe, xenpci.sys (driver Xen, meskipun hanya muncul beberapa kali), dan ndis.sys.

Penganalisa OSR (Open System Resources) tidak banyak membantu. Alat analisis WhoCrashed sedikit lebih membantu.

Disebutkan:

17 dump dumping telah ditemukan dan dianalisis. Hanya 10 yang termasuk dalam laporan ini. Pengemudi pihak ketiga telah diidentifikasi sebagai penyebab sistem crash pada komputer Anda. Sangat disarankan agar Anda memeriksa pembaruan untuk driver ini di situs web perusahaan mereka. Klik tautan di bawah untuk mencari dengan Google untuk pembaruan untuk driver ini:

xenpci.sys (EJBPV XenPCI Driver (Checked Build), James Harper)

Saya mencoba mendorong perusahaan web hosting untuk meneliti topik tersebut, tetapi mereka bisa dengan tangan kosong. Saya tidak yakin bahwa driver Xen salah. WhoCrashed mengambilnya, saya berasumsi hanya karena itu adalah pembalap terakhir beberapa kali dan itu adalah pihak ketiga, sehingga membuatnya bersalah. Saya tidak menulis WhoCrashed, jadi sulit untuk berkomentar lebih lanjut.

Pertanyaan saya adalah bagaimana cara mengatasi masalah tersebut.

Perusahaan web hosting sudah mencoba memberi saya dua mesin virtual baru selama beberapa tahun terakhir. Masalahnya bermigrasi. Saya menginstal SQL Server, tetapi OS dan Plesk datang secara default. Oke, ada perangkat lunak server surat juga. Perusahaan web hosting juga mengatakan kepada saya bahwa mereka tidak memiliki klien lain yang juga mengeluh. Mereka menjalankan tes disk beberapa kali. Kesehatan disk bagus.

Saya tidak memeriksa kesehatan registri, tetapi masalahnya terjadi pada instalasi dan terjadi secara rutin, jadi saya harus mengabaikannya. Saya menggunakan VM ketiga atau keempat saya sekarang.

Sekali lagi, saya menyebutkan Xen karena WhoCrashed menyebutkannya, tetapi saya tidak yakin itu sebagai penyebabnya, dan klien lain benar-benar menggunakannya. Sistem memiliki memori dan penyimpanan yang memadai, sehingga tidak menjadi masalah.

UPDATE: Berikut adalah beberapa jawaban dari perusahaan hosting web untuk pertanyaan saya.

Dalam skenario biasa, kinerja VM akan terdegradasi setelah Anda menghapus driver. Mungkin ada beberapa masalah sinkronisasi dengan Hardware Node.

Apakah saya menggunakan bangunan yang dicentang atau dirilis?

Anda menggunakan bangunan bertanda-uji, yang sama dari situs pengembang.

Bagaimana saya tahu? Dialog properti Xen PCI di Device Manager tidak mengatakan satu atau lain cara. Apakah entri di Pengelola Perangkat satu-satunya lokasi? Saya memeriksa Program dan Fitur dan tidak melihat apa pun yang tercantum.

Anda dapat memeriksa versi di bawah Tambah atau Hapus program. Lihat snapshot terlampir.

Bagaimana / di mana saya dapat menemukan di mana versi terbaru di situs mereka?

Situs pengembang tidak berfungsi - http://www.meadowcourt.org/downloads/ Anda dapat donwload rilis yang ditandatangani terbaru dari sini - http://wiki.univention.de/index.php?title=Instaling-signed-GPLPV- driver

Bagaimana saya tahu Xen, 0.11.0.373 milik (Xen 4.6? 3.0? Xy?)

Kami menggunakan Xen 3.4.4, Anda tidak dapat melihatnya dari VM Anda. Itu hanya dapat dilihat dari simpul perangkat keras.

Pembaruan 2: Perusahaan hosting menginstal dua perangkat lunak James Harper.

GPL PV Drivers for Windows
EJB PV Drivers for Windows
Sarah Weinberger
sumber
2
Pencarian Google cepat untuk "Xen Windows BSOD" ternyata banyak hasil, terutama ketika driver Xen lama digunakan pada VM Windows terbaru; pelakunya sangat mungkin ada di sana.
Massimo
Cara termudah untuk menentukan apakah driver Xen adalah pelakunya adalah dengan menghapus instalannya.
joeqwerty
Saya memikirkan pilihan itu, sayangnya saya tidak berpikir perusahaan hosting web saya akan pergi untuk itu. Mereka mengatakan kepada saya pada beberapa kesempatan bahwa sistem membutuhkan hypervisor untuk mendapatkan akses ke slot PCIe dan berfungsi dengan benar. Saya harus mencari arsip pesan besar saya dengan mereka untuk mendapatkan kata-kata yang tepat, tetapi pada dasarnya mereka tidak mau.
Sarah Weinberger
1
Menghapus instalan driver hypervisor dari VM sangat mungkin untuk mencapai hasil yang tidak menyenangkan, hingga tidak dapat boot lagi.
Massimo
3
@SarahWeinberger, ketika web host memberi Anda VM baru, apakah mereka menggunakan perangkat keras yang berbeda? Sekelompok BSoD yang memperlihatkan berbagai file tingkat atas yang pada akhirnya tampaknya disebabkan oleh driver hypervisor benar-benar tampak seperti sesuatu yang bisa disebabkan oleh memori buruk. Jika VM "baru" Anda berada di perangkat keras yang sama, maka ada kemungkinan ini akan terus mewujud.
briantist

Jawaban:

18

xenpci.sys (EJBPV XenPCI Driver ( Checked Build ), James Harper)

( Checked Build ) adalah bendera merah besar. Anda benar-benar tidak boleh menggunakan "memeriksa" membangun apa pun dalam produksi. Jika perusahaan hosting Anda memuat driver ini untuk Anda, maka mereka benar-benar membuat kesalahan.

Bangunan yang diperiksa termasuk simbol asing dan pengecekan kesalahan tambahan yang membantu pengembang. Mereka bukan membangun produksi.

Lebih jauh, apa yang dikatakan di sini adalah bahwa kesalahan apa pun yang menyebabkan mesin berhenti mungkin masih terjadi pada driver yang tidak diperiksa, namun, itu mungkin hanya menyebabkan efek samping yang tidak fatal seperti kebocoran memori di rilis build. Tetapi dalam membangun diperiksa, karena pemeriksaan kesalahan yang lebih ketat, itu menghentikan seluruh OS. Itulah inti dari bangunan yang diperiksa, untuk menonjolkan kesalahan dan mendorongnya ke wajah pengembang, sebelum mengirimkan kode ke pelanggan.

Untuk lebih jauh, tidak terlalu penting jika VM lain juga memiliki driver yang sama persis dimuat (yang diperiksa diperiksa) dan tampaknya tidak crash. Beberapa komponen khusus untuk VM itu menjalankan beberapa perilaku atau keadaan tertentu yang memicu bug pada driver itu. (Driver dan aplikasi berinteraksi dalam segala macam cara, mungkin dua mesin memiliki driver buggy yang sama dimuat, tetapi hanya satu dari server yang menginstal SQL, dan karena server telah menginstal SQL, ia melakukan penguncian halaman memori unik ini dengan cara yang server lain tidak melakukan, yang menyebabkan bug driver pihak ke-3 untuk memundurkan kepalanya yang jelek. (Hanya sebuah contoh.))

Tidak ada tempat lain untuk menyalahkan di sini. Anda tidak dapat menjalankan build driver yang telah diperiksa dalam produksi dan berharap bersenang-senang. Mereka hanya untuk tujuan pengembangan dan pengujian.

Terakhir, satu-satunya tempat lain untuk pergi dari sini adalah untuk mengumpulkan dump penuh dan menjalankannya melalui WinDBG. Anda dapat menghabiskan waktu enam jam untuk debugging yang intens, tumpukan yang tidak ditangguhkan, melacak utas, mengikuti IRP ke port penyelesaiannya ... atau Anda bisa menyingkirkan driver build yang dicentang itu. :)

Mungkin juga mencoba menjalankan driver melalui Driver Verifier . Dalam lingkungan pengujian. Di mana bangunan yang diperiksa harus tetap. ;)

Ryan Ries
sumber
1
Saya akan bertanya tentang perusahaan hosting apakah saya menggunakan bangunan yang dicentang atau tidak. Saya baru saja memeriksa Device Manager dan semua yang tertulis untuk "Xen PCI Device Driver" adalah "9/17/2014 | 0.11.0.373". Saya tidak melihat dicentang atau lepaskan di mana pun dalam dialog properti, tetapi perusahaan hosting akan tahu lebih banyak. Tetap disini.
Sarah Weinberger
2
Lalu dari mana Anda mendapatkan "Checked Build" dari pos Anda?
Ryan Ries
Saya menyalin dan menempel blok ringkasan analisis WhoCrashed di bagian bawah laporan. Laporan OSR tidak terlalu membantu, itulah sebabnya saya fokus pada WhoCrashed, tetapi masalahnya mungkin tidak terkait Xen dan bisa menjadi hal lain. Pada satu titik, salah satu agen pendukung perusahaan hosting web mencoba menyalahkan Microsoft dan IIS, yang saya tolak. Saya setuju dengan WhoCRashed dalam mencurigai agen pihak ketiga.
Sarah Weinberger
@SarahWeinberger Periksa ukuran file, dan setidaknya bandingkan antara server yang Anda miliki aksesnya; Saya tidak tahu pasti, tetapi ukuran file harus berbeda untuk membangun diperiksa dan tidak diperiksa (perbedaannya cukup signifikan sehingga harus muncul dalam ukuran file). Jika semuanya gagal, hitung sebuah checksum; bahkan MD5 akan baik-baik saja di sini. Build yang dicentang dan yang tidak dicentang akan berbeda di sana, meskipun versi filenya sama.
CVn
@ MichaelKjörling Saya harus pergi ke situs dan memahami unduhan. Hingga posting host, saya pikir unduhan berasal dari situs yang berbeda, yang saya posting awalnya. Dugaan saya adalah bahwa situs tersebut memiliki satu unduhan, versi yang dirilis, tetapi build yang diperiksa dapat ditandatangani secara digital juga. Sayangnya, uninstall adalah pada node perangkat keras, yang tampaknya merupakan versi Windows yang lebih lama, ketika ia berbicara "Tambah / Hapus Program" bukan "Program dan Fitur". Either way, uninstall sudah berakhir. Saya sudah memeriksa P&F dan tidak melihat Xen.
Sarah Weinberger
7

Xen 3.4.4 terlalu tua. 13 Maret 2013

Windows 2012 R2 dirilis pada 18 Oktober 2013 .

Untuk memberi Anda perbandingan yang sebenarnya, XenServer dari Citrix menambahkan dukungan Windows Server 2012 R2 dalam versi 6.2SP1 mereka, yang dirilis pada 13 Desember 2013 . ( http://support.citrix.com/article/CTX139788 )

Lihat itu untuk driver GPLPV; Anda hanya melihat referensi ke cabang Xen 4.4.0 untuk 2008R2 ..

Driver yang ditandatangani dari ejbdigital berfungsi dengan baik pada Xen 4.4.0. Jika Anda mengalami bluescreen saat menginstal driver ini, atau setelah reboot setelah menginstalnya, silakan coba tambahkan device_model_version = "qemu-xen-traditional". Saya memiliki sistem 2008 R2 x64 yang ada yang secara konsisten gagal dengan BSOD setelah instalasi gpl_pv. Beralih ke model perangkat 'qemu-xen-traditional' menyelesaikan masalah. Namun, pada sistem 2008 R2 x64 yang bersih, saya tidak perlu melakukan perubahan ini, jadi harap ingat ini jika Anda mengalami masalah. http://wiki.xen.org/wiki/Xen_Windows_GplPv

Lihat itu untuk pernyataan resmi proyek xen tentang dukungan Windows. Saya tidak bermaksud itu tidak dapat menjalankannya, tetapi Anda melihat dukungannya. Anda akan menjalankan server produksi pada platform itu?

Apakah Xen Project mendukung Microsoft Windows?

Pendekatan paravirtualized yang kami gunakan untuk mendapatkan kinerja tinggi seperti itu belum dapat digunakan secara langsung untuk Windows sampai saat ini . Namun Xen 3.0 menambahkan dukungan Intel VT-x untuk memungkinkan berjalannya sistem operasi tamu yang tidak dimodifikasi, termasuk Windows XP & 2003 Server, menggunakan teknologi virtualisasi perangkat keras. Xen 3.0.2 dan yang lebih baru juga mendukung teknologi AMD Pacifica. Periksa untuk melihat apakah CPU Anda termasuk di antara daftar Prosesor yang Kompatibel dengan HVM, dan apakah motherboard Anda berada di antara daftar Motherboard yang Kompatibel dengan HVM.

(Catatan: Ini tidak selalu berarti, bahwa hampir semua OS berjalan dalam Mode HVM! Laporan berbeda tentang mendapatkan * BSD untuk bekerja dalam mode HVM, di Mailing List hanya ada 1 keberhasilan untuk OpenBSD ( http: //www.openbsd- france.org/ml/archives/msg02494.html ), tidak ada pesan sukses untuk yang lain, tetapi beberapa laporan masalah) http://wiki.xenproject.org/wiki/Xen_FAQ_Drivers,_Windows

yagmoth555
sumber
1
Saya menandai jawabannya (saya # 4) dan meneruskan jawaban beserta URL ini ke perusahaan hosting web saya. Saya bahkan tidak pernah mendengar Xen sebelum masalah ini, jadi saya baru mengenal semuanya. Poin Anda pada tanggal versi sangat valid. Bagaimana Xen 3.4.0 dapat mendukung Windows 2012R2, padahal saat itu belum keluar. Saya akan melihat apa yang dikatakan perusahaan hosting. Sayangnya, mereka mengesampingkan Microsoft Hyper-V, tidak yakin mengapa.
Sarah Weinberger
1
Jawaban ini membuat perbedaan. Perusahaan web hosting, terkenal karena tidak mengubah apa-apa, baru saja menulis email ini kepada saya: "Perlu diketahui bahwa kami berencana untuk memperbarui versi server Xen di mana server cloud Anda berjalan, ke yang terbaru karena versi yang lebih lama tampaknya rentan . " Wow!
Sarah Weinberger
Terima kasih untuk umpan baliknya. Saya senang jika jawaban saya membantu :)
yagmoth555