Tag Archives: admin

Mail Config. Day

เช้าๆ ราชบุรีแจ้งมาว่า หลังจากอัปเกรดเซิร์ฟเวอร์ไปแล้วมีปัญหาเรื่องเมล เช็คดูสักพักก็พบว่าเป็นที่ MX ของโดเมนอื่นชี้มาที่เซิร์ฟเวอร์ แต่ไม่ได้ตั้งให้ postfix รับเมล แก้ไขแล้วก็ใช้งานได้ .. ปล่อยให้มีปัญหาเสียตั้งหลายวัน เฮ่อ

ที่เครื่อง gear.kku.ac.th ก็มีปัญหาเหมือนกัน แต่เป็นคนละเรื่อง ระบบเมลของ gear ใช้ postfix + amavisd + clamav + spamassassin กรองทั้งไวรัสและสแปม เมื่อวานได้รับรายงานว่า amavisd มันทำงานบนฟรีบีเอสดีแล้วเพี้ยนๆ ไม่ยอมกักไวรัสกับสแปมเข้า quarantine .. ตอนแรกคิดว่าเป็นคนเดียว แต่พอ google หาก็เจอว่าหลายคนมีปัญหาเดียวกัน แล้วก็ยังแก้กันไม่ได้ .. เข้าไปแกะสคริปต์ก็มี comment ว่าสคริปต์จะมีปัญหาเวลารัน perl -T ซึ่งเกิดเฉพาะ perl บางเวอร์ชันเท่านั้น แต่ดันเป็นเวอร์ชันที่ใช้บนฟรีบีเอสดีพอดีเลย (- -‘) .. ตอนนี้แก้ไม่ถูก เลย workaround ไปก่อนโดยรัน perl ธรรมดา (ไม่ -T) แล้ว chroot ไว้กันเหนียว .. ลอง tail -f /var/log/maillog มอนิเตอร์พักใหญ่ก็ไม่เจอปัญหาเดิมแล้ว

ไหนๆ ก็ดู amavisd แล้ว เลยลองตรวจ SpamAssassin ดูด้วย ทดสอบยิงสแปม 40 ฉบับ 40 แบบที่สะสมไว้จาก quarantine ในเซิร์ฟเวอร์ที่ AIT ได้ผลเป็นที่น่าพอใจ ทั้ง 40 ฉบับโดนตีตราเป็นสแปมหมดเลย แม่นโคตร ตอนนี้ที่ห่วงจะเป็น false positive มากกว่า เลยต้องเฝ้าดูเมลมากเป็นพิเศษ .. จะว่าไป SpamAssassin เก่งไม่เบาเลย ไม่นานมานี้ก็เพิ่งมีคนทดสอบสแปมฟิลเตอร์แล้วได้ผลว่า SpamAssassin ทำงานได้แม่นยำเป็นอันดับหนื่ง เหนือกว่าพวกที่ขายแพงๆ ซะอีก .. ตอนนี้ได้เครื่องแรงเลยลองเปิด Bayes auto learn ด้วย .. ถ้าสแปมหลุดรอดออกมาได้ก็แสดงว่าเจ๋งจริงแหละ .. หุๆๆ

บ่น: เดือนที่แล้วกับเดือนนี้ไม่รู้เป็นอะไร ภาระงานเยอะแทบไม่มีเวลาหายใจ .. แต่คิดในแง่ดี งานเยอะๆ ก็ดีแล้วแหละ ถ้ายังเป็นงานที่ชอบอะนะ ตอนนี้ยังพอมีตังค์กินข้าว ให้ทำฟรีก็ทำ :P

FYI: เปลี่ยนแปลงเวลาบันทึกปูมเว็บ (ปูมเว็บ = weblog – พอได้มั้ยหว่า) เล็กน้อย เลื่อนขึ้นมา 24 ชั่วโมง จะได้เหมือนคนอื่นๆ เขา แปลว่าสิ่งที่ได้อ่านของวันที่ n เป็นสิ่งที่เกิดในวันที่ n-1 ครับ

Upgrading gear.kku.ac.th

วันอาทิตย์ เข้าไปทำงานที่ภาควิชาฯ ไม่ได้อัปเกรด gear.kku.ac.th – เซิร์ฟเวอร์ของภาควิชาฯ – มาระยะนึงแล้ว กลับมาเที่ยวนี้ต้องอัปเกรดเสียหน่อย พอดีว่ามีเครื่องใหม่มาใช้งานแทนเครื่องเดิมด้วย ก็เลยลงแบบสะอาดๆ ได้ .. ใช้ฟรีบีเอสดีเช่นเคย (4.10-RELEASE) ติดตั้งแบบ customize เสร็จแล้วก็ cvsup ports sys คอมไพล์เคอร์เนล ติดตั้ง server software + tools ที่จำเป็นจาก ports .. จากนั้นก็ย้าย /home ของระบบเดิมมาเครื่องใหม่ (จะมาเสียเวลาเยอะก็ตรงนี้แหละ นานกว่าตอน cvsup ports ซะอีก – -‘) .. เสร็จเรียบร้อย สลับ IP เครื่องเก่ากับเครื่องใหม่ สั่ง reboot พร้อมกัน ตู้มม .. ssh เข้าระบบใหม่ แก้ไขอีกนิดหน่อยก็เรียบร้อย ของกล้วยๆ :D

ถ้าจำไม่ผิด gear.kku.ac.th เป็นเซิร์ฟเวอร์ที่ใช้ลินุกซ์ตัวแรกของ ม.ข. (เครื่องที่สองเป็นของ ชีวเคมี คณะแพทย์ฯ เครื่องที่สามคือ ftp.kku.ac.th) .. ถ้านับตั้งแต่ติดตั้งเครื่องนี้สำเร็จเป็นครั้งแรก อายุก็มากกว่าสิบปีแล้ว มีการเปลี่ยนแปลงมาเรื่อย จากลินุกซ์ที่มีแผ่นติดตั้งเกือบๆ สี่สิบแผ่น ดาวน์โหลดจาก ฟินแลนด์ สวีเดน และอเมริกา ใช้เวลาเป็นเดือน (แบนด์วิดธ์ของ ม.ข. ในสมัยนั้น19.2Kbps) .. ต่อมาก็ไช้ Slackware, Red Hat – เริ่มติดตั้งจาก CD, gzipslack (ที่เอา zipslack มาทำเป็น mini distro. เอง) ก่อนจะเปลี่ยนแปลกครั้งใหญ่เป็นฟรีบีเอสดี 4.2 จากนั้นก็ตามอัปเดตฟรีบีเอสดีมาตลอด ฮาร์ดแวร์จาก 486DX2-66MHz RAM 16 MB ก็ค่อยๆ เพิ่มเป็น 32 MB (~3 ปี) เป็น Pentium 75 MHz (~3 ปี), Pentium MMX 233 MHz (~3 ปี), Pentium II 266 MHz (~1 ปี) ล่าสุดตอนนี้เป็น Pentium-4 2 GHz .. มีแค่เครื่องแรกสุดเครื่องเดียวที่สเปคทันสมัย (ในยุคนั้น) หลังจากนั้นมากสเปคล้าหลังตลอด .. gear.kku.ac.th เปิดใช้งาน 24×7 มาตั้งแต่วันแรกๆ พอเปลี่ยนมาใช้ฟรีบีเอสดีก็ x100% เข้าไปอีกเพราะมี seti@home (ที่ nice 15) ด้วย .. ระบบไม่เคยงอแงเลย รับภาระงานได้สบายๆ ไม่รู้สึกว่าหน่วง ยิ่งเป็นฟรีบีเอสดีแล้วเสถียรภาพของระบบดีมากๆ uptime ครั้งละหลายๆ เดือน (i.e., จนกว่า UPS ดับ) ปัญหาจุกจิกน้อย ดูแลรักษาก็ง่าย .. ไม่แปลกใจเลยว่าทำไมค่าเฉลี่ยจำนวนเซิร์ฟเวอร์/ผู้ดูแล ของลินุกซ์/ยูนิกซ์จะสูงได้ถึง 44 เซิร์ฟเวอร์/คน ในขณะที่วินโดว์สอยู่ที่ราวๆ 10 เซิร์ฟเวอร์/คน .. อัปเกรดฮาร์ดแวร์คราวนี้ได้ Pentium-4 2 GHz จะว่าแรงเกินจำเป็นก็อาจจะได้ แต่ไหนๆ ก็มีเครื่องเร็วๆ ใช้ เลยตั้งให้ฟิลเตอร์สแปมกับไวรัสหนักๆ หน่อย เปิดได้วันเดียวก็มีรายงานไวรัส W32* มาแล้ว รายงานฟิลเตอร์สแปมได้อีกตรึม .. workunit ของ seti@home ก็น่าจะไปได้เร็วกว่าเดิมอีกหลาย .. ลอล

วันจันทร์เช้ากลับมานอนพักที่บ้าน .. ตื่นบ่ายๆ ก็ขับรถมากรุงเทพฯ มีงานต้องทำอีกเป็นกอง .. ส่งศุกร์นี้แล้วด้วย T_T

ปรับขนาดพาร์ติชันบนลินุกซ์โดยไม่ต้องลบ/ย้ายข้อมูล

อยากลองใช้ transcode แปลง DVD เป็น VCD ดูสักหนล่ะครับ แต่พาร์ติชันขนาด 5 GB ที่กันไว้ตอนแรกไม่พอเสียแล้ว .. ก็แค่ซอร์สของ DVD แผ่นนึงก็หมดไป 4 กิ๊กแล้ว .. อิมเมจของ VCD ที่จะสร้างด้วย transcode ก็ใช้พื้นที่อีกประมาณ 1.4 GB (เท่ากับแผ่นซีดี 700 MB สองแผ่นไง) แต่เวลา encode ต้องมีพื้นที่ว่างๆ ประมาณสามเท่าของอิมเมจ รวมๆ กันแล้วต้องใช้พื้นที่ 8-9 GB .. เฮ่อ .. ฮาร์ดดิสก์ 60 GB จะหมดก็คราวนี้ล่ะฟะ .. วกกลับมาเรื่องพาร์ติชัน 5 GB กันต่อ .. ในเมื่อมันไม่พอก็ขยายพาร์ติชันสิ ข่าวดี (หรือหรือข่าวเก่าแล้วก็ไม่รู้) คือพาร์ติชันที่ใช้ไฟล์ซิสเต็มแบบ ext2/ext3 สามารถย่อ/ขยาย ได้โดยข้อมูลไม่สูญหาย ไม่ต้องลบ หรือย้ายข้อมูลก่อนด้วย .. โอ๊ะ .. ทำได้ไงๆๆ …

สิ่งที่ต้องทำมีสองส่วนคือปรับขนาดของไฟล์ซิสเต็ม และปรับขนาดของพาร์ติชันครับ .. การปรับขนาด ext2/ext3 ทำได้ด้วย resize2fs ส่วนขนาดของพาร์ติชันก็ใช้ fdisk นี่ล่ะ .. เริ่มกันเลย ..

สมมติว่าต้องการขยาย /dev/hda7 ก่อนอื่นต้อง fdisk ก่อน ดูให้แน่ใจว่ามีที่ว่ามีที่ว่างต่อจากพาร์ติชันที่ต้องการขยาย จากนั้นทำตามขั้นตอนนี้

  1. unmount file system ที่จะขยายเสียก่อน
  2. เรียกโปรแกรม fdisk
  3. จดตัวเลข start ของ /dev/hda7 .. จดสิๆๆ
  4. ลบ {{/dev/hda7 ทิ้ง ..เอ่อ.. ไม่ต้องห่วงๆ เพราะข้อมูลทุกอย่างยังไม่หายไปไหน มันแค่ลบ entry ในตารางพาร์ติชันของฮาร์ดดิสก์ ไม่ได้ลบข้อมูล .. แต่ถ้าต้องการให้มันกลับมาก็ต้องสร้างพาร์ติชันที่มีตำแหน่งเริ่มต้นตรงที่เดิม นั่นเป็นเหตุผลว่าทำไมต้องจด start ของ /dev/hda7 ไว้ ..
  5. สร้างพาร์ติชัน /dev/hda7 เริ่มต้นที่เลข start ตัวเดิม กำหนดขนาดตามต้องการ แต่ไม่เกินพื้นที่ว่างที่เหลืออยู่
  6. บันทึกการเปลี่ยนแปลง ออกจาก fdisk
  7. รีบูต .. เพื่อความแน่นอน.. รีบูตเลยครับ .. ผมเคยพลาดมาแล้ว ใจร้อน ไม่ยอมรีบูต ไฟล์ซิสเต็มหาย ข้อมูลไปหมดเลย กู้กันสามวันสามคืน ได้ข้อมูลสำคัญๆ กลับมา 3-4 MB แต่ชีวิตหลังจากนั้นเหมือนกลับไปอยู่อดีต 3 เดือนก่อน เพราะแบคอัพล่าสุดอายุประมาณนั้น
  8. หลังจากรีบูตแล้ว e2fsck -f /dev/hda7 พาร์ติชันก่อนหนึ่งที
  9. จากนั้นสั่ง resize2fs /dev/hda7 แล้วก็ลุ้น.. ไม่ต้องกลั้นหายใจนะครับ ถ้าขยายไฟล์ซิสเต็มให้โตขึ้นใหญ่มากๆ ก็ต้องรอนานเป็นนาทีเหมือนกัน :)

ส่วนการย่อขนาดพาร์ติชัน ต้องสั่ง resize2fs เพื่อเปลี่ยนขนาดไฟล์ซิสเต็มก่อน แล้วค่อย fdisk ไปแก้ขนาดพาร์ติชัน สมมติว่าจะย่อ /dev/hda7 ให้เหลือแค่ 1048576 blocks ก็สั่ง

resize2fs /dev/hda7 1048576

จากนั้นก็เข้า fdisk จดตำแหน่งเริ่มต้นของพาร์ติชัน ลบพาร์ติชันของ /dev/hda7 ทิ้ง แล้วสร้างใหม่แบบเดียวกับการขยาย ข้อควรระวังคือ ต้องกำหนดขนาดพาร์ติชันไม่ให้เล็กไปกว่าขนาดที่ระบุตอน resize2fs (เช่น ในตัวอย่างนี้คือ 1048576 blocks) เพราะจะทำให้ข้อมูลหายได้

เสร็จแล้ว ขอตัวไป RIP DVD ก่อนละคร้าบบบ