SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
kexec/kdump: reboot rapid si
                          ,
     debug postmortem

           Matei Conovici
         mconovici@gmail.com



     RLUG Meeting, Decembrie 2009
kexec



    • apel sistem pentru ˆ arcarea ˆ memorie si lansarea ˆ executie
                         ınc˘       ın          ,         ın       ,
      a unui nou kernel, f˘r˘ a restarta sistemul ˆ modul traditional
                          a a                     ın           ,



    • utilitar pentru controlul acestei facilit˘ti
                                               a,

        # kexec -l /vmlinuz --initrd=/initrd.img --reuse-cmdline
        # kexec -e




kexec/kdump: reboot rapid si debug postmortem
Matei Conovici
                          ,                                        1
RLUG Meeting, Decembrie 2009
Sumar al optiunilor:
           ,


scrat:~# kexec -h
Usage: kexec [OPTION]... [kernel]
Directly reboot into a new kernel

 -h, --help            Print this help.
 -v, --version         Print the version of kexec.
 -f, --force           Force an immediate kexec,
                       don’t call shutdown.
 -l, --load            Load the new kernel into the
                       current kernel.
 -p, --load-panic      Load the new kernel for use on panic.
 -u, --unload          Unload the current kexec target kernel.
 -e, --exec            Execute a currently loaded kernel.


                                                                 1-1
Supported kernel file types and options:
elf-x86
    --append=STRING       Set the kernel command line to STRING
    --reuse-cmdline       Use kernel command line from running
                          system.
    --initrd=FILE         Use FILE as the kernel’s initial ramdisk.
    --args-linux          Pass linux kernel style options
    --args-elf            Pass elf boot notes

Architecture options:
     --serial=<port>           Specify the serial port for
                               debug output
     --serial-baud=<baud_rate> Specify the serial port baud rate
     --console-vga             Enable the vga console
     --console-serial          Enable the serial console


                                                              1-2
Utilizare


    • ˆ Debian GNU/Linux, pachetul kexec-tools instaleaz˘ scrip-
      In                                                a
      turile de init necesare pentru reboot


    • ˆ /etc/default/kexec se alege dac˘ la reboot se foloseste kexec
      In                               a                    ,


        # Load a kexec kernel (true/false)
        LOAD KEXEC=true




kexec/kdump: reboot rapid si debug postmortem
Matei Conovici
                          ,                                        2
RLUG Meeting, Decembrie 2009
Pro/Con



    • Se evit˘ timpii morti la boot, mai ales cu unele BIOS-uri
             a           ,
      enervante


    • Nu toate driverele pot s˘ aduc˘ dispozitivele ˆ
                              a      a              ıntr-o stare sufi-
      cient de consistent˘ pentru a porni “la cald”
                         a




kexec/kdump: reboot rapid si debug postmortem
Matei Conovici
                          ,                                        3
RLUG Meeting, Decembrie 2009
kdump


    • ˆ cazul unei erori fatale ˆ kernel, ˆ loc de halt sau reboot
      In                        ın        ın
      acesta poate apela kexec pentru a lansa un nou kernel


    • Noul kernel ruleaz˘ ˆ
                        a ıntr-un spatiu de memorie rezervat in pre-
                                     ,
      alabil


    • Dup˘ pornire se poate investiga continutul memoriei RAM a
          a                              ,
      kernelului anterior




kexec/kdump: reboot rapid si debug postmortem
Matei Conovici
                          ,                                       4
RLUG Meeting, Decembrie 2009
kdump


    • Kernel-ul ”standard” trebuie s˘ rezerve spatiu pentru ”dump-
                                    a            ,
      capture” kernel
      append="... crashkernel=64M@16M ..."


    • Se ˆ
         ıncarc˘ ˆ memorie kernelul ”dump-capture”
               a ın
      # kexec -p /vmlinuz --initrd=/initrd.img --reuse-cmdline


    • Se asteapt˘ urm˘torul PANIC :-)
          ,     a    a


    • Continutul memoriei RAM este expus ˆ /proc/vmcore sau
          ,                              ın
      /dev/oldmem


kexec/kdump: reboot rapid si debug postmortem
Matei Conovici
                          ,                                      5
RLUG Meeting, Decembrie 2009
kdump


    • Cˆteva optiuni necesare ˆ configuratia kernel-ului:
        a       ,             ın          ,
      CONFIG KEXEC, CONFIG CRASH DUMP, CONFIG PROC VMCORE ...


    • Vezi /usr/src/linux/Documentation/kdump/kdump.txt




kexec/kdump: reboot rapid si debug postmortem
Matei Conovici
                          ,                                     6
RLUG Meeting, Decembrie 2009

Más contenido relacionado

Más de Asociatia ProLinux

Ciprian Badescu, Eugen Stoianovici - CUBRID
Ciprian Badescu, Eugen Stoianovici - CUBRIDCiprian Badescu, Eugen Stoianovici - CUBRID
Ciprian Badescu, Eugen Stoianovici - CUBRIDAsociatia ProLinux
 
Petru Ratiu - Linux bonding meets sysfs
Petru Ratiu - Linux bonding meets sysfsPetru Ratiu - Linux bonding meets sysfs
Petru Ratiu - Linux bonding meets sysfsAsociatia ProLinux
 
Calin Burloiu - Prelucrarea fisierelor video in Linux
Calin Burloiu - Prelucrarea fisierelor video in LinuxCalin Burloiu - Prelucrarea fisierelor video in Linux
Calin Burloiu - Prelucrarea fisierelor video in LinuxAsociatia ProLinux
 
Ovidiu Constantin - Linux From Scratch 6.8
Ovidiu Constantin - Linux From Scratch 6.8Ovidiu Constantin - Linux From Scratch 6.8
Ovidiu Constantin - Linux From Scratch 6.8Asociatia ProLinux
 
Cornel Florentin Dimitriu - Tune in... on Linux
Cornel Florentin Dimitriu - Tune in... on LinuxCornel Florentin Dimitriu - Tune in... on Linux
Cornel Florentin Dimitriu - Tune in... on LinuxAsociatia ProLinux
 
Radu Zoran - Linux pe un Tablet PC
Radu Zoran - Linux pe un Tablet PCRadu Zoran - Linux pe un Tablet PC
Radu Zoran - Linux pe un Tablet PCAsociatia ProLinux
 
Ovidiu Constantin - Debian Live
Ovidiu Constantin - Debian LiveOvidiu Constantin - Debian Live
Ovidiu Constantin - Debian LiveAsociatia ProLinux
 
Ovidiu constantin dd-wrt vs open wrt
Ovidiu constantin   dd-wrt vs open wrtOvidiu constantin   dd-wrt vs open wrt
Ovidiu constantin dd-wrt vs open wrtAsociatia ProLinux
 
Workflow fotografic cu Darktable - Nicu Buculei
Workflow fotografic cu Darktable - Nicu BuculeiWorkflow fotografic cu Darktable - Nicu Buculei
Workflow fotografic cu Darktable - Nicu BuculeiAsociatia ProLinux
 
Open-Source Knowledge - Cornel-Florentin Dimitriu
Open-Source Knowledge - Cornel-Florentin DimitriuOpen-Source Knowledge - Cornel-Florentin Dimitriu
Open-Source Knowledge - Cornel-Florentin DimitriuAsociatia ProLinux
 
DD-WRT Linux router on steroids - Radu Zoran
DD-WRT Linux router on steroids - Radu ZoranDD-WRT Linux router on steroids - Radu Zoran
DD-WRT Linux router on steroids - Radu ZoranAsociatia ProLinux
 

Más de Asociatia ProLinux (20)

Ioan Eugen Stan - James
Ioan Eugen Stan - JamesIoan Eugen Stan - James
Ioan Eugen Stan - James
 
Dumitru Enache - Bacula
Dumitru Enache - BaculaDumitru Enache - Bacula
Dumitru Enache - Bacula
 
Ciprian Badescu, Eugen Stoianovici - CUBRID
Ciprian Badescu, Eugen Stoianovici - CUBRIDCiprian Badescu, Eugen Stoianovici - CUBRID
Ciprian Badescu, Eugen Stoianovici - CUBRID
 
Ovidiu Constantin - ReactOS
Ovidiu Constantin - ReactOSOvidiu Constantin - ReactOS
Ovidiu Constantin - ReactOS
 
Petru Ratiu - Linux bonding meets sysfs
Petru Ratiu - Linux bonding meets sysfsPetru Ratiu - Linux bonding meets sysfs
Petru Ratiu - Linux bonding meets sysfs
 
Calin Burloiu - Prelucrarea fisierelor video in Linux
Calin Burloiu - Prelucrarea fisierelor video in LinuxCalin Burloiu - Prelucrarea fisierelor video in Linux
Calin Burloiu - Prelucrarea fisierelor video in Linux
 
Alex Juncu - UDPCast
Alex Juncu - UDPCastAlex Juncu - UDPCast
Alex Juncu - UDPCast
 
Razvan Deaconescu - Org-Mode
Razvan Deaconescu - Org-ModeRazvan Deaconescu - Org-Mode
Razvan Deaconescu - Org-Mode
 
Ovidiu Constantin - Linux From Scratch 6.8
Ovidiu Constantin - Linux From Scratch 6.8Ovidiu Constantin - Linux From Scratch 6.8
Ovidiu Constantin - Linux From Scratch 6.8
 
Cornel Florentin Dimitriu - Tune in... on Linux
Cornel Florentin Dimitriu - Tune in... on LinuxCornel Florentin Dimitriu - Tune in... on Linux
Cornel Florentin Dimitriu - Tune in... on Linux
 
Radu Zoran - Linux pe un Tablet PC
Radu Zoran - Linux pe un Tablet PCRadu Zoran - Linux pe un Tablet PC
Radu Zoran - Linux pe un Tablet PC
 
Ovidiu Constantin - Debian Live
Ovidiu Constantin - Debian LiveOvidiu Constantin - Debian Live
Ovidiu Constantin - Debian Live
 
Razvan Deaconescu - Redmine
Razvan Deaconescu - RedmineRazvan Deaconescu - Redmine
Razvan Deaconescu - Redmine
 
Ovidiu constantin 1 airopl
Ovidiu constantin   1 airoplOvidiu constantin   1 airopl
Ovidiu constantin 1 airopl
 
Ovidiu constantin dd-wrt vs open wrt
Ovidiu constantin   dd-wrt vs open wrtOvidiu constantin   dd-wrt vs open wrt
Ovidiu constantin dd-wrt vs open wrt
 
Alexandru balan frams
Alexandru balan   framsAlexandru balan   frams
Alexandru balan frams
 
Workflow fotografic cu Darktable - Nicu Buculei
Workflow fotografic cu Darktable - Nicu BuculeiWorkflow fotografic cu Darktable - Nicu Buculei
Workflow fotografic cu Darktable - Nicu Buculei
 
Open-Source Knowledge - Cornel-Florentin Dimitriu
Open-Source Knowledge - Cornel-Florentin DimitriuOpen-Source Knowledge - Cornel-Florentin Dimitriu
Open-Source Knowledge - Cornel-Florentin Dimitriu
 
DD-WRT Linux router on steroids - Radu Zoran
DD-WRT Linux router on steroids - Radu ZoranDD-WRT Linux router on steroids - Radu Zoran
DD-WRT Linux router on steroids - Radu Zoran
 
Ziua libertatii programelor
Ziua libertatii programelorZiua libertatii programelor
Ziua libertatii programelor
 

kexec (lightning talk)

  • 1. kexec/kdump: reboot rapid si , debug postmortem Matei Conovici mconovici@gmail.com RLUG Meeting, Decembrie 2009
  • 2. kexec • apel sistem pentru ˆ arcarea ˆ memorie si lansarea ˆ executie ınc˘ ın , ın , a unui nou kernel, f˘r˘ a restarta sistemul ˆ modul traditional a a ın , • utilitar pentru controlul acestei facilit˘ti a, # kexec -l /vmlinuz --initrd=/initrd.img --reuse-cmdline # kexec -e kexec/kdump: reboot rapid si debug postmortem Matei Conovici , 1 RLUG Meeting, Decembrie 2009
  • 3. Sumar al optiunilor: , scrat:~# kexec -h Usage: kexec [OPTION]... [kernel] Directly reboot into a new kernel -h, --help Print this help. -v, --version Print the version of kexec. -f, --force Force an immediate kexec, don’t call shutdown. -l, --load Load the new kernel into the current kernel. -p, --load-panic Load the new kernel for use on panic. -u, --unload Unload the current kexec target kernel. -e, --exec Execute a currently loaded kernel. 1-1
  • 4. Supported kernel file types and options: elf-x86 --append=STRING Set the kernel command line to STRING --reuse-cmdline Use kernel command line from running system. --initrd=FILE Use FILE as the kernel’s initial ramdisk. --args-linux Pass linux kernel style options --args-elf Pass elf boot notes Architecture options: --serial=<port> Specify the serial port for debug output --serial-baud=<baud_rate> Specify the serial port baud rate --console-vga Enable the vga console --console-serial Enable the serial console 1-2
  • 5. Utilizare • ˆ Debian GNU/Linux, pachetul kexec-tools instaleaz˘ scrip- In a turile de init necesare pentru reboot • ˆ /etc/default/kexec se alege dac˘ la reboot se foloseste kexec In a , # Load a kexec kernel (true/false) LOAD KEXEC=true kexec/kdump: reboot rapid si debug postmortem Matei Conovici , 2 RLUG Meeting, Decembrie 2009
  • 6. Pro/Con • Se evit˘ timpii morti la boot, mai ales cu unele BIOS-uri a , enervante • Nu toate driverele pot s˘ aduc˘ dispozitivele ˆ a a ıntr-o stare sufi- cient de consistent˘ pentru a porni “la cald” a kexec/kdump: reboot rapid si debug postmortem Matei Conovici , 3 RLUG Meeting, Decembrie 2009
  • 7. kdump • ˆ cazul unei erori fatale ˆ kernel, ˆ loc de halt sau reboot In ın ın acesta poate apela kexec pentru a lansa un nou kernel • Noul kernel ruleaz˘ ˆ a ıntr-un spatiu de memorie rezervat in pre- , alabil • Dup˘ pornire se poate investiga continutul memoriei RAM a a , kernelului anterior kexec/kdump: reboot rapid si debug postmortem Matei Conovici , 4 RLUG Meeting, Decembrie 2009
  • 8. kdump • Kernel-ul ”standard” trebuie s˘ rezerve spatiu pentru ”dump- a , capture” kernel append="... crashkernel=64M@16M ..." • Se ˆ ıncarc˘ ˆ memorie kernelul ”dump-capture” a ın # kexec -p /vmlinuz --initrd=/initrd.img --reuse-cmdline • Se asteapt˘ urm˘torul PANIC :-) , a a • Continutul memoriei RAM este expus ˆ /proc/vmcore sau , ın /dev/oldmem kexec/kdump: reboot rapid si debug postmortem Matei Conovici , 5 RLUG Meeting, Decembrie 2009
  • 9. kdump • Cˆteva optiuni necesare ˆ configuratia kernel-ului: a , ın , CONFIG KEXEC, CONFIG CRASH DUMP, CONFIG PROC VMCORE ... • Vezi /usr/src/linux/Documentation/kdump/kdump.txt kexec/kdump: reboot rapid si debug postmortem Matei Conovici , 6 RLUG Meeting, Decembrie 2009