เหตุใดจึงถือว่าภาพรวมเป็นข้อมูลสำรองชั่วคราวไม่ใช่ข้อมูลสำรองจริง


27

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

จากนั้นเราพบปัญหาเช่นหน่วยความจำล้นและเซิร์ฟเวอร์หยุดทำงาน

ฉันเริ่มอ่านในบทความฐานความรู้ของ VMware และทุกที่ ทุกที่ที่แนะนำไม่ให้มีสแนปชอตเป็นเวลานาน

แม้แต่ VMware ก็แนะนำให้เก็บสแน็ปช็อตไว้สูงสุดสามวัน

แต่ทีมของเรายังคงขอให้เรามีสแนปชอตถาวรอย่างน้อยสองรายการ บางครั้งเราอาจใช้ VM เป็นเวลาหนึ่งปี)

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

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

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

เหตุใดการเก็บสแน็ปช็อตเป็นเวลานานจึงมีผลเสีย

ทำไมภาพรวมจึงถูกพิจารณาว่าเป็นการสำรองข้อมูลชั่วคราวไม่ใช่การสำรองข้อมูลจริง

คำตอบ:


33

เมื่อ VM มีสแน็ปช็อตที่ใช้งานอยู่ดิสก์ I / O เสมือนของมันจะไม่ถูกดำเนินการกับไฟล์. VMDK ที่แท้จริงของ VM แต่จะถูกเก็บไว้เหมือนเดิมโดยไม่เปลี่ยนแปลงและการเปลี่ยนแปลงใด ๆ ใน VM จะถูกเขียนลงในไฟล์ฟิสิคัล สิ่งนี้ช่วยให้สามารถกู้คืนสถานะ VM ก่อนหน้าได้ แต่มีผลข้างเคียงที่สำคัญสามประการ:

  • Disk I / O สำหรับ VM นั้นช้ากว่ามาก
  • ไฟล์ "เดลต้า" เหล่านั้นยังคงเติบโตตลอดเวลาเนื่องจาก VM I / O ของดิสก์มีการใช้งานมากขึ้นเรื่อย ๆ
  • เมื่อสแนปชอตถูกลบการเปลี่ยนแปลงที่จัดเก็บในไฟล์ "เดลต้า" จะต้องรวมกลับเข้าไปในไฟล์. VMDK หลักและนี่จะช้ามากและใช้เวลานานหากสแน็ปช็อตนั้นทำงานเป็นเวลานาน

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

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

นี่คือเอกสารอย่างเป็นทางการเกี่ยวกับสแนปชอต:

http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&externalId=1015180


1
KB เพื่อยืนยัน bulletpoint ด้านบนให้ดูแถวที่ 2 ในส่วนการแก้ปัญหา - kb.vmware.com/selfservice/microsites/…
Cold T

5

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

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

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


5

ฉันรู้ว่าโพสต์นี้เก่าไปหน่อย แต่คำถามและคะแนนที่ยกมานั้นยังคงมีความเกี่ยวข้องมาก

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

ในสถานการณ์นี้การเปลี่ยนแปลงทั้งหมดระหว่างเวลาที่สแนปชอตของ VMware ถูกถ่ายและช่วงเวลาของการหยุดชะงักจะหายไปอย่างง่ายดาย

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

http://kb.vmware.com/kb/1025279


3

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

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


1

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

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


1

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

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