Tidak, itu tidak berarti bahwa data itu hilang. Ini hanya berarti bahwa IRP (Paket Permintaan IO) habis sementara Sistem IO menunggu untuk selesai, dan karenanya dicoba lagi. Ketika utas memulai operasi IO, manajer IO membuat IRP untuk mewakili operasi saat melewati sistem.
IRP disimpan dalam keadaan awal dalam daftar buffer / look-selain, sehingga dapat dicoba lagi jika gagal pertama kali. Itu memberikan atomicity yang diharapkan dari sistem transaksional apa pun sehingga kami dapat lebih yakin bahwa Anda tidak akan mendapatkan banyak data yang rusak atau tidak lengkap yang ditulis ke disk Anda.
Acara ini sangat masuk akal jika terjadi kegagalan MPIO. Katakanlah Windows masuk untuk membaca atau menulis sesuatu dari penyimpanan SAN. Permintaan dikirim, dan pada saat yang sama, saya memotong salah satu kabel ke SAN. Permintaan itu tidak akan pernah selesai, dan karenanya Windows akan mencoba permintaan itu lagi, hanya saja kali ini permintaan akan mengikuti jalur lainnya.
Peristiwa ini juga terjadi ketika disk overburdened atau hanya sangat lambat. Anda mungkin melihat pesan-pesan ini bertepatan dengan cadangan terjadwal, dll. Disk mungkin lambat dan sibuk, dan beberapa IRP acak habis dan harus mencoba lagi. IRP bisa saja terjebak dalam rutinitas layanan interupsi, atau panggilan prosedur yang ditangguhkan, atau apa pun.
Saya bisa melihat memiliki banyak pengandar filter IO di tumpukan Anda memperburuk masalah ini juga.
Bukan karena perilaku ini tidak terjadi seperti ini di versi Windows sebelumnya, hanya saja Microsoft tampaknya memutuskan untuk memunculkan peristiwa ini di Win8 / Server 2012.
Sunting: Anda dapat menemukan IRP yang luar biasa dari utas dengan debugger kernel:, kd> !irp 1a2b3c4d
tempat Anda sebelumnya menemukan alamat itu dengan mengeluarkan perintah kd> !process 8f7d6c4a
yang akan mencantumkan semua IRP yang terkait dengan utas yang terkait dengan proses itu. kd> !process 0 0
untuk membuat daftar semua proses yang berjalan.
Setelah Anda mencantumkan informasi tentang IRP menggunakan perintah! Irp, Anda dapat dengan mudah menemukan driver mana yang terakhir menangani IRP karena itu akan >
menunjuk ke dalamnya dalam daftar. Kemudian untuk mendapatkan informasi lebih lanjut tentang apa yang driver lakukan dengan IRP itu, lakukan di kd> !devobj 1a2b3c4d5e6f
mana itu adalah alamat sebenarnya dari objek perangkat.
Kemudian lakukan kd> dt 0x1a2b3c3c2b1a _CLASS_PRIVATE_FDO_DATA
menggunakan alamat struktur PrivateFdoData yang Anda dapatkan.
Sekarang Anda siap untuk membuang struktur data AllTransferPacketsList yang Anda dapatkan dari PrivateFdoData.
Idenya adalah, Anda melacak driver apa yang melakukan apa dengan IRP terakhir kali terlihat. Jika IRP terlalu lama, itu habis dan coba lagi dari awal. Ini bisa disebabkan oleh begitu banyak hal ... bahkan sinar kosmik yang tersesat. Tetapi yang penting adalah bahwa transaksi akan dicoba kembali dari awal, dan itu tidak akan dianggap lengkap sampai manajer IO mengatakan itu.
Oh, dan ada juga benang-agnostik IO yang merupakan kaleng cacing yang sama sekali berbeda. :)
Untuk membaca lebih lanjut tentang topik ini, saya sangat merekomendasikan bab 8, Sistem I / O, Windows 6 edisi Internals, dari Mark Russinovich, Margosis, et al.
Edit **: ** Saya akhirnya menemukan KB resmi untuk kesalahan ini: http://support.microsoft.com/kb/2819485/EN-US
Operasi IO harus dicoba lagi 8 kali, sekali per menit, sampai Windows menyerah.
Sunting: Seperti yang dijanjikan: http://blogs.msdn.com/b/ntdebugging/archive/2013/04/30/interpreting-event-153-errors.aspx
Tidak, akan ada pesan yang berbeda, dan (semoga) salah satu lapisan aplikasi akan mengeluarkan pengecualian jika gagal menyimpan data dengan sukses.
Sebelum ke Windows Server 2012 (atau perbaikan terbaru 2819485 jika pada Windows Server 2008 R2), sistem akan mencoba kembali secara diam-diam ketika waktu habis ini terjadi. Tujuan dari pesan ini adalah untuk meningkatkan visibilitas tentang kejadian-kejadian ini. Mereka mungkin menunjukkan masalah kapasitas atau cacat driver, dan dalam kasus iSCSI, cacat sistem operasi lain mungkin dikaitkan dengan keterlambatan.
Dalam hal penyimpanan eksternal (tidak terhubung langsung), beberapa vendor di masa lalu telah meningkatkan nilai batas waktu, misalnya menjadi 60 detik. Namun, mengingat jumlah coba ulang standar oleh komponen lapisan yang lebih tinggi seperti inisiator iSCSI, ini bisa berarti bahwa beberapa menit mungkin berlalu sebelum sistem memulai failover. Itu jelas akan menjadi perilaku suboptimal.
Informasi lebih lanjut:
Entri Registri untuk Driver Miniport SCSI
http://msdn.microsoft.com/en-us/library/windows/hardware/ff563970%28v=vs.85%29.aspx
https://blogs.msdn.com/b/san/archive/2011/09/01/the-windows-disk-timeout-value-understanding-why-this-should-be-set-to-a-small- value.aspx
Microsoft telah meluncurkan pembaruan yang menyediakan kemampuan untuk menentukan ambang batas untuk operasi storport.sys.
Setelah Anda menginstal pembaruan ini, Anda bisa mencatat peristiwa ketika waktu latensi untuk I / O ke penyimpanan sama dengan, atau lebih besar dari, ambang batas. Nilai ambang batas dapat diatur oleh pengguna. Operasi ini dilakukan pada tingkat Driver Adaptor sehingga Anda dapat melihat apakah ada masalah kinerja pada SAN. Kemudian, Anda dapat menghubungi vendor penyimpanan untuk mengatasi masalah ini.
Catatan: Pembaruan ini mengembalikan fungsionalitas yang disediakan di Windows 7 dan Windows Server 2008 R2. Ketika fungsi diaktifkan, nilai ambang diukur dalam 100 nanodetik (0,0001 milidetik). Selain itu, nilai-nilai berikut dicatat dalam acara:
BuildIoDuration : Lamanya waktu yang dihabiskan MINIPORT dalam fungsi build I / O untuk permintaan ini StartIoDuration : Lamanya waktu yang MINIPORT habiskan di awal, fungsi I / O untuk permintaan ini DataTransferLength : Ukuran transfer dalam byte
Pembaruan yang meningkatkan kapabilitas pengandarr driver Storport.sys di Windows Server 2012
http://support.microsoft.com/kb/2819476
Pembaruan kumulatif Windows 8 dan Windows Server 2012: April 2013
http://support.microsoft.com/kb/2822241
sumber
Mungkin posting yang terlambat, tetapi saya telah menemukan bahwa itu dapat disebabkan oleh VSS. Kami memiliki klien yang menjalankan veeam tetapi lupa mematikan server windows cadangan (disk dihapus) Ini menyebabkan banyak masalah dan kesalahan ini adalah yang utama.
Menghentikan kembali dan wham, tidak ada kesalahan.
sumber