Archive for October, 2011


ใครที่ใช้ VMware คงคุ้นๆ กันหน้าจอติดตั้ง VMware Tools ที่จะถามว่าจะลงแบบไหน Typical, Complete หรือ Custom ความแตกต่างก็คือ
– Typical – ติดตั้งไดร์เวอร์ทุกอย่าง แต่สามารถใช้งานได้เฉพาะกับแพลตฟอร์มที่กำลังใช้งานอยู่เท่านั้น เช่นหากปัจจุบันใช้ VMware Workstation อยู่ เวลาย้ายไป ESXi ก็ต้อง update VMware Tools อีกครั้ง
– Complete – ติดตั้งไดร์เวอร์ทุกอย่างของทุกแพลตฟอร์ม สามารถย้ายจาก Workstation ไป ESXi ได้เลย โดยไม่จำเป็นต้อง update VMware Tools อีก เพราะไดร์เวอร์ของ ESXi ได้ติดตั้งไว้ล่วงหน้าเรียบร้อยแล้วแล้ว
– Custom – เราสามารถเลือกได้ว่าจะลงโมดูลไหนบ้าง

Advertisement

พูดถึงเรื่อง SQL Server ก็มักจะมีคำถามว่าทำอย่างไรถึงจะทำให้ SQL Server มี high availability คำตอบแรกๆ และง่ายๆ ก็จะเป็นทำ Cluster วันนี้เราจะมีดูกันว่าต้องมีอะไรบ้างครับ

Hardware
1) เครื่องคอมพิวเตอร์ 2 เครื่อง — แน่ล่ะสิทำ cluster ก็ต้องเป็น 2 เครื่อง active กะ stand-by
2) share storage — อันนี้ยากแล้ว ถ้าจะให้ดีประสิทธิภาพสูงก็หนีไม่พ้น SAN หรือถ้าอยากได้ของถูก iSCSI ก็ได้นะ แต่คุณภาพสู้ไม่ได้แน่นอน
3) ระบบ Active Directory — เนื่องจากทุก advanced solution ต้องพึ่ง AD ดังนั้น SQL Cluster ก็เช่นกัน

Software
1) Windows Server 2008 R2 Enterprise Edition 2 licenses — ขอย้ำว่า Enterprise นะ เพราะต้องทำ Microsoft Fail Over Cluster
2) Microsoft SQL Server 2008 R2 Standard Editon 2 license — ถ้าทำแค่ cluster 2 node ใช้แค่ standard ก็พอครับ แต่หากอยากได้มากกว่านั้น ก็คงต้องกัดฟันจ่ายเงินเพิ่มเป็น Enterprise Edition สำหรับของฟรี Express Edition หมดสิทธิ์กับงาน cluster ครับ
3) SQL CALs ตามจำนวน client ถ้าข้อที่แล้วซื้อเป็น processor license ก็ข้ามได้ครับ

วิธีการแบบคร่าวๆ
1) ติดตั้ง Windows Server ลงบนทั้ง 2 เครื่อง และ patch ต่างๆ
2) ติดตั้ง Fail Over Cluster ลงบน Windows ทั้ง 2 เครื่องก่อน (แนะนำว่าควรจะมี share storage สำหรับ quorum disk ด้วย) ขั้นตอนนี้ต้องเตรียม IP เผื่อสำหรับ Virtual IP ของ Fail Over Cluster ด้วยนะครับ
3) ติดตั้ง SQL Cluster โหนดแรก โดยเลือกจาก New SQL Server Failover Cluster Installation ในหน้า Install Wizard ของ SQL
4) ติดตั้ง SQL Cluster โหนดที่สอง คราวนี้เลือก Add node to a SQL Server failover cluster แทนครับ
5) ติดตั้ง service pack และ hotfix อันนี้พิศดารนิดนึง สมัย SQL 2005 ทำที่ active node แล้วมันจะส่งมาที่ passive node ให้เอง แต่พอ SQL 2008 เป็นต้นมา เราต้องทำที่ passive node ก่อน แล้ว failover แล้วค่อยกลับไปทำที่ active node ที่กลายเป็น passive ไปแล้วแทน แม้ว่าจะยุ่งยากขึ้น แต่ downtime ลดลงนะครับ

ปล. High Availability กับ SQL server ไม่ได้มีแค่ Cluster นะครับ ที่พูดกันเยอะเพราะทำง่ายสุดครับ เพราะยังมีหลายทางเลือกเช่น Replication, Log Shipping, Mirroring หรือแม้แต่ Virtualization ก็มีครับ

Simple Mail Transfer Protocol (SMTP) เป็นโพรโทคอลหรือกฏเกณฑ์ที่ใช้ในการส่งอีเมล์ โดยหากใช้ในอินเทอร์เน็ตจะทำงานอยู่บนพอร์ต TCP 25 และจะใช้ร่วมกับ DNS MX record เพื่อค้นหาเมล์เกตเวย์ของปลายทาง แต่หากใช้ส่งกันระหว่างเซิร์ฟเวอร์ภายในองค์กร อาจเปลี่ยนไปใช้พอร์ตอื่นนอกเหนือจาก TCP 25 ก็ได้เช่นกัน

เมล์เซิร์ฟเวอร์ที่กันในปัจจุบันสนับสนุนโพรโทคอล SMTP กันหมด แม้แต่ของซื้อของขายอย่าง Microsoft Exchange และ IBM Lotus Domino ซึ่งเวลาคุยกันภายในองค์กรจะใช้โพรโทคอลของตัวเอง แต่ถ้าต้องวิ่งออกอินเทอร์เน็ตก็ใช้ SMTP ซึ่งเป็นมาตรฐานกลางได้เหมือนกับค่ายโอเพ่นซอร์ส

เนื่องจากอายุอานามของ SMTP พอๆ กับอินเทอร์เน็ต ซึ่งเลยหลักสี่มานานแล้ว เลยทำให้ SMTP มีปัญหาสำคัญคือเรื่องความปลอดภัยที่ไม่ค่อยจะสู้ดีนัก เพราะข้อมูลที่ส่งกันด้วย SMTP จะเป็นตัวอักษรล้วน (plain text) ใครส่งจดหมายรักถึงใคร คนที่อยู่กลางทางอ่านได้หมด ดังนั้นจึงมีการปรับปรุงเป็น ESMTP โดยตัว E นั้นก็คือ Extended หรือ Enhanced หมายถึง SMTP เวอร์ชั่นปรับปรุงนั่นเอง โดยความสามารถที่เพิ่มเด่นๆ ก็จะเป็นการพิสูจน์ตนก่อนส่ง (user authentication) และการเข้ารหัสลับระหว่างที่ส่ง (SMTP over TLS)

หากใครจะลองส่งเมล์จาก telnet โดยใช้ SMTP ก็สามารถลองทำตามได้นะครับ

Telnet mailgateway.xyz.com 25

รอเซิร์ฟเวอร์ปลายตอบรับ จากนั้นก็ลองทำตามครับ S: หมายถึงเซิร์ฟเวอร์ปลายทาง C: หมายถึงไคลเอนท์ของเรา

S: 220 mailgateway.xyz.com
C: HELO mypc.abc.com
S: 250 Hello mypc.abc.com
C: MAIL FROM: <modplusplus@abc.com>
S: 250 Ok
C: RCPT TO: <somchai@xyz.com>
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: From: "Mod++" <somchai@xyz.com>
C: To: "Somchai Saetung" <somchai@xyz.com>
C: Subject: Test
C:
C: Hello World
C: .
S: 250 Ok: queued as 123
C: QUIT
S: 221 Bye

เพียงเท่านี้เราก็สามารถส่งเมล์ได้โดยไม่ต้องง้อ Outlook แล้วครับ 😀

สมมุติว่าเราเป็นพนักงานของบริษัท abc จะส่งเมล์ไปยังบริษัท xyz การทำงานของระบบอีเมล์จะเริ่มตั้งแต่
1) เราเปิดโปรแกรม Outlook เขียนเมล์ถึง somchai@xyz.co.th โปรแกรมจะส่งเมล์ไปยังเมล์เซิร์ฟเวอร์ของเราก่อน
2) เมล์เซิร์ฟเวอร์ของเราจะส่งอีเมล์ไปให้เมล์เกตเวย์เพื่อตรวจสอบหาไวรัสและสแปม
3) เมล์เกตเวย์จะวิ่งไปถาม DNS server ว่าเมล์เกตเวย์ของผู้รับซึ่งก็คือ xyz.co.th อยู่ที่ไหน
4) เมล์เกตเวย์ของเราจะส่งอีเมล์ไปยังเมล์เกตเวย์ของผู้รับซึ่งก็คือ xyz.co.th
5) เมล์เกตเวย์ของผู้รับจะตรวจสอบไวรัสและสแปม ถ้าผ่านก็จะส่งต่อให้เมล์เซิร์ฟเวอร์ของผู้รับ
6) เพื่อผู้รับเปิดโปรแกรมอีเมล์ เมล์จะถูกโหลดจากเมล์เซิร์ฟเวอร์มาที่เครื่องไคลเอนท์และแสดงผล

Basic Email Flow Diagram

โอกาสหน้าจะมาพูดถึงแล้วถ้าเป็นฟรีอีเมล์อย่าง hotmail หรือ gmail จะต่างจากอีเมล์ของบริษัททั่วไปอย่างไร แล้วเจอกันครับ 😀

หลายๆ คนคงเคยได้รับจดหมายโฆษณาหรือจดหมายขยะ แล้วเราควรจัดการกับจดหมายประเภทนี้อย่างไรดี มีคำแนะนำดังนี้ครับ

กรณี A หากเรามั่นใจว่าผู้ส่งมีตัวตนที่น่าเชื่อถือจริง เช่นเป็นเพื่อนเรา หรือเป็นบริษัทที่เราคุยงานด้วย
คำแนะนำ
1) ไม่ควรคลิ๊กลิงค์ที่แนบมากับจดหมาย โดยเฉพาะอย่างยิ่ง หากก่อนหน้านี้เมล์คุยกันเป็นภาษาไทยทั้งหมด แต่ทำไมรอบนี้ไฮโซส่งมาเป็นภาษาอังกฤษเต็มไปหมดเลย
2) ควรส่งเมล์กลับ หรือแจ้งผู้ส่งด้วยวิธีอื่น ว่าคุณกำลังส่งจดหมายขยะมาหาเรานะ เพราะบางครั้งเครื่องคอมฯผู้ส่งอาจติดไวรัสก็ได้ครับ

กรณี B ผู้ส่งเป็นใครที่ไหนก็ไม่รู้ หรือมาจากบริษัทที่น่าเชื่อถืออย่าง Microsoft หรือ Apple
คำแนะนำ
1) ไม่ควรคลิ๊กลิงค์ที่แนบมากับจดหมาย เพราะลิงค์ที่แสดงผล กับลิงค์ที่วิ่งไปอาจเป็นคนละชื่อ
2) ไม่ควรตอบเมล์กลับ หรือแจ้งว่าส่งผิด เพราะจะเป็นการคอนเฟิร์มว่าเมล์นี้มีคนอ่านจริง และครั้งต่อๆ ไปเค้าก็จะส่งกันมาอีกเยอะกว่าเดิม
3) หากเป็นเมล์แจ้งข่าวสารจากบริษัทที่น่าเชื่อถือ มักจะมีปุ่มหรือวิธีบอกเลิกรับจดหมาย (unsubscribe) อาจทำตามที่บอกก็ได้ แต่หากไม่ได้มาจากผู้ส่งตัวจริงอาจเหมือนข้อที่แล้วได้
4) วิธีที่ดีที่สุด หากเป็น free email เช่น hotmail, gmail, หรือ yahoo แนะนำให้คลิ๊ก mark as spam (หรือชื่อที่ใกล้เคียง) ถ้าทุกคนช่วยกันคลิ๊กเดี๋ยวผู้ให้บริการก็จะบล็อกผู้ส่งให้เอง หรือหากเป็นเมล์บริษัทแนะนำให้ฟอร์เวิร์ดเมล์ไปยัง IT Support ของบริษัทให้จัดการต่อครับ จ่ายค่าจ้างแล้วต้องใช้ให้คุ้ม

ปล. อ่านแล้วอย่าทำตัวเป็นผู้ส่งสแปมเองนะครับ ทั้งสร้างความเดือนร้อนรำคาญให้ผู้อื่นและยังผิดกฏหมายด้วยครับ

ปัจจุบันโปรแกรมใหม่ๆ มักจำเป็นต้องใช้ฐานข้อมูล ซึ่งหากเป็นโปรแกรมบนวินโดวส์ก็จะมี Microsoft SQL Server อยู่ในรายชื่อแรกๆ แต่ว่าจะทำอย่างไรดีถ้าเราต้องการประหยัดงบ คำตอบง่ายๆ ครับ ทางไมโครซอฟท์แจกโปรแกรม Microsoft SQL Server Express Edition ให้ได้ใช้ฟรีกันมาเรื่อยๆ ซึ่งเวอร์ชั่นล่าสุดเป็น Microsoft SQL Server 2008 R2 Express Edition โดยมีให้เลือกทั้ง 32-bit และ 64-bit ตามแต่วินโดวส์ของผู้ใช้งานครับ นอกจากนี้ยังมีแยกประเภทอีกว่าจะให้รวมหรือไม่รวม Management Studio ซึ่งเป็นซอร์ฟแวร์ที่ใช้บริหารจัดการตัว SQL Server ด้วย โดยตัวผมแนะนำให้เลือกตัวที่รวม Management Studio ไว้จะดีกว่าครับเผื่อต้องมาแก้ปัญหาหรือมาดูคอนฟิกในอนาคตจะได้ไม่ลำบากนักครับ

สำหรับผู้ที่สนใจอยากดาวน์โหลด Microsoft SQL Server 2008 R2 Express Edition ไปใช้งานสามารถเข้าไปที่นี่เลยครับ
http://www.microsoft.com/download/en/details.aspx?id=23650