Aracılığıyla paylaş


PROaktif olarak GRUB ve sysrq erişiminiz olması size çok fazla çalışma süresi kazandırabilir

Seri Konsol ve GRUB erişimine sahip olmak, çoğu durumda IaaS Linux Sanal Makinenizin kurtarma sürelerini geliştirir. GRUB, aksi takdirde VM'nizi kurtarmanın daha uzun süreceği kurtarma seçenekleri sunar.

VM kurtarma gerçekleştirmenin nedenleri çok fazladır ve aşağıdaki senaryolara bağlanabilir:

  • Bozuk dosya sistemleri/çekirdek/MBR (Ana Önyükleme Kaydı)
  • Başarısız çekirdek yükseltmeleri
  • Yanlış GRUB çekirdek parametreleri
  • Yanlış fstab yapılandırmaları
  • Güvenlik duvarı yapılandırmaları
  • Kayıp parola
  • Mangled sshd yapılandırma dosyaları
  • Ağ yapılandırmaları

Burada ayrıntılı olarak açıklandığı gibi diğer birçok senaryo

Azure'da dağıtılan VM'lerinizde GRUB ve Seri konsola erişebildiğinizden emin olun.

Seri Konsol'da yeniyseniz bu bağlantıya bakın.

İpucu

Değişiklik yapmadan önce dosyaların yedeklerini almayı sağlama

GRUB erişiminiz olduğunda Linux VM'nizi nasıl hızlı bir şekilde kurtarabileceğinizi görmek için aşağıdaki videoyu izleyin

Linux VM Videosunu Kurtarma

Linux VM'lerinin kurtarılmasına yardımcı olacak çeşitli yöntemler vardır. Bulut ortamında bu süreç oldukça zorlu bir süreçtir. Hizmetlerin hızlı bir şekilde kurtarılmasını sağlamak için araçlar ve özelliklerde sürekli ilerleme kaydedilmektedir.

Azure Seri Konsolu ile Linux VM'nizle bir sistemin konsolundaymış gibi etkileşim kurabilirsiniz.

Çekirdeğin nasıl önyüklenecekleri de dahil olmak üzere birçok yapılandırma dosyasını işleyebilirsiniz.

Daha deneyimli Linux/Unix sys yöneticileri, Birçok kurtarma senaryosu için Disk Değiştirme ve VM silmeyi yedekli hale getiren Azure Seri Konsolu aracılığıyla erişilebilen tek kullanıcı ve acil durum modlarını takdir edecektir.

Kurtarma yöntemi, karşılaşılan soruna bağlıdır, örneğin kayıp veya yanlış yerleştirilmiş bir parola Azure portal seçenekleriyle sıfırlanabilir ->Parolayı Sıfırla. Parolayı Sıfırla özelliği Uzantı olarak bilinir ve Linux Konuk aracısı ile iletişim kurar.

Özel Betik gibi diğer uzantılar kullanılabilir, ancak bu seçenekler Linux waagent'ın çalışır durumda ve her zaman geçerli olmayan iyi durumda olmasını gerektirir.

Azure portal Özellikler sayfasındaki Aracı durumunun ekran görüntüsü.

Azure Seri Konsolu ve GRUB erişiminiz olması, parola değişikliğinin veya yanlış yapılandırmanın saatler yerine birkaç dakika içinde düzeltilebileceği anlamına gelir. Birincil çekirdeğinizin bozulması senaryosunda diskte birden çok çekirdeğiniz olması durumunda VM'yi alternatif bir çekirdekten önyüklemeye bile zorlayabilirsiniz.

BIRDEN çok çekirdeğin seçilebileceğini gösteren GRUB'da önyükleme seçilen işletim sistemi ekranının ekran görüntüsü.

Kurtarma yöntemlerinin önerilen sırası

Disk Değiştirme Videosu

Bu videoyu watch GRUB erişiminiz yoksa vm'nizi kurtarmak için disk değiştirme yordamını nasıl kolayca otomatikleştirebileceğinizi görün

Zorluklar

Tüm Linux Azure VM'leri GRUB erişimi için varsayılan olarak yapılandırılmaz ve sysrq komutlarıyla kesintiye uğramak üzere yapılandırılmaz. SLES 11 gibi bazı eski dağıtımlar, Azure Seri Konsolu'nda Oturum Açma istemini görüntüleyecek şekilde yapılandırılmamış

Bu makalede, GRUB'yi nasıl kullanılabilir hale getirebileceğimize ilişkin çeşitli Linux dağıtımlarını ve belge yapılandırmalarını gözden geçireceğiz.

Linux VM'yi SysRq anahtarlarını kabul etmek için yapılandırma

Sysrq anahtarı bazı yeni Linux dağıtımlarında varsayılan olarak etkindir, ancak bazılarında yalnızca belirli SysRq işlevleri için değerleri kabul etmek üzere yapılandırılabilir. Eski dağıtımlarda tamamen devre dışı bırakılmış olabilir.

SysRq özelliği, kilitlenen veya yanıt vermeyen bir VM'yi doğrudan Azure Seri Konsolu'ndan yeniden başlatmak için yararlıdır. AYRıCA GRUB menüsüne erişim kazanma konusunda da yararlıdır; alternatif olarak başka bir portal penceresinden veya ssh oturumundan bir VM'yi yeniden başlatmak geçerli konsol bağlantınızı bırakabilir ve bu nedenle GRUB menüsünü görüntülemek için kullanılan GRUB Zaman Aşımları sona erebilir. VM, yeniden başlatma/güç kesmeye izin veren sysrq veya 128'in tüm işlevlerini etkinleştiren çekirdek parametresi için 1 değerini kabul etmek üzere yapılandırılmalıdır

sysrq videosunu etkinleştirme

VM'yi Azure portal SysRq komutları aracılığıyla yeniden başlatmayı kabul edecek şekilde yapılandırmak için kernel.sysrq çekirdek parametresi için 1 değerini ayarlamanız gerekir

Bu yapılandırmanın yeniden başlatmayı kalıcı hale getirmek için sysctl.conf dosyasına bir girdi ekleyin

echo kernel.sysrq = 1 >> /etc/sysctl.conf

Çekirdek parametresini dinamik olarak yapılandırmak için

sysctl -w kernel.sysrq=1

Kök erişiminiz yoksa veya sudo bozuksa, sysrq'yi bir kabuk isteminden yapılandırmak mümkün olmayacaktır.

Azure portal kullanarak sysrq'yi bu senaryoda etkinleştirebilirsiniz. Sudoers.d/waagent dosyasının bozulması veya silinmesi durumunda bu yöntem yararlı olabilir.

Azure portal İşlemleri -> Çalıştırma Komutu -> RunShellScript özelliğinin kullanılması waagent işleminin iyi durumda olmasını gerektirir, ardından sysrq'yi etkinleştirmek için bu komutu ekleyebilirsiniz

sysctl -w kernel.sysrq=1 ; echo kernel.sysrq = 1 >> /etc/sysctl.conf

Burada gösterildiği gibi:

Komutu eklerken RunShellScript penceresinin ekran görüntüsü.

Tamamlandıktan sonra sysrq'ye erişmeyi deneyebilirsiniz ve yeniden başlatmanın mümkün olduğunu görmeniz gerekir.

Düğme çubuğundaki klavye simgesinin altındaki SysRq Komutu Gönder seçeneğinin ekran görüntüsü.

Yeniden Başlat'ı seçin ve SysRq Komutu Gönder'i seçin

SysRq Komutunu Konuk olarak gönder iletişim kutusundaki Yeniden Başlat seçeneğinin ekran görüntüsü.

Sistem bunun gibi bir sıfırlama iletisini günlüğe kaydetmelidir

Komut satırı arabirimindeki sıfırlama iletisi günlüğünün ekran görüntüsü.

Ubuntu GRUB yapılandırması

Varsayılan olarak, VM önyüklemesi sırasında Esc tuşunu basılı tutarak GRUB'ye erişebilmelisiniz. GRUB menüsü gösterilmezse, bu seçeneklerden birini kullanarak GRUB menüsünü Azure Seri Konsolu'nda ekranda tutabilir ve zorlayabilirsiniz.

Seçenek 1 - GRUB'yi Ekranda görüntülenmeye zorlar

GRUB menüsünü belirtilen ZAMAN AŞıMı için ekranda tutmak için /etc/default/grub.d/50-cloudimg-settings.cfg dosyasını güncelleştirin. GRUB hemen görüntüleneceği için Esc tuşuna basmanız gerekmez.

GRUB_TIMEOUT=5
GRUB_TIMEOUT_STYLE=menu

Seçenek 2 - Önyüklemeden önce Esc tuşuna basılmasına izin verir

/etc/default/grub dosyasında değişiklik yaparak ve Esc tuşuna basmak için 3 saniyelik bir zaman aşımı gözlemleyerek benzer davranışlar yaşanabilir

Şu iki satırı açıklama satırı olarak belirtin:

#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true

ve şu satırı ekleyin:

GRUB_TIMEOUT_STYLE=countdown

Ubuntu 12.04

Ubuntu 12.04, seri konsola erişime izin verir ancak etkileşim kurma olanağı sunmaz. Oturum açma: istem görünmüyor

12.04'de oturum açma bilgisi almak için: istemi:

  1. Aşağıdaki metni içeren /etc/init/ttyS0.conf adlı bir dosya oluşturun:

    # ttyS0 - getty
    #
    # This service maintains a getty on ttyS0 from the point the system is
    # started until it is shut down again.
    start on stopped rc RUNLEVEL=[12345]
    stop on runlevel [!12345]
    
    respawn
    exec /sbin/getty -L 115200 ttyS0 vt102
    
  2. Başlangıç ekranından getty'yi başlatmasını isteyin

    sudo start ttyS0
    

Ubuntu sürümleri için seri konsolu yapılandırmak için gereken ayarlara buradan ulaşabilirsiniz

Ubuntu Kurtarma Modu

GRUB aracılığıyla Ubuntu için ek kurtarma ve temizleme seçenekleri sağlanır, ancak bu ayarlara yalnızca çekirdek parametrelerini uygun şekilde yapılandırdığınızda erişilebilir. Bu çekirdek önyükleme parametresinin yapılandırılmaması Kurtarma menüsünün Azure Seri Konsolu'na değil Azure Tanılama gönderilmesini zorunlu hale getirir. Aşağıdaki adımları izleyerek Ubuntu Kurtarma Menüsüne erişim elde edebilirsiniz:

ÖNYÜKLEME İşlemi'ni kesme ve GRUB menüsüne erişme

Ubuntu için Gelişmiş Seçenekler'i seçin ve Enter tuşuna basın

Ubuntu için Gelişmiş seçeneklerin seçili olduğu Seri konsolunu gösteren ekran görüntüsü.

Görüntülenen satırı seçin (kurtarma modu) Enter tuşuna basmayın ama "e" tuşuna basın

Kurtarma modu sürümünün seçili olduğu Seri konsolunu gösteren ekran görüntüsü.

Çekirdeği yükleyecek satırı bulun ve son nomodeset parametresini console=ttyS0 olarak destination ile değiştirme

linux /boot/vmlinuz-4.15.0-1023-azure root=UUID=21b294f1-25bd-4265-9c4e-d6e4aeb57e97 ro recovery nomodeset

change to

linux /boot/vmlinuz-4.15.0-1023-azure root=UUID=21b294f1-25bd-4265-9c4e-d6e4aeb57e97 ro recovery console=ttyS0

Değiştirilen değere sahip Seri konsolunu gösteren ekran görüntüsü.

Çekirdeği başlatmak ve yüklemek için Ctrl-x tuşlarına basın. Her şey yolunda giderse, diğer kurtarma seçeneklerini gerçekleştirmeye yardımcı olabilecek bu ek Seçenekleri görürsünüz

Kurtarma Menüsü'nde ek kurtarma seçenekleri sunan Seri konsolunu gösteren ekran görüntüsü.

Red Hat GRUB yapılandırması

Red Hat 7.4+ GRUB yapılandırması

Bu sürümlerde varsayılan /etc/default/grub yapılandırması yeterli yapılandırıldı

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="serial console"
GRUB_SERIAL_COMMAND="serial"
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0 earlyprintk=ttyS0"
GRUB_DISABLE_RECOVERY="true"

SysRq anahtarını etkinleştirme

sysctl -w kernel.sysrq=1;echo kernel.sysrq = 1 >> /etc/sysctl.conf;sysctl -a | grep -i sysrq

Red Hat 7.2 ve 7.3 GRUB yapılandırması

Değiştireceğiniz dosya /etc/default/grub dosyasıdır; varsayılan yapılandırma şu örneğe benzer:

GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0 earlyprintk=ttyS0"
GRUB_DISABLE_RECOVERY="true"

/etc/default/grub içinde aşağıdaki satırları değiştirin

GRUB_TIMEOUT=1 

to

GRUB_TIMEOUT=5
GRUB_TERMINAL_OUTPUT="console"

to

GRUB_TERMINAL="serial console"

Bu satırı da ekleyin:

GRUB_SERIAL_COMMAND="serial –speed=115200 –unit=0 –word=8 –parity=no –stop=1″

/etc/default/grub artık şu örneğe benzer görünmelidir:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="serial console"
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0 earlyprintk=ttyS0"
GRUB_DISABLE_RECOVERY="true"

Kullanarak grub yapılandırmasını tamamlama ve güncelleştirme

grub2-mkconfig -o /boot/grub2/grub.cfg

SysRq çekirdek parametresini ayarlayın:

sysctl -w kernel.sysrq = 1;echo kernel.sysrq = 1 >> /etc/sysctl.conf;sysctl -a | grep -i sysrq

Alternatif olarak GRUB ve SysRq'yi kabukta veya Çalıştır Komutu aracılığıyla tek bir satır kullanarak yapılandırabilirsiniz. Bu komutu çalıştırmadan önce dosyalarınızı yedekleyin:

cp /etc/default/grub /etc/default/grub.bak; sed -i 's/GRUB_TIMEOUT=1/GRUB_TIMEOUT=5/g' /etc/default/grub; sed -i 's/GRUB_TERMINAL_OUTPUT="console"/GRUB_TERMINAL="serial console"/g' /etc/default/grub; echo "GRUB_SERIAL_COMMAND=\"serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1\"" >> /etc/default/grub;grub2-mkconfig -o /boot/grub2/grub.cfg;sysctl -w kernel.sysrq=1;echo kernel.sysrq = 1 /etc/sysctl.conf;sysctl -a | grep -i sysrq

Red Hat 6.x GRUB yapılandırması

Değiştireceğiniz dosya /boot/grub/grub.conf dosyasıdır. değeri GRUB'un timeout ne kadar süreyle gösterileceğini belirler.

#boot=/dev/vda
default=0
timeout=15
splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
serial --unit=0 --speed=9600
terminal serial
terminal --timeout=5 serial console

Son satır terminali –-timeout=5 seri konsolu, 5 saniyelik bir istem ekleyerek GRUB zaman aşımını daha da artırır. Devam etmek için herhangi bir tuşa basın.

Çıkışı olan bir konsolu gösteren ekran görüntüsü.

GRUB menüsü, Esc tuşuna basmanıza gerek kalmadan yapılandırılmış zaman aşımı=15 için ekranda görünmelidir. Menüyü etkin hale getirmek için Tarayıcı'da Konsol'a tıkladığından emin olun ve gerekli çekirdeği seçin.

İki Linux seçeneğine sahip bir konsolu gösteren ekran görüntüsü.

Suse

SLES 12 sp1

YaST bootloader'ı resmi belgelere göre kullanın

Veya aşağıdaki parametreleri ekleyin//etc/default/grub'a değiştirin:

GRUB_TERMINAL=serial
GRUB_TIMEOUT=5
GRUB_SERIAL_COMMAND="serial --unit=0 --speed=9600 --parity=no"

```console
Verify that ttys0 is used in the GRUB_CMDLINE_LINUX or GRUB_CMDLINE_LINUX_DEFAULT

```console
GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0,9600n"

Grub.cfg dosyasını yeniden oluşturma

grub2-mkconfig -o /boot/grub2/grub.cfg

SLES 11 SP4

Seri Konsol görüntülenir ve önyükleme iletilerini görüntüler ancak oturum açma bilgisi görüntülemez: istemi

VM'de bir ssh oturumu açın ve /etc/inittab dosyasını şu satırın açıklamasını kaldırarak güncelleştirin:

#S0:12345:respawn:/sbin/agetty -L 9600 ttyS0 vt102

Ardından komutunu çalıştırın

telinit q

GRUB'yi etkinleştirmek için /boot/grub/menu.lst dosyasında aşağıdaki değişiklikler yapılmalıdır

timeout 5
serial --unit=0 --speed=9600 --parity=no
terminal --timeout=5 serial console

root (hd0,0)
kernel /boot/vmlinuz-3.0.101-108.74-default root=/dev/disk/by-uuid/ab6b62bb--
1a8c-45eb-96b1-1fbc535b9265 disk=/dev/sda  USE_BY_UUID_DEVICE_NAMES=1 earlyprinttk=ttyS0 console=ttyS0 showopts vga=0x314

Bu yapılandırma, Konsolda 5 saniye boyunca görünmeye devam etmek için herhangi bir tuşa basın iletisini etkinleştirir

Ardından GRUB menüsünü 5 saniye daha görüntüler. Aşağı oka basarak sayacı kesintiye uğratacak ve önyüklemek istediğiniz çekirdeklerden birini seçerek kök parolanın ayarlanmasını gerektiren tek bir kullanıcı modu için anahtar sözcüğünü eklersiniz.

init=/bin/bash komutunun eklenmesi çekirdeği yükler ancak init programının bir bash kabuğuyla değiştirilmesini sağlar.

Parola girmek zorunda kalmadan bir kabuğa erişim kazanırsınız. Daha sonra Linux hesaplarının parolasını güncelleştirmeye devam edebilir veya başka yapılandırma değişiklikleri yapabilirsiniz.

Çekirdeği bash istemine zorlama

GRUB erişimine sahip olmak, başlatma işlemini kesintiye uğratmanıza olanak tanır. Bu etkileşim birçok kurtarma yordamı için yararlıdır. Kök parolanız yoksa ve tek kullanıcı kök parolanız olmasını gerektiriyorsa, init programını bash istemiyle değiştirerek çekirdeği önyükleyebilirsiniz; bu kesinti, çekirdek önyükleme satırına init=/bin/bash eklenerek gerçekleştirilebilir

Güncelleştirilmiş önyükleme çizgisine sahip bir konsolu gösteren ekran görüntüsü.

komutunu kullanarak / (kök) dosya sistemi RW'nizi yeniden bağlayın

mount -o remount,rw /

Yeniden bağlama eylemi içeren bir konsolu gösteren ekran görüntüsü.

Artık kök parola değişikliği veya diğer birçok Linux yapılandırma değişikliğini gerçekleştirebilirsiniz

Kök parolayı ve diğer yapılandırmayı değiştirebileceğiniz bir konsolu gösteren ekran görüntüsü.

ILE VM'yi yeniden başlatın

/sbin/reboot -f

Tek Kullanıcı modu

Alternatif olarak VM'ye tek kullanıcı veya acil durum modunda erişmeniz gerekebilir. Ok tuşlarını kullanarak önyüklemek veya kesmek istediğiniz çekirdeği seçin. Çekirdek önyükleme satırına tek veya 1 anahtar sözcüğünü ekleyerek istediğiniz modu girin. RHEL sistemlerinde rd.break dosyasını da ekleyebilirsiniz.

Tek kullanıcı moduna erişme hakkında daha fazla bilgi için bu belgeye bakın

GRUB'da seçili işletim sistemi ekranının önyüklemesindeki *Ubuntu girişinin ekran görüntüsü.

Sonraki adımlar

Azure Seri Konsolu hakkında daha fazla bilgi edinin

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.