際際滷

際際滷Share a Scribd company logo
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, fr a restarta sistemul  modul traditional
                          a a                     脹n           ,



     utilitar pentru controlul acestei facilitti
                                               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,
                       dont 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 kernels 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 su鍖-
      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 urmtorul 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


     Cteva optiuni necesare  con鍖guratia 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

More Related Content

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, fr a restarta sistemul modul traditional a a 脹n , utilitar pentru controlul acestei facilitti 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, dont 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 kernels 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 su鍖- 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 urmtorul 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 Cteva optiuni necesare con鍖guratia 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