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

การเข้าถึง USB Flash Drive จาก VMWare ESXi

บางครั้งคุณอาจต้องเชื่อมต่อแฟลชไดรฟ์ USB ภายนอก (แท่ง) กับโฮสต์ VMWare ESXi ของคุณโดยตรง ตัวอย่างเช่น คุณอาจต้องคัดลอกอิมเมจเครื่องเสมือนเพื่อส่งไปยังสำนักงานระยะไกล (หากช่อง WAN ระหว่างสำนักงานทำงานช้าหรือโหลดมาก) เพื่อสำรองไฟล์ VM ไปยังสื่อ USB ภายนอก เพื่อคัดลอกไฟล์ ISO หรือ อิมเมจ VM ไปยังโฮสต์ ESXi (เมื่อจะดีกว่าที่จะไม่โอเวอร์โหลด LAN ของคุณ) ในบทความนี้ เราจะแสดงวิธีเชื่อมต่อแฟลชไดรฟ์ USB/แท่งกับโฮสต์ ESXi เป็น VMFS datastore หรือเพื่อคัดลอกไฟล์จากพาร์ติชั่น FAT32/NTFS โดยตรง

จะเชื่อมต่อไดรฟ์ USB ภายนอกเป็น VMFS Datastore ใน VMWare ESXi ได้อย่างไร

สมมติว่าคุณต้องการเชื่อมต่อไดรฟ์ USB กับโฮสต์ ESXi และสร้างที่เก็บข้อมูล VMFS เพื่อคัดลอก/ย้ายไฟล์และรูปภาพของเครื่องเสมือนอย่างสะดวก

อย่างเป็นทางการ VMWare ไม่รองรับไดรฟ์ USB ภายนอกเป็น VMFS datastore อย่างไรก็ตาม มันใช้งานได้และคุณสามารถใช้งานได้ นอกจากนี้ ESXi ยังไม่รองรับอุปกรณ์ USB ที่มีขนาดใหญ่กว่า 2 TB

ใน VMWare ESXi 6.5 ขึ้นไป วิธีการเชื่อมต่ออุปกรณ์ USB กับโฮสต์มีการเปลี่ยนแปลง ก่อนหน้านี้มีการใช้ไดรเวอร์หลายตัว (xhci, ehci-hcd, usb-uhci, usb-storage) จากนั้นไดรเวอร์ USB ตัวเดียว (vmkusb ) แทนที่ทั้งหมดแล้ว

  1. เชื่อมต่อกับคอนโซล ESXi ผ่าน SSH;
  2. หยุด USB อนุญาโตตุลาการ . บริการนี้ใช้เพื่อส่งผ่านอุปกรณ์ USB จากโฮสต์ ESXi ไปยังเครื่องเสมือน (USB Passthrough):# /etc/init.d/usbarbitrator stop หากคุณไม่ต้องการให้อนุญาโตตุลาการ USB เริ่มทำงานหลังจากการรีสตาร์ทโฮสต์ ให้รันคำสั่ง:# chkconfig usbarbitrator off
  3. เชื่อมต่อไดรฟ์ USB เปล่ากับโฮสต์ ESXi ของคุณ
  4. คุณสามารถระบุชื่อของไดรฟ์ USB ได้ในบันทึก:/var/log/vmkernel.log หรือใช้ /dev/disks :# ls /dev/disks/ ดิสก์ USB มักจะมีชื่อว่า mpx.vmhbaX หรือ naa.X . การเข้าถึง USB Flash Drive จาก VMWare ESXi
  5. สร้างตารางพาร์ติชัน GPT (GUID) บนไดรฟ์ USB ของคุณ:# partedUtil mklabel /dev/disks/naa.5000000000000001 gpt
  6. จากนั้นสร้างพาร์ติชันบนไดรฟ์ของคุณด้วยตนเอง โดยระบุเซกเตอร์แรกและเซกเตอร์สุดท้ายในไดรฟ์ แสดงรายการข้อมูลเกี่ยวกับเซกเตอร์ของดิสก์: # partedUtil getptbl /dev/disks/naa.5000000000000001 การเข้าถึง USB Flash Drive จาก VMWare ESXi
  7. ภาคแรกเสมอ 2048 . ขนาดของเซกเตอร์สุดท้ายคำนวณจากเอาต์พุต getptbl ในตัวอย่างของฉัน มีการคำนวณดังนี้:121597 * 255 * 63 -1 = 1953455804
    หากมีพาร์ติชันในไดรฟ์ คุณสามารถลบออกได้:# partedUtil delete /dev/disks/naa.5000000000000001 1
  8. สร้างพาร์ติชัน VMFS ( GUID ของพาร์ติชันดังกล่าวจะเป็น AA31E02A400F11DB9590000C2911D1B8) เสมอ:# partedUtil setptbl /dev/disks/naa.5000000000000001 gpt "1 2048 1953455804 AA31E02A400F11DB9590000C2911D1B8 0"
  9. จากนั้น คุณสามารถฟอร์แมตพาร์ติชันด้วย VMFS6:# vmkfstools -C vmfs6 -S USB-HDD-DSDatastore /dev/disks/naa.5000000000000001:1
  10. เปิดกราฟิก VMWare vSphere Client และไปที่ Storages . ไดรฟ์ USB ของคุณจะปรากฏในรายการที่เก็บข้อมูลที่มี

การเข้าถึง USB Flash Drive จาก VMWare ESXi

จะคัดลอกไฟล์จากไดรฟ์ USB (NTFS/FAT32) ไปยัง ESXi โดยตรงได้อย่างไร

หากคุณไม่ต้องการเปลี่ยนระบบไฟล์บนไดรฟ์ USB ของคุณเป็น VMFS (มีเคล็ดลับเล็กน้อยในการเข้าถึง VMFS จาก Windows) คุณสามารถเข้าถึงไฟล์บนพาร์ติชันที่จัดรูปแบบ NTFS หรือ FAT32 จากคอนโซล ESXi และคัดลอกไฟล์ที่คุณต้องการ .

ปิดใช้งานบริการอนุญาโตตุลาการ USB ก่อนเชื่อมต่อไดรฟ์ USB กับโฮสต์ ESXi

ในการเข้าถึงพาร์ติชันที่จัดรูปแบบ FAT32 จาก ESXi คุณสามารถใช้ mcopy เครื่องมือ. ในการเข้าถึงพาร์ติชัน NTFS บนไดรฟ์ USB ให้ใช้ ntfscat . ระบบไฟล์ Ext3 ยังรองรับอยู่แต่เดิม ข้อจำกัดพื้นฐานคือ:

  • FAT32 และ Ext3 มีพาร์ติชั่นให้อ่านและเขียน
  • NTFS ไดรฟ์เป็นแบบอ่านอย่างเดียว (หมายความว่าคุณสามารถคัดลอกข้อมูลจากไดรฟ์ NTFS USB ไปยังโฮสต์ ESXi ได้ แต่จะทำในทางกลับกันไม่ได้)

ในการคัดลอกไฟล์จากอุปกรณ์ USB FAT32 ไปยัง ESXi ให้ใช้คำสั่งนี้:

# /bin/mcopy -i "/dev/disks/naa.5000000000000001:2" ::/some.iso /vmfs/volumes/12345678-ddd654321-4321-aaaabbbb2222/iso/some.iso

โดยที่ /some.iso เป็นเส้นทางไปยังไฟล์บนไดรฟ์ USB ของคุณ พาธที่สองแสดงตำแหน่งที่จะคัดลอกไฟล์บนโฮสต์ ESXi (เช่น ไปยังที่เก็บข้อมูล VMFS โดยตรง)

ในการคัดลอกไฟล์กลับจาก ESXi ไปยัง USB เพียงแค่สลับพาธในคำสั่ง

ปัญหาหลักของ FAT32 คือมันไม่รองรับไฟล์ที่มีขนาดเกิน 4 GB ดังนั้นจึงค่อนข้างยากที่จะคัดลอกไฟล์ VMDK ของเครื่องเสมือน ตามกฎแล้ว คุณสามารถแยกไฟล์ต้นฉบับออกเป็นบางส่วนก่อนคัดลอก (เช่น 3 GB):

# split -b 3221225472 /vmfs/volumes/xx/vm1/vm1.vmdk

จากนั้นคุณสามารถคัดลอกทุกส่วนไปยังไดรฟ์ USB และรวมเข้ากับโฮสต์ ESXi เป้าหมายได้:

# cat vm1* > vm1.vmdk

ในการคัดลอกไฟล์จากไดรฟ์ USB ที่จัดรูปแบบ NTFS ไปยังโฮสต์ ESXi จะใช้คำสั่งต่อไปนี้:

# /bin/ntfscat -f /dev/disks/naa.5000000000000001:2" some.iso > /vmfs/volumes/12345678-ddd654321-4321-aaaabbbb2222/iso/some.iso

คุณสามารถคัดลอกไฟล์ไปยัง ESXi เท่านั้น ไม่สามารถคัดลอกกลับได้ ไม่สามารถเขียน NTFS ด้วย ntfscat ได้