จะเกิดอะไรขึ้นเมื่อเครื่องจริงล้มเหลวในสภาพแวดล้อมเสมือนจริง? [ปิด]


12

ฉันเริ่มต้นกับการจำลองเสมือนดังนั้นทนกับฉัน

ในสภาพแวดล้อมเสมือนแอปพลิเคชันทำงานในเลเยอร์ของไฮเปอร์ไวเซอร์ ดังนั้นเครื่องทางกายภาพเดียวอาจมีเครื่องเสมือนหลายเครื่องที่ใช้งานหลายแอปพลิเคชัน

จนถึงตอนนี้ดีมาก?

ดังนั้นจะเกิดอะไรขึ้นเมื่อเครื่องทางกายภาพล้มเหลว นั่นจะไม่ทำให้แอพพลิเคชั่นมากมายล้มเหลวทั้งหมดจากเครื่องเดียวใช่ไหม

ฉันค้นหาการพัฒนาคลาวด์ส่วนตัวด้วยOpenStackแต่ฉันต้องการทำความเข้าใจเกี่ยวกับการทำเวอร์ชวลไลเซชันก่อน

คำตอบ:


14

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

นอกจากนี้คุณสามารถค้นหา VHDs สำหรับแต่ละ VM บน SAN (ซ้ำซ้อน) ทั่วไป ไฮเปอร์ไวเซอร์ในแต่ละฟิสิคัลโฮสต์สามารถตั้งค่าให้คุยกันและแชร์หน่วยความจำจาก VM ที่แตกต่างกัน มีเวลาแฝงอยู่บ้างและหน่วยความจำส่วนใหญ่จะถูกสำรองไว้โดยดิสก์ แต่ถ้าโฮสต์ฟิสิคัลตัวใดตัวหนึ่งลงคุณไม่ต้องรอ VM จากโฮสต์นั้นเพื่อบู๊ต แทน VM เหล่านั้นจะถูกกระจายโดยอัตโนมัติระหว่างโฮสต์ที่เหลือ เป้าหมายสูงสุดคือเครื่องเหล่านี้จะมาจากที่ที่เหลือมีการหยุดทำงานเพียงเล็กน้อยถึงไม่มีเลย ในความเป็นจริง VMs ทั้งหมดของคุณกำลังทำงานบนโฮสต์ฟิสิคัลอย่างน้อยสองโฮสต์ ในทางปฏิบัติตอนนี้ hypervisors สามารถทำการย้ายข้อมูลได้ครั้งละหนึ่งเครื่องเท่านั้นเมื่อพวกเขารู้ว่ามันมาก่อนที่โฮสต์จะล้มเหลว ... แต่ไม่ผิดพลาด: การโยกย้ายทันทีกับความล้มเหลวของฮาร์ดแวร์คือเป้าหมายสูงสุดสำหรับทุกคน ไฮเปอร์ไวเซอร์

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


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

1
@Sherif: โดยทั่วไปใช่และใช่ หากคุณต้องการทำความเข้าใจในรายละเอียดเพิ่มเติมให้ดูที่บทความของ Wikipediaซึ่งจะกล่าวถึงการโยกย้าย VM และความล้มเหลวในเวลาสั้น ๆ หากคุณยังมีคำถามให้ถามคำถามเพิ่มเติม
sleske

1
คุณแน่ใจเกี่ยวกับส่วนหน่วยความจำที่แชร์หรือไม่? จากความเข้าใจของฉัน VM ที่ล้มเหลวเนื่องจากความล้มเหลวของฮาร์ดแวร์จะถูกรีสตาร์ทบนโฮสต์อื่น ซึ่งสามารถดูเป็นการรีบูตแบบเต็มหรือการคืนค่าจุดตรวจสอบทั้งนี้ขึ้นอยู่กับการกำหนดค่าไฮเปอร์ไวเซอร์ แต่สถานะหน่วยความจำดั้งเดิมไม่สามารถกู้คืนได้ สำหรับ vspere: vmware.com/products/vsphere/features/high-availabilityในฐานะที่เป็นหมายเหตุด้านหนึ่งบางโครงการได้เริ่มต้นสำหรับ KVM เพื่อเปิดใช้งานหน่วยความจำที่แชร์และซ้ำซ้อนจริงในชุดของโฮสต์ฮาร์ดแวร์แต่พวกเขาถูกทอดทิ้ง
shodanshok

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

13

เซิร์ฟเวอร์เสมือนทั้งหมดที่ทำงานบนโฮสต์ที่มีอยู่จริงจะออฟไลน์หากโฮสต์มีความล้มเหลวใด ๆ

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

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


2
ตัวอย่างเช่น AWS ขึ้นอยู่กับบริการทำซ้ำบริการข้ามโซนความพร้อมใช้งาน (พื้นที่ทางกายภาพ) ในกรณีที่มีภัยพิบัติทางธรรมชาติไปยังพื้นที่นั้นซึ่งจะทำลายเครื่องทางกายภาพ
Michael Bailey

สภาพแวดล้อมเสมือนจริงมองเครื่องทางกายภาพว่าเป็นแหล่งรวมทรัพยากรเดียวหรือไม่ ที่ช่วยตอบสนองการบริการตนเองตามความต้องการ? การทำให้เป็นไฟช่วยในการใช้ประโยชน์จากทรัพยากรหรือไม่ และขอบคุณมากสำหรับความพยายามของคุณ
Sherif

5

คุณมีสิทธิ์ที่จะสมมติว่าหากเครื่องจริงล้มเหลว VM ก็จะไม่สามารถใช้งานได้

แต่ openstack สามารถดูแลสิ่งนั้นและเริ่มต้น VM ของเซิร์ฟเวอร์ทางกายภาพที่ล้มเหลวบนเซิร์ฟเวอร์อื่นหรือคุณสามารถใช้ระบบไฮเปอร์ไวเซอร์ที่เผยแพร่ไปแล้วฉันคิดว่า vsphere สามารถทำเช่นนั้นได้

คุณควรอ่านเอกสาร openstack บน HAสำหรับข้อมูลเพิ่มเติม


2

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

สระว่ายน้ำทรัพยากร (VMware) - มีไม่สามารถที่จะรวมหลายทรัพยากรโฮสต์ทางกายภาพ (ซีพียูหน่วยความจำ ฯลฯ ) เป็นใครสักคนที่กล่าวถึงข้างต้นดังนั้นถ้าคุณมี 2 โฮสต์ทางกายภาพ (สมมติว่าแกน 1CPU รูปสี่เหลี่ยมโดยไม่ต้อง hyperthreading - 8GBRAM แต่ละคน) มันจะไม่เป็น เป็นไปได้ที่จะมี VM 5vCPU-12Gb กลุ่มทรัพยากรเป็นกลุ่มตรรกะพวกเขาไม่สามารถสร้างระบบซูเปอร์คอมพิวเตอร์ ตอนนี้เป็นวิธีการควบคุมการใช้ทรัพยากร

ความพร้อมใช้งาน (vmware) - เป็นไปได้ที่จะใช้เทคโนโลยีเช่นHigh Availability (HA) ซึ่งช่วยให้คุณสามารถกู้คืนอัตโนมัติ (ตามประสบการณ์ของฉันภายใน1-2 นาที ) ของ VMs ทั้งหมดในคลัสเตอร์โดยอัตโนมัติหากคุณใช้ Storage Array (NAS) iSCSI, FC) และเก็บไฟล์ VM ทั้งหมดไว้ที่นั่น มากกว่า HA ใช้งานได้เฉพาะในกรณี CPU, RAM, เมนบอร์ดผิดปกติจะเห็นได้ชัดว่ามันจะไม่ทำงานของ Storage Array ลง เพื่อป้องกันความล้มเหลวของ RAID / Controllers ที่ผู้คนใช้ Replication, Storage LUNs mirroring เป็นต้น

หากการกู้คืนภายใน 1-2 นาทีไม่ใช่ตัวเลือกมีเทคโนโลยีเช่นFault Tolerance (FT) ซึ่งอนุญาตให้บรรลุ Z ดาวน์ดาวน์ของ ZERO ในกรณีที่เกิดความล้มเหลวด้วยการเก็บสำเนาเงา (ทำงาน) ของ VM ที่กำหนดค่าไว้ แต่เทคโนโลยีนี้ยังมีข้อ จำกัด มากมาย - ปัญหาของการยอมรับข้อผิดพลาดของ VM ที่มี vCPU หลายตัวไม่ได้รับการแก้ไขอย่างสมบูรณ์

โดยรวมแล้วแต่ละวิธีขึ้นอยู่กับเป้าหมายของคุณ

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