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

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ğinin kullanılması, SysRq tuşuna ve fiziksel klavyeye girilen karakterlere basılmış gibi görünür.

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ılavuzumetin | markdown.

Azure Seri Konsolu, aşağıda gösterilen komut çubuğundaki klavye simgesini kullanarak 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 durumdadır. Bu menü bir Send SysRq Komutu öğ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 olarak 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 edecektir:

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:

Komut İşlev
b Disklerinizi eşitlemeden veya çıkarmadan sistemi hemen yeniden başlatır.
c NULL işaretçi başvurusu kaldırma işlemiyle 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 hog işlemini öldürmek için oom katilini çağıracak, ama hiçbir şey öldürülemezse panikleme.
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ünü alır.
n RT görevlerini iyi kullanılabilir 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ünü ve tüm clockevent cihazları hakkında ayrıntılı bilgileri döküm eder.
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örevlerin dökümünü alır.
x ppc/powerpc platformlarında xmon arabirimi tarafından kullanılır. sparc64'te genel PMU Yazmaçlarını göster. TÜM TLB girişlerini MIPS'de 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 Konsolunuza hangi çekirdek iletilerinin yazdırılacağını denetleyen konsol günlüğü düzeyini ayarlar. (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'ı 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 bir kesme (NMI), sanal makinedeki yazılımların yoksayılmayacağı 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ıklama veya sorun giderme mekanizması olarak NMI kullanır.

Seri Konsol, aşağıda gösterilen komut çubuğundaki klavye simgesini kullanarak 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 kilitlenmek ve işletim sisteminin NMI aldığı bir bellek dökümü oluşturmak için yapılandırılabilir.

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

NMI'yi etkinleştirme

Çekirdek parametrelerini yapılandırmak için sysctl 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 Linux çekirdek yapılandırmaları hakkında daha fazla bilgi için bkz. /proc/sys/kernel/*belgeleri.unknown_nmi_panicpanic_on_unrecovered_nmipanic_on_io_nmi NMI ile ilgili dağıtıma özgü belgeler ve Linux'ı 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.