เมื่อใดที่จะย้ายเซิร์ฟเวอร์เสมือนจริงไปยังสถานที่จริง


12

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

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

คำตอบ:


3

กรณีหนึ่งที่ฉันต้องดำเนินการ V2P สำหรับกล่อง MS SQL ที่ทำงานบนซีพียู dual core 3.2Ghz (รวม 14.4Ghz CPU ทั้งหมด) ที่เราย้ายไปยังคลัสเตอร์ ESX 2.5 ซึ่งฮาร์ดแวร์พื้นฐานใหม่กว่า แกนช้าลง (2.4Ghz IIRC) การเพิ่มค่าใช้จ่าย ~ 10% แม้จะมี VM 4 vCPU นี้เท่านั้นที่จะได้รับซีพียูรวมที่มีประสิทธิภาพ 8-8.5Ghz CPU สูงสุด 60% ก่อนการโยกย้ายกลายเป็นการย้ายโพสต์ 90-100% ลูกค้าต้องการพื้นที่ว่างดังนั้นเราจึงเปลี่ยนกลับเป็นแบบฟิสิคัล เพื่อตอบคำถามของคุณโดยเฉพาะเราเห็นว่ากล่องทำงานที่ CPU 100% ทั่วกระดานใน Perfmon และในไคลเอนต์ VI ทางออกที่ดีกว่า (ในมุมมองของฉัน) จะได้รับการอัพเกรดเป็น CPU ที่เร็วขึ้น แต่มีกรณีขอบเช่นนี้ที่ไม่ประหยัดโดยเฉพาะอย่างยิ่งกับแนวโน้มที่จะช้า cpu '

ด้วย ESX 4 เราสามารถชนกล่องแบบนี้ได้มากถึง 8 vCPU แต่นั่นไม่ใช่ตัวเลือกในเวลานั้น

เท่าที่กำลังมองหาเพดานประสิทธิภาพที่อาจบ่งบอกว่าคุณต้องละทิ้ง VM ของคุณด้วย Windows Guest บนสภาพแวดล้อมของ VMWare จากนั้นการรวมกันของ Perfmon และไคลเอนต์ VI ควรมากกว่างานการค้นหา VM ที่มีประสิทธิภาพ จำกัด ตัวเอง . เพิ่มในการรับการวิเคราะห์ SAN บางอย่างถ้าคุณทำได้ แต่ถ้า SAN แสดงปัญหาคุณจะต้องทำการจัดเก็บข้อมูลอีกครั้งเพื่อแยกและ \ หรือปรับปรุงปริมาณที่ดิสก์เสมือนของ VM จัดเก็บไว้ เช่นเดียวกับการรวมกันของ OS \ Hypervisor อื่น ๆ - รับสถิติภายในอะไรก็ตามที่คุณสามารถทำได้ แต่สัมพันธ์กับมุมมองของ Hypervisor ว่าเกิดอะไรขึ้นเพราะ CPU 100% ถูกรายงานภายใน VM (ตัวอย่าง) ไม่ได้แปลว่า Hypervisor ไม่สามารถส่งมอบได้ ประสิทธิภาพมากขึ้น


4

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

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

ฉันอยากได้ยินสิ่งที่คนอื่นพูด เป็นคำถามที่ดีมาก

หมายเหตุ: เรามีเซิร์ฟเวอร์ที่ถูกจำลองเสมือนและนำกลับมาใช้บนฮาร์ดแวร์เดียวกันเพื่อให้มีความสามารถในการจับภาพ / vmotion ที่เราชื่นชอบ


3

ฉันไม่ใช่ผู้เชี่ยวชาญในเรื่องนี้ แต่โดยทั่วไปแล้วการพูด: แอปพลิเคชัน I / O ที่หิวมาก (โดยเฉพาะผู้ที่เขียนน้อยและเร็ว) คือแอพที่ได้รับฟิสิคัลเซิร์ฟเวอร์ของตัวเอง

ไม่ใช่เรื่องยากที่จะหาพวกเขาเช่นกันคุณเพียงแค่เรียกใช้การตรวจสอบประสิทธิภาพและมองหาเวลารอคอย i / o ที่สูง

นอกจากนี้ฐานข้อมูลระดับสูงมักจะได้รับเซิร์ฟเวอร์เฉพาะของตัวเองเนื่องจากสาเหตุหลายประการ:

  1. พวกเขาต้องการแคชทุกอย่างเท่าที่จะทำได้การใช้ RAM มีมหาศาล
  2. พวกเขาทำงานได้ดีขึ้นโดยมีเธรดข้ามหลายคอร์ (8-way เป็นเรื่องปกติ) และโดยทั่วไปคุณไม่ต้องการกำหนดซีพียูเสมือนมากกว่า 1 ตัวให้กับเซิร์ฟเวอร์ใด ๆ เนื่องจากการบล็อก
  3. พวกเขากำลังหิวมาก I / O เมื่อโหลดข้อมูลไปยังแคช latency ต่ำบน I / O เป็นกุญแจสำคัญ

1
ฉันจะไม่เห็นด้วยกับความคิดเห็น "ปกติ" มีเอกสารอยู่ทั่วไซต์ VMWare เกี่ยวกับการตั้งค่าเซิร์ฟเวอร์ฐานข้อมูลบน VMWare และฉันไม่เชื่อว่านี่เป็นปัญหาใด ๆ แต่คุณทำคะแนนได้ดีเกี่ยวกับสิ่งที่ต้องประเมินเมื่อพิจารณาการย้ายไปยังเซิร์ฟเวอร์ Virturalized
SpaceManSpiff

1
ในไม่ช้าเราจะทำการจำลองเสมือนเซิร์ฟเวอร์ฐานข้อมูลทั้งสี่ของเราเนื่องจากประโยชน์ที่เราจะได้รับจาก snapshots / vmotion / etc ฉันเห็นด้วยกับ LEAT ที่เซิร์ฟเวอร์ฐานข้อมูลมีและจะถูกจำลองเสมือนในอนาคต
Daniel Lucas

ฉันคิดว่าคุณเข้าใจฉันผิด ฉันไม่ได้บอกว่าเซิร์ฟเวอร์ฐานข้อมูลไม่ควรทำเวอร์ชวลไลเซชัน ฉันบอกว่าเซิร์ฟเวอร์ระดับสูงมักจะอยู่บนเซิร์ฟเวอร์จริงแยกกันเนื่องจากข้อ จำกัด ที่เกิดขึ้น (เช่นมี CPU เสมือนที่ใช้งานได้เพียง 4 ตัวเท่านั้น)
pauska

แอพ Hungry I / O อาจกำลังโดน SAN อยู่ซึ่งหมายความว่าคุณกลับไปที่ความเร็ว fibrechannel หรือ infiniband ไม่ใช่ดิสก์ดิบภายใต้ VM - ฉันไม่ได้เห็น (โดยส่วนตัว) แอปที่ต้องการ จะต้องอยู่บนฮาร์ดแวร์ทางกายภาพนอกระบบระยะเวลาที่มีความสำคัญหรือที่มันได้รับการสนับสนุนอย่างเป็นทางการจากผู้ขาย
วอร์เรน

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

1

สิ่งนี้ขึ้นอยู่กับบริการที่มีประสิทธิภาพ

ฉันมักจะดูทรัพยากรที่มีการใช้งานและการตรวจสอบว่าพวกเขาเป็นขวดแน่นอนสำหรับแขกผู้เข้าพักนี้และบริการที่มีให้

ด้วยวิธีนี้:

หากคุณมี Dual Core (2vSMP) แขก 4GB RAM ที่ใช้งานเว็บเซิร์ฟเวอร์ (IIS) และคุณไม่ได้ขอ CPU และ RAM ให้สูงสุดอาจเป็นเพราะแขกไม่ต้องการฮาร์ดแวร์เพิ่ม

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

เห็นได้ชัดว่าถ้าคุณต้องการมีเซิร์ฟเวอร์ 16-core ในฐานะ VM คุณอาจมีปัญหาในการมองเห็นว่ามันทำงานได้ดีเช่นเดียวกับฮาร์ดแวร์เฉพาะ


1

เมื่อ VM ขาดแคลนทรัพยากร (หรืออาจหิวโหย VM อื่นสำหรับทรัพยากร) เช่น:

  1. เมื่อ IO ของ VM ไม่สามารถทำได้ผ่านโฮสต์
  2. เมื่อ VM ต้องการแบนด์วิดท์เครือข่ายมากกว่าที่เป็นไปได้ที่จะแบ่งปันลำต้น
  3. เมื่อกระบวนการของ VM ต้องการ CPU มากกว่าที่จะได้รับเช่นหากมีกระบวนการเดียวที่ทำให้ CPU เสมือนสูงสุด
  4. หาก linux และต้องการเวลาที่แม่นยำมาก (หากทำงานบนโฮสต์ VMware Linux linux ภายใต้เวลาดริฟท์ของ VMware ซึ่งสามารถบรรเทาได้โดยใช้ ntp อย่างไรก็ตามสำหรับแอปที่ต้องการเวลาที่แม่นยำมากเช่น kerberos คุณอาจพิจารณาฮาร์ดแวร์จริง)
  5. เมื่อ linux และต้องการดิสก์ที่เชื่อถือได้มาก (ถ้ามันทำงานบนโฮสต์ VMware - VMware มีและฉันเชื่อว่ายังคงมีปัญหา SCSI ภายใต้ VMware ภายใต้เงื่อนไขบางประการการแก้ไขถูกนำออกใช้ แต่ก็ยังเกิดขึ้นแม้ว่าจะน้อยกว่ามาก)

0

ฉันว่าเมื่อเซิร์ฟเวอร์อยู่ในจุดที่มันใช้ทรัพยากรเซิร์ฟเวอร์มากพอที่จะไม่สามารถแชร์ฮาร์ดแวร์ได้

ESX, ESXi & Window Hyper V ทุกคนควรจะได้รับประสิทธิภาพที่ใกล้เคียงจริง ดังนั้นตราบใดที่หนึ่งในเครื่องไม่ได้ใช้ทรัพยากร 90% ด้วยตนเองคุณไม่จำเป็นต้องย้ายไปใช้ฮาร์ดแวร์จริง

การยกเว้นคุณจะไม่ต้องการสิ่งต่าง ๆ เช่นตัวควบคุมโดเมน 2 รายการของคุณในกล่องเดียวกันหากฮาร์ดแวร์ล้มเหลว


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

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

0

ฉันสงสัยว่ามีคำตอบทั่วไปสำหรับเรื่องนี้ แต่ถ้าคุณกังวลเกี่ยวกับความสมบูรณ์แบบนั่นคือสิ่งที่คุณต้องมอง สิ่งที่ชัดเจนคือการตรวจสอบว่าคุณใช้งาน CPU, I / O, ...

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


0

ก่อนอื่นคุณต้องระบุว่าทรัพยากรใดเป็นคอขวด

การตรวจสอบประสิทธิภาพของ Windows ( perfmon ) มีตัวนับจำนวนมากสำหรับแง่มุมต่างๆเช่นคิวดิสก์สถิติหน่วยความจำเสมือน ฯลฯ

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


0

ฉันคิดว่ามันทั้งหมดขึ้นอยู่กับสองปัจจัย:

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

    แค่ 2cts ของฉัน

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