Aracılığıyla paylaş


SysRq ve NMI çağrıları için Azure Seri Konsolu'nu kullanma

Şunlar için geçerlidir: ✔️ Linux VM'leri

Sistem İsteği (SysRq)

SysRq, Önceden tanımlanmış bir dizi eylemi tetikleyebilen Linux işlem sistemi çekirdeği tarafından anlaşılan bir anahtar dizisidir. Bu komutlar genellikle sanal makine sorunlarını giderme veya kurtarma işlemi geleneksel yönetim aracılığıyla gerçekleştirilemediğinde (örneğin, VM yanıt vermiyorsa) kullanılır. Azure Seri Konsolu'nun SysRq özelliği kullanıldığında SysRq tuşuna ve fiziksel klavyeye girilen karakterlere basılması taklit edilir.

SysRq dizisi teslim edildikten sonra çekirdek yapılandırması sistemin nasıl yanıt vereceğini denetler. SysRq'yi etkinleştirme ve devre dışı bırakma hakkında bilgi için bkz. SysRq Yönetici Kılavuzu metin | markdown.

Azure Seri Konsolu, aşağıda gösterilen komut çubuğundaki klavye simgesi kullanılarak bir Azure sanal makinesine SysRq göndermek için kullanılabilir.

Azure Seri Konsolu'nun ekran görüntüsü. Klavye simgesi vurgulanır ve menüsü görünür. Bu menü bir Send SysRq Command öğesi içerir.

"SysRq Komutu Gönder" seçeneğinin seçilmesi, yaygın SysRq seçenekleri sağlayan veya iletişim kutusuna girilen bir Dizi SysRq komutunu kabul eden bir iletişim kutusu açar. Bu, SysRq'ler serisinin şunu kullanarak güvenli bir yeniden başlatma gibi üst düzey bir işlem gerçekleştirmesine olanak tanır: REISUB.

Anahtar girme seçeneği belirlendiğinde ve REISUB aşağıdaki alana girildiğinde SysRq Komutunu Konuk'a Gönder iletişim kutusunun ekran görüntüsü.

SysRq komutu durdurulan veya çekirdeği yanıt vermeyen bir durumda olan sanal makinelerde kullanılamaz. (örneğin çekirdek paniği).

SysRq'yi etkinleştirme

Yukarıdaki SysRq Yönetici Kılavuzu'nda açıklandığı gibi, SysRq tümü, hiçbiri veya yalnızca belirli komutlar kullanılabilir olacak şekilde yapılandırılabilir. Aşağıdaki adımı kullanarak tüm SysRq komutlarını etkinleştirebilirsiniz, ancak yeniden başlatma işlemi devam etmeyecektir:

echo "1" >/proc/sys/kernel/sysrq

SysReq yapılandırmasını kalıcı hale getirmek için, tüm SysRq komutlarını etkinleştirmek için aşağıdakileri yapabilirsiniz

  1. Bu satırı /etc/sysctl.conf dosyasına ekleme
    kernel.sysrq = 1
  2. Sysctl'i çalıştırarak yeniden başlatma veya güncelleştirme
    sysctl -p

Komut Tuşları

Yukarıdaki SysRq Yönetici Kılavuzu'ndan:

Command İşlev
b Disklerinizi eşitlemeden veya çıkarmadan sistemi hemen yeniden başlatır.
c Null işaretçi başvurusu kaldırılarak sistem kilitlenmesi gerçekleştirir. Yapılandırılırsa bir kilitlenmedump alınır.
d Tutulan tüm kilitleri gösterir.
e Init dışında tüm işlemlere bir SIGTERM gönderin.
f Hafıza domuzunu öldürmesi için oom katilini çağıracak ama hiçbir şey öldürülmezse panik yapma.
g kgdb (çekirdek hata ayıklayıcısı) tarafından kullanılır
h Yardım görüntüler (burada listelenenlerden başka herhangi bir anahtar da yardım görüntüler, ancak h anımsamak kolaydır:-)
i Init dışında tüm işlemlere bir SIGKILL gönderin.
j Zorla "Sadece çöz" - FIFREEZE ioctl tarafından dondurulan dosya sistemleri.
k Güvenli Erişim Anahtarı (SAK) Geçerli sanal konsoldaki tüm programları öldürür. NOT: SAK bölümünde aşağıdaki önemli yorumlara bakın.
l Tüm etkin CPU'lar için bir yığın geri izlemesi gösterir.
m Geçerli bellek bilgilerini konsolunuza döküm eder.
n RT görevlerini düzgün hale getirmek için kullanılır
o Sisteminizi kapatır (yapılandırıldıysa ve destekleniyorsa).
p Geçerli yazmaçları ve bayrakları konsolunuza dökümünü alır.
q Tüm silahlı hrtimer'ların (ancak normal timer_list zamanlayıcıların DEĞIL) CPU listeleri başına dökümü ve tüm clockevent cihazları hakkında ayrıntılı bilgi dökümü yapacaktır.
r Klavye ham modunu kapatır ve XLATE olarak ayarlar.
s Tüm bağlı dosya sistemlerini eşitlemeyi dener.
t Geçerli görevlerin listesini ve bunların bilgilerini konsolunuza döküm eder.
u Tüm bağlı dosya sistemlerini salt okunur olarak yeniden bağlamayı dener.
v Framebuffer konsolunu zorla geri yükler
v ETM arabellek dökümü neden oluyor [ARM'ye özgü]
w Kesintisiz (engellenmiş) durumdaki görevleri dökümler.
x ppc/powerpc platformlarında xmon arabirimi tarafından kullanılır. sparc64'te genel PMU Yazmaçlarını göster. MIPS'de tüm TLB girdilerinin dökümünü alır.
y Genel CPU Yazmaçlarını gösterme [SPARC-64'e özgü]
z Ftrace arabelleğinin dökümünü alma
0-9 Konsol günlük düzeyini ayarlar ve konsolunuza hangi çekirdek iletilerinin yazdırılacağını kontrol eder. (0örneğin, bunu yalnızca PANC'ler veya OOPS'ler gibi acil durum iletilerinin konsolunuza yapabilmesi için yapar.)

Dağıtıma özgü belgeler

SysRq ile ilgili dağıtıma özgü belgeler ve Linux'u SysRq "Crash" komutu aldığında kilitlenme dökümü oluşturacak şekilde yapılandırma adımları için aşağıdaki bağlantılara bakın:

Ubuntu

Red Hat

SUSE

CoreOS

Maskelenemeyen Kesme (NMI)

Maskelenemeyen kesme (NMI), sanal makinedeki yazılımların yoksayılmayacaklarını belirten bir sinyal oluşturmak için tasarlanmıştır. Geçmişte NMI'ler belirli yanıt süreleri gerektiren sistemlerde donanım sorunlarını izlemek için kullanılmıştır. Günümüzde programcılar ve sistem yöneticileri genellikle yanıt vermeyen sistemlerde hata ayıklamak veya sorun gidermek için NMI'yi bir mekanizma olarak kullanır.

Seri Konsol, aşağıda gösterilen komut çubuğundaki klavye simgesi kullanılarak Bir Azure sanal makinesine NMI göndermek için kullanılabilir. NMI teslim edildikten sonra, sanal makine yapılandırması sistemin nasıl yanıt vereceğini denetler. Linux işletim sistemleri, işletim sisteminin bir NMI almasına neden olacak şekilde kilitlenecek ve bellek dökümü oluşturacak şekilde yapılandırılabilir.

Seri Konsol'un ekran görüntüsü. Klavye simgesi vurgulanır ve menüsü görünür. Bu menü Maskelenemeyen Kesme Gönder öğesini içerir.

NMI'yi etkinleştirme

Çekirdek parametrelerini yapılandırmak için sysctl'yi destekleyen Linux sistemleri için, aşağıdakileri kullanarak bu NMI'yi alırken paniğe neden olabilirsiniz:

  1. Bu satırı /etc/sysctl.conf dosyasına ekleme
    kernel.panic_on_unrecovered_nmi=1
  2. Sysctl'i çalıştırarak yeniden başlatma veya güncelleştirme
    sysctl -p

, ve gibi unknown_nmi_panicLinux çekirdek yapılandırmaları hakkında daha fazla bilgi için bkz. /proc/sys/kernel/*panic_on_unrecovered_nmibelgeleri. panic_on_io_nmi NMI ile ilgili dağıtıma özgü belgeler ve Linux'u NMI aldığında kilitlenme dökümü oluşturacak şekilde yapılandırma adımları için aşağıdaki bağlantılara bakın:

Ubuntu

Red Hat

SUSE

CoreOS

Sonraki adımlar

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.