Linux Çekirdeğinin birden fazla sürümünün olması iyi mi?


14

Bir keresinde, bazı çekirdek yamaları yükledim ve yüzlerce istemcinin olduğu canlı bir sunucuda bir şeyler ters gitti. Sistemde sadece bir çekirdek vardı. Yani, sunucu bir süre kapalı kaldı ve canlı bir CD kullanarak, sistemi çalıştırdık ve daha fazla onarım işi yaptık.

Şimdi sorum: Çekirdeğin 2 sürümüne sahip olmak iyi bir fikir mi, böylece çekirdek bozuksa, başka bir kullanılabilir çekirdekle her zaman yeniden başlatabilir miyiz? Lütfen bana haber ver.

Ayrıca, aynı çekirdeğin 2 sürümüne sahip olmak mümkün müdür? Böylece çekirdek bozulması olduğunda başka bir çekirdek seçebilir miyim?

Edited:
My Server Details:
2.6.32-431.el6.x86_64
CentOS release 6.5 (Final)

Bu çekirdeğin aynı kopyasını nasıl alabilirim, böylece çekirdeğim bozulduğunda, yedekleme çekirdeğini başlatabilirim?


4
Bana öyle geliyor ki kendi sorunuzu cevapladınız. Sisteminizle çalıştıklarını bildiğiniz sürece, birden çok çekirdeğe sahip olmanın bir dezavantajı yoktur ve belirli bir çekirdekle ilgili herhangi bir nedenle sorun yaşarsanız, bazen yararlı olabilir.
Faheem Mitha

Teşekkürler, qns doğru sormadım olabilir. Bu çekirdeğin aynı kopyasını nasıl alabilirim, böylece çekirdeğim bozulduğunda yedekleme çekirdeğini başlatabilirim?
Mani

2
Elbette özdeş çekirdeğe sahip olabilirsiniz. Çekirdek yalnızca diskteki bir dosyadır. Mevcut çekirdeğinizi biraz farklı bir adla kopyalayabilirsiniz.
Faheem Mitha

Miras aldığım sunuculardan birinde, üzerinde 8 farklı çekirdek için 16 önyükleme girişi vardı ... Bilirsiniz, temizleyene kadar
Kanadalı Luke

Bir şeyler ters gittiğinde genellikle önceki çekirdeği tutarım.
Joshua

Yanıtlar:


18

Hem RedHat hem de Debian tabanlı dağıtım , varsayılan olarak yumveya kullanarak yeni bir tane yüklediğinizde Çekirdeğin çeşitli sürümlerini tutar apt-get. Bu iyi bir uygulama olarak kabul edilir ve tam olarak açıkladığınız durum için yapılır: en son çekirdekle ilgili bir şeyler ters giderse, her zaman yeniden başlatabilirsiniz ve GRUB'da önceki çekirdeklerden birini kullanarak önyüklemeyi seçebilirsiniz.

RedHat dağıtımlarında /etc/yum.conf, installonly_limitayarlamaya devam etmek için çekirdek sayısını kontrol edersiniz . Yeni CentOS 7 kurulumumda varsayılan değer 5'tir.

Ayrıca RPM paketinden yeni çekirdeği yüklüyoruz RedHat üzerinde kullanmak gerekiyorsa rpm -ivh, değil rpm -Uvh: eski yerinde eski çekirdek tutacak daha sonra yerini alacak.

Debian eski çekirdekleri saklar ancak otomatik olarak kaldırmaz. Önyükleme bölümünüzü boşaltmanız gerekiyorsa, eski çekirdekleri el ile kaldırmanız gerekir (önceki çekirdeklerden en az birini bırakmayı unutmayın). Tüm çekirdek yükleme ve çekirdek başlık paketlerini listelemek için kullanın dpkg -l | egrep "linux-(im|he)".

Sorunuzu cevaplama - Ayrıca, aynı çekirdeğin 2 sürümüne sahip olmak mümkün mü? -- Evet mümkün. Şu anda CentOS 6.5 üzerinde kontrol edemiyorum, ancak CentOS 7'de sadece /bootdizinle ilgili dizin dosyalarını çoğaltarak ve grub menüsünü yeniden oluşturarak istenen sonucu verebildim :

cd /boot

# Duplicate kernel files; 
# "3.10.0-123.el7" is a substring in the name of the current kernel
ls -1 | grep "3.10.0-123.el7" | { while read i; \
    do cp $i $(echo $i | sed 's/el7/el7.backup/'); done; }

# Backup the grub configuration, just in case
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup

# Rebuild grub configuration
grub2-mkconfig -o /boot/grub2/grub.cfg

# At this point you can reboot and see that a new kernel is available 
# for you to choose in GRUB menu

teşekkürler, üzerinde çalışıyorum. Ancak CentOS 6.5'te "grub2-mkconfig" yoktur. biliyor musunuz, nasıl centos 6.5 bunu yapmak, grub2 sadece Centos 7 kullanılabilir olduğunu düşünüyorum. Ben şimdi, bir solun bulursanız, burada güncellenecektir Googling duyuyorum.
Mani

Bu satırları aşağıdaki gibi Centos 6.5'e uyacak şekilde değiştirdim ve grub.conf'u nasıl güncelleyeceğime takıldım. ls -1 | grep "2.6.32-431.el6" | {okurken; \ do cp $ i $ (echo $ i | sed 's / el6 / el6.backup /'); yapılan; } cp /boot/grub/grub.conf cp /boot/grub/grub.conf.backup
Mani

çok teşekkürler!!! Çalıştı ve ben bu şekilde değiştirildi ls -1 | grep "2.6.32-431.el6" | {okurken; \ do cp $ i $ (echo $ i | sed 's / el6 / el6.backup /'); yapılan; } cp /boot/grub/grub.conf cp /boot/grub/grub.conf.backup ve grup.conf'u el ile düzenledim. Aynı disk ve bölüme kopyalayacaksanız, UUID'yi aynı tutabilirsiniz.
Mani

7

Evet, mümkün ve hatta tavsiye bile ediyorum. Size alternatif sunmak için önyükleme işlemini ayarlamanız yeterlidir. Genellikle bu önyükleme yükleyicisi yapılandırmasında yapılır - genellikle sadece orada bulunan girdiyi çoğaltabilir ve çekirdek görüntü dosya adını ve önyükleme menüsü giriş etiketini değiştirebilirsiniz.

Bir üretim sunucusunda bu genellikle bir sorun oluşturmaz, ancak çekirdeği her yükselttiğinizde bir yedek bulundurmak iyi bir fikirdir. Bazı Linux dağıtımları, işlemi olabildiğince ağrısız hale getirmek için paket güncellemelerinde geri alma (genellikle dosya sistemi anlık görüntü yetenekleri ile desteklenir) sunar, ancak bu durumlarda bile bir yedeği hazır tutma eğiliminde olurum.

Aynı çekirdeğin birkaç kopyasına gelince - bu bile mantıklı olacaktır, ancak @goldilocks aşağıdaki yorumda belirtildiği gibi, çekirdeğiniz bozulursa donanımı değiştirmeyi düşünmelisiniz. Öte yandan, kopyayı farklı bir fiziksel HDD'ye koymak size bazı sıkıntılar yaşatabilir. Ama çekirdek görüntü dosyası sadece olduğunu akılda tutmak hiç açılışı sırasında kullandı.


Qns değiştirdim, lütfen bana bildirin, nasıl bir yedek çekirdek var? (tercihen aynı sürüm)
Mani

3
Hiçbir şey yapmanıza gerek yok, zaten oradalar - ama farklı versiyonlarda. Bunlardan birini kendiniz derlemediğiniz sürece aynı versiyona sahip olmanın bir anlamı yoktur, aksi takdirde sadece aynı kopyalardır. "Yolsuzluk" meselesi bir tür sahte - bu mantıkla bashikili sistem bozulursa, libcbozulursa, vb. Tüm sistemi işe yaramaz hale getirecek tüm sistemin iki özdeş kopyasına ihtiyacınız olacaktır. Bu dosyalar "bozulmamalıdır". Eğer öyleyse, donanımınızı değiştirin.
goldilocks

1
@goldilocks Ya da hatanın nerede olduğuna bağlı olarak sistem yöneticinizi değiştirin.
Philip Kendall

@goldilocks güncellenmiş cevaba bakın - belirli durumlarda mantıklı olabilir. Açıkçası, mümkün olduğunda hatalı donanımın değiştirilmesi tercih edilmelidir.
peterph
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.