Nano Server – Part 1: Introduction Nano Server คืออะไร

ปี 2016 เป็นปีครบรอบ 20 ปี ของ Microsoft Windows Server (อ่านเพิ่มเติม) และก็บริษัทได้เปิด Windows Server 2016 ที่มีตัว Nano Server เป็นทางเลือก แทนการใช้ Windows Server ที่ทำกันมาก่อนหน้านี้  Nano Server มีขนาดเริ่มต้น ไม่ถึง 500 Megabyte และมีประสิทธิภาพดีกว่า Windows Server แบบเดิมอีกด้วย มันน่าสนใจว่าตั้งแต่นี้ไป Server จะมีรูปแบบการทำงานที่ไม่เหมือนเดิม มันจะเปลี่ยนไปทิศทางที่ดีขึ้นเพียงใด เรามารู้จัก Nano Server กัน เพื่อใช้ให้เป็นกัน

Nano Server เกิดจากอะไร

Windows Server ถูกสร้างเป็นให้ทำงานได้หลายอย่างในตัวมัน เช่น เป็น File Server, Web Server, Active Directory หรือแม้แต่ Hyper-V เป็นต้น ข้อดีคือความสะดวก แต่สำหรับผู้ที่ดูแล Application บน Windows Server จะพบว่ามีด้านลบแอบแฝงอยู่ พอจะยกเป็นตัวอย่าง 3 เรื่องดังนี้

  1. Microsoft ออก Security Update (Hotfix) ทุกเดือน (Patch Tuesday) เป็นการเพิ่มงานและกระทบการใช้งาน Application เพราะ Hotfix ต้อง Restart Server และบน Windows   มี API มากมายเหลือเกิน มันไม่ใช่สิ่งที่ทุกคนต้องใช้แต่ต้องการ Hotfix ด้วย
  2. กิน Resource บนเครื่องมากเช่น RAM, CPU, Disk และ Network เพราะการเก็บสิ่งที่ไม่จำเป็น มันทำให้ต้องซื้อ Server หรือใช้ Cloud ที่ราคาแพงขึ้นโดยไม่จำเป็น
  3. การมี User Interface ที่เป็น Windows หรือ Command Prompt (DOS) บน   Server ไม่เป็นผลดีกับผู้ดูแล Server เพราะปัจจุบันการทำงานแบบ Automate ต้องทำผ่าน Script แต่การมี User Interface เป็นการเปิดช่องให้ Developer มองข้ามเรื่อง Automate

การเกิดของ Nano Server เป็นสร้าง Server Operating System ขึ้นมาใหม่ ถึงแม้ตอนที่ Microsoft ออก Windows Server 2008 ได้ออก Server Core มาก่อนแล้ว แต่มันไม่เหมือนกับ Nano เพราะ Server Core ใช้แนวคิดตัด GUI หรือบาง Feature ออกจาก Full Windows แต่ Nano ถูกสร้างขึ้นมาใหม่ มันมีคุณสมบัติเด่น 7 ข้อที่ควรรู้ แบบย่อๆ ดังนี้

1 Compatible กับ Windows 64bit จึงใช้ Program เป็น Windows Server ได้
2 จับมัน Join Domain ได้ แต่ไม่มี Command Prompt หรือ Windows GUI (และไม่รองรับ Remote Desktop)   คนใน Microsoft เรียกมันว่า Headless เนื่องจากมันไม่มีหน้าจอเพื่อใช้ทำงานปกติ แต่มีจอ Emergency Management Console เพื่อให้ตั้งค่า   Network Configuration การใช้งานจริงๆ Microsoft ได้พัฒนา   Remote Management คือ Server Manager, PowerShell Remoting และ WMI
3 เล็กมาก มีขนาดบน   Disk   เพียง   500 Megabyte เมื่อเทียบกับ Server ที่มีขนาด 6 Gigabyte มันช่วยให้การทำ Virtualization สร้าง   VM ต่อ   Host   ได้มากขึ้นและประหยัด Hardware ได้ ประโยชน์ของความเล็กนี้ ทำให้มัน   Restart ได้เร็วมาก
4 Hotfix ลดลง อย่างมากเพราะมันเล็กมันตัดสิ่งที่ไม่จำเป็นออกหมด ทำให้ลดจำนวน   Hotfix   ถึงขั้นบางคนใน Microsoft คิดว่า Nano ควรมี Hotfix ระดับ   Critical ปีละไม่เกิน   2 ครั้ง
5 ไม่มีแผ่น Boot   สำหรับ Nano การทำไปลงจะต้องสร้าง Boot image   เอง (ทำง่ายๆ)
6 ไม่มี Plug and Play device driver ทีผ่านมา Plug and Play ช่วยจัดการเรื่อง   Driver ที่ใช้บ่อยๆ บน Server   ก็คือ Network card และ HBA card   เพื่อต่อกับ   SAN Storage
7 สามารถเพิ่ม Feature หรือติดตั้ง Application แต่ไม่มี .MSI  ทำโดยเพิ่มPackage หรือถ้าเป็น Application อื่นๆ ที่ทำงานบน เช่น Apache Tomcat ก็ทำได้ Microsoft รองรับ   application compatibility กับ Windows Server ที่ต้องทำงานแบบ   Server mode ด้วย Reverse Folder ที่เป็นเหมือน   Virtual API

คงพอเห็นแนวความคิดของ Nano Server กันแล้ว ต่อไปจะแนะนำการสร้างเครื่องแรกแบบง่ายๆ กันก่อน เราจะสร้าง File Server ด้วย Nano Server สิ่งที่ต้องเตรียมไว้ดังนี้

  1. Microsoft Windows Server 2016 โดย Download จาก ที่นี่
  2. Windows Server 2016 ที่เป็น Hyper-V Server 2016 ถ้ายังไม่มีก็สร้างใหม่ได้
  3. สร้าง Folder c:\Temp และ copy folder – Nano Server จากแผ่น CD 2016 ไปใส่ไว้ใน C:\Temp
  4. เตรียม Folder c:\temp\NanoVM เพื่อใช้สร้าง Nano Server

Nano-p1-3

สร้าง Nano Server แรกเป็น Virtual Machine

1. การลง Nano ไม่ได้ลงจากแผ่น CD แต่มันเก็บอยู่แผ่น Windows Server 2016 ใน Folder -> NanoServer เราต้องใช้เครื่องมือ เช่น PowerShell สร้าง ในตัวอย่างนี้จะสร้างเป็น Virtual hard disk ไปใส่ใน Hyper-V Virtual Machine

Nano-p1-1

 

2. Explorer – Nano Server Folder ถ้าเปิดใน Folder Nano Server จะพบส่วนประกอบสำคัญ 3 ส่วนในนี้ คือ .WIM file, NanoServerImageGenerator ที่เป็นเครื่องมือ PowerShell เพื่อสร้าง VHD, สุดท้ายคือ Packages ที่เป็น Feature ที่จะติดตั้งลงไปใน VHD

Nano-p1-2

3. สร้าง VHD ของ Nano Server

ขั้นตอนนี้ก็ Run script ตามนี้

$sw = [Diagnostics.Stopwatch]::StartNew()
Import-Module -Name C:\temp\NanoServer\NanoServerImageGenerator
# Prepare password as secure string
$secAdminPassword = ("Passw0rd"|ConvertTo-SecureString -AsPlainText -Force)
# Create Nano image
New-NanoServerImage -MediaPath C:\temp -BasePath .\ -DeploymentType Guest -Edition Standard -TargetPath "c:\temp\NanoVM\vmNanoStorage.vhdx" -AdministratorPassword $secAdminPassword -MaxSize 10GB -storage -ComputerName Nano
# Create VM
$strVM = "Nano"
New-VM -VHDPath c:\temp\nanovm\vmnanostorage.vhdx -MemoryStartupBytes 512MB -Name $strVM -Generation 2
Set-VMProcessor -VMName $strVM -Count 1
$sw.Stop()
$sw.Elapsed

4. ตรวจผลการสร้าง VHD จากการ Run PowerShell Script ใช้เวลาไม่ถึง 4 นาที

Nano-p1-5

 

5. Start-VM และ Config ค่าเริ่มต้น

เริ่มด้วยการไป Assign Virtual Network Card และ Start-VM

Nano-p1-6

 

Start VM

Nano-p1-7

6. Emergency Management Console

– หน้านี้เป็นหน้าแรก ให้ Login ด้วย user name: Administrator และ Password ที่เตรียมตอน Run PowerShell script

image

 

– เมื่อ Login เข้ามาแล้วจะเป็นหน้า Main Menu

Nano-p1-8

– เลือก Networking จะได้หน้านี้

Nano-p1-9-1

– เลือก Ethernet จะได้หน้านี้ สามารถกำหนด DHCP หรือ IP Address ได้

Nano-p1-9-2

– กลับไปหน้าแรกเลือก inbound firewall rule จากหน้าแรกจะได้หน้านี้ เพื่อเปิด/ปิด port ด้วย firewall ตามภาพด้านล่างจะเปิดให้ใช้ Ping ได้

Nano-p1-10-1

–  ต้องไป Enable ก่อน จึงจะทดสอบ Ping มาที่ Nano ได้

Nano-p1-10-2

7. PowerShell Remote Management

– เนื่องจากเราต้อง Remote เข้ามาจัดการ Nano ด้วย PowerShell Remoting เราจึงต้องเปิด WinRM ด้วย

Nano-p1-11-1

 

– กด Enter เพื่อเปิด WinRM จำเป็นต้องใช้ สำหรับการ Remote  Management

Nano-p1-11-2

มาถึงตรงนี้ คงจะเห็นภาพแล้ว Nano เป็นอย่างไร ตอนต่อไปจะเป็นการ Remote ด้วย powershell (อ่านที่นี่) และการสร้าง Web Server

Reference

  1. Emergency Management Console(https://windowsserver.uservoice.com/forums/295068-nano-server/suggestions/7943241-nano-server-console-to-show-change-network-informa)
Advertisement