ป้องกัน Windows Server Core ไม่ให้ register IP address ใน DNS Server

การจัดทำ Hyper-V server ที่ดีจะต้องแยก network card ตามหน้าที่การใช้งานซึ่งอย่างน้อยควรมี 2 network port บน server คือ port ที่ 1 เตรียมไว้สำหรับให้ admin ใช้งานเพื่อการบริหารระบบ ส่วน port ที่ 2 เตรียมไว้ให้ virtual machine ใช้งาน ในกรณีที่มี Hyper-Vserver หลายตัว ผู้ดูแลอาจมี domain สำหรับ Hyper-V เพียงอย่างเดียว ผู้ดูแลระบบอาจใช้ port ที่ 1 สำหรับ join domain และ register IP ใน domain name server ตามปกติ Windows มีกระบวนการ update IP ไปยัง DNS Server ผ่านการควบคุมจาก 2 จุด คือ server DHCP Client และ property ชื่อ Register this connection’s addresses in DNS บน property ของ network card

สำหรับผู้ใช้งาน Windows Server Core ที่ไม่มี GUI ให้ใช้ วิธีแก้ไขแบบง่ายๆ คือทำผ่าน Registry มีวิธีดังนี้
1. จาก Command prompt เรียกคำสั่ง regedit
2. สั่ง Find หมายเลข IP Address ที่เราไม่ต้องการ register ใน DNS มันจะอยู่ที่ HKLM\System\ControlSet001\services\Tcpip\Parameters\Interface\{GUID}
3. แก้ไขค่า RegistrationEnabled มีค่าตามความหมายนี้
0=ไม่ต้องการให้ network card/port นี้ ไป register บน DNS
1=ต้องการให้ Windows ทำการ register IP เข้าไป server อัตโนมัติ

ประโยชน์ของป้องกัน Windows Server Core ไม่ให้ register IP address ใน DNS server ก็คือถ้า port ที่ 2 มี firewall ขวางไว้ แต่ DNS ไม่รู้ แล้ว resolve เป็น IP ที่ผ่าน firewall ก็จะทำให้เสียเวลาโดยไม่รู้ว่า dns ให้ IP มาผิด

Advertisement

เมื่อ Trend-Micro ทำให้ virtual configuration file corrupt

เกิดเหตุการณ์ได้รับแจ้งว่าเครื่อง Virtual Machine หายไปจากหน้าจอ Hyper-V Manager หลังจากที่ Reboot ตัว host server เมื่อไล่เรียงลำดับเหตุการณ์และสภาพแวดล้อมที่มีปัญหา จึงสรุปได้เรื่องราวได้ดังนี้

  • ตามล่า Configuration file ว่าชื่ออะไรหรืออยู่ที่ไหน เพื่อจะได้ไปตรวจสอบว่ามันยังอยู่หรือไม่
  1.  ตามปกติมันจะอยู่ใน folder -> c:\programdata\microsoft\windows\hyper-v\virtual machine
  • copy file ไปเปิดใน Internet Explorer บนเครื่องอื่น เพื่อดูว่า xml format เรียบร้อยดี
  • ถ้ามี anti-virus ให้ uninstall หรือ ปิดไปก่อน
  • ถ้ามี admin หลายคนก็
  • สาเหตุของปัญหาในครั้งนี้คือ configuration file ที่มี extension .xml ตรงบรรทัดสุดท้าย </configration> มีเครื่องหมาย > สองครั้ง (“>>”) จึงทำให้ระบบอ่านไฟล์นี้ไม่ได้ การแก้ไขก็ให้ backup file นี้เก็บไว้ก่อน แล้วเปิดด้วย notepad เพื่อลบ “>” ตัวที่เกิดมา หลังจากนั้น reboot ตัว host server อีกทีระบบก็กลับมาใช้ได้เหมือนเดืม
  • ประสบการณ์ที่ได้จากครั้งนี้
  1. ถ้าจะลง Anti-virus บนเครื่อง Hyper-v ต้อง exclude path ตามที่ Microsoft แนะนำไว้ตาม link นี้ Planning for Hyper-V Security
  2. สำหรับ Trend อ่านเรื่องนี้ Does OfficeScan 10 support Windows Server 2008 Hyper-V?
  3. ควร backup configuration file เก็บไว้ใช้ในกรณีที่มีเสียหาย
  4. การทำ Snapshot ใน hyper-v ไม่ควรทำไว้หลาย version บนระบบ production ไม่ดี เพราะเปลืองเนื้อที่และหากมีปัญหาทำให้แก้ไขยากโดยไม่มีความจำเป็น
  5. อีกเรื่องคือถ้ามี snapshot ใน configuration file ที่ตัว disk ที่เป็นชื่อของ snapshot ที่มี extension .avhd
  6. หลักจากลบ snapshot ตอนจะ boot เครื่อง Hyper-V ต้องทำการ Merge ซึ่งจะเห้น Status เป็น Merge in Progress (xx %)
  7. จากข้อ 5 และเคยทำการ expand disk มาก่อนนี้ทำให้ทราบว่า hyper-v เมื่อรับคำสั่งแล้วมันจะทำงานให้ใน background ดังนั้น ควรดู status ให้ดีและอย่าใจร้อน
  8. Windows นำระบบ symbolic link มาใช้กับ configuration file คำสั่ง mklink และถ้าจะลบ link ก็ del ตามปกติ มันจะไม่ลบ file ที่เก็บตัวจริง

Reference

1.  Planning for Hyper-V Security

2. Does OfficeScan 10 support Windows Server 2008 Hyper-V?

3. MkLink

 

การเตรียม resource สำหรับ Hyper-v virtual machine

การสร้าง Virtual machine ผู้ออกแบบต้องเตรียม resource เช่น RAM, Network, CPU, Disk เป็นต้น  บนเครื่อง Server เพื่อให้รองรับงานได้  การคำนวณนี้ในความจริงเราไม่สามารถคำนวณแม่นยำได้ 100% ผู้ออกแบบสามารถคำนวณแบบคร่าวๆ ก็ได้เพราะ virtual machine มีความยืดหยุ่น (elasticity) ทำให้ปรับลด/เพิ่มในอนาคตได้ เรื่องที่ต้องเตรียมคิดไว้ก็เป็นไปตามนี้

Tip: ทดลองลากเสร้างตรงขึ้นมาหนึ่งเส้นแทนเวลา 0:00 น. – 23:59 น. แล้วลองคิดดูว่าในรอบเวลาหนึ่งวันมี VM ตัวไหนที่ peak ทับซ้อนในเวลาเดียวกัน เราจะใช้เวลาตรงนั้นเป็นเกณฑ์สำหรับการจัดเตรียมอุปกรณ์บน Server ที่จะเป็น Host ของ Virtual Machien ทั้งหลาย

RAM – คิดว่าจะใช้ RAM เท่าไร หน่วยเริ่มตั้งแต่หลักร้อย Megabyte จนถึงหลัก Gigabyte จำนวนสูงสุดที่ Hyper-V ใช้ได้คือ 64 Gigabyte- ใน Hyper-V มีเราจะเลือกใช้ Dynamic Memory ก็ได้แต่ อาจคำนวณเตรียมไว้สัก 70% สำหรับช่วง Peak ในที่นี้เราคิดว่าทุกเครื่องคงไม่ Peak พร้อมกัน เรื่อง Dynamic Memory อ่านได้ที่นี่
Network Bandwidth  ลองคิดดูว่าจะใช้ Bandwidth จำนวนเท่าไรที่ 1 second
Network Connection/Port นับดูว่าเครื่องเราต้องการ Network connection ก็ Port สำหรับใน Virtual Machineเมื่อนับเสร็จแล้วดูว่า ถ้าต้องมากกว่า 1 connection, ip ที่จะใช้อยู่คนละ subnet ก็ต้องมี network port ที่ host server ที่เพียงต่อด้วย
CPU  สำหรับ CPU แบบหลาย Core ถ้าเป็นงาน Production เราอาจไม่ทำ oversubscription โดยกำหนดให้ 1 v-cpu = 1 core ถ้าต้องการประหยัดอาจคิด workload ที่สัก 65% ของจุด peak
Disk  เนื้อที่ใน disk หรือ diskspace หน่วยเป็น Gigabyte ในส่วนนี้ควรเผื่อไว้สำหรับ backup หรือการทำ snapshot
IOPS I/O Operation per second เป็นหน่วยวัดความสามารถของ Storage เพื่อเตรียมว่างานที่จะใช้ต้องการ storage ที่เร็วขนาดไหน  
IO Size อันนี้หน่วยวัดเป็น Kilobyte ของค่าเฉลี่ยของ I/O Operation

 

เรื่องอื่นๆ ที่ต้องวางแผนไว้ล่วงหน้า
Business Continuity – ต้องเตรียมอุปกรณ์ Backup เช่น Tape, เครื่อง สำรอง เป็นต้น

 

.

รับให้คำปรึกษา ออกแบบ วางระบบ Server Virtualization ด้วย Microsoft Hyper-V

สำหรับการใช้งานเครื่อง computer สำหรับบุคคลหรือหน่วยงานต่างๆ อาจต้องการเครื่องที่มีขนาดใหญ่ว่า computer ส่วนบุคคลทั่วไป ที่เราเรียกว่า Server เครื่องแบบนี้จำเป็นต้องมีการดูแลที่เหมาะสม เริ่มตั้งแต่คิดให้ดีก่อนว่าจะซื้อแบบใด เพื่อวัตถุประสงค์อะไร ซึ่งปัจจุบันเครื่องราคาไม่แพงแต่ก็มีประสิทธิภาพสูง และการสูงเกินความจำเป็นจึงทำให้การใช้งานไม่คุ้มค่า ดังนั้นปัจจัยเรื่องการดูแลและค่าใช้จ่ายจึงเป็นตัวกระตุ้นให้หลายๆ หน่วยงานหันมาใช้ระบบที่เรียกว่า Virtual Server กันมากขึ้น ซึ่งรายละเอียดจะได้นำเสนอผ่าน vm360degree blog แห่งนี้ในอนาคต  ตัวอย่างเรื่องที่จะนำเสนอได้แก่ Hyper-V คืออะไร, อยากใช้ Hyper-V, Virtualization คืออะไร, Virtualization เริ่มต้นอย่างไร, อยากทำ Virtual Server ไม่รู้จะปรึกษาใคร หรือ Cloud Computing คืออะไร, Thai Hyper-V มีไหม และอีกเรื่องคือ Power Shell เป็นต้น

ผมมีประสบการณ์ติดตั้งและใช้งานระบบ Virtual Server ของ Microsoft ที่เรียกว่า Microsoft Hyper-V ตั้งแต่ version แรกคือ 2008 อยากเสนอตัวให้บริการแบบไม่หากำไร หากหน่วยงานใดที่มีปัญหาข้อสงสัยต้องการคำแนะนำ สามารถติดต่อได้ทาง e-mail ที่ chaba_ok@yahoo.com การเสนอให้ความช่วยเหลือ ขอพิจารณาตามความเหมาะสมและโอกาสครับ