DNSDNS (bind) บน centos 6 เมื่อได้เปิดใช้งานโดยไม่ได้ปรับแก้ไขอะไรนอกจากสร้าง zone และ zone file จะเกิดปัญหาการใช้งาน CPU เกิน 100% ดังตัวอย่างด้านล่าง

[text]
top – 11:32:19 up 8 days, 44 min, 1 user, load average: 0.24, 0.09, 0.06
Tasks: 162 total, 1 running, 161 sleeping, 0 stopped, 0 zombie
Cpu(s): 7.2%us, 36.6%sy, 0.0%ni, 50.0%id, 4.1%wa, 0.0%hi, 0.0%si, 2.1%st
Mem: 3923092k total, 2268344k used, 1654748k free, 148052k buffers
Swap: 3071992k total, 0k used, 3071992k free, 602412k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
616 named 20 0 229m 11m 2548 S 130.3 0.3 0:06.74 named
[/text]

และเมื่อตรวจสอบที่ /var/log/message แล้วพบว่าเจอ error ตามด้านลง

[text]/var/named/dynamic/managed-keys.bind.jnl: create: file not found[/text]

จากข้อมูลข้างบน ปัญหาการใช้งาน CPU เกิน 100% เกิดจาก

  1. ติดตั้ง bind-chroot
  2. เปิดใช้งาน SElinux

การแก้ไขปัญหาสำหรับการใช้งาน CPU เกิน 100% ของ BIND (named)

  1. ปิดการใช้งาน selinux โดยแก้ไขไฟล์ /etc/sysconfig/selinux โดยให้
    [text]SELINUX=disabled[/text]
    และ reboot เครื่อง แต่ถ้าไม่สามารถ reboot เครื่องได้ให้รันคำสั่ง
    [shell][root@ezylinux ~]# setenforce Permissive[/shell]
  2. ตรวจสอบดูว่าได้ติดตั้ง bind-chroot หรือไม่ ด้วยคำสั่ง
    [shell][root@ezylinux ~]# rpm -qa | grep -i bind[/shell]
    ถ้าหากเจอคำว่า “bind-chroot” แสดงว่าได้ติดตั้ง bind-chroot package เข้าไปในระบบ ดังนั้นให้รันคำสั่งด้านล่าง เพื่อสร้าง directory ที่ bind ต้องการใน path ของ bind-chroot
    [shell][root@ezylinux ~]# mkdir /var/named/chroot/var/named/dynamic
    [root@ezylinux ~]# mkdir /var/named/chroot/var/named/data
    [root@ezylinux ~]# touch /var/named/chroot/var/named/dynamic/managed-keys.bind
    [root@ezylinux ~]# touch /var/named/chroot/var/named/data/named.run
    [root@ezylinux ~]# chown -R /var/named/chroot/var/named/d*[/shell]
    จากนั้น restart bind (named) service ด้วยคำสั่ง
    [shell][root@ezylinux ~]# service named restart[/shell]