วิธีป้องกันการสูญเสียเซิร์ฟเวอร์ในงบประมาณ


22

ฉันเป็น บริษัท เล็ก ๆ ที่มีงบประมาณไม่มากนักที่ให้เว็บไซต์และฐานข้อมูลเพื่อการกุศลและลูกค้าที่ไม่แสวงหาผลกำไร

ฉันมีเซิร์ฟเวอร์ Debian Linux VPS สองสามตัวและทำให้แน่ใจว่าฉันมีการสำรองข้อมูลรายวันไปยัง VPS ที่แตกต่างจากเซิร์ฟเวอร์ที่ให้บริการ

เมื่อเร็ว ๆ นี้หนึ่งใน บริษัท โฮสติ้งของฉันบอกฉันว่ามีสองไดรฟ์ที่ล้มเหลวพร้อมกันและทำให้ข้อมูลสูญหายตลอดไป พวกเขาพูดว่าขอโทษพวกเขาทำอะไรได้อีก? แต่มันทำให้ฉันสงสัยเกี่ยวกับวิธีที่ประหยัดต้นทุนในการเพิ่ม VPS อีกครั้งในกรณีที่ฮาร์ดแวร์หรือความล้มเหลวที่เกี่ยวข้องกับโฮสต์

ตอนนี้ฉันจะต้อง

  1. หมุน VPS ใหม่
  2. รับการสำรองข้อมูลของวันสุดท้าย (ซึ่งรวมถึงฐานข้อมูลเว็บรูทและการกำหนดค่าเฉพาะเว็บไซต์) ไปยัง VPS และกำหนดค่าเช่นเดียวกับที่ผ่านมาเป็นต้น
  3. อัปเดต DNS และรอให้เผยแพร่

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

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

เมื่อรวมกับการเลือกโฮสต์ที่มีชื่อเสียงแล้วสิ่งที่ดีที่สุดที่ฉันสามารถทำได้โดยไม่ต้องหาทางออกแพง ๆ อย่างเหลือเชื่อ?


1
สงสัยอย่างมากเกี่ยวกับการอ้างสิทธิ์ว่า 2 ไดรฟ์ล้มเหลวพร้อมกันโดยเฉพาะอย่างยิ่งใน vps
symcbean

เห็นได้ชัดว่าล้มเหลวแล้วอีกอย่างหนึ่งในขณะที่สร้างใหม่
artfulrobot

ลองดูที่drbd.linbit.comสิ่งนี้อาจเหมาะกับความต้องการของคุณ ..
The Unix Janitor

2
@symcbean: ปัญหาคือการสร้าง RAID-5 ใหม่ต้องอ่านข้อมูลทั้งหมดของดิสก์ที่เหลือทั้งหมด นั่นเป็นการดำเนินการที่ค่อนข้างยาวนาน (ชั่วโมงถ้าไม่ใช่วัน) ระบบ RAID-5 ราคาถูกอาจมีการตั้งค่า 9 + 1 โดยใช้ไดรฟ์เดสก์ทอป ดิสก์ 9 ตัวเหล่านี้จะถูกเน้นหนักเกินขีด จำกัด การออกแบบในการสร้าง RAID ใหม่ ในความเป็นจริงแล้วจะต้องมีการล้มเหลว
MSalters

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

คำตอบ:


28

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

ผมบอกคนที่คุณได้รับ uptime 99% ฟรี (เช่นโดยการใช้จ่ายอะไรพิเศษเกี่ยวกับความพร้อมสูง) นั่นคือการหยุดทำงานประมาณสามวันครึ่งต่อปี เพิ่มทุก9ในช่วงเวลานั้นเพิ่มค่าใช้จ่ายโดยระหว่างสามและสิบครั้ง

หากผู้คนไม่พร้อมที่จะจ่ายเงินแบบนั้นฉันคิดว่าเป็นความผิดพลาดที่ทำให้พวกเขาเข้าใจผิดคิดว่าพวกเขาสามารถได้รับการคุ้มครองเป็นพิเศษจากความสำคัญใด ๆ


3
นี่คือคำตอบที่ดี ฉันมีการตั้งค่าและประเภทลูกค้าคล้ายกับ @artfulrobot (เราใช้ บริษัท โฮสติ้งเดียวกัน) และคำถามและคำตอบของคุณทำให้ฉันรู้ว่ามันเป็นความรับผิดชอบของฉันในการสื่อสารข้อ จำกัด และความเสี่ยงให้กับลูกค้าของฉัน ในภาษาอังกฤษที่ธรรมดามากเพื่อให้แน่ใจว่าพวกเขามีความคาดหวังที่สมจริง ส่วนใหญ่ของพวกเขาไม่ได้เป็น teccie ดังนั้นจึงมีโอกาสที่แท้จริงมากที่พวกเขาคิดว่าทุกอย่างจะทำงานได้อย่างน่าอัศจรรย์ไม่หยุดและไม่มีที่สิ้นสุดโฆษณา ฉันไม่ต้องการจัดการความคาดหวังของพวกเขาในระหว่าง / หลังจากความล้มเหลวครั้งใหญ่ฉันต้องทำก่อน!
Simon Blackbourn

ผมไม่ได้บอกว่าจะล้มเหลว uncorrelated อย่างเต็มที่ แต่ 1 + 1 ซ้ำซ้อนในทางทฤษฎีจะทำให้คุณสองเก้าพิเศษสำหรับสองครั้งค่าใช้จ่าย คุณแนะนำค่าใช้จ่ายสำหรับเก้าไนน์พิเศษสองแห่งระหว่าง 9 ครั้งถึง 100 ครั้ง 2x กับ ~ 30x นั้นแตกต่างกันมาก
MSalters

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

วิธีที่ดีและง่ายในการนำเสนอ (แต่ ... ฉันแค่เพิ่มราคาที่ไหนสักแห่งเพราะ 3 ถึง 10 ครั้ง "ฟรี" ยังคงฟรี;) หรือแน่นอนคุณหมายถึงต้นทุนโดยรวมของการบริการเองหรือ )
Olivier Dulac

@OlivierDulac แม่นยำมาก ๆ !
MadHatter สนับสนุนโมนิก้า

8

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

ฉันมีลูกค้าบางคนเช่นนี้และนี่คือสิ่งที่ฉันทำ:

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

ฉันมีเพลย์บุ๊ค ansible ที่เรียบง่ายฉันรวบรวมประมาณหนึ่งชั่วโมง (ไม่ได้ทำงานกับ ansible ก่อนหน้านี้) ที่ติดตั้ง nginx, php-fpm และ MariaDB และเตรียมพวกเขาให้เป็นโฮสต์เว็บไซต์หรือเว็บไซต์ การเรียกใช้ playbook นี้ส่งผลให้เซิร์ฟเวอร์ (หรือเซิร์ฟเวอร์) ที่พร้อมที่จะโฮสต์เว็บแอปพลิเคชันทั่วไปและฉันสามารถคืนค่าโฮสต์เสมือน nginx, ไฟล์แอปพลิเคชันและฐานข้อมูลให้กับมันได้

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


เฮ้ที่เสียงจุดบน ฉันจะดูว่า ขอบคุณ
artfulrobot

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

@JamesRyan ใช่ แต่คุณไม่ได้รับเศรษฐกิจของ ... เศรษฐกิจ บอกฉันว่าจะใช้งานสองอินสแตนซ์ของ Amazon และตัวโหลดบาลานซ์แบบยืดหยุ่นสำหรับเว็บไซต์ที่เห็น 300 ครั้งต่อเดือนหรือไม่
Michael Hampton

@MichaelHampton ที่ไม่ได้อยู่ห่างไกลจากสิ่งที่ฉันแนะนำ บริษัท ที่โฮสต์ VPS สำหรับลูกค้าหลายร้อยคนสามารถแพร่กระจายพวกเขาท่ามกลางฮาร์ดแวร์ที่ซ้ำซ้อนมากกว่าเพียงแค่วางพวกเขาไว้บนเซิร์ฟเวอร์จริงเพียงเครื่องเดียวและข้ามนิ้วของพวกเขา
JamesRyan

4

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

การสร้างกรณีศึกษาทางธุรกิจสำหรับการมีเซิร์ฟเวอร์ "สด" 2 เครื่องนั้นง่ายพอ ๆ กับการเปรียบเทียบการสูญเสียรายได้ที่อาจเกิดขึ้นระหว่างช่วง "กู้คืนจากภาพ" กับค่าใช้จ่ายของเซิร์ฟเวอร์อื่น


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

การจำลองแบบ MySQL นั้นค่อนข้างง่ายในการตั้งค่าและกำหนดค่านอกเหนือจากเวลาที่ใช้ในการถ่ายโอนชุดข้อมูลเริ่มต้น สำหรับ DNS ตัวแก้ไขส่วนใหญ่เคารพ TTL ในระดับต่ำในปัจจุบันและการตั้งค่า TTL ของระเบียนให้ต่ำที่สุดเท่าที่ 60 วินาทีมักจะทำงานได้ดี
Mark R.

การจำลองแบบ MySQL มีความซับซ้อนมากขึ้นเมื่อคุณต้องการเพิ่มในฐานข้อมูลพิเศษใหม่และฉันเชื่อว่ายังคงมีความยุ่งยากที่จะมีเซิร์ฟเวอร์ตัวเดียวเป็นทาสของเจ้านายมากกว่าหนึ่งคน (การจำลองแบบหลายฐานข้อมูลบนเซิร์ฟเวอร์สแตนด์บายเดียว) แน่นอนว่าคุณต้องมีความปลอดภัยในการเข้าถึงระหว่างเซิร์ฟเวอร์เช่น stunnel นั่นคือ PKI ที่จะรักษา ฯลฯ ยกเว้นว่าคุณมี LAN ส่วนตัว แต่ถูกตัดขาดโดยความจำเป็นที่ต้องมี บริษัท โฮสติ้งแยกต่างหาก
artfulrobot

มีการทำซ้ำ do-dbและ SSH อุโมงค์ด้วยกุญแจอยู่เสมอ
Mark R.

ใช้เพื่อเรียกใช้อุโมงค์ SSH มาตรฐาน แต่ไม่น่าเชื่อถือ Stunnel นั้นเจิดจรัสเมื่อคุณเริ่มใช้งานได้แล้ว
artfulrobot

2

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

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


ใช่ฉันทำอย่างนั้น :-) และใช่ บริษัท โฮสติ้งไม่สนใจข้อมูลฉันเคยจัดการดิสก์เสียหายมาก่อนด้วย!
artfulrobot

0

คำตอบทั้งหมดขึ้นอยู่กับสถาปัตยกรรมและความต้องการของคุณ บางครั้งที่ผ่านมา 3 แผ่นล้มเหลวบนเซิร์ฟเวอร์ของฉันลดลง 20+ vm เมื่อการโจมตี 6 ล้มเหลว

ฉันเขียนเกี่ยวกับเรื่องนี้ที่

https://www.linkedin.com/pulse/20140827173324-2064263-how-i-nearly-lost-my-business-to-3-hard-discs

แต่: เนื่องจากเป็นสิ่งสำคัญเราจึงทำการสำรองข้อมูลทุกวันสำหรับสิ่งที่ไม่สำคัญ 15 นาทีสำหรับฐานข้อมูลและอีเมล Heck ตอนนี้ฉันเพิ่มเซิร์ฟเวอร์ที่ได้รับการจำลองแบบไปยังเครื่องอื่นทุก ๆ 30 วินาที

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

นอกจากนี้ - งบประมาณสำหรับการสำรองนี้ควรอยู่ในราคาของคุณ จะต้องมีการจ่าย และโครงสร้างพื้นฐานอะไรก็ตามที่คุณต้องการ .... คุณต้องการมัน มันไม่ได้ "ไร้สาระราคาแพง" แล้ว


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