Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: ✔️ Linux VM'leri
Bu makalede çekirdek paniğine neden olabilecek birden çok koşul ele alınmaktadır ve sorun giderme yönergeleri sağlanmaktadır.
Genel olarak çekirdek paniği, çekirdeğin düzgün yüklenemediğini ve bu nedenle sistemin önyüklemesinin başarısız olduğu bir durumdur. Çekirdek, nasıl işleneceğini bilmediği bir durumla karşılaştığında başka bir çekirdek paniği oluşur ve durarak kendini korur.
Önkoşullar
Seri konsolun Linux VM'de etkinleştirildiğinden ve işlevsel olduğundan emin olun.
Çekirdek paniği nasıl tespit edilsin?
Vm'nin seri konsol günlüğü çıkışını önyükleme tanılama dikey penceresinde, seri konsol dikey penceresinde veya belirli çekirdek panik dizesini tanımlamak için AZ CLI'da görüntülemek için Azure portalını kullanın.
Çekirdek paniği aşağıdaki çıkışa benzer ve seri konsol günlüğünün sonunda görünür:
Probing EDD (edd=off to disable)... ok
Memory KASLR using RDRAND RDTSC...
[ 300.206297] Kernel panic - xxxxxxxx
[ 300.207216] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G ------------ T 3.xxx.x86_64 #1
En yaygın çekirdek paniği olaylarından bazıları:
Panik mesajı | Nedeni |
---|---|
Oops: 0000 [#1] SMP " (ayrıntılar için günlüğü denetleyin) | Sistem, hatalı bir adres başvurusunda bulunduktan sonra panikledi. |
SysRq: Kilitlenme işlemini tetikleme | Çekirdek dökümü sysrq-c ile veya c'yi /proc/sysrq-trigger içine yankılayarak kullanıcı tarafından başlatıldı. |
<pathname/filename>:<line number>! | Bu biçim, başarısız bir HATA denetimi için standarttır (aynı ASSERT gibi, ancak mantık tersine çevrilmiş). Dosya adı ve satır numarası hangi HATA denetiminin başarısız olduğunu gösterir. |
Çekirdek paniği - eşitlenmiyor: softlockup: asılı görevler | Geçici kilitleme algılayıcısı, izleme görevini geçici kilitleme eşiği içinde zamanlamayan bir CPU buldu. |
Çekirdek paniği - eşitlenmiyor: Watchdog cpu 0'da sabit LOCKUP algıladı | Sabit kilitleme algılayıcısı, sabit kilitleme eşiği içinde herhangi bir hrtimer kesintisi almamış bir CPU buldu. |
Çekirdek paniği - eşitlenmiyor: hung_task: engellenen görevler | Kilitlenen görev izlemesi, engellenen görev zaman aşımı değerinden daha fazla kesintisiz durumda olan en az bir görev algılandı. |
Çekirdek paniği - eşitlenmiyor: bellek yetersiz. panic_on_oom seçildi | Sistemin belleği ve değişimi tükendi ve belleği boşaltmak için işlemleri öldürmeye başlamak zorunda kaldı (varsayılan davranış değil). |
Çekirdek paniği - eşitlenmiyor: Bellek yetersiz ve öldürilebilir işlem yok... | Sistemin belleği ve değişimi tükendi ve belleği boşaltmak için işlemleri öldürüyor ama sonlandırmak için işlemler tükendi. |
Çekirdek paniği - eşitlenmiyor: NMI oluştu, ayrıntılar için Tümleşik Yönetim Günlüğü'ne bakın. | Watchdog bir NMI'yi (maskelenemeyen kesme) yakaladı. |
Çekirdek paniği - eşitlenmiyor: NMI IOCK hatası: Devam edilmiyor | Sistem donanımdan bir GÇ denetimi NMI aldı (bellek eşlik hatası değil) ve kernel.panic_on_io_nmi ayarlandı (varsayılan değil). |
Çekirdek paniği - eşitlenmiyor: NMI: Devam edilmiyor | Sistem bir NMI (donanım veya bellek eşlik hatası) aldı ve kernel.panic_on_unrecovered_nmi ayarlandı (varsayılan değil). |
Çekirdek paniği - eşitlenmiyor: nmi watchdog | Sistem bir NMI aldı ve kernel.panic_on_timeout veya kernel.panic_on_oops ayarlandı (varsayılan değerler değil). |
Çekirdek paniği - eşitlenmiyor: Önemli Makine denetimi | Önemli bir durum için makine denetimi özel durumu olayı tetiklendi. |
Çekirdek paniği - eşitlenmiyor: Init'i öldürmeye çalıştı! | başlatma işlemi, başlatılacak ilk işlemdir ve hiçbir zaman çıkmamalıdır. |
Çekirdek paniği - eşitlenmiyor: VFS: Bilinmeyen blokta kök fs bağlanamıyor (0,0) | Çekirdeğin rootfs'yi bağlamak için bir initramfs kullanacağı varsayılır. Bu hata, çekirdekte initramfs olmadığında oluşur. |
Senaryo 1: Çekirdek paniği önyükleme zamanında oluşuyor
Önyükleme zamanında çekirdek paniği, VM'nin işletim sistemi başlatma işlemini tamamlamasını engeller. Sanal makine her başlatıldığında gerçekleşir ve oturum açma işlemine izin vermez.
Bu tür bir olay genellikle ilişkilidir ancak bunlarla sınırlı değildir:
- Son çekirdek yükseltmesi.
- Yeni bir çekirdek düşürmesi.
- Çekirdek modülü değişiklikleri.
- İşletim sistemi yapılandırma değişiklikleri (GRUB, sysctl ve SELinux).
- Önemli dosyalar ve dizinler eksik.
- Önemli sistem çekirdeği kitaplıkları ve paketleri eksik.
- Dosyalar üzerinde yanlış izinler.
- Eksik bölümler.
Senaryo 1 için çözüm
Bu tür çekirdek paniğiyle başa çıkmak için aşağıdaki yaklaşımlar kullanılabilir:
Yöntem 1: Azure seri konsolunu kullanma
Önyükleme işlemini kesmek ve varsa önceki bir çekirdek sürümünü seçmek için Azure seri konsolunu kullanın. Bu şekilde, VM yeniden önyüklenebilir, ardından önyükleme yapmayan çekirdekle ilgili sorunu düzeltmek için aşağıdaki yöntemlerden birini kullanabilirsiniz:
- Eksik bir initramfs'ı yeniden yükleyin veya yeniden üretin.
- Sorunlu çekirdeği yeniden yükleyin.
- Yüklenen veya eksik çekirdek modüllerini gözden geçirin.
- Bölümleri gözden geçirin.
Yöntem 2: Kurtarma VM'si kullanarak çevrimdışı onarım
Azure seri konsolunun kullanılabilir olmaması veya daha önce kullanılabilir çekirdek olmaması durumunda çevrimdışı onarım yapmak için kurtarma/onarım VM'sine ihtiyacınız vardır.
Hedef VM'nin işletim sistemi diskinin bir kopyasının eklendiği bir onarım VM'sini oluşturmak için VM'yi Onar komutunu kullanın. Ardından chroot'u kullanarak onarım VM'sindeki işletim sistemi dosya sistemlerinin kopyasını bağlayın. Bundan sonra, çekirdek sorunlarını düzeltmek için aşağıdaki yöntemleri deneyin:
- Eksik bir initramfs'ı yeniden yükleyin veya yeniden üretin.
- Sorunlu çekirdeği yeniden yükleyin.
- Yüklenen veya eksik çekirdek modüllerini gözden geçirin.
- Bölümleri gözden geçirin.
- Eksik dosyaları kurtarın.
- Eksik önemli sistem çekirdeği kitaplıklarını ve paketlerini kurtarın.
Senaryo 2: Çalışma zamanında çekirdek paniği
Bu tür bir çekirdek paniği genellikle İşletim Sistemi başlatma işlemi tamamlandıktan sonra tahmin edilemeyen zamanlarda tetiklenir ve VM'nin yanıt vermemeye başlamasına neden olur ve oturum açmasını engeller. Yaygın olarak ilişkilidir ancak bunlarla sınırlı değildir:
- Son çekirdek yükseltmesi.
- Yeni bir çekirdek düşürmesi.
- Çekirdek modülü değişiklikleri.
- İşletim sistemi yapılandırma değişiklikleri (GRUB, sysctl ve SELinux).
- Uygulama iş yükü değişiklikleri.
- Uygulama geliştirme değişiklikleri veya hataları.
- Olası çekirdek hataları.
- Performansla ilgili sorunlar.
Senaryo 2 için çözüm
Bu tür çekirdek paniğiyle başa çıkmak için aşağıdaki yaklaşımlar kullanılabilir:
- Kaynak kullanımını ve genel sistem performansını gözden geçirin. Çekirdek paniği, VM'nin yeniden boyutlandırılmasıyla sonuçlanabilecek olası kaynak sıkıntısı ile ilgili olabilir.
- Mümkünse, ilgili Linux dağıtım depolarında bulunan en son güncelleştirmeleri yükleyin. Çekirdek paniği, çekirdekteki veya diğer yazılımdaki bilinen hatalara bağlı olabilir.
- Çekirdek paniğinin son çekirdek değişikliğiyle ilgili olma olasılığı vardır. Bu durumda, senaryo 1 için Çözüm bölümünde açıklandığı gibi önceki bir çekirdek sürümü üzerinden önyükleme yapılması da önerilir.
- Yukarıdaki seçenekler geçerli değilse, kdump'yi yapılandırmak ve daha fazla analiz desteğiyle paylaşmak üzere bir çekirdek dökümü oluşturmak gerekebilir.
Daha belirgin çekirdek paniği senaryoları
Belirli sorun giderme/kurtarma yönergeleriyle yaygın çekirdek paniği senaryoları:
Belge | Senaryo |
---|---|
3.10 tabanlı çekirdekte Azure Linux sanal makinesinde bir konak düğümü yükseltmesi sonrasında panik durumu ortaya çıkar | Bu makalede, 3.10 tabanlı çekirdeği çalıştıran bir Azure Linux VM'sinin Azure'da bir konak düğümü yükseltmesi sonrasında kilitlenmesi durumunda oluşan bir sorun ele alınmaktadır. |
Azure Linux sanal makinesini çekirdekle ilgili önyükleme sorunlarından kurtarma | Bu makalede, çekirdek değişiklikleri uygulandıktan sonra bir Linux sanal makinesinin (VM) yeniden başlatılamama sorununa yönelik çözümler sağlanır. |
Yardım için bize ulaşın
Sorularınız veya yardıma ihtiyacınız varsa bir destek isteği oluşturun veya Azure topluluk desteği isteyin. Ürün geri bildirimini Azure geri bildirim topluluğuna da gönderebilirsiniz.