ดูแลและซิงค์ VirtualBox VM ระหว่างคอมพิวเตอร์สองเครื่องแยกกัน


13

ฉันมี VirtualBox VM ที่มีโครงการที่ฉันกำลังทำงานอยู่ ฉันต้องการที่จะใช้ VM นี้บนคอมพิวเตอร์สองเครื่องแยกกันดังนั้นฉันจึงสามารถทำงานกับมันได้ในเวลานั้น ฉันเห็นคำตอบเกี่ยวกับการถ่ายโอนการโคลนและการสำรองข้อมูล VM แต่ไม่มีอะไรในการมีสองชุดและทำให้ข้อมูลตรงกัน

อะไรคือวิธีที่ง่ายที่สุด (ขั้นตอนน้อยที่สุดหรือง่ายที่สุด) หรือวิธีที่ดีที่สุด (ความเสี่ยงต่ำที่สุดของปัญหา) ในการบำรุงรักษาอิมเมจ VM เดี่ยวบนคอมพิวเตอร์หลายเครื่อง

เป็นการดีที่ฉันจะไม่เรียกใช้ VM จากไดรฟ์ USB เนื่องจากคอมพิวเตอร์หนึ่งในสองเครื่องมีพอร์ต USB น้อยมาก แต่ถ้ามันจะดีที่สุดแล้วฉันจะรับมันไป (ฉันจริง ๆ ไม่แน่ใจว่ามีหรือไม่ ปัญหาใด ๆ กับการเรียกใช้ VM จากไดรฟ์ USB) อย่างไรก็ตามฉันวางแผนที่จะใช้ไดรฟ์ USB เพื่อถ่ายโอนไฟล์ระหว่างคอมพิวเตอร์

คำตอบ:


10

ฉันคิดว่าคุณมีสองตัวเลือกที่นี่: อันแรกคือการตั้งค่า (ในการติดตั้ง Virtualbox บนคอมพิวเตอร์ทั้งสอง) โฟลเดอร์ที่ VMs จะถูกเก็บไว้ในฮาร์ดไดรฟ์แบบพกพาหรือระยะไกลบางชนิด; หากคอมพิวเตอร์ที่คุณจะใช้เชื่อมโยงกันบนเครือข่ายคุณสามารถใช้โฟลเดอร์ที่ใช้ร่วมกันได้ถ้าไม่ฉันกลัวว่าทางออกเดียวคือ pendrive USB หรือฮาร์ดไดรฟ์ภายนอก File > Preferences > General > Default Machine Folderการตั้งค่าโฟลเดอร์ไปที่ ความเร็วของคีย์ USB อาจ จำกัด ประสิทธิภาพโดยรวม

โซลูชันที่สองที่ต้องการ pendrive หรือสิ่งที่คล้ายกัน (แต่เพื่อพกพาไฟล์ VM ของคุณ) คือการส่งออกและนำเข้า VM ที่ต้องการทุกครั้งที่คุณต้องพกพาไปด้วยตนเอง คุณสามารถทำได้โดยการเลือก VM และไปกับและFile > Export Appliance File > Import Applianceโดยการส่งออกไฟล์ที่มีรูปแบบ. ova จะถูกสร้างขึ้นเป็นไฟล์เก็บถาวรที่มีไฟล์ทั้งหมดที่จำเป็นในการใช้ VM โดยนำเข้าไฟล์ในการติดตั้งอื่นคุณจะมี VM เดียวกันบนคอมพิวเตอร์เครื่องที่สอง วิธีนี้คุณจะใช้ pendrive ในการพกพาไฟล์ต่าง ๆ ของคุณซึ่งเมื่อนำเข้าอีกครั้งจะถูกจัดเก็บและเข้าถึงได้จากคอมพิวเตอร์ของคุณดังนั้นความเร็ว USB จึงไม่เป็นปัญหา


5

ต้องเผชิญกับปัญหาเดียวกันทั้งหมดและฉันคิดว่าฉันแก้ไขมัน

สมมติว่าคุณมีสองเครื่อง A และ B สร้าง / เตรียม vm ของคุณใน A หลังจากนั้นถ่ายภาพหรือสร้างโคลนที่เชื่อมโยง (ทั้งสองงาน แต่ขั้นตอนเพิ่มเติมแตกต่างกันจะให้หนึ่งคุณสามารถแก้ไขอื่น ๆ )

ตอนนี้ตรวจสอบให้แน่ใจว่าคุณมี Virtualbox ที่ติดตั้งใหม่ใน B. คัดลอก ~ / .VirtualBox และ VM เสมือน ~ / VirtualBox จาก A ถึง B ด้วย USB (พิจารณาว่าอยู่ในไซต์ที่อยู่ไกล)

ตอนนี้ถ้าคุณเลือกวิธีถ่ายภาพให้ซิงค์โฟลเดอร์ ~ / VirtualBox VMs / YourVM / Snapshots จนกว่าจะมีขนาดใหญ่พอ หากมีขนาดใหญ่ขึ้นให้สร้างสแน็ปช็อตอื่นใน A และคัดลอกโฟลเดอร์ YourVM ไปที่ B เพื่อซิงค์ไฟล์สแนปชอตใหม่นี้เพียงครั้งเดียวในโฟลเดอร์ Snapshots

หากคุณถ่ายภาพสแนปชอตหรือสร้างโคลนนิ่งที่เชื่อมโยงไว้ใน A หรือ B พิธีกรรมนี้จะถูกทำลายจะได้รับการเตือน

ทดสอบใน 5.0.20


คำตอบ intriguinig มาก คุณจะทำยังวันนี้หรือจะมีวิธีที่ดีกว่า
l

4

ฉันรู้ว่ากระทู้นี้มีอายุหนึ่งปี แต่เป็นผลการค้นหาอันดับต้น ๆ ใน google สำหรับปัญหาการแบ่งปัน VM หนึ่งรายการระหว่างสองตำแหน่ง

VirtualBox ช่วยให้คุณสามารถเชื่อมต่อกับ VM ที่ใช้งานอยู่ในระยะไกลโดยใช้ RDP หากคุณไม่ต้องการให้ VM ทำงานอย่างต่อเนื่องให้เปิดใช้วิธีนี้จากระยะไกล

มีตัวเลือกสำหรับ "อนุญาตการเชื่อมต่อหลายรายการ" ดังนั้นคุณไม่จำเป็นต้องยกเลิกการเชื่อมต่อจากที่เดียวก่อนที่จะเชื่อมต่อจากที่อื่น

หากคุณไม่สามารถโฮสต์ VM ของคุณเองผู้ให้บริการการค้นหาด่วนของ Google ที่จะโฮสต์ภาพ VirtulaBox ของคุณให้กับคุณ

ฉันไม่เคยลองทั้งหมดนี้ ...


4

ฉันคิดว่าคำตอบของ Sekhemty เป็นวิธีเดียวที่จะทำสิ่งที่คุณต้องการ

แต่ทำไมต้องเปลี่ยนเครื่องเสมือนของคุณ? ทำไมไม่เพียงแค่ย้ายโครงการของคุณ? ตั้งค่าโครงการของคุณในคอมไพล์ส่วนตัวและเพียงแค่กดและดึงตามที่คุณต้องการ

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

มันทำงานได้โดยใช้สคริปต์ใช้พ่อครัวหรือหุ่นเชิดและคนจรจัดอ่านสคริปต์นี้เมื่อเริ่มต้น VM หากคุณต้องการอะไรที่จะติดตั้งเพียงเพิ่มไปยังสคริปต์และหากยังไม่ได้มีมันจะถูกติดตั้งเมื่อคุณ "คนจรจัด"! ฉันใช้เวลาสักครู่ก่อนที่จะคุ้นเคยกับมันเส้นโค้งการเรียนรู้ที่สูงชัน แต่มันมีประสิทธิภาพมากเมื่อคุณชินกับมันแล้วมันจะหมายความว่าคุณเพียงแค่ต้องย้ายไปรอบ ๆ ไฟล์สคริปต์แทนที่จะเป็น VM ทั้งหมด

http://red-badger.com/blog/2013/02/21/automating-your-infrastructure-with-vagrant-chef-from-development-to-the-cloud/


2
มันไม่ได้เป็นเพียงแค่รหัส (ซึ่งจะเข้าไปในพื้นที่เก็บข้อมูล) และการกำหนดค่า เป็นเพราะ VM เป็นสภาพแวดล้อมการพัฒนาของฉัน ฉันเริ่มใช้ VirtualBox ดังนั้นฉันจึงสามารถทำงานใน Ubuntu บนคอมพิวเตอร์ที่ใช้ Windows สิ่งนี้จะให้สภาพแวดล้อมการพัฒนาที่สอดคล้องกับฉันเมื่อไม่สะดวกในการย้ายสภาพแวดล้อมน้อยกว่าการย้ายสำเนา
rsgoheen

ถ้าอย่างนั้นคนเร่ร่อนและพ่อครัว / หุ่นเชิดดูเหมือนจะดีที่สุด ด้วยวิธีนี้หากคุณต้องการเปลี่ยนแปลงบางสิ่งในสภาพแวดล้อมการพัฒนาของคุณไม่จำเป็นต้องส่งออกและนำเข้า VM ของคุณคุณเพียงแค่เพิ่มสิ่งที่คุณติดตั้งลงในสคริปต์ของคุณและคนจรจัดจะสร้างมันลงใน VM ของคุณเมื่อเริ่มต้น มันมีประโยชน์มากสำหรับการมีอินสแตนซ์ต่าง ๆ ของ dev สร้างเช่นเดียวกับคนจรจัดใช้งาน "base-box (OS)" และสร้างขึ้นจากสิ่งที่สคริปต์บอกไว้เช่นกันดังนั้นคุณสามารถมีสภาพแวดล้อมการทดสอบที่หลากหลาย แต่ใช้ พื้นที่ของหนึ่ง
bound08

2

คุณสามารถซิงค์รูปภาพเครื่องเสมือนระหว่างคอมพิวเตอร์สองเครื่องของคุณได้


2
รายละเอียดเพิ่มเติมเล็กน้อยจะทำให้คำตอบนี้ดีขึ้น คุณสามารถทำอย่างละเอียด?
Dave M

2

ต่อไปนี้หลักการ KISS หลังจาก VMs ที่มีการลงทะเบียนและการตั้งค่าจะถูกปรับเพียงไฟล์ข้ามในขณะที่ทั้งสองฝ่ายจะขับเคลื่อนลงrsync*.vdi

rsync -aPh <path-to-vm>/<diskname>.vdi <remote>:<path-to-vm>/

แน่นอนว่าจะไม่มีวิธีการ "รวม" ความขัดแย้งดังนั้นคุณจะต้องได้รับการลงโทษทางวินัยเกี่ยวกับวิธีการเปลี่ยนแปลง VM และเพื่อสะท้อนการเปลี่ยนแปลงเหล่านี้

ในขณะเดียวกันคุณสามารถใส่ข้อมูลส่วนบุคคลของคุณลงบน NAS เพื่อให้ทันสมัยและสามารถเข้าถึงได้จากทุกเครื่อง นอกจากนี้คุณสามารถติดตั้งดิสก์. vdi เพิ่มเติมเพื่อให้มีพาร์ติชั่นสว็อปหรือที่เก็บข้อมูลชั่วคราวอื่น ๆ เพื่อที่จะไม่เพิ่มขนาดของระบบของคุณ. vdi

หากคุณอยู่บน windows คุณควรติดตั้ง cygwin (หรือ msys2) สำหรับโปรแกรม ssh และ rsync


1

ทางออกหนึ่งที่เป็นไปได้ขึ้นอยู่กับกรณีการใช้งานของคุณคือคำตอบของ cjpembo

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

เห็นได้ชัดว่าหากหนึ่งในคอมพิวเตอร์ที่คุณต้องการใช้ VM เป็นแล็ปท็อปที่จะย้ายไปรอบ ๆ แล้วนี่อาจไม่ใช่วิธีแก้ปัญหาโดยเฉพาะอย่างยิ่งถ้าคุณต้องแบ่งปันข้อมูลจำนวนมากระหว่าง "โฮสต์" และ "แขก" สภาพแวดล้อม

หาก VM มีอยู่ในตัวเองความสามารถคอนโซลระยะไกลของ VMware ค่อนข้างมีประสิทธิภาพดังนั้นหากคุณไม่ต้องการเล่นวิดีโอใน VM ก็อาจทำงานได้ดีพอแม้จากระยะไกลจะดีพอ


0

ฉันทำได้โดยใช้ ssd ภายนอกบน usb c disk VM จะอยู่ในดิสก์ ssd และอ้างอิงในการตั้งค่า Virtualbox ของฉันในแล็ปท็อปทั้งสอง ฉันใช้ USB 3.1 Gen2 Type-C (10Gbps) รุ่น 540MB / s และประสิทธิภาพก็ดี

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