มีวิธีการโคลน VM ที่มีอยู่บนเซิร์ฟเวอร์ ESXi โดยไม่ต้องนำเข้าอีกครั้งหรือไม่


29

ฉันได้นำเข้า VM ไปยังเซิร์ฟเวอร์ ESXi โดยใช้ VMware "ตัวแปลงสแตนด์อโลนยูทิลิตี้" อย่างไรก็ตามกระบวนการนี้ค่อนข้างน่าเบื่อ ในที่สุดเมื่อฉันต้องการ VM หลายชุดนี้ (หรือเพื่อให้แม่นยำยิ่งขึ้นอินสแตนซ์ที่เหมือนกันมากหรือน้อยกว่าของ VM นี้) ให้ทำงานในเวลาเดียวกันจึงมีวิธีโคลน VM ที่นำเข้ามาแล้วหรือไม่ หรือฉันต้องนำเข้าอีกครั้งสำหรับแต่ละอินสแตนซ์ที่ฉันต้องการหรือไม่


อัปเดต: ฉันมี VM 12 GB ซึ่งนำเข้าสู่เซิร์ฟเวอร์ ESXi ทำการนำเข้าตรง: 15 นาที ใช้ Converter Stand Alone เพื่อโคลนจากเซิร์ฟเวอร์ ESXi กลับมาสู่ตัวมันเอง: 1 ชั่วโมง 15 นาที
— David Mackintosh

การคัดลอกด้วย cp ตามด้านล่าง: ใช้เวลาประมาณ 15 นาที แต่ฉันไม่สามารถรับ VM ผลลัพธ์ที่จะเริ่มต้นอย่างถูกต้อง
— David Mackintosh

คำตอบ:


37

ไม่จำเป็นต้องใช้ตัวแปลงเพื่อโคลน VM

เพียงเรียกดูที่เก็บข้อมูล:

  • คลิกที่โฮสต์> แท็บการกำหนดค่า
  • เลือกฮาร์ดแวร์> ที่เก็บข้อมูลเพื่อแสดงที่เก็บข้อมูล
  • คลิกขวาที่ที่เก็บข้อมูลด้วย VM ที่คุณต้องการโคลน> เรียกดูที่เก็บข้อมูล
  • สร้างโฟลเดอร์ใหม่ในร้าน
  • คลิกขวาที่โฟลเดอร์ VM และเลือกคัดลอก (ต้องทำในบานหน้าต่างด้านขวาของ Datastore Browser)
  • วาง VM ลงในโฟลเดอร์ย่อยใหม่ (มิฉะนั้น VM จะเขียนทับตัวเอง)
  • เมื่อคัดลอกแล้วให้เปลี่ยนชื่อและย้ายโฟลเดอร์หากต้องการ
  • เลือกไฟล์. vmx ภายใน VM ที่โคลนและเลือก 'เพิ่มลงในสินค้าคงคลัง'

ไม่สามารถพูดได้ดีกว่านี้เอง
— grufftech

ฉันลองใช้วิธีนี้และในขณะที่มันเป็นวิวัฒนาการที่ประสบความสำเร็จและน่าสนใจมันกลับกลายเป็นอย่างน้อย 2x ช้ากว่าการใช้ตัวแปลงสแตนด์อโลนบน VM ฉันยังพบว่ามันเป็นเรื่องตลกเล็กน้อยการคลิก / พิมพ์มากกว่าการใช้ฟังก์ชัน "คัดลอกเป็นใหม่ ... " ในตัวแปลง ฉันกำลังใช้ที่เก็บข้อมูล NFS ที่บริการโดย Nexenta และมีการ จำกัด แบนด์วิดท์
— JGurtz

วิธีนี้ช่วยให้คุณสามารถคัดลอกในขณะที่ vm เปิดอยู่หรือไม่
— Bretticus

อาจจะไม่. ฉันพยายามคัดลอกโฟลเดอร์ VM ที่กำลังทำงานจากที่เก็บ HDD ไปยังที่เก็บ NFS ของฉันและพบข้อผิดพลาดหลายประการ ฉันคิดว่าฉันควรรอจนกว่าฉันจะสามารถลด vm ลงได้
— Bretticus

16

ที่จริงมันง่ายกว่าที่จะไปรับเครื่องโฮสต์ใน VIC ภายใต้แท็บสรุปและเรียกดูที่เก็บข้อมูล จากนั้นสร้างโฟลเดอร์สำหรับ vm ใหม่คัดลอกไฟล์ vmdk จากซอร์ส vm ของคุณโดยคัดลอกและวางภายในเบราว์เซอร์ที่เก็บข้อมูลแล้วสร้าง VM ที่กำหนดเองสำหรับไฟล์ vmdk ใหม่ ตรวจสอบให้แน่ใจว่า VM และชื่อโฟลเดอร์ของคุณตรงกันและใช้เวลาในการทำ 1 / 10th

ตัวอย่างสำหรับฉันคือ:

7gig VM:

  • Converter: 13 นาที
  • โดยตรง: 3 นาที
  • คัดลอกผ่านเบราว์เซอร์ Datastore: 1 นาที

ฉันทำสำเนาของ VM 17 ตัวในเวลาไม่ถึง 20 นาทีซึ่งช่วยประหยัดเวลาได้หนึ่งตันจากตัวแปลง


5

คุณต้องใช้การเข้าถึงคอนโซล (หรือ SSH) ไปยังเซิร์ฟเวอร์ ESXi จากนั้นคุณสามารถคัดลอก VM ของคุณโดยใช้คำสั่ง UNIX มาตรฐาน (cp)

ในการรับสิทธิ์เข้าใช้คอนโซล:

  • ไปที่คอนโซลของเซิร์ฟเวอร์
  • พิมพ์ ALT-F1
  • พิมพ์ "ไม่สนับสนุน" โดยไม่มีเครื่องหมายคำพูด (ไม่มีเสียงก้อง)
  • พิมพ์รหัสผ่านของคุณ (ไม่มีเสียงก้องอีกครั้ง)

ตอนนี้คุณอยู่ที่พรอมต์คำสั่งของเซิร์ฟเวอร์ หากคุณต้องการเปิดใช้งานการเข้าถึง SSH ให้แก้ไข /etc/inetd.conf และลบสัญลักษณ์ความคิดเห็น ("#") จากบรรทัด SSH


ในขณะที่ถูกต้องจะต้องมีมากกว่านั้น ฉันไม่สามารถรับสำเนาของ VM เพื่อเริ่มต้นอย่างถูกต้อง มันจะ PXE เสมอจากนั้นหยุดด้วยการอ้างสิทธิ์ "ไม่มีระบบปฏิบัติการ"
— David Mackintosh

แปลกมากฉันสามารถคัดลอก VMs ด้วยวิธีนี้ได้เสมอ คุณกำลังคัดลอกไดเร็กทอรี VM ทั้งหมดหรือเฉพาะไฟล์ VMX และ / หรือ VMDK หรือไม่? ลองคัดลอกไดเร็กทอรี VM แบบเต็มไปยังตำแหน่งอื่นนำเข้า VM ที่คัดลอกไปยัง ESXi แล้วเริ่มต้น
— Massimo

สำหรับฉันมันยังทำงานได้เสมอโดยเพียงแค่คัดลอกไฟล์ Plan B จะทำการคัดลอกเฉพาะไฟล์ disk / vmdk และสร้าง vm ใหม่และแนบ vmdks ในภายหลัง
— Jure1873

2
แทนที่จะใช้ cp ให้ใช้ vmkfstools
— kbyrd

5

[แก้ไขคำตอบของฉันเอง]

สรุป:

  • ตัวแปลงใช้เวลาประมาณ 15 นาทีในการเรียกใช้จาก WS6 ไปยัง ESXi
  • ตัวแปลงใช้เวลาประมาณ 45 นาทีในการเรียกใช้จาก ESXi ไปยังตัวเอง
  • เข้าสู่ระบบด้วยพรอมต์คำสั่งแล้วคัดลอกตามคำแนะนำ "ไม่สนับสนุน" ทำงาน แต่ใช้เวลาประมาณ 20 นาทีในการคัดลอก VM และฉันไม่สามารถเริ่มผลลัพธ์ได้อย่างถูกต้อง

ข้อสรุปของฉัน: ใช้ตัวแปลงซ้ำ ๆ

ขอบคุณทุกความคิด

(อัปเดตในภายหลัง: นี่คือรายละเอียดเกี่ยวกับวิธีสร้างสำเนาของ VM โดยไม่เรียกใช้ตัวแปลงซ้ำ ๆ )


น่าเสียดายที่ Converter ไม่ได้รับการอัพเดตสำหรับแพลตฟอร์ม Linux และเวอร์ชันล่าสุด 4.0.1 ไม่สามารถแปลงเครื่องเสมือนเวอร์ชันปัจจุบันได้ ตัวแปลงสำหรับ Windows ที่ทำงานใน VM มีปัญหาในการเข้าถึง VM ผ่าน VMware ที่ใช้ร่วมกัน
— pabouk

@pabouk ที่เป็นจริงสำหรับการเปิดเครื่องคุณสามารถโคลน vm เป็น vm ได้ตลอดเวลา
— Jacob Evans

3

มีสคริปต์ "ghetto-esx-linked-clones" ที่จะทำให้เชื่อมโยงโคลนมากกว่าเต็มโคลน โคลนที่เชื่อมโยงนั้นยอดเยี่ยมสำหรับ VM ที่คุณตั้งใจจะใช้สำหรับการทดสอบระยะสั้นเนื่องจากโคลนจะเก็บเฉพาะความแตกต่างที่สัมพันธ์กับ VM ดั้งเดิมเท่านั้น การเรียกใช้สคริปต์นี้ต้องเปิดใช้งานการเข้าถึง SSH ไปยังโฮสต์ ESXi

http://communities.vmware.com/docs/DOC-9202?tstart=7450


1

คำแนะนำของ Leon Roy เหมาะกับฉัน แต่ฉันคิดว่ามีบางอย่างที่ต้องพิจารณา: vmdk-files ที่จัดเก็บโดยตรงในไดเรกทอรีของ vm เชื่อมโยงกับเส้นทางสัมพัทธ์กับ vmx-file ในขณะที่ vmdks ที่เก็บไว้นอกไดเรกทอรีนี้จะถูกเชื่อมโยงกับเส้นทางที่แน่นอน ดังนั้นหากหนึ่งใน vmdks ที่ใช้โดย VM ไม่ได้อยู่ในไดเรกทอรีเดียวกับ VM เองคุณต้องเปลี่ยนค่าชื่อไฟล์สำหรับไฟล์นั้นในไฟล์ vmx ก่อนที่จะเพิ่มลงในสินค้าคงคลังอีกครั้ง มิฉะนั้นหากคุณเพิ่ม VM ที่คัดลอกมันจะใช้ต้นฉบับไม่ใช่สำเนาของ vmdk


1

การใช้ตัวแปลงเป็นวิธีที่สอดคล้องที่สุดในการแก้ปัญหานี้ การคัดลอกไฟล์ด้วยตนเองใน ESX-i เป็นเรื่องง่าย แต่ใช้เวลาเท่ากันกับการใช้ตัวแปลงและไม่อนุญาตให้คุณเพิ่มไฟล์. vmx ลงในสินค้าคงคลัง (อาจเป็นสีเทา) เก็บรายการข้อมูลนี้ไว้ มันเก่า แต่มันช่วยฉัน :-)


0

คุณควรจะสามารถเรียกใช้ไคลเอนต์โครงสร้างพื้นฐานเสมือนจริงเชื่อมต่อกับเซิร์ฟเวอร์ ESXi ของคุณคลิกขวาบนเครื่องเสมือนที่หยุดและเลือก "Clone" ซึ่งจะทำซ้ำ VM ที่มีอยู่ไปยัง VM อื่น


2
เฉพาะเมื่อคุณทำงานบน vCenter
— lepole

1
ฉันสามารถยืนยัน ESXi 3.5 ไม่อนุญาตให้คุณโคลน VMs จาก VIC
— David Mackintosh

0

จากหน่วยความจำ vCentre Server (vmware.com/products/vi/vc/features.html) จะช่วยให้คุณแปลงเครื่องเป็นเทมเพลตแล้วปรับใช้เทมเพลตนั้นหลายชุดเป็นเครื่องเสมือน ฉันเชื่อว่ามีการทดลองใช้ 60 วัน (vmware.com/tryvmware/index.php?p=vsphere&lp=1)


2
เฉพาะในกรณีที่คุณมี Virtual Center - หากคุณใช้งาน "Free ESX 3i" คุณจะถูก จำกัด การใช้งาน
— Rob Bergin

ถ้ามันเป็นหนึ่งในการทดลองอาจใช้งานได้สำหรับที่
— Antitribu
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.