Windows Container : Storage 1

ในตอนที่ 2 เราได้เตรียม Container Host กันแล้ว และใช้คำสั่ง docker run ไปบ้าง ตอนนี้เราจะทำความเข้าใจหัวข้อต่อไปนี้

  1. Container Image, Layer, History  และ  docker commit
  2. Volume
Container Image และ Layer

การเข้าใจ Image ต้องควบคู่ไปกับ Layer ตามที่รู้กันแล้วว่า Container เป็นการ share OS เมื่อเราอยากใช้เครื่อง Server ทำหน้าที่อะไร เราจึงต้องมี Image หรือ Application นั้น เช่น เราต้องการ ASP.Net Server คือ เราสร้าง Windows Server ขึ้นมาก่อน แล้วก็ Enable ASP.Net ในโลกของ Windows Container เราจะต้อง download OS Image + ASP. Net จาก Repository เป็นต้น

Image หมายถึง Package ของ Application ที่เตรียมไว้ Run ใน Container ในภาพประกอบด้านล่าง Image ถูกเก็บไว้ที่ Repository มี 3 ที่คือ Public, Private และ Local  ซึ่ง Image อาจมีลง Application เพิ่มเติมบน Image เดิมได้เรื่อยๆ ส่วนที่มา update มันไม่ได้ถูกแก้ของเดิม แต่เป็นการสร้างเป็นของใหม่เพิ่มเติมขึ้นไปเรียกว่า Layer

Image ที่ประกอบด้วย Layer นั้น ใน Container แม้จะมีกี่ Layer ก็ตาม จะมี Layer 2 แบบ คือ Read-only และ Read-Write ตามภาพด้านล่าง โดย Layer ชั้นบนสุดจะสามารถ write ได้ แต่มันเป็นแค่ write เก็บไว้ในระหว่างที่ Run image นั้น หลังจะ stop image สิ่งที่ write ก็จะหายไป ถ้าจะเก็บถาวรต้องใช้ Volume

Layer

Volume

ตามที่กล่าวไปแล้ว Image ถูกออกแบบว่าห้าม save งานลงไปในนั้นโดยตรงเพราะแนวคิดการใช้งาน Docker คือการควบคุมให้ version ใน image มีมาตรฐาน เพื่อให้ใครไปดึงมาใช้ก็เหมือนกัน ถ้าเราต้องการบันทึกข้อมูลจะต้องใช้ Volume เพื่อเก็บข้อมูลถาวร (Persistent Storage) หลังของ volume มีดังนี้

1. สร้าง Folder บน Container Host สำหรับ Share ให้ Container นำไปใช้งาน ในตัวอย่าง ตั้งชื่อ volume นี้ว่า WebVolume

docker volume create –name WebVolume

ตรวจสอบผลงานด้วยคำสั่ง

docker volume inspect webvolume

image

2. ใช้งาน Volume ด้วยคำสั่ง docker run แล้วใส่ parameter volume

docker run -it -v WebVolume:c:\WebVolume microsoft/windowsservercore cmd.exe

image

ในภาพจะเห็นว่ามี Folder ชื่อ webvolume อยู่ใน Container และเมื่อสร้างไฟล์ hello.txt ด้วย Notepad ถ้าเราต้องการใช้งานต่อก็เรียก docker run –v

image

ในตอนนี้เราได้รู้จัก Docker Storage เบื้องต้น รู้จัก Image, Layer และ Volume เรื่องนี้ยังไม่จบ ต่อไปจะทำความรู้จักกับ Storage driver ให้มากขึ้น และเราจะรู้จักวิธีสร้าง image ในคราวต่อๆ ไปครับ

Reference

  1. Docker Layer
  2. Docker Fundamental
  3. Image Stored
  4. Volume

 

#WindowsContainerThailand

 

Advertisement

วิธีอ่าน ประกาศ end of support ของ Microsoft

การเป็นผู้ดูแล Software นั้น หน้าที่หนึ่งที่ต้องทำคือ ควบคุมให้มีการใช้ Software ที่มี Support จากผู้พัฒนา เพื่อที่เวลามีปัญหาต่างๆ เช่น Function ไม่ทำงานอันเนื่องจาก Bug, ช่องโหว่ด้าน Security เป็นต้น งานของเราจะได้มีผู้ช่วยเหลือ  นอกจากนี้ ปัจจุบันหลายๆ ธุรกิจมีหน่วยงานภายนอกเข้ามาตรวจสอบ โดยมากก็จะตรวจเรื่องนี้ด้วย ่ตามปกติเราเรียกว่าที่เลิก support ตรงๆ เลยคือ End of Support

สำหรับการใช้งาน Microsoft มีที่ให้ตรวจสอบคือ https://support.microsoft.com/en-us/lifecycle/search การใช้งานก็ไม่ยาก แค่พิมพ์ชื่อ production ที่ต้องการตรวจวัน end of support แล้วกด Search  แต่มันต้องมีวิธีการอ่าน ให้อ่านง่ายๆ ตามภาพด้านล่างครับ

 

MS Support

บริการรับให้คำบริการตรวจสอบ Solution ตรวจสอบ Software License และ Cloud Solution

ผมได้พบว่า เวลาที่เราซื้อเครื่อง Server/PC สำหรับใช้งานธุรกิจ การคำนวณค่าใช้งานโครงการค่อนข้างซับซ้อน เค้าคิดกันหลายแบบ เช่นจำนวนคนใช้งาน หรือ CPU เป็นต้น software บางอย่างก็เกินความจำเป็น ทำให้มีค่าใช้จ่ายที่ไม่จำเป็นโดยที่ท่านไปทราบ เพราะเวลาคุยกับคนขาย บางทีเข้าใจยาก รายละเอียดงานก็ไม่ชัดเจน ทำให้บางท่านมีประสบการณ์ว่าเสนอขายอย่างหนึ่ง แต่พอได้รับของกลับเป็นอย่างอื่น

อีกเรื่องก็เป็นการใช้งาน Cloud หากท่านต้องการคนช่วยวิเคราะห์ความจำเป็น ค่าใช้จ่าย ความปลอดภัย ก็ยินดีให้บริการ ด้วยเช่นกัน

ขอเปิดช่องทางธุรกิจของผม รับให้คำปรึกษาการซื้ออุปกรณ์ต่างๆ และ software เพื่อช่วยประหยัดค่าใช้จ่ายในธุรกิจของท่าน ราคาประหยัด ติดต่อทาง e-mail chaba_ok@yahoo.com

HTTP.sys vulnerability MS15-034

ปัจจุบันเครื่อง Windows Server จะมี HTTP listener หรือ web server อยู่ด้วย (ไม่ได้จัดการโดย IIS Web server เหมือนแต่ก่อน)  เพราะ Microsoft Windows มีงานหลายส่วนที่ทำผ่าน web เช่นการใช้ Remote admin ที่ทำผ่าน web ด้วย เป็นต้น ซึ่งปัจจุบัน Microsoft ได้สร้าง File HTTP.sys เพื่อด่านหน้าในการทำงานของ HTTP  โดยมี IIS เป็น application หนึ่งที่มาเกาะกับ HTTP.sys อีกที ในการออกแบบ OS มี Mode การทำงาน 2 แบบคือ Kernel และ User Mode โดย Kernel จะเป็นส่วน Low Level ที่ System ใช้งานเพื่อ Support การทำงานของทุกส่วนใน Windows ในขณะที่ User Mode จะเป็นขอบเขตของ User แต่ละคนเท่านั้น เราจะพบว่า software ที่วางอยู่ใน Kernel มักเป็น core system ของ Windows เช่น driver ต่าง หรือ virtualization เป็นต้น การติดตั้ง HTTP.sys ใน Kernel จึงมีประโยชน์มากกว่า หน้าที่ของ HTTP.sys ใน Kernel คือ การเป็น Cache สำหรับ HTTP request และการจัด Request Queue ถ้าอยากรู้ว่าใครกำลังใช้ HTTP.sys ในเครื่องบ้านให้ใช้คำสั่งนั้นใน Command Windows

netsh http show servicestate

ปัญหาของ HTTP.sys และการโจมตี

เมื่อ HTTP.sys อยู่ใน Kernel แล้วมันเกิด Vulnerability ผลกระทบก็ต้องมากกว่า  ปัญหาที่พบครั้งนี้คือการตรวจ HTTP Request ที่ใช้ Range ไม่เหมาะสม การทดสอบจะใช้ เครื่องมือชื่อ curl   มีรูปแบบการ เรียก

HTTP

Curl –v http://servername/ -H “Host: servername” –H “Range: byte 0-18446744073709551615” –k

HTTPS

Curl –v https://servername/ -H “Host: servername” –H “Range: byte 0-18446744073709551615” –k

ถ้าเครื่องมีปัญหาจะได้ Return นี้

image

คำสั่ง Range ใน Request ถูกใช้ Download File หรือ Content แล้ว ทำให้ HTTP.sys อ่าน File มาเก็บลง Cache แล้วเอาค่า Range นี้อ่านข้อมูลจาก Cache อีกที

ปัญหาที่พบแล้วตอนนี้ คือ Denied of Service แต่ที่กลัวกันคือถ้ามีการต่อยอดไปได้ ถ้าไปอ่าน Memory ตรงอื่นมาได้จะเกิดอะไรขึ้น?

Windows ที่ได้รับผลกระทบจาก Vulnerability

WIndows Client:  Windows 7,- Windows 8,- Windows 8.1

Windows Server:  Windows Server 2008 R2,- Windows Server 2012,- Windows Server 2012 R2

การแก้ปัญหา

ต้องลง Hotfix MS15-034

Workaround

– ทำด้วยการ Disable IIS kernel caching ในหน้า IIS Admin

clip_image002

clip_image004

Reference

  1. https://technet.microsoft.com/en-us/library/security/ms15-034.aspx
  2. https://blog.sucuri.net/2015/04/website-firewall-critical-microsoft-iis-vulnerability-ms15-034.html
  3. http://www.paehl.com/open_source/downloads/curl_X64_ssl.7z

Agnostic ใน IT มีความหมายว่าอะไร (ครับ)

พอดีว่าช่วงนี้ได้ยินคำว่า Agnostic บ่อย เลยหาคำแปลแบบ IT มาฝากกัน มันมาจากคำว่า Gnostic ในภาษากรีกแปลว่า ความรู้ (knowledge) แล้วใช้ A นำหน้า โดย A มีความหมายว่า ปราศจาก หรือ ไม่ รวมกันก็คือ ไม่มีความรู้ ผมปรับนิดเรียกว่า ไม่จำเป็นต้องมีความรู้ในเรื่องนั้น เพื่อให้เข้าใจแบบไทยง่ายขึ้น 

ดังนั้น Agnostic เมื่อนำมาใช้ใน IT จึงเป็นอะไรสักอย่างที่ทำงานได้โดยไม่จำเป็นต้องรู้  ตัวอย่างคำว่า hardware agnostic ในกรณีของการสร้าง virtual machine (VM) บน Hyper-V นั้น เครื่อง VM มันไม่จำเป็นต้องรู้หรอกว่า เครื่อง host มี hardware เป็นอย่างไร

อีกตัวอย่างคือ platform agnoatic ถ้ามีไฟล์สักอันหนึ่งเปิดที่ Windows, Mac หรือ Tablet ฟังดูเทพไหม มันคือ Acrobat reader ไง ที่เรามี .pdf ไปเปิดที่ไหนก็ได้ โดยมันไม่สนใจว่า hardware, OS อะไร มี reader อย่างเดียวจบ จบไหม? Smile

สรุปสั้นๆ เจอคำนี้ ไปผูกกับคำว่าอะไรก็ตาม นึกไว้ได้เลยว่า อ๊อ มันทำงานได้โดยไม่ต้องรู้เรื่องนั้นๆ ครับ

Can virtual machine unlock from version of Windows?

For Windows server administrator, we have to keep Windows server to have latest hotfix, service pack and OS version. Windows version changes every 2 years. In the past, the age of Windows is longer. We can tide version with server hardware. It can take a chance to upgrade hardware and Windows in one IT change request.

In Cloud generation, virtual machine is running on virtual hardware. It cannot combine Windows version update with hardware. From functional viewpoint, many type of application does not get benefit of Windows version. Why do need to keep every pieces update?

I hope to see the tiny version of Windows for running application and make it like appliance box. We would see a new application sell bundle with virtual machine. 

This is a dream!!!

Pareto Principle: เคยได้ยินกฏ 80/20 ไหม?

Pareto principle หรือกฏ 80/20 มีความหมายว่า เรื่องราวต่างๆ ที่เกิดขึ้นนั้น 80% มีผลมาจากสิ่งที่กระทำลงไปเพียง 20% ฟังแล้วงงไปใหญ่ ขอยกเป็นตัวอย่าง เช่นการขายสินค้า เทียบว่า 80% ของยอดขาย เกิดจากคำสั่งซื้อของลูกค้าเพียง 20% เป็นต้น แสดงถ้าเราพบลูกค้า 20% ที่ว่านั้นแล้ว ดูแลเขาให้ดี เท่ากับรักษายอดขายไว้ได้ถึง 80%  

ขอประยุกต์เรื่องนี้กับลำดับความสำคัญของงาน (Priority) คือ เมื่อเรามีงานต่างๆ มากมาย เราต้องหา 20% นี้ให้ได้ ซึ่งมันคืองานที่เจ้านายหรือลูกค้าคนสำคัญรออยู่ รีบทำมันให้เสร็จ เพราะเมื่อสำเร็จมันคือ 80% ของเรา

หากสนในเรื่องของ Pareto ลองหาจาก Search Engine พิมพ์คำว่า Pareto Principle

 

Windows 8.1 จะออก RTM เดือนสิงหาคม 2556

Microsoft ได้ประกาศแล้วว่า Windows 8.1 หรือ codename “Blue” จะ RTM ในปลายเดือน สิงหาคม 2556 นี้ ส่วนเครื่องออกใหม่ที่ติดตั้ง 8.1 จะออกประมาณกันยายน-ตุลาคม  ลูกค้าที่ใช้ Windows 8 และ Windows RT จะได้ upgrade ฟรี โดยมีการเล่าว่า 8.1 มี Bug เยอะแต่ก็คงออกมาตามนี้ และปล่อย fix ตามมาอีกทีครับ

 

Reference

1. http://www.zdnet.com/microsoft-confirms-windows-8-1-to-rtm-by-august-7000017769/

SCVMM 2012 SP1 Firweall

I interpret firwall requirement from Technical to diagram. For more detail, it is availaable via http://technet.microsoft.com/en-us/library/gg710871.aspx

ผมสร้าง diagram ของ SCVMM Requirement จาก Technet เพื่อความเข้าใจง่ายๆ หากต้องการดูต้นฉบับที่เป็นตารางกด link นี้ครับ http://technet.microsoft.com/en-us/library/gg710871.aspx

 

image