Wednesday, October 26, 2011

ESXi File Systems

     สวัสดีครับ   ช่วงนี้สถานการณ์น้ำท่วมบ้านเราก็ยังคงน่าเป็นห่วง   กรุงเทพก็เริ่มท่วมกันไปบางส่วนแล้ว  ขอให้ทุกๆคน ปลอดภัยนะคับ

     วันนี้ ผมอยากจะอธิบายเกี่ยวกับโครงสร้างของ ESXi นิดนึง  จิงๆเรื่องนี้ค่อนข้างใหญ่ทีเดียว  แต่ผมจะโฟกัสไปที่ file systems เป็นหลัก  ลองดูภาพข้างล่างนี้นะคับ

    ภาพนี้ผมนำมาจาก properties ของ storageที่ใช้ลงESXi  เราจะสังเกตุได้ว่า  Esxi นั้นจะมีทั้งหมด 8 partition ด้วยกัน (จิงๆคือ 4 primary partition เนื่องจากมี extended partition) แต่จากภาพ  เราไม่รู้เลยว่าแต่ละ partition นั้นใช้ทำหน้าที่อะไรกันบ้าง ดังนั้นผมจะลองขุดเพิ่มเติมโดยผมจะทำการ ssh เข้าไปที่ ESXi

    
จากภาพเราจะสามารถ map partition ไปยัง folder ที่ใช้งานได้โดยมีดังนี้  bootbank, altbootbank, scratch, store ..................... เออ  แล้วแต่ละ folder นั้นไว้ใช้เก็บอะไรละ?  ไว้ผมโชวให้ครบก่อนแล้วจะอธิบายให้นะคับ
เรามาขุดกันต่อดีกว่า   
           
    จากภาพจะเห็นได้ว่าทั้งสี่ partition ที่กล่าวมานั้นมาจาก disk ที่ชื่อ naa.600605b00151xxxxxxxx
 โดยถ้าเรานำไปโยงกับภาพก่อนหน้านี้เราจะได้ว่า scratch --->partition ID 2 , store -->partition ID 8, bootbank-->partition ID 5 ,altbootbank -->partition ID 6

    เอ.............. แล้ว partition ID 7 ไปอยู่ไหนละ  คำตอบคือ partition ที่ 7 นั้นคือ VMKcore (จากภาพแรกสุด) นั้นเอง เราสามารถดูได้จาก command  esxcfg-dumppart  ซึ่งจะโชว์ partition ที่ใช้สำหรับ dump memory ในกรณีที่เรื่องมีปัญหา
     
   สำหรับคนที่รู้linux อาจจะดูจาก command fdisk ได้เข้าใจง่ายกว่า ดังภาพข้างล่างนะคับ

         จะเห็นได้ว่า partition ที่ 3  type เป็น VMFS (Virtual Machine File Systems) ซึ่งก็คือ Local Datastore ของ ESXi นั้นเอง อีกจุดที่น่าสังเกตุคือ  Boot  *  หรือ  boot partition นั้นเอง
ตรงนี้ผมขอเตือนนะคับว่าเลข partition ที่เห็นจาก command นั้นไม่ได้เรียงในลำดับที่ถูกต้องนะคับ
อย่างเช่น boot partition นั้น ในที่นี้เห็นเป็น ID 4  แต่จิงๆแล้วคือ ID 1 เรารู้ได้จาก column start /end ซึ่งจะระบุุ block เริ่มต้นของ disk จาก 1 ไปถึง 286876672 

ปล.  partition ID 1 นั้น  type เป็น extended โดยเริ่มจาก block ที่ 5 ไปถึง block ที่ 900 นั่นหมายความว่า  partition ที่ 5-8 นั้นเป็น extended partition ที่มาจาก patition ที่ 1นะคับ

     จากที่เราได้ขุดมาดูทั้งหมดนั้น สามารถสรุปได้ดังนี้คับ

     

     เอาละมาเข้าเรื่องกันดีกว่า
     bootbank และ altbootbank นั้นจะใช้สำหรับเวลาอัพเกรด หรือ อัพpatch หลักการจะเหมือน dual boot firmware คับ โดย version ปัจจุบันที่ใช้ boot จะอยู่ที่ bootbank  ส่วนเวอชั่นใหม่นั้นจะลงไปที่ altbootbank   หลังจาก reboot ระบบจะทำการสลับ mount point ระหว่างทั้งสองอันนี้โดยเวอชั้นเก่าก็จะถูก mount ไปที่ altbootbank แทน(จะถูกลบไป  เมื่อเราทำการ upgrade,patch ครั้งถัดไป) ดังนั้นเมื่อเกิดอะไรขึ้น เราก็ยังจะสามารถถอยกลับไปยังเวอชั่นก่อนหน้านี้ได้ 1 level คับ
     store จะใช้เก็บไฟล์  Vmware tools สำหรับ Guest
     VMKcore ก็ใช้เป็นที่ รองรับ core dump
 
     ก่อนที่จะพุดถึง scratch   ผมขอชี้แจงนิดนึงเกี่ยวกับ ESXi ก่อน ไม่งั้นจะงงคับ
     Folder / (root) นั้นจะเป็น memory base นั่นคือ  file นั้นเก็บไว้บน memoryทาง VMware เรียก ESXi file systems ว่า visorfs (Hypervisor File Systems)  ดังนั้นถ้าเราreboot ข้อมูลใน / ก็จะหายไปด้วย โดยเฉพาะอย่างยิ่ง /var/log  ซึ่งใช้เก็บ log ทั้งหมด แต่ทำไมทุกครั้งที่เรา reboot ESXi คอนฟิคต่างๆไม่เห็นหายไปไหนเลย  นั่นก็เพราะว่าESXi จะทำการsave state ของตัวเองทุกๆชั่วโมง ไปเก็บไว้ที่ ไฟล์ /bootbank/state.tgz ซึ่งอย่างที่เรารู้กัน bootbank นั้นจะอยู่บน disk  แต่ๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆ
ESXi ไม่ได้ save ทุกอย่างนะคับ โดยหลักๆจะsaveข้อมูล configure ใน folder /etc                     
ยังงี้ /var/log  log ผมก็หายหมดดิ ------------>  /scratch ก็มีไว้เพื่อการนี้และคับ
      scratch นั้น จะมีขนาด 4 GB จะเก็บไฟล์ที่ download มาบน ESXi , log และ /var/tmp  โดยถ้าตอนลง ESXi ระบบเห็นว่ามี disk อย่างต่ำ 5 GB  ระบบจะทำการสร้าง scratch ให้อัตโนมัติ
สามารถอ่านเพิ่มเติมได้ที่นี่คับ KB: 1033696

จากที่พูดมาทั้งหมดนะคับ
 1. เนื่องจากเก็บ folder / (root) เป็น ramdisk  ดังนั้นไม่ควรใช้เป็นที่เก็บไฟล์ที่ไม่จำเป็นคับ   ถ้าจะเก็บให้ไปใช้บน Datastore จะดีกว่า
2. อย่าหวังว่า ไฟล์ที่เก็บไว้บน / (root) จะทนการrebootได้นะคับ ESXi จะsave เฉพาะไฟล์ที่จะเป็นเท่านั้นคับ
 

1 comment:

  1. ขออนุญาตฝากลิงค์นะคะ
    คาสิโนออนไลน์ สอบถามรายละเอียดการสมัครที่ เจ้าหน้าที่ Call Center ได้ตลอด 24 ชั่วโมง สมัครเปิดบัญชีแรกเข้า ขั้นต่ำ 500 บาท ที่นี่เลยค่ะ
    https://www.111player.com

    ReplyDelete