การจำลองเสมือน: แขกเป็นแขก?


9

มันทำให้รู้สึกถึงการเรียกใช้เครื่องเสมือนกับแขก "ต้นแบบ"
และแขกหลักนั้นใช้แขกอื่น ๆ อีกมากมาย?

มีใครทดสอบหรือไม่ เป็นไปได้ไหม
มีวิธีที่ดีกว่าในการบรรลุเป้าหมายของฉันหรือไม่? (อ่านต่อ)
(ฉัน googled สำหรับ "แขกรับเชิญในแขก" และไม่พบอะไรเลย)

สิ่งที่ฉันต้องการทำ : ฉันต้องการตั้งค่าและทดสอบเครือข่ายเสมือนต่างๆพร้อมฐานข้อมูลและเซิร์ฟเวอร์แอปพลิเคชันและทดสอบไฟร์วอลล์, เซิร์ฟเวอร์ DNS, เซิร์ฟเวอร์ฐานข้อมูลการกำหนดค่าอื่น ๆ

ฉันสามารถทำได้โดยใช้แขกโดยตรงบนคอมพิวเตอร์โฮสต์ของฉัน แต่แล้วฉันอาจต้องแก้ไขการกำหนดค่าเครือข่ายในโฮสต์ของฉัน (เช่นกำหนดค่าdnsmasq ?) ขึ้นอยู่กับการตั้งค่าเครือข่ายที่ฉันกำลังจะทดสอบ ฉันต้องเริ่มจากแขกแต่ละคนด้วย โดยที่ถ้าแขกทุกคนทำงานในแขกหลักฉันก็สามารถกำหนดค่าเครือข่ายในแขกหลักนั้นและฉันต้องการเพียงแค่เริ่มต้นและหยุดแขกหลักนั้นและถ่ายรูปจากมันเพื่อเริ่ม & หยุด & รวม & แขกทั้งหมดที่ทำงานอยู่ภายใน .

(ฉันจะมีแขกหลักหลายคนอาจจะทำงานเพียงครั้งเดียวเท่านั้น)

ฉันใช้ Ubuntu 11.4 และ KVM พร้อมการสนับสนุนการจำลองเสมือนสำหรับฮาร์ดแวร์ (AMD-V)
คุณคิดว่าแขกผู้มาเยี่ยมจะได้รับประโยชน์จากระบบเสมือนจริงหรือไม่?

อัปเดต : ฉันน่าจะใช้ Google เป็น "Nested Virtualization" ไม่ใช่ "แขกรับเชิญในแขก" ตอนนี้ฉันพบลิงก์จำนวนมาก :-) เช่นตัวอย่างของการย้าย VM ที่กำลังรันจากเครื่องโฮสต์ไปยังโฮสต์ VM ที่ซ้อนกัน: VMotion จากฟิสิคัล ESX 4 เป็น ESX เสมือน 4
คุณที่ตอบกลับขอบคุณที่กล่าวถึง "Nested Virtualization": - )

อัปเดต : ข้อมูลประสิทธิภาพสำหรับโปรเซสเซอร์ AMD ตั้งแต่ปี 2008 : [... ] จนถึงปัจจุบันเมื่อ kvm จำลองเสมือนโปรเซสเซอร์แขกจะเห็น cpu ที่คล้ายกับโฮสต์โปรเซสเซอร์ แต่ไม่มีส่วนขยายการจำลองเสมือน ซึ่งหมายความว่าคุณไม่สามารถเรียกใช้ไฮเปอร์ไวเซอร์ที่ต้องการส่วนขยายเสมือนจริงภายในแขก (คุณยังสามารถเรียกใช้ไฮเปอร์ไวเซอร์ที่ไม่พึ่งพาส่วนขยายเหล่านี้เช่น VMware แต่มีประสิทธิภาพต่ำกว่า) ด้วยแพตช์ใหม่ซีพียูเสมือนจริงจึงรวมส่วนขยายเสมือนจริงไว้ด้วย นี่หมายความว่าแขกสามารถเรียกใช้ไฮเปอร์ไวเซอร์รวมถึง kvm และมีแขกเป็นของตัวเอง (ขอบคุณ "wzzrd")

อัปเดต : ข้อมูลประสิทธิภาพการทำงานของโปรเซสเซอร์ Intel จาก 2011 : "ไม่มีการสนับสนุนการทำเวอร์ชวลไลเซชันแบบซ้อนด้วย intel vmx ใน kvm รุ่นปัจจุบันในที่เก็บของ Ubuntu ด้วยแพทช์ใหม่ล่าสุดสำหรับ kvm เป็นไปได้ แต่ยังมีการพัฒนา"


3
ปั่นด้านบนให้มีประโยชน์
nedm

การจำลองเสมือนแบบซ้อนเป็นไปได้ แต่คุณเพิ่มประสิทธิภาพให้กับ CPU ของคุณเสีย RAM เป็นสองเท่าเนื่องจากในการกำหนดค่าเริ่มต้นทั้งโฮสต์แขกหลักและแขก "แขก" จะทำการแคชข้อมูลเดียวกันหลาย ๆ ครั้งและประสิทธิภาพของ IO จะหายนะ สำหรับข้อมูลที่ไม่ได้ถูกแคช
André Borie

คำตอบ:


3
  1. เป็นไปได้อ่านเพิ่มเติมได้ที่นี่ - http://blog.jasonruiz.com/2011/01/24/kvm-nested-virtualization-support/

  2. จุดประสงค์ในปัจจุบันของการใช้ virt แบบซ้อนคือการทดสอบ แต่ฉันคิดว่ามันหมายถึงการทดสอบ hypervisors ไม่ใช่ฐานข้อมูล, dns และอื่น ๆ

เพื่อทดสอบบริการดังกล่าวฉันคิดว่า virtualization "ปกติ" จะทำอย่างไร

คุณสามารถมีเครือข่ายเสมือนที่แตกต่างกันเล็กน้อยด้วยบริการ dhcp / dns / routing ที่แตกต่างกัน


7

สิ่งที่คุณต้องการทำก็เป็นไปได้มันไม่ได้จริง ๆ จากมุมมองประสิทธิภาพ


2
รัดกุมตรงประเด็นและเป็นความจริง :)
: 27411

6

ESXi สามารถทำเวอร์ชวลไลเซชันเองได้ ดังนั้นคุณสามารถรัน ESXi ในฐานะแขกบน ESXi (หรือ ESX สำหรับเรื่องนั้น)ป้อนคำอธิบายรูปภาพที่นี่

พบเส้นทางที่นี่


3

ผมไม่ทราบว่าเกี่ยวกับ hypervisors อื่น ๆ แต่แน่นอนว่ามันเป็นไปได้ด้วย ESX / i ตามที่กล่าวไว้ที่นี่ นอกจากนี้ก็แน่นอนไม่ได้เป็นไปได้ด้วย Hyper-V ตามที่กล่าวไว้ที่นี่

Howewer ซึ่งเป็นสิ่งที่เป็นไปได้มันไม่ได้รับการสนับสนุนโดยสิ้นเชิงและไร้ประโยชน์อย่างมากเว้นแต่จะมีวัตถุประสงค์ในการทดสอบ โดยส่วนตัวแล้วฉันใช้ ESX เพื่อทดสอบคลัสเตอร์ VMware ซึ่งต้องการโฮสต์ ESX อย่างน้อยสองเครื่องเครื่อง Virtual Center และที่เก็บข้อมูลที่ใช้ร่วมกันบางส่วน ฉันไม่มีเซิร์ฟเวอร์มากกว่าหนึ่งแห่งหรือที่เก็บข้อมูล "ของจริง" ที่มีอยู่ ณ จุดนั้นดังนั้นฉันจึงใช้โฮสต์ ESX เสมือนกับดิสก์เสมือนที่ใช้ร่วมกัน มันใช้งานได้และมันก็ไม่ได้แย่มากในการแสดง แต่ฉันไม่สามารถคิดเหตุผลใด ๆ ในโลกที่จะใช้การตั้งค่าประเภทนี้ในสภาพแวดล้อมการผลิต


1
นี่เป็นตัวอย่างที่น่าสนใจ ฉันจะใช้ VMs ที่ซ้อนกันเพื่อทำการทดสอบเช่นเดียวกับคุณไม่ใช่เพื่อการผลิต
KajMagnus

0

kvm ภายใน kvm จะไม่ทำงานแม้ว่าแขกภายในสามารถเรียกใช้ qemu บริสุทธิ์ในโหมดการจำลอง

ฉันจะทิ้ง VMs ไว้ในโฮสต์เดียวโดยไม่มีการทำ overcomplicating


ไม่จริง มันเป็นไปได้มากและได้รับตั้งแต่ปี 2008 หรือมากกว่านั้น Link: linux-kvm.com/content/kvm-nested-virtualization-works
wzzrd

1
ใช่ด้วยชุดคำสั่ง CPU ที่เฉพาะเจาะจงมากและไม่มีที่ไหนใกล้กับการผลิตหรือสภาพแวดล้อมการทดสอบที่จริงจัง T / S ต้องการทดสอบการกำหนดค่าเครือข่ายและบริการไม่ใช่ไฮเปอร์ไวเซอร์เพิ่มเติมดังนั้นเหตุใดจึงซับซ้อนกว่านี้ โดยเฉพาะอย่างยิ่งตั้งแต่เครื่องมือการจัดการมาตรฐาน คุณกำลังที่เหมาะสมในบัญชีของตรมภายในตรมสามารถทำงานภายใต้เงื่อนไขบางประการที่เป็นความผิดพลาดของฉัน แต่จะตอบคำถามเดิม - นี้ไม่ได้เป็นความคิดที่ดีที่สุดภายใต้ hypervisor ใด ๆ
dyasny

"นี้ไม่ได้เป็นความคิดที่ดีที่สุดภายใต้ hypervisor ใด ๆ" ในขณะนี้ว่าเป็นความจริง :) ที่นี่มี upvote :)
wzzrd

ฮ่า ๆ ไม่ว่า upvote คือสิ่งสำคัญ :)
dyasny

0

KVM อาจไม่ใช่ตัวเลือกที่ดีที่สุดสำหรับจุดประสงค์ของคุณคุณควรลอง Virtualbox

ด้วย Virtualbox คุณสามารถสร้างเครื่องเสมือนภายในเครื่องเสมือนจริงและเครื่องมือเครือข่ายมีความสะดวกมาก


1
ขยะมูลฝอย KVM จะพอเพียงอย่างสมบูรณ์
wzzrd

@wzzrd ฉันไม่ได้บอกว่า KVM ไม่เพียงพอ ฉันว่า VirtualBox อาจเป็นตัวเลือกที่ดีกว่าในกรณีนี้เนื่องจากเป็นการกำหนดค่าที่ซับซ้อน
erickzetta

ที่จริงแล้วฉันชอบการกำหนดค่า KVM VMs ด้วยvirsh:-)
KajMagnus


รองรับ VMX, การแปลที่อยู่ระดับที่สอง (SLAT), para-ops, เพจที่ซ้อนกัน, เครื่องจักรภายในเครื่อง - นี่เป็นคุณลักษณะที่นำมาใช้ในการเปิดตัว VirtualBox 2.0 รุ่นใหม่ virtualbox.org/wiki/Changelog-2.0
Bent Cardan

0

คุณเช็คเอาต์ XenServer แล้วหรือยัง รุ่นเบต้าใหม่เรียกว่า "XenServer boston" อ่านเพิ่มเติมได้ที่นี่:

http://blogs.citrix.com/2011/05/18/xenserver-boston-beta-program/

ในบันทึกย่อประจำรุ่นคุณจะเห็นสิ่งต่อไปนี้:

การสนับสนุนอุปกรณ์เสมือน ภายใน XenCenter คุณสามารถสร้างอุปกรณ์เสมือนหลาย VM (vApps) พร้อมความสัมพันธ์ระหว่าง VM สำหรับใช้กับลำดับการบู๊ตระหว่างการกู้คืนไซต์ vApps สามารถนำเข้าและส่งออกได้อย่างง่ายดายโดยใช้มาตรฐาน Open Virtualization Format (OVF)

เมื่อใช้คุณลักษณะนี้ร่วมกับ Virtual Lans คุณจะสามารถบรรลุสิ่งที่คุณต้องการ ฉันไม่ดี แต่ฉันเชื่อว่าคุณสามารถสร้างสแนปชอตของ Vm ทั้งหมดใน Virtual Appliance ได้ในครั้งเดียว

โปรดแจ้งให้เราทราบหากคุณมีคำถามเพิ่มเติมเกี่ยวกับ XenServer (ฉันใช้ 2x ทุกวัน)


-1

เป็นไปได้หรือไม่นั้นไม่เกี่ยวข้อง มันไม่สมเหตุสมผลเลย คุณไม่ได้อะไรเลยโดยการทำ VMs ในขณะที่สูญเสียไปมาก


ที่จริงแล้วนักพัฒนา KVM บางคนคิดว่ามันสมเหตุสมผล: ในรายการส่งเมลของ KVM dev มีเธรดนี้พร้อมแพตช์เพื่อรองรับการจำลองเสมือน ฉันคิดว่านักพัฒนาซอฟต์แวร์มีความสุขมากถ้าคุณอ่านคำตอบต่อไป
KajMagnus

นักพัฒนาที่ไม่ใช่ KVM ที่ชอบการทำเวอร์ชวลไลเซชันแบบซ้อน: "การใช้งานอื่นคือการมีเครือข่ายเสมือนจริงหลายเครือข่ายภายในเครื่องเดียวแต่ละเครือข่ายจะมีการกำหนดค่าโฮสต์ที่แตกต่างกัน (จากที่นี่ )
KajMagnus

@KajMagnus เพียงเพราะคนต้องการมันไม่ได้หมายความว่ามันสมเหตุสมผล บางคนเรียบง่ายมองไม่เห็นป่าไม้
John Gardeniers

เหมาะสมสำหรับการทดสอบสถานการณ์ ต้องการปรับใช้การปรับใช้ไฮเปอร์ไวเซอร์ทดสอบเพื่อดูว่าคุณลักษณะเฉพาะทำงานอย่างไรในเวอร์ชันใหม่ หมุน VM คุณถูกต้องว่ามันไม่ได้ใช้สำหรับการใช้งานเฉพาะของ OP มากนัก
Chris Thorpe

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