วิธีการประสานเครื่องเสมือนสองอินสแตนซ์ที่จะใช้ในคอมพิวเตอร์ที่แตกต่างกันอย่างไร


8

ฉันใช้ VirtualBox บนเดสก์ท็อปมาพักหนึ่งแล้ว หลังจากที่ซื้อโน๊ตบุ๊คมาเมื่อเร็ว ๆ นี้ฉันต้องการที่จะนำเครื่องเสมือน Ubuntu ของฉันติดตัวไปด้วยและมีการเปลี่ยนแปลงที่ฉันทำบนโน้ตบุ๊กแพร่กระจายไปยังเดสก์ท็อปและในทางกลับกันเมื่อฉันมาถึง / ออกจากบ้าน ระบบปฏิบัติการโฮสต์คือ Windows 7 บนคอมพิวเตอร์ทั้งสองเครื่องที่ใช้ VirtualBox 4

ความคิดแรกของฉันคือการซิงโครไนซ์ไฟล์ดิสก์เสมือนจริงด้วยตนเอง เครื่องมือที่ฉันเลือกจะเป็นrsyncรุ่น Cygwin ที่เจาะจงมากขึ้นโดยใช้--inplaceตัวเลือกเพื่อลดการเขียนให้มากที่สุด แต่นั่นจะเป็นไปไม่ได้: มันจะหยุดฉันจากการทำงานแยกกันบน VMs เพราะrsyncจะไม่มีวิธีที่จะตรวจจับความขัดแย้งและรวมเข้าด้วยกันอย่างถูกต้องโดยปราศจากความรู้เกี่ยวกับระบบไฟล์ที่อยู่ในคอนเทนเนอร์

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


ฉันคิดว่าคุณควรแยกคำถามนี้เป็นสองข้อ ก่อนอื่นให้ถามเกี่ยวกับการมิเรอร์เซิร์ฟเวอร์ จากนั้นเมื่อคุณ (หวังว่า) มีคำตอบสองสามข้อให้ถามวิธีนำไปใช้กับ VM
Nifle

ความเป็นไปได้อีกอย่างหนึ่งก็คือจะมีอินสแตนซ์เดียวของ VM บนโน้ตบุ๊กและเข้าถึงจากระยะไกลจากระบบหลักเมื่ออยู่ที่บ้าน
Geek

คุณจะต้องซิงค์เฉพาะซอฟต์แวร์และเอกสาร - ไม่ใช่ VM ทั้งหมด - เนื่องจากคุณไม่สามารถมีสองเครื่องในเครือข่ายที่มีที่อยู่ MAC และชื่อโฮสต์เดียวกัน นั่นจะทำให้เกิดการทำร้ายร่างกาย
Paradroid

@Joymanman Geek: ฉันไม่เคยคิดมาก่อนว่ามันจะใช้งานได้จริง แต่มันก็ช้าลงเล็กน้อยเมื่อพิจารณาถึงฮาร์ดไดรฟ์ในโน้ตบุ๊กของฉันที่รวบรวมข้อมูลเมื่อเปรียบเทียบกับ SSD บนเดสก์ท็อปของฉัน
danielkza

1
มีเหตุผลที่คุณไม่ได้รัน VM บนไดรฟ์ภายนอกแล้วย้ายจากระบบหนึ่งไปอีกระบบหนึ่งหรือไม่?
Dave M

คำตอบ:


2

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

การเรียกใช้การซิงค์นอก VM จะมีปัญหาที่คุณอธิบาย ผลลัพธ์เมื่อทำงานภายใน VM จะขึ้นอยู่กับสิ่งที่คุณซิงค์เป็นอย่างมาก

  • การซิงโครไนซ์โฮมไดเร็กตอรี่ของคุณไม่น่าจะเป็นปัญหาเลยและควรซิงโครไนซ์งานประจำวันของคุณส่วนใหญ่ที่ฉันเข้าใจ
  • การซิงโครไนซ์ข้อมูลตัวจัดการแพคเกจจะสมเหตุสมผลถ้าคุณทำการซิงค์เกือบทุกอย่างอย่างสมบูรณ์โดยอาจมีข้อยกเว้นที่ได้รับการพิจารณาเป็นอย่างดี ในการซิงค์แบบสองทิศทางสิ่งนี้จะนำไปสู่ความขัดแย้งเกือบตลอดเวลาดังนั้นฉันจึงแนะนำวิธีนี้ในรูปแบบ rsync เท่านั้น
  • การซิงโครไนซ์/etcและที่บ้านของคุณควรซิงโครไนซ์ข้อมูลการกำหนดค่าส่วนใหญ่และยังคงมีผลกระทบเพียงเล็กน้อยต่อสิ่งที่ผู้จัดการแพคเกจทำ แต่ถ้าคุณติดตั้งซอฟต์แวร์บางตัวบน VM เครื่องหนึ่งคุณจะต้องติดตั้งซอฟต์แวร์ด้วยตัวเองเช่นกันและอาจจะซิงค์หลังจากทำเช่นนั้นเท่านั้นในกรณีที่การอัปเกรดเปลี่ยนไฟล์กำหนดค่าบางอย่าง

1

พิจารณาไม่พยายาม "ซิงค์" เครื่องเสมือนเลย

คิดเกี่ยวกับมัน: คุณไม่ "ซิงค์" เดสก์ท็อปและโน๊ตบุ๊คของคุณด้วยวิธีนี้ คุณปฏิบัติต่อพวกเขาเป็นเครื่องแยกต่างหากและใช้บริการเช่น Dropbox, Google Apps, ฯลฯ หรือแม้แต่แท่ง USB เพื่อทำงานกับไฟล์ของคุณ ในทำนองเดียวกันถือว่า Ubuntu VMs สองเครื่องเป็นคอมพิวเตอร์แยกต่างหากและใช้บริการเช่น Ubuntu One ขึ้นไปเพื่อรักษาไฟล์สำคัญของคุณให้ตรงกัน

หากคุณกังวลเกี่ยวกับการซิงค์ซอฟต์แวร์ที่ติดตั้งไว้คุณสามารถใช้

dpkg --list-selections

เพื่อรับรายการซอฟต์แวร์ที่คุณติดตั้งไว้ในเครื่องหนึ่งจากนั้นติดตั้งซอฟต์แวร์เดียวกันในอีกเครื่องหนึ่ง

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