Come passare da un kernel Linux personalizzato a un kernel di distribuzione

Nel mio tempo libero, faccio amministrare un server Debian Linux ospitato che serve una varietà di siti web e ospita l'email per poche persone. Non vede enormi volumi di traffico, ma naturalmente vogliamo fare le cose in modo corretto. Tuttavia, quando abbiamo ottenuto questo server, qualcuno ha scelto un kernel personalizzato per noi che ci ha permesso di fare varie cose che volevamo fare (come LVM, RAID ecc.). Questo è ora alcuni anni fa e ovviamente ci sono diversi bug di protezione sono stati fissati ecc e preferirebbero solo operare da un kernel di riserva che viene mantenuto aggiornato.

Il problema è che non abbiamo un elenco delle funzionalità che abbiamo triggersto quando abbiamo rollato il kernel personalizzato e un paio di tentativi di utilizzare un nuovo risultato hanno provocato un kernal che non si avvia. Quindi la domanda è: come facciamo a utilizzare i kernel di riserva di Debian pur essendo ancora in grado di avere tutte le funzionalità su cui dipendiamo? Quali informazioni ho bisogno di raccogliere per primo, e quali sono i passaggi per farlo accadere?

  • è ansible montare contemporaneamente 2 volumi LVM che sono copie esatte tra di loro (stessi UUID)?
  • df segnala lo spazio libero errato per un filesystem (ext4)
  • Quando si utilizza software RAID e LVM su Linux, quali impostazioni IO scheduler e readahead sono onorate?
  • Le idee topologiche SAN di origine domestica?
  • Qualsiasi modo per recuperare i filesystem ext4 da un volume logico LVM eliminato?
  • L'utilizzo di LVM consente di perdere due volte lo spazio dei filesystem? Lot è di spazio mancante dopo lvextend
  • Il gruppo di volumi è scomparso, i LV sono ancora disponibili
  • Posso utilizzare dmraid invece di md (mdadm) per creare software RAID-1 e RAID-1 + 0 volumi?
  • 4 Solutions collect form web for “Come passare da un kernel Linux personalizzato a un kernel di distribuzione”

    In primo luogo, è necessario valutare cosa esattamente si richiede il kernel di fare. Ciò significa build un elenco di:

    • Ogni pezzo di hardware nel tuo sistema
    • Funzioni correlate all'hardware, come LVM e RAID
    • Funzioni di networking, come routing, VPN, supporto wireless, ecc.
    • File system, in particolare il filesystem root
    • Altre esigenze speciali a livello del kernel

    Quindi, dovresti cercare di capire come gestisce il tuo kernel corrente e quindi provare a tradurlo in un nuovo kernel. Per questo, è ansible consultare:

    • Le uscite di lspci e dmesg – questo ti aiuterà a catalogare l'hardware e ciò che il kernel corrente fa al boot
    • Questi moduli sono caricati – guardate lsmod
    • La configuration del kernel, se disponibile – talvolta esiste in /proc/config.gz o in /boot

    Una volta che conosci l'hardware e come gestisce il kernel corrente, puoi lanciare un nuovo kernel dalle fonti Debian. Focus su get un kernel che iniziano prima. Una volta che puoi entrare in una shell con il tuo nuovo kernel, puoi prendere un approccio incrementale per il resto delle tue funzionalità. Ricompilare, aggiungendo funzioni o driver come necessario (forse come moduli per accelerare questo process), quindi testare each nuovo kernel.

    Un'ultima parola su RAID. Dovresti prestare attenzione alla configuration RAID corrente, se si tratta di software RAID – i kernel ei sisthemes più recenti utilizzeranno mdadm per gestire questo tipo di cose, mentre i sisthemes più vecchi tendono ad utilizzare l'approccio raidtab . Il tuo approccio cambierà come gestire il kernel RAID, in particolare i bit di autodiagnostica. Date un'occhiata all'ottimo Software RAID Howto per ulteriori informazioni.

    Se la persona che ha costruito il tuo kernel personalizzato ha fatto il debian modo che ci potrebbe essere un file nella directory / boot denominato config-2.?.? che ti dirà quali opzioni vengono utilizzate quando costruisci il kernel.

    Siccome non sei sicuro, credo di iniziare solo afferrare un livecd di Debian e vedere se un kernel di stock su un livecd ti permette di avviare l'accesso a tutti i tuoi hardware e dischi. Se puoi get tutto da un livecd, allora devi solo installare quel kernel.

    Ti ricordi di aver provato un kernel di riserva e non si avvia. Che cosa è esattamente l'errore, forse se invii i messaggi potremmo essere in grado di fornire maggiori informazioni.

    Avete /proc/config.gz o / boot / config-XXX per il tuo kernel corrente?

    Se lo fai, diffondi la tua configuration e quella Debian.

    Per quanto ne vale la pena, le configurazioni di Debian consentono molto di tutto – sicuramente RAID, LVM ecc. Assicurati solo che l'initrd si crei quando si installa il kernel Debian poichè la maggior parte delle cose sono modulari nel loro kernel.

    Non ho trovato nulla in cui ho dovuto build un kernel personalizzato per un server Debian da molto tempo, tranne quando ho voluto aggiungere le patch del kernel per qualunque motivo.

    Imposta il tuo grub per avviare il tuo kernel personalizzato come un sistema Fallback per assicurarsi che il server torni di nuovo anche se il nuovo kernel non riesce ad avviarsi.

    Utilizzando questo, è ansible eseguire l' apt-get install linux-image per l'architettura hardware che è più probabile sia linux-image-686 o linux-image-amd64 e cercare di riavviare il kernel.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.