<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-CA link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Two ISC dhcpd servers running as a failover pair running Version 4.3.3-P1 compiled, running on Ubuntu 14.04 64 bit<o:p></o:p></p><p class=MsoNormal>The Servers are 500 gigs of RAID 1 space with 8 gigs of RAM with quad core Intel(R) Xeon(R) CPU E31225 @ 3.10GHz<o:p></o:p></p><p class=MsoNormal>The dhcpd.leases file sits in /ramdisk which is a 4 Gb RAM disk to make sure that the file can be written to very quickly, this method gives us virtually a 0.0 WA time when viewing with the top command.<o:p></o:p></p><p class=MsoNormal>The LEASE_HASH size was increased to 1800017 and enabled debugging with  REPORT_HASH_PERFORMANCE 1 in the dhcpd.h file<o:p></o:p></p><p class=MsoNormal>We are using 6,657 /24 subnets in our pools file<o:p></o:p></p><p class=MsoNormal>We give out millions IPs each day<o:p></o:p></p><p class=MsoNormal>Please see below for config files.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This service has been running fine for the last 346 days, last Saturday, for an unknown reason dhcp-1 server had issues, so we turned if off, and dhcp-2 server took over dhcp-1’s part just fine.<o:p></o:p></p><p class=MsoNormal>So using omapi I told dhcp-2 that its partner was down in order to keep dhp-2 working on its own, so the last log file entry in syslog on dhcp-2 was;  <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>In recent days dhcp-2 is having some difficulty, after comparing a tcpdump to dhcp logs we see DISCOVER requests coming in, but no offers going back out, but this is sporadic, but enough to make users call in.<o:p></o:p></p><p class=MsoNormal>The last time we saw this issue happen is when the LEASH_HASH size was too low, we are not sure if this is the same issue , maybe because we are only on one server? <o:p></o:p></p><p class=MsoNormal>Also the dhcpd.leases files grow too big for the /ramdisk, so we are each 10 mins catting /dev/null into /ramdisk/dhcpd.lease! file to save space.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>So currently only dhcp-2 is running.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I want to try tonight to simply stop both dhcpd services on both servers, delete the leases file and “touch” new ones then reboot primary first , then secondary a few mins later.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>What  do you think?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here are my configs. & Thanks… <span style='font-family:Wingdings'>J</span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>DHCP-1 dhcpd.conf file<o:p></o:p></p><p class=MsoNormal>-----------<o:p></o:p></p><p class=MsoNormal>authoritative;<o:p></o:p></p><p class=MsoNormal>log-facility local7;<o:p></o:p></p><p class=MsoNormal>db-time-format local;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>option domain-name "dev"; # TODO<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># DNS internal<o:p></o:p></p><p class=MsoNormal>option domain-name-servers xxx.xx.xx.210, xxx.xx.xx.220;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>default-lease-time 1200; # 20 minutes to match the default Tim Hortons' session duration<o:p></o:p></p><p class=MsoNormal>max-lease-time 3600; # 1h<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># Include EITHER the primary configuration<o:p></o:p></p><p class=MsoNormal>include "/usr/local/etc/dhcp/dhcpd_primary.conf";<o:p></o:p></p><p class=MsoNormal># OR the secondary configuration<o:p></o:p></p><p class=MsoNormal>#include "/etc/dhcp/dhcpd_secondary.conf";<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># No service for the local networks<o:p></o:p></p><p class=MsoNormal>subnet xxx.xx.0.0 netmask 255.255.255.0 { }<o:p></o:p></p><p class=MsoNormal>subnet xxx.xx.128.0 netmask 255.255.255.0 { }<o:p></o:p></p><p class=MsoNormal>subnet xxx.xx.129.0 netmask 255.255.255.0 { }<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># All IP ranges for TDL stores<o:p></o:p></p><p class=MsoNormal># This file should be automatically generated using the command:<o:p></o:p></p><p class=MsoNormal>#       ./make_ranges.pl < ranges > dhcpd_pools.conf<o:p></o:p></p><p class=MsoNormal>include "/usr/local/etc/dhcp/dhcpd_pools.conf";<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># Non-standard IP ranges (i.e. big stores)<o:p></o:p></p><p class=MsoNormal>include "/usr/local/etc/dhcp/dhcpd_special_pools.conf";<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>pid-file-name "/run/dhcpd.pid";<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ddns-update-style none;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>omapi-port 7911;<o:p></o:p></p><p class=MsoNormal>omapi-key omapi_key;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>key omapi_key {<o:p></o:p></p><p class=MsoNormal>     algorithm hmac-md5;<o:p></o:p></p><p class=MsoNormal>     secret xxxxxxxxxxxxxxxxy==;<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>DHCP-1 dhcpd_primary.conf<o:p></o:p></p><p class=MsoNormal>## PRIMARY<span style='mso-fareast-language:EN-CA'><o:p></o:p></span></p><p class=MsoNormal>failover peer "dhcp-failover" {<o:p></o:p></p><p class=MsoNormal>  primary; # declare this to be the primary server<o:p></o:p></p><p class=MsoNormal>  address xxx.xx.xx.9;<o:p></o:p></p><p class=MsoNormal>  port 647;<o:p></o:p></p><p class=MsoNormal>  peer address xxx.xx.xx.11;<o:p></o:p></p><p class=MsoNormal>  peer port 647;<o:p></o:p></p><p class=MsoNormal>  max-response-delay 30;<o:p></o:p></p><p class=MsoNormal>  max-unacked-updates 10;<o:p></o:p></p><p class=MsoNormal>  load balance max seconds 3;<o:p></o:p></p><p class=MsoNormal>  mclt 1800;<o:p></o:p></p><p class=MsoNormal>  split 128;<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>DHCP-2 dhcp-2.conf<o:p></o:p></p><p class=MsoNormal>----<o:p></o:p></p><p class=MsoNormal>authoritative;<o:p></o:p></p><p class=MsoNormal>log-facility local7;<o:p></o:p></p><p class=MsoNormal>db-time-format local;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>option domain-name "tdl"; # TODO<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># DV DNS internal<o:p></o:p></p><p class=MsoNormal>option domain-name-servers XXX.XX.XX.210, XXX.xx.xx.220;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>default-lease-time 1200; # 20 minutes to match the default Tim Hortons' session duration<o:p></o:p></p><p class=MsoNormal>max-lease-time 3600; # 1h<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>### The below commneted as we are to be independant server - Rob Jan 28th 2016<o:p></o:p></p><p class=MsoNormal># Include EITHER the primary configuration<o:p></o:p></p><p class=MsoNormal>#include "/etc/dhcp/dhcpd_primary.conf";<o:p></o:p></p><p class=MsoNormal># OR the secondary configuration<o:p></o:p></p><p class=MsoNormal>include "/usr/local/etc/dhcpd_secondary.conf";<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># No service for the local networks<o:p></o:p></p><p class=MsoNormal>subnet xxx.xx.0.0 netmask 255.255.255.0 { }<o:p></o:p></p><p class=MsoNormal>subnet xxx.xx.128.0 netmask 255.255.255.0 { }<o:p></o:p></p><p class=MsoNormal>subnet xxx.xx.129.0 netmask 255.255.255.0 { }<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># All IP ranges for TDL stores<o:p></o:p></p><p class=MsoNormal># This file should be automatically generated using the command:<o:p></o:p></p><p class=MsoNormal>#       ./make_ranges.pl < ranges > dhcpd_pools.conf<o:p></o:p></p><p class=MsoNormal>include "/usr/local/etc/dhcpd_pools.conf";<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># Non-standard IP ranges (i.e. big stores)<o:p></o:p></p><p class=MsoNormal>include "/etc/dhcp/dhcpd_special_pools.conf";<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>pid-file-name "/run/dhcp-server/dhcpd.pid";<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>ddns-update-style none;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>omapi-port 7911;<o:p></o:p></p><p class=MsoNormal>omapi-key omapi_key;<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>key omapi_key {<o:p></o:p></p><p class=MsoNormal>     algorithm hmac-md5;<o:p></o:p></p><p class=MsoNormal>     secret xxxxxxxxxxxxxxx==;<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>DHCP-2 dhcpd_secondary.conf<o:p></o:p></p><p class=MsoNormal>---<o:p></o:p></p><p class=MsoNormal>## SECONDARY<o:p></o:p></p><p class=MsoNormal>failover peer "dhcp-failover" {<o:p></o:p></p><p class=MsoNormal>secondary; <o:p></o:p></p><p class=MsoNormal> address XXX.xx.128.11;<o:p></o:p></p><p class=MsoNormal>port 647;<o:p></o:p></p><p class=MsoNormal>peer address xxx.xx.128.9;<o:p></o:p></p><p class=MsoNormal>peer port 647;<o:p></o:p></p><p class=MsoNormal>max-response-delay 30;<o:p></o:p></p><p class=MsoNormal>max-unacked-updates 10;<o:p></o:p></p><p class=MsoNormal>load balance max seconds 3;<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Dhcp pools file  snip it… over 6000 subnets <o:p></o:p></p><p class=MsoNormal>--<o:p></o:p></p><p class=MsoNormal>subnet 10.32.0.0 netmask 255.255.255.0 {<o:p></o:p></p><p class=MsoNormal>  option routers 10.32.0.1;<o:p></o:p></p><p class=MsoNormal>  pool {<o:p></o:p></p><p class=MsoNormal>        failover peer "dhcp-failover";<o:p></o:p></p><p class=MsoNormal>        range 10.32.0.5 10.32.0.254;<o:p></o:p></p><p class=MsoNormal>  }<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>……  too long to list <span style='font-family:Wingdings'>J</span><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>subnet 10.57.255.0 netmask 255.255.255.0 {<o:p></o:p></p><p class=MsoNormal>  option routers 10.57.255.1;<o:p></o:p></p><p class=MsoNormal>  pool {<o:p></o:p></p><p class=MsoNormal>        failover peer "dhcp-failover";<o:p></o:p></p><p class=MsoNormal>        range 10.57.255.5 10.57.255.254;<o:p></o:p></p><p class=MsoNormal>  }<o:p></o:p></p><p class=MsoNormal>}<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='mso-fareast-language:EN-CA'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-CA'>Rob Morin<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-CA'>Gestionnaire des systèmes | Senior Systems Administrator<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-CA'>Tel: 514 385-4448 #174                         <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-CA'>DATAVALET.COM<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-CA'>5275, chemin Queen-Mary, Montréal (Québec) H3W 1Y3 Canada<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-CA'> <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-CA'>CE COURRIEL AINSI QUE CES DOCUMENTS JOINTS peuvent contenir des renseignements confidentiels et privilégiés. Si vous n’êtes pas le destinataire désigné, veuillez nous en informer immédiatement et effacer toute copie. Merci.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-CA'>THIS EMAIL AND THE DOCUMENTS ATTACHED may contain privileged or confidential information. If the reader of this message is not the intended recipient, please notify the sender immediately and delete the original message. Thank you.<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>