กลยุทธ์การสำรองข้อมูลของ Amazon EC2 พร้อมข้อ จำกัด (สามารถทำสแนปชอตได้เล็กน้อยหรือไม่?)


9

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

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

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

ความคิดของฉันคือถ่าย snapshot ของ VM จากนั้นทำการทิ้งฐานข้อมูลและจัดเก็บเป็นระยะ ๆ ใน S3 หากพวกเขาสูญเสียอินสแตนซ์ EC2 หรือมีบางสิ่งบางอย่างเช่นการอัปเดตทำให้ไม่สามารถใช้งานได้พวกเขาสามารถใช้สแน็ปช็อตเพื่อสร้างเซิร์ฟเวอร์สำรองอย่างรวดเร็วด้วยการถ่ายโอนฐานข้อมูลล่าสุดแทนที่จะเริ่มจากศูนย์เพื่อสร้างอินสแตนซ์ใหม่ทั้งหมด ใหม่ AMI

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

การเขียนสคริปต์เพื่อสร้างเซิร์ฟเวอร์เว้นแต่มีบางสิ่งที่เฉพาะเจาะจงกับ Amazon ที่ฉันไม่รู้จักจะเกี่ยวข้องกับการสร้างเซิร์ฟเวอร์ Chef หรือ Puppet ที่สามารถปรับใช้เซิร์ฟเวอร์ใหม่ที่มีบทบาทเกี่ยวข้องใน EC2 ตอนนี้การเริ่มต้นไม่ได้มีเงินทุนสำหรับการรักษาเซิร์ฟเวอร์ประเภทนั้นไว้และตอนนี้พวกเขาไม่จำเป็นต้องปรับใช้เซิร์ฟเวอร์จำนวนมาก

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

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

VMWare sandbox นั้นถูกสร้างขึ้นเพื่อสร้างระบบเครือข่ายของพวกเขาใหม่ในสภาพแวดล้อมที่สามารถอัปเดตการทดสอบล่วงหน้าก่อนที่จะนำไปใช้กับระบบการผลิตใน Amazon ฉันหวังว่าจะลดความเป็นไปได้ที่การอัปเดตระบบจะทำลายแอปพลิเคชันของพวกเขา

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


2
มันหยุดทำงานไว แต่ทำงานบนเซิร์ฟเวอร์เดียวเท่านั้น?
ceejayoz

1
จนกว่าพวกเขาจะได้รับเงินทุนเพื่อเรียกใช้กลุ่มใช่ พวกเขารู้และตั้งเป้าที่จะเรียกใช้กลุ่มหลังบาลานเซอร์ ... มันไม่ใช่แค่ตัวเลือกบนโต๊ะในขณะนี้
Bart Silverstrim

Amazon เตือนอย่างแรงกล้าว่าจะเกิดความผิดพลาด ราคาแพงเพียงใดการหยุดทำงานและการสูญเสียข้อมูลบางอย่างจะเป็นอย่างไร
ceejayoz

บางครั้งคุณต้องทำสิ่งที่สถานการณ์เอื้ออำนวยให้คุณ ... กับเครดิตของพวกเขาพวกเขากำลังพยายามหาวิธีการตั้งค่าที่เหมาะสม
Bart Silverstrim

คำตอบ:


18

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

เล็กน้อยเกี่ยวกับ EBS

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

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

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

พิจารณาถึงจุดที่ทำการสำรองข้อมูล

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

RAID1

หากคุณพยายามป้องกันความล้มเหลวของดิสก์ EBS (เกิดขึ้น) คุณอาจพิจารณาตั้งค่า RAID1 เนื่องจากโวลุ่ม EBS เป็นอุปกรณ์บล็อกคุณสามารถใช้ mdadm เพื่อตั้งค่าในการกำหนดค่าที่คุณต้องการได้อย่างง่ายดาย หากหนึ่งในไดรฟ์ข้อมูล EBS ของคุณไม่ทำงานตามสเป็คมันเป็นเรื่องง่ายที่จะล้มเหลวด้วยตนเอง (และแทนที่ด้วยโวลุ่ม EBS อื่น) แน่นอนว่านี่คือข้อเสีย - เพิ่มเวลาสำหรับการเขียนทุกครั้งความไวต่อการเปลี่ยนแปลงมากขึ้นค่าใช้จ่าย I / O เพิ่มขึ้นสองเท่า (monetariliy ไม่ใช่การทำงานที่ชาญฉลาด) ไม่มีการป้องกันความผิดพลาด AWS ที่แพร่หลายมากขึ้นในปีที่แล้ว การไม่สามารถแยกโวลุ่ม EBS ที่อยู่ในสถานะล็อค) และแน่นอนสถานะที่ไม่สอดคล้องของดิสก์ในความล้มเหลว

S3FS

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

MySQL bin-log

อีกทางเลือกหนึ่งสำหรับ MySQL โดยเฉพาะคือการใช้งาน bin-log คุณสามารถตั้งค่าโวลุ่ม EBS ที่สองที่จะเก็บ bin-log ของคุณ (เพื่อลดผลกระทบของการเพิ่มการเขียนลงในฐานข้อมูลของคุณ) และใช้ร่วมกับฐานข้อมูลที่คุณทิ้ง คุณอาจสามารถทำสิ่งนี้กับ s3fs ได้ซึ่งจริงๆแล้วอาจมีข้อดีหากประสิทธิภาพการทำงานลดลง (rsync น่าจะดีกว่าการลองใช้ s3fs โดยตรงและคุณจะต้องบีบอัดสิ่งที่คุณทำได้)

แม้ว่าอีกครั้งเรากลับมาที่ความคิดของวัตถุประสงค์ พิจารณาสิ่งที่จะเกิดขึ้นกับคำแนะนำข้างต้น:

  • EBS ไม่สามารถเข้าถึงได้:
    • RAID1 - ไร้ประโยชน์เนื่องจากคุณไม่สามารถเข้าถึงข้อมูลได้
    • bin-log - ไร้ประโยชน์เว้นแต่ว่าคุณจะส่งออกไปยัง S3 - อาจเป็นความล่าช้าแม้ว่าคุณจะทำเช่นนั้น
  • อินสแตนซ์สิ้นสุดลงโดยไม่คาดหมาย:
    • RAID1 - ดิสก์ของคุณพร้อมใช้งาน แต่ไม่สอดคล้องกันฐานข้อมูลของคุณอาจกู้คืนจากความไม่สอดคล้องของตัวเอง
    • bin-log - ข้อมูลของคุณควรสามารถเข้าถึงได้แม้ว่าคุณอาจจำเป็นต้องตรวจสอบเหตุการณ์ล่าสุด
  • บางคนเรียกใช้ DROP DATABASE เป็น root:
    • RAID1 - คุณมีสำเนาที่สมบูรณ์แบบของฐานข้อมูลที่ไม่มีอยู่สองชุด
    • bin-log - คุณควรจะสามารถเล่นซ้ำเหตุการณ์ก่อนถึงคำสั่งดังนั้นคุณควรจะ ok

ดังนั้น RAID1 ส่วนใหญ่ก็ไร้ประโยชน์และ bin-log ใช้เวลานานเกินไป - ทั้งคู่อาจมีข้อดีภายใต้สถานการณ์บางอย่าง แต่อยู่ไกลจากการสำรองข้อมูลความคิด

ภาพรวม

เป็นสิ่งสำคัญที่จะต้องทราบว่าสแน็ปช็อตเป็นส่วนต่างและเก็บเฉพาะบล็อกจริงที่มีข้อมูล (และถูกบีบอัด) แตกต่างจากปริมาณ EBS ที่หากคุณมีปริมาณ 20GB แต่ใช้เพียง 1GB คุณจะยังคงถูกเรียกเก็บเงินสำหรับพื้นที่เก็บข้อมูล 'จัดสรร' (20GB) ด้วยสแนปชอตคุณจะถูกเรียกเก็บเงินสำหรับสิ่งที่คุณใช้ หากไม่มีการเปลี่ยนแปลงข้อมูลระหว่างสแน็ปช็อตจะไม่มีการเรียกเก็บเงิน (ในทางทฤษฎี) (ภาพรวมจะถูกเรียกเก็บเงินสำหรับ PUTS / GETS และที่เก็บข้อมูลที่ใช้แล้ว)

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

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

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

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

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

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

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

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

ตามหมายเหตุด้าน Amazon ระบุอัตราความล้มเหลวของไดรฟ์ข้อมูล EBS เพิ่มขึ้นด้วยจำนวนข้อมูลที่เปลี่ยนแปลงไปนับตั้งแต่สแน็ปช็อตครั้งสุดท้าย

คำแนะนำสุดท้าย

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

อ่านหนังสือที่แนะนำ:

(ฉันเชื่อว่าฉันเขียนมากเกินไป แต่ไม่ได้พูดมากพอ - แต่หวังว่าคุณจะพบสิ่งที่ควรค่าแก่การอ่าน)


ข้อมูลที่ยอดเยี่ยมและคำอธิบายว่า EBS Snapshots ทำงานอย่างไร
bwight

ใช่มีข้อมูลที่ดีอยู่ที่นั่น คำตอบทั้งสอง (เมื่อรวมกับความคิดเห็นโดยเฉพาะ) มีประโยชน์ฉันหวังว่าฉันจะยอมรับทั้งสองได้!
Bart Silverstrim

4

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

สแนปชอตของ EBS นั้นค่อนข้างถูกเพราะค่าใช้จ่ายสำหรับข้อมูลที่เปลี่ยนแปลงเท่านั้นและค่าบริการข้อมูลนั้นสมเหตุสมผลมากทั้งในและนอก โปรดทราบว่าสิ่งนี้มีพื้นฐานมาจากการเปลี่ยนแปลงระดับบล็อกดังนั้นจึงสามารถเปลี่ยนแปลงได้ค่อนข้างรวดเร็ว สิ่งนี้ยังเป็นจริงระหว่างสแน็ปช็อตเฉพาะข้อมูลที่เปลี่ยนแปลงระหว่างสแน็ปช็อตเท่านั้นที่ถูกเรียกเก็บเงิน เพื่อให้คุณเข้าใจถึงต้นทุนเราจ่าย <$ 10 ต่อเดือนสำหรับการจัดเก็บสแน็ปช็อตและเราทำการสแน็ปช็อตรายวันโดยเก็บรายวัน 7 ฉบับล่าสุดและเดือนสุดท้ายของสแน็ปช็อตรายสัปดาห์และเรามีเซิร์ฟเวอร์ 2 เครื่อง ฮาร์ดไดรฟ์ 20GB)


น่าเสียดายที่ระบบไฟล์บนเซิร์ฟเวอร์ไม่ใช่ xfs แม้ว่าฉันควรจะทำได้ถ้าพวกเขาย้ายไปติดตั้งไดรฟ์ข้อมูล EBS ที่จัดรูปแบบ XFS และแนบกับอินสแตนซ์จากนั้นย้ายข้อมูลที่มีอยู่ไปยังจุดเชื่อมต่อนั้น ตอนนี้ฉันไม่คิดว่าพวกเขาจะหยุดทำงานและเพิ่มค่าใช้จ่ายสำหรับสิ่งนั้น
Bart Silverstrim

@Bart: หากคุณยินดีที่จะอดทนกับการหยุดทำงานเป็นเวลาหนึ่งหรือสองชั่วโมงเป็นไปได้ที่จะย้าย snapshot ที่มีอยู่ไปยัง XFS ฉันยังเชื่อว่าตอนนี้ ext4 สามารถรองรับสิ่งที่จำเป็นเพื่อให้ทำงานได้อย่างสอดคล้องกันหากคุณอยู่ในระบบไฟล์นั้น
Matthew Scharley

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

@javierConstanzo - คุณกำลังแนะนำให้ถ่ายภาพสดและเสี่ยงต่อสถานะไม่สอดคล้องกันและใช้ฐานข้อมูลทิ้งเพื่อแก้ไขข้อผิดพลาดที่น่าจะเป็นในความสอดคล้องของระบบไฟล์หรือไม่?
Bart Silverstrim

@Bart: ฉันขอแนะนำสแน็ปช็อตว่า 'ร้อน' เป็นสำเนาสำรองตามที่คุณจะได้รับและยังสอดคล้องกันภายในมากกว่า rsync หรือคล้ายกัน ไฟล์สามารถเปลี่ยนแปลงได้ในขณะที่คนอื่นกำลังถ่ายโอนซึ่งหมายความว่าคุณอาจท้ายด้วยการสำรองข้อมูลที่ไร้ประโยชน์ในบางสถานการณ์ ฉันเองแนะนำให้คุณกินเวลาไม่กี่ชั่วโมงเพื่อเปลี่ยนระบบไฟล์ (ถ้าจำเป็น) เพื่อให้สแนปชอตทำงานได้ มันน่าทึ่งที่โซลูชันสำรองข้อมูลของ EBS snapshot นั้นยืดหยุ่นคุณสามารถติดตั้งมันบนอินสแตนซ์ที่กำลังรันเพื่อกู้คืน
Matthew Scharley

1

วิธีการแก้ปัญหาการสำรองข้อมูลราคาถูกราคาไม่แพงอย่างเช่น Zmanda Cloud Backup? เราใช้มันเพื่อสำรองข้อมูลประมาณ 6 เซิร์ฟเวอร์และ 1 เซิร์ฟเวอร์ SQL และเป็นเพียงประมาณ $ 10 ต่อเดือน คุณสามารถเข้ารหัสข้อมูลของคุณด้วยใบรับรองที่ลงนามด้วยตนเองและพวกเขาใช้ s3 เพื่อจัดเก็บข้อมูล (ดังนั้นจึงไม่มีค่าธรรมเนียมการถ่ายโอนข้อมูลหากคุณสำรองข้อมูลจาก EC2)


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