ย้าย VMware ESXi VM ไปยังที่เก็บข้อมูลใหม่ - รักษาการจัดเตรียมแบบบาง


27

ฉันกำลังมองหาทางออกที่ดีสำหรับปัญหาสภาพแวดล้อม VMware ESXi ที่ไม่มี vCenter

วิธีที่ดีที่สุดในการย้าย VM จากที่หนึ่งไปยังอีกที่หนึ่งบนโฮสต์ ESXi เดียวคืออะไรในขณะที่ยังคงการจัดเตรียมแบบบาง VMDK

นี่เป็นเซิร์ฟเวอร์แบบสแตนด์อโลนที่ถูกขยายด้วยไดรฟ์อาร์เรย์ / ดาต้าสโตร์อื่น ฉันต้องการย้ายข้อมูลที่มีอยู่ในอาร์เรย์เก่าไปยังใหม่

แก้ไข: ขนาดดาต้าสโตร์ปลายทางมีขนาดเล็กกว่าแหล่งที่มาจริง ฉันไม่มีที่ว่างพอที่จะคัดลอกไฟล์หนา


คุณคิดว่าเป็นการดีหรือไม่ที่จะย้าย VM ไปยังที่เก็บข้อมูลว่าเล็กเกินไปที่จะพอดี? เกิดอะไรขึ้นกับกระบวนการโกงใน VM นั้นตัดสินใจใช้พื้นที่เก็บข้อมูลทั้งหมด
Zoredache

โดยทั่วไปไม่ ... แต่นี่เป็นกรณีพิเศษ VM จะไม่เติบโต
ewwhite

หาก VM จะไม่เติบโตไม่มีเหตุผลที่จะทำให้การจัดเตรียมแบบผอม
Jim B

ESXi รุ่นใด
Jed Daniels

นี่คือ ESXi 5
ewwhite

คำตอบ:


21

คุณยังสามารถใช้ไฟล์ -> ส่งออก -> ส่งออกเทมเพลต OVF

แล้วนำเข้า ครั้งล่าสุดที่ฉันลองฉันคิดว่านี่จะรักษารูปแบบ vmdk ไม่แน่ใจในตอนนี้เพราะมันค่อนข้างบางเวลา


3
สมมติว่าเวอร์ชั่น 4.1 หรือใหม่กว่าคุณจะได้รับแจ้งให้ใช้งานแบบบางหรือหนาเมื่อนำเข้า
Jed Daniels

2
คุณเข้าใจแล้ว! การส่งออก OVF ไปยังไฟล์บีบอัดแบบเบาบางนั้นรวดเร็วและไม่เจ็บปวด ฉันได้รับตัวเลือกในการจัดเตรียมแบบบางหรือแบบหนาเมื่อนำเข้า 5 นาทีสำหรับเครื่องเสมือน 72GB (ใช้ 8GB)
ewwhite

3
FWIW คุณสามารถทำได้จากบรรทัดคำสั่งโดยใช้ ovftool
Jed Daniels

28

เพิ่งผ่านการค้นหาวิธีการทำสิ่งนี้ด้วยตัวเอง นี่คือหวังว่าง่ายต่อการปฏิบัติตามคำแนะนำเกี่ยวกับวิธีการย้าย VM ของคุณไปยังที่เก็บข้อมูลใหม่ในขณะที่รักษาการตั้งสำรองบาง ๆ ในระหว่างการถ่ายโอน (ดังนั้นจึงลดเวลาในการโอน):

คำแนะนำทีละขั้นตอนโดยใช้ vmkfstools ใน CLI

  1. ปิด VM
  2. (ไม่บังคับ) รวมภาพรวมหากจำเป็น
  3. ลบ VM ออกจากสินค้าคงคลัง vCenter
    • คลิกขวาที่ VM แล้วคลิก "ลบออกจากสินค้าคงคลัง" ป้อนคำอธิบายรูปภาพที่นี่
  4. เปิดใช้งาน SSH บนเครื่อง ESXi
    • ในไคลเอนต์ vSphere ไปที่: การกำหนดค่า -> โปรไฟล์ความปลอดภัย -> คุณสมบัติ (ถัดจากบริการ) -> SSH (ในรายการ) -> ตัวเลือก -> เริ่ม
  5. ล็อกอินด้วย SSH ในฐานะรูท
  6. จัดทำไดเรกทอรีบนที่เก็บข้อมูลปลายทาง
    • mkdir "/vmfs/volumes/destination_datastore/Some VM"
  7. โคลนไฟล์. vmdk โดยใช้การเตรียมแบบบาง
    • vmkfstools -i "/vmfs/volumes/source_datastore/Some VM/Some VM.vmdk" -d thin "/vmfs/volumes/destination_datastore/Some VM/Some VM.vmdk"
  8. คัดลอกไฟล์ที่เหลืออยู่ (หลีกเลี่ยงการเขียนทับไฟล์. vmdk)
    • find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f | grep -v ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
  9. หากคุณไม่ได้รวมสแนปชอตในขั้นตอนที่ 2 อาจมีสแน็ปช็อตไฟล์. vmdk delta เราต้องคัดลอกไฟล์เหล่านี้ (อาจใช้เวลาสักครู่):
    • find "/vmfs/volumes/source_datastore/Some VM" -maxdepth 1 -type f | grep [0123456789][0123456789][0123456789][0123456789][0123456789][0123456789] | grep ".vmdk" | while read file; do cp "$file" "/vmfs/volumes/destination_datastore/Some VM"; done
  10. เมื่อเสร็จสิ้นการโคลนและคัดลอกไฟล์ที่จำเป็นทั้งหมดให้เพิ่ม VM จากที่เก็บข้อมูลใหม่กลับไปยังสินค้าคงคลัง
    • ในไคลเอนต์ vSphere ไปที่: Configuration-> Storage-> Data Browserคลิกขวาที่ที่เก็บข้อมูลปลายทางที่คุณย้าย VM ไปแล้วคลิก "เรียกดูที่เก็บข้อมูล" ป้อนคำอธิบายรูปภาพที่นี่
  11. เรียกดู VM ของคุณและคลิกขวาที่ไฟล์. vmxจากนั้นคลิก "เพิ่มในสินค้าคงคลัง" ป้อนคำอธิบายรูปภาพที่นี่
  12. บูตเครื่อง VM เพื่อดูว่าใช้งานได้หรือไม่เมื่อถูกถามว่าคุณคัดลอกหรือย้ายมันแค่ตอบว่าคุณคัดลอกไว้ (ฉันไม่แน่ใจว่าสิ่งนี้หมายความว่าอย่างไร แต่ฉันคิดว่าอย่างน้อยก็ต้องทำอย่างน้อยกับที่อยู่ MAC ของ vNIC ที่มีการเปลี่ยนแปลง) ป้อนคำอธิบายรูปภาพที่นี่
  13. หาก VM บูทได้ดีคุณสามารถลบ VM ออกจากที่เก็บข้อมูลเก่าได้
    • rm -rf "/vmfs/volumes/source_datastore/Some VM"

หมายเหตุ: ทดสอบกับ ESXi 5 เท่านั้น

ภาพประกอบคัดลอกลงคอจากบล็อกนี้


1
วิธีนี้ใช้ได้ผล แต่การให้ข้อมูลเกี่ยวกับวิธีการย้าย VM ด้วยสแนปชอตนั้นเป็นเรื่องที่ไร้สาระ บอกให้คนลบสแนปชอตทั้งหมดก่อนที่จะลองทำสิ่งนี้
pauska

2
โพสต์ของ @ @ ohaal ข้างต้นใน esxi 5.5 u1 ต้องเปลี่ยน -print0 เป็น -print และใช้งานได้อย่างมีเสน่ห์! PS ฉันต้องการให้คะแนน แต่ไม่มีตัวแทน
icereval

2
@ohaal ตรวจสอบแล้วว่าทำงานกับ ESXi 6.7 ขอขอบคุณ!
Ed of the Mountain

มีเหตุผลในการคัดลอกไฟล์อื่นนอกเหนือจาก. vmdk และ. vmx หรือไม่ ถ้าไม่มีคุณสามารถเปิดสายการง่ายๆfind cp
Agustín Lado

8

ลองดูคำตอบนี้ ตรรกะเดียวกันนี้ใช้กับสถานการณ์ของคุณคือใบเสนอราคานี้:

มันเรียกว่า "ตัวแปลง" แต่จริง ๆ แล้วควรเรียกว่า "ตัวย้ายข้อมูล OS อเนกประสงค์" แม้ว่าจะไม่แผ่ลิ้นออกไปเหมือนกัน

ข้อแตกต่างคือโฮสต์ต้นทางและปลายทางจะเหมือนกัน แต่ดาต้าสโตร์จะแตกต่างกัน นี่หมายความว่าไฟล์จะไปจากโฮสต์ ESXi ไปยังเครื่องแปลงแล้วกลับไปที่โฮสต์ มันจะดีถ้าตัวแปลงเป็น "สมาร์ท" และรู้ว่ามันเป็นโฮสต์เดียวกัน น่าเสียดายที่ค่าใช้จ่ายเงิน

ถ้ำ: การแปลง VM จะสร้างที่อยู่ MAC ใหม่สำหรับอะแดปเตอร์เครือข่ายใด ๆ OSE ของแขกส่วนใหญ่ตีความว่านี่เป็นอุปกรณ์ใหม่


1
จุดที่ยอดเยี่ยมเกี่ยวกับที่อยู่ MAC
JamesBarnett

3

ที่จริงเพียงแค่สร้างโฟลเดอร์ที่ปลายทางเป้าหมายแล้วคัดลอกไฟล์ในโฟลเดอร์จากแหล่งที่มาและมันจะยังคงอยู่ หากคุณคัดลอกโฟลเดอร์มันจะแปลงจากบางเป็นหนา ..


2
สิ่งนี้ไม่ถูกต้อง ตรวจสอบโดยใช้du -h .Thin กลายเป็นหนาเมื่อคัดลอกไปยังโฟลเดอร์ที่สร้างขึ้นแล้วในที่เก็บข้อมูลเดียวกัน cp C* ../newdir
Rowan Hawkins

0

ฉันจะคัดลอกไฟล์แล้วแปลงกลับเป็น thin ด้วย vmkfstools


ขนาดดาต้าสโตร์ปลายทางมีขนาดเล็กกว่าแหล่งที่มาจริง ฉันมีพื้นที่ไม่เพียงพอในการคัดลอกไฟล์หนา
ewwhite

ในกรณีดังกล่าวการคัดลอกและเปลี่ยนกลับจะไม่ทำงาน แต่คุณสามารถใช้ vmkfstools เพื่อคัดลอกโดยตรงไปยังปลายทาง วิธีนี้จะช่วยลดเวลาที่ต้องใช้ในการถ่ายโอนเนื่องจากไม่ได้ถ่ายโอนค่าศูนย์พิเศษ คำตอบของฉันมีรายละเอียดเกี่ยวกับวิธีการทำ
โอฮาล
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.