Re: Netconsole scripts for Debian
On Wed, Aug 27, 2014 at 11:11:53PM -0700, Ben Hutchings wrote: > I think the problem you're seeing is that the physical link is down > immediately after the interface is brought up. This should be expected > because the link may have be turned off or limited to low speed to save > power when the operating system is not using it. Bringing the link up > then requires autonegotiation and link training, which *should* take > less than a second but may sometimes take longer. Also, some Spanning Tree implementations keep a switch port in BLOCKED state for 30 seconds after a link state change to ensure that no loop was built. Greetings Marc -- - Marc Haber | "I don't trust Computers. They | Mailadresse im Header Leimen, Germany| lose things."Winona Ryder | Fon: *49 6224 1600402 Nordisch by Nature | How to make an American Quilt | Fax: *49 6224 1600420 -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/20140828073901.gb5...@torres.zugschlus.de
Re: Netconsole scripts for Debian
On Tue, 2014-06-17 at 13:30 +0400, Pavel Odintsov wrote: > Hello, folks! > > I'm prepared and thoroughly tested scripts for managing netconsole > kernel facility in Debian 6/7. Netconsole facility is very useful for > debugging kernel bugs. > > These scripts are inspired by CentOS 6 netconsole scripts in some > cases and work in same way. Scripts are written in clean bash. > > All scripts and configuration you can find here: > https://github.com/FastVPSEestiOu/debian_netconsole > > Yes, it's possible to configure netconsole statically (i.e. as > /etc/modprobe.d/netconsole.conf) but it's a bad way because it relies > on network configuration (i.e. gateway address, server address) which > may be changed and netconsole will not work. > > I tested both startup option: > 1) As /etc/init.d/netconsole > 2) As /etc/network/if-up.d/netconsole script > > IMHO, the first variant is more reliable and convenient for this task. > But both variants have some troubles because some network cards (like > e1000) call /etc/network/if-up.d and /etc/init.d scripts on network > level BEFORE real network initialization. Network drivers do not control execution of ifupdown scripts at all. I think the problem you're seeing is that the physical link is down immediately after the interface is brought up. This should be expected because the link may have be turned off or limited to low speed to save power when the operating system is not using it. Bringing the link up then requires autonegotiation and link training, which *should* take less than a second but may sometimes take longer. > I fixed this issue only by adding fixed timeout in my > /etc/init.d/netconsole script. In the same way this issue was fixed in > RH. Maybe you can provide more convenient solution? > > Thank you for any feedback! * You should detect the distribution using the lsb_release command rather than reading /etc/issue * Changing verbosity level should be optional * You should not assume that 'ip' is installed in /sbin; instead make sure that's included in $PATH * You should not assume that the destination server is reached by the default route; instead use 'ip route get $DESTINATION_SERVER_IP' to find the gateway and source address to use Ben. -- Ben Hutchings In a hierarchy, every employee tends to rise to his level of incompetence. signature.asc Description: This is a digitally signed message part
Re: Netconsole scripts for Debian
On 06/19/2014 06:39 PM, Pavel Odintsov wrote: > It's very important for debugging kernel oops when syslog over network > running, because syslog can't send any information on dead kernel. > When you haven't persistent kvm/idrac/ilo it's only one way for > getting debug information about kernel hang. > I don't know what you mean by a dead kernel here. If, say, the e1000e device driver is crashy, irrespective of what you use (netconsole or syslog), there's not much help. In this case, you'll then have to resort to serial console. > But why I need to integrate it with initrd? Because it fills the gap in between "kernel load" to "real init start". Imagine a scenario where as soon as the disk driver is loaded, the kernel panics. How would you debug that ? PS: It is just a suggestion. Your patch is still valid, just not very relevant to the use cases. -- Ritesh Raj Sarraf | http://people.debian.org/~rrs Debian - The Universal Operating System signature.asc Description: OpenPGP digital signature
Re: Netconsole scripts for Debian
Pavel Odintsov writes: > Hello! > > At now I configure netconsole dynamically and got network > configuration from ip route command. For getting netconsole server MAC > address I use arping to it. > > But I can generate modprobe configuration file with current > configuration and integrate it to initrd. > > You can check my approach here: > 1) On first netconsole script start I can get netconsole collector IP > and MAC address (of destination server or gateway for current server) The MAC address is optional and should be so in your package too. > 2) I create /etc/modprobe.d/netconsole.conf configuration with fixed > MAC, PORT and IP of netconsole server Why? You have to load the module from a script anyway, so you could just set the options there. > 3) I add netconsole to initramfs configuration file > (/etc/initramfs-tools/modules) with fixed IP/MAC configuration > 4) I rebuild initramfs for current kernel: update-initramfs -v -u -k > `uname -r` -t > 5) On every system run I will check if MAC/IP of destination server > was changes I will reconfigure netconsole modprobe.conf file and > rebuilt initrd. There is already "netconsole=" cmdline support in initramfs-tools. Whatever you add should integrate nicely with this IMHO. Bjørn -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/87ionxq9vt@nemi.mork.no
Re: Netconsole scripts for Debian
Hello! At now I configure netconsole dynamically and got network configuration from ip route command. For getting netconsole server MAC address I use arping to it. But I can generate modprobe configuration file with current configuration and integrate it to initrd. You can check my approach here: 1) On first netconsole script start I can get netconsole collector IP and MAC address (of destination server or gateway for current server) 2) I create /etc/modprobe.d/netconsole.conf configuration with fixed MAC, PORT and IP of netconsole server 3) I add netconsole to initramfs configuration file (/etc/initramfs-tools/modules) with fixed IP/MAC configuration 4) I rebuild initramfs for current kernel: update-initramfs -v -u -k `uname -r` -t 5) On every system run I will check if MAC/IP of destination server was changes I will reconfigure netconsole modprobe.conf file and rebuilt initrd. It's ok? On Wed, Jun 18, 2014 at 1:59 PM, Bjørn Mork wrote: > Ritesh Raj Sarraf writes: > >> On 06/17/2014 03:00 PM, Pavel Odintsov wrote: >>> Hello, folks! >>> >>> I'm prepared and thoroughly tested scripts for managing netconsole >>> kernel facility in Debian 6/7. Netconsole facility is very useful for >>> debugging kernel bugs. >>> >>> These scripts are inspired by CentOS 6 netconsole scripts in some >>> cases and work in same way. Scripts are written in clean bash. >>> >>> All scripts and configuration you can find here: >>> https://github.com/FastVPSEestiOu/debian_netconsole >>> >>> Yes, it's possible to configure netconsole statically (i.e. as >>> /etc/modprobe.d/netconsole.conf) but it's a bad way because it relies >>> on network configuration (i.e. gateway address, server address) which >>> may be changed and netconsole will not work. >>> >>> I tested both startup option: >>> 1) As /etc/init.d/netconsole >>> 2) As /etc/network/if-up.d/netconsole script >>> >>> IMHO, the first variant is more reliable and convenient for this task. >>> But both variants have some troubles because some network cards (like >>> e1000) call /etc/network/if-up.d and /etc/init.d scripts on network >>> level BEFORE real network initialization. >>> >>> I fixed this issue only by adding fixed timeout in my >>> /etc/init.d/netconsole script. In the same way this issue was fixed in >>> RH. Maybe you can provide more convenient solution? >>> >>> Thank you for any feedback! >>> >> >> >> You should add support for it in initrd. netconsole is more useful at >> that stage. In real boot, why would one want netconsole if syslog is >> running. > > To debug a driver/kernel crash. > > netconsole is generally a very useful feature for oops debugging on > laptops and other devices with no serial ports. Having some scripts > making it simpler to configure sounds like a great idea. Will these > depend on configfs being mounted? Or are they only using module > parameters? > > > > Bjørn > > > -- > To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org > Archive: https://lists.debian.org/87ppi6sfma@nemi.mork.no > -- Sincerely yours, Pavel Odintsov -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/CALgsdbfxY5GDO8rKvMf0k40UqD+34NHFe8=kuo7cmtl-jjk...@mail.gmail.com
Re: Netconsole scripts for Debian
Hello! It's very important for debugging kernel oops when syslog over network running, because syslog can't send any information on dead kernel. When you haven't persistent kvm/idrac/ilo it's only one way for getting debug information about kernel hang. But why I need to integrate it with initrd? On Wed, Jun 18, 2014 at 10:19 AM, Ritesh Raj Sarraf wrote: > > > On 06/17/2014 03:00 PM, Pavel Odintsov wrote: >> Hello, folks! >> >> I'm prepared and thoroughly tested scripts for managing netconsole >> kernel facility in Debian 6/7. Netconsole facility is very useful for >> debugging kernel bugs. >> >> These scripts are inspired by CentOS 6 netconsole scripts in some >> cases and work in same way. Scripts are written in clean bash. >> >> All scripts and configuration you can find here: >> https://github.com/FastVPSEestiOu/debian_netconsole >> >> Yes, it's possible to configure netconsole statically (i.e. as >> /etc/modprobe.d/netconsole.conf) but it's a bad way because it relies >> on network configuration (i.e. gateway address, server address) which >> may be changed and netconsole will not work. >> >> I tested both startup option: >> 1) As /etc/init.d/netconsole >> 2) As /etc/network/if-up.d/netconsole script >> >> IMHO, the first variant is more reliable and convenient for this task. >> But both variants have some troubles because some network cards (like >> e1000) call /etc/network/if-up.d and /etc/init.d scripts on network >> level BEFORE real network initialization. >> >> I fixed this issue only by adding fixed timeout in my >> /etc/init.d/netconsole script. In the same way this issue was fixed in >> RH. Maybe you can provide more convenient solution? >> >> Thank you for any feedback! >> > > > You should add support for it in initrd. netconsole is more useful at > that stage. In real boot, why would one want netconsole if syslog is > running. > > > -- > Given the large number of mailing lists I follow, I request you to CC me > in replies for quicker response > -- Sincerely yours, Pavel Odintsov -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/calgsdbdzydhbmmbilj5g-frn-ejv3rot+nlwmwuleaaans4...@mail.gmail.com
Re: Netconsole scripts for Debian
Ritesh Raj Sarraf writes: > On 06/17/2014 03:00 PM, Pavel Odintsov wrote: >> Hello, folks! >> >> I'm prepared and thoroughly tested scripts for managing netconsole >> kernel facility in Debian 6/7. Netconsole facility is very useful for >> debugging kernel bugs. >> >> These scripts are inspired by CentOS 6 netconsole scripts in some >> cases and work in same way. Scripts are written in clean bash. >> >> All scripts and configuration you can find here: >> https://github.com/FastVPSEestiOu/debian_netconsole >> >> Yes, it's possible to configure netconsole statically (i.e. as >> /etc/modprobe.d/netconsole.conf) but it's a bad way because it relies >> on network configuration (i.e. gateway address, server address) which >> may be changed and netconsole will not work. >> >> I tested both startup option: >> 1) As /etc/init.d/netconsole >> 2) As /etc/network/if-up.d/netconsole script >> >> IMHO, the first variant is more reliable and convenient for this task. >> But both variants have some troubles because some network cards (like >> e1000) call /etc/network/if-up.d and /etc/init.d scripts on network >> level BEFORE real network initialization. >> >> I fixed this issue only by adding fixed timeout in my >> /etc/init.d/netconsole script. In the same way this issue was fixed in >> RH. Maybe you can provide more convenient solution? >> >> Thank you for any feedback! >> > > > You should add support for it in initrd. netconsole is more useful at > that stage. In real boot, why would one want netconsole if syslog is > running. To debug a driver/kernel crash. netconsole is generally a very useful feature for oops debugging on laptops and other devices with no serial ports. Having some scripts making it simpler to configure sounds like a great idea. Will these depend on configfs being mounted? Or are they only using module parameters? Bjørn -- To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/87ppi6sfma@nemi.mork.no
Re: Netconsole scripts for Debian
On 06/17/2014 03:00 PM, Pavel Odintsov wrote: > Hello, folks! > > I'm prepared and thoroughly tested scripts for managing netconsole > kernel facility in Debian 6/7. Netconsole facility is very useful for > debugging kernel bugs. > > These scripts are inspired by CentOS 6 netconsole scripts in some > cases and work in same way. Scripts are written in clean bash. > > All scripts and configuration you can find here: > https://github.com/FastVPSEestiOu/debian_netconsole > > Yes, it's possible to configure netconsole statically (i.e. as > /etc/modprobe.d/netconsole.conf) but it's a bad way because it relies > on network configuration (i.e. gateway address, server address) which > may be changed and netconsole will not work. > > I tested both startup option: > 1) As /etc/init.d/netconsole > 2) As /etc/network/if-up.d/netconsole script > > IMHO, the first variant is more reliable and convenient for this task. > But both variants have some troubles because some network cards (like > e1000) call /etc/network/if-up.d and /etc/init.d scripts on network > level BEFORE real network initialization. > > I fixed this issue only by adding fixed timeout in my > /etc/init.d/netconsole script. In the same way this issue was fixed in > RH. Maybe you can provide more convenient solution? > > Thank you for any feedback! > You should add support for it in initrd. netconsole is more useful at that stage. In real boot, why would one want netconsole if syslog is running. -- Given the large number of mailing lists I follow, I request you to CC me in replies for quicker response signature.asc Description: OpenPGP digital signature