Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> เครื่องเสมือน

วิธีเข้าถึง VMFS Datastore จาก Linux, Windows และ ESXi

วันนี้เราจะพูดถึง 3 วิธีง่ายๆ ในการเข้าถึงข้อมูลที่จัดเก็บบน VMFS Datastore ของโฮสต์ ESXi (ไฟล์การตั้งค่า, ไฟล์ข้อมูล และ Snapshot ของ Virtual Machines) จาก Linux, Windows และ ESXi บทความนี้อิงจากกรณีจริงของลูกค้า เมื่อเซิร์ฟเวอร์ผลิตที่มี VMware ESXi Hypervisor หยุดทำงานอย่างกะทันหัน

หากโฮสต์ ESXi ค้างแต่ดิสก์ท้องถิ่นของเซิร์ฟเวอร์ยังทำงานอยู่ สามารถคัดลอกไฟล์ Virtual Machine (ทั้ง Data Drives และ Configuration Files) จาก VMFS Datastore และรัน VM บนเซิร์ฟเวอร์อื่น (แม้แต่ VMware Workstation หรือ Hyper-V) ปัญหาหลักคือ OS ทั่วไป (Windows และ Linux) โดยค่าเริ่มต้นไม่รู้จัก Partition ที่มีระบบไฟล์ VMFS เนื่องจากไม่มี VMFS Driver ในบทความนี้เราจะดูวิธีเข้าถึงไฟล์ Virtual Machine บนดิสก์ที่มีระบบไฟล์ VMFS

ปัญหาคือ ไม่ได้ตั้งค่า Backup ของ VMware Virtual Machines และไม่มีเวลาวิเคราะห์/แก้ไขปัญหาการบูทของโฮสต์ ESXi จึงตัดสินใจคัดลอกไฟล์ของ VM สำคัญจาก VMFS Storage ด้วยตนเอง และรันบนโฮสต์อื่นที่ติดตั้ง ESXi ด่วน

มาดู 3 สถานการณ์การเข้าถึงข้อมูลบน VMFS Datastore

วิธี Mount ระบบไฟล์ VMFS บน Linux (Ubuntu)

สามารถ Mount Partition ที่มีระบบไฟล์ VMFS บนคอมพิวเตอร์ที่ติดตั้ง Ubuntu (Ubuntu Live CD ไม่เหมาะในกรณีนี้)

ขั้นแรก ต้องต่อดิสก์ทางกายภาพที่มีระบบไฟล์ VMFS เข้ากับคอมพิวเตอร์ (เซิร์ฟเวอร์) ที่มี Ubuntu เพื่อเข้าถึงข้อมูลบน VMFS Volume ต้องติดตั้งแพ็กเกจของบุคคลที่สาม vmfs-tools แพ็กเกจนี้ช่วยให้เข้าถึง VMFS จากโฮสต์ที่ไม่ใช่ ESXi ได้ สามารถเข้าถึงข้อมูลบน Partition นี้ได้ในโหมด Read-only เท่านั้น ข้อจำกัดสำคัญอีกอย่าง: ผู้พัฒนา vmfs-tools ประกาศรองรับ VMFS versions จนถึง VMFS 5.0 เท่านั้น ไม่รับประกันการต่อ Partition ที่มี VMFS 6 (vSphere 6.0 และ 6.5)

ติดตั้งแพ็กเกจด้วยคำสั่ง:

1 
apt-get install vmfs-tools

หมายเหตุ: ใน Ubuntu Repository มีแค่ vmfs-tools 0.2.1 ซึ่งข้อเสียหลักคือทำงานกับ VMFS v3 เท่านั้น หากต้องการ Mount VMFS 5 Datastore ต้องดาวน์โหลดและติดตั้ง vmfs-tools 0.2.5 หรือสูงกว่า เช่น ที่นี่:

  1. https://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_amd64.deb — แพ็กเกจสำหรับระบบ 32-bit
  2. https://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_i386.deb — แพ็กเกจสำหรับระบบ 64-bit

ดาวน์โหลดแพ็กเกจเวอร์ชันที่เหมาะสม:

1 
#wget https://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_amd64.deb

และติดตั้ง:

1 
#dpkg -i vmfs-tools_0.2.5-1_amd64.deb

ติดตั้ง Dependencies ของแพ็กเกจด้วยคำสั่ง:

1 
#apt-get install vmfs-tools

หลังติดตั้งแพ็กเกจแล้ว ต้องสร้าง Mount Point ที่จะ Mount Partition VMFS:

1 
#mkdir /mnt/vmfs

ขั้นตอนต่อไป ดู Partition บนดิสก์ ESXi สร้าง Partition บริการจำนวนหนึ่งนอกจาก Partition สำหรับไฟล์ VM (VMFS Partition)

หากเวอร์ชัน ESXi เป็น 4 หรือก่อนหน้า หรือ VMFS Storage อัปเกรดจาก VMFS 3 เป็น VMFS 5 และขนาดไม่เกิน 2TB แสดงรายการดิสก์และ Partition:

1 
#fdisk -l

วิธีเข้าถึง VMFS Datastore จาก Linux, Windows และ ESXi

เห็นว่า VMFS Partition คือ /dev/sdb3 (Label: VMware VMFS)

สำคัญ: ใน ESXi 5 ขึ้นไป ใช้ VMFS v5 พร้อมตาราง Partition แบบ GPT GUID Partition Table อนุญาตให้สร้าง Storage ใหญ่กว่า 2TB และต่อ RDM Drives ในโหมด Physical Compatibility ดังนั้นต้องใช้คำสั่ง parted แทน fdisk

แสดงข้อมูล Partition:

1 
#parted -l

ตอนนี้เหลือแค่ Mount Partition ที่มี VMFS Storage:

1 
#vmfs-fuse /dev/sdb3 /mnt/vmfs

แสดงเนื้อหาของ Partition ที่ Mount แล้ว:

1 
#ls -all /mnt/vmfs

ตอนนี้เห็นไฟล์ Virtual Machine ทั้งหมดบน VMFS Storage ที่เข้าถึงได้ในโหมด Read-only หมายถึงสามารถคัดลอกไดเรกทอรีและ/หรือไฟล์แต่ละไฟล์ของ VM ที่จำเป็นไปยังดิสก์แยก และรันบนโฮสต์ ESXi อื่น

เข้าถึง VMFS Volume จาก Windows

เพื่อต่อ VMFS Volume และเข้าถึงไฟล์ Virtual Machine จาก Windows ต้องใช้ Java Driver 特別 — Open Source VMFS Driver ไดรเวอร์นี้ต้องการ Java Version 6 ขึ้นไป และอนุญาตให้ Mount VMFS Volumes ในโหมด Read-only

ดาวน์โหลด Open Source VMFS Driver ที่นี่: https://code.google.com/archive/p/vmfs/ ปัจจุบันโปรเจกต์นี้ไม่ได้อัปเดตตั้งแต่ 2010 เวอร์ชันไดรเวอร์ล่าสุดที่มีอยู่คือ VMFS Driver r95 ซึ่งรองรับเฉพาะ VMFS 3 (< ESXi 5)

หมายเหตุ: หากพยายามต่อกับ VMFS เวอร์ชันใหม่กว่า จะได้ข้อความผิดพลาด: No VMware File System detected

    • ดาวน์โหลด Open Source VMFS Driver (fvmfs_r95_dist.zip) แตกไฟล์ไปไดเรกทอรีใดๆ (เช่น C:\vmfs)
    • ตรวจสอบการทำงานของ Java Application fvmfs.jar ดังนี้:
      1 2 
      cd \vmfs java -jar fvmfs.jar
    • ต่อไป ต้องระบุหมายเลข HDD ที่มี VMFS Storage ต่ออยู่กับคอมพิวเตอร์ Windows หาได้จาก Disk Management Console หรือ diskpart (ในตัวอย่าง ดิสก์ที่ต่ออยู่มี Index 1 – Disk1 สำหรับ fvmfs driver ดิสก์นี้มีชื่อ: \\.\PhysicalDrive1)
    • ลองดูข้อมูลของดิสก์นี้:
      1 
      java -jar fvmfs.jar \\.\PhysicalDrive1 info

      วิธีเข้าถึง VMFS Datastore จาก Linux, Windows และ ESXi

    • แชร์ดิสก์นี้ด้วย WebDAV:
      1 
      java -jar fvmfs.jar \\.\PhysicalDrive1 webdav
    • ตรวจสอบว่า Service WebClient เริ่มต้นแล้ว หากปิดใช้งาน ให้รันวิธีเข้าถึง VMFS Datastore จาก Linux, Windows และ ESXi
    • Mount ดิสก์ที่แชร์:
      1 
      net use * https://localhost:50080/vmfs
    • ดิสก์ใหม่ที่มี VMFS Datastore พร้อมอ่านควรปรากฏในระบบ วิธีเข้าถึง VMFS Datastore จาก Linux, Windows และ ESXi
    • ดิสก์ใหม่ที่มี VMFS Datastore พร้อมอ่านควรปรากฏในระบบ
    • อย่าปิดหน้าต่าง Console ขณะทำงานกับไฟล์บน VMFS Storage

การ Mount VMFS Datastore ที่มีอยู่บนโฮสต์ ESXi ใหม่

เห็นได้ว่าในทั้ง 2 กรณีข้างต้น ไดรเวอร์ VMFS ของบุคคลที่สามสำหรับ Linux และ Windows ไม่อนุญาตให้ทำงานกับ VMFS 6.0 ดังนั้น วิธีที่เป็นสากลที่สุดในการเข้าถึงข้อมูลบน Partition VMFS ของเซิร์ฟเวอร์ที่ล้มเหลว คือต่อดิสก์ของมันไปยังเซิร์ฟเวอร์ ESXi ใหม่ (สามารถติดตั้ง ESXi บนโฮสต์ใหม่ได้ในไม่กี่นาที) นี่คือวิธีที่ง่ายที่สุด ด้วยวิธีนี้ สามารถต่อดิสก์แข็งทางกายภาพและ LUN จากอุปกรณ์ Storage (ผ่าน FC หรือ iSCSI) ได้

โฮสต์ ESXi ใหม่ต้องระบุ Datastore VMFS ที่ต่ออยู่ได้อย่างถูกต้อง และคุณจะสามารถเข้าถึงไฟล์บนมันได้

ทำตามขั้นตอนด้านล่างเพื่อต่อ VMFS Storage ที่มีอยู่แล้วไปยังโฮสต์ ESXi ใหม่โดยไม่ฟอร์แมต:

  1. เชื่อมต่อกับเซิร์ฟเวอร์ ESXi ใหม่โดยใช้ vSphere Web Client
  2. ต่อดิสก์กับเซิร์ฟเวอร์ใหม่ และรัน Storage Rescan
  3. ไปที่ Configure → Datastores และเลือก Create a new datastore วิธีเข้าถึง VMFS Datastore จาก Linux, Windows และ ESXi
  4. เลือกประเภท Storage: Disk หรือ LUN
  5. ในรายการอุปกรณ์ที่มีอยู่ เลือกดิสก์ (LUN) ที่ต่ออยู่พร้อม VMFS Storage
  6. เลือกโหมดการเชื่อมต่อ เลือก Keep the existing signature วิธีเข้าถึง VMFS Datastore จาก Linux, Windows และ ESXi
  7. คลิก Finish
  8. ไปที่ส่วน Storage ของโฮสต์ เลือก Storage ที่ต่ออยู่ เนื้อหาสามารถแสดงได้โดยคลิกปุ่ม Datastore Browser วิธีเข้าถึง VMFS Datastore จาก Linux, Windows และ ESXi
  9. ตอนนี้หาไฟล์ vmx ที่จำเป็น ลงทะเบียนบนโฮสต์ และเริ่ม Virtual Machines สำคัญทันที