การกำหนดค่า RAID ที่แนะนำสำหรับฐานข้อมูล Oracle คืออะไร


16

RAID (อาร์เรย์สำรองของดิสก์ราคาถูก) มาพร้อมกับการกำหนดค่าต่าง ๆ (RAID-0, RAID-1 ... ) อะไรคือการกำหนดค่า RAID ที่แนะนำที่ฉันควรตั้งค่าและใช้เมื่อติดตั้งฐานข้อมูล Oracle ฐานข้อมูลส่วนใหญ่จะใช้เป็นคลังข้อมูล


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

4
RAID0 ไม่ควรใช้บนเซิร์ฟเวอร์ฐานข้อมูล ยกเว้นกรณีที่คุณต้องการกู้คืนจากเทป
mrdenny

คำตอบ:


13

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

พิจารณาการอภิปรายที่AskTom , ฟอรั่ม OTN , OTN ฟอรั่มที่ 2และฟอรั่ม OTN 3

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

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

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

--Edit--

" กลุ่มดิสก์ " ทุกกลุ่มอาจประกอบด้วยดิสก์ไดเรคทอรีหรือไฟล์ในระบบย่อยที่เหมาะสมหนึ่งแผ่นหรือมากกว่า Oracle แนะนำ "เพื่อประสิทธิภาพและความน่าเชื่อถือที่ดีที่สุดให้เลือกอุปกรณ์ RAID หรือโลจิคัลวอลุ่มบนอุปกรณ์ฟิสิคัลมากกว่าหนึ่งเครื่องและใช้วิธีการแบบแถบและกระจกทุกอย่าง (SAME)" เมื่อวางไฟล์บนระบบไฟล์ ที่อ่านราวกับว่า oracle แนะนำ RAID 1 + 0

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

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


1
การจู่โจมเสมือนเสียงค่อนข้างสนุก: /
jcolebrand

10

หากคุณมีไดรฟ์ทางกายภาพสองตัว:

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

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

หากคุณมีไดรฟ์ทางกายภาพสามตัว:

ตัวเลือกของคุณคือ RAID5, RAID10 ที่ไม่ได้มาตรฐาน 3 ไดรฟ์ (หรือ RAID1E เป็นตัวควบคุมของ IBM อ้างถึงมัน) หากรองรับ แน่นอนว่าคุณสามารถใช้ RAID1 และเก็บไดรฟ์เสริมไว้เป็นส่วนหนึ่งเมื่อคนอื่นล้มเหลว แต่คุณควรเก็บอะไหล่ไว้ในสภาพแวดล้อมที่มีความสำคัญยิ่ง

RAID5 มีพื้นที่มากกว่า RAID10 (สองไดรฟ์ที่คุ้มค่าแทนที่จะเป็นแบบหนึ่งต่อครึ่ง) แต่มีปัญหาด้านประสิทธิภาพการเขียนที่เป็นไปได้สำหรับทุก ๆ บล็อกที่เขียนคอนโทรลเลอร์ต้องอ่าน parity block อัปเดตและเขียนกลับ ปัญหาประสิทธิภาพการเขียนนี้สามารถเพิ่มเป็นสองเท่าสำหรับการเขียนฐานข้อมูลเนื่องจากมีการเขียนอย่างน้อยสองครั้งสำหรับการอัพเดททุกครั้ง: หนึ่งรายการในบันทึกธุรกรรมและอีกหนึ่งรายการไปยังพื้นที่ข้อมูลจริง เนื่องจากพื้นที่มีราคาถูกวันนี้ฉันอยากจะแนะนำ RAID10 แบบ 3 ไดรฟ์หากรองรับเพื่อประสิทธิภาพการเขียนที่ดีขึ้น ซอฟต์แวร์ RAID ของ Linux นำเสนอสิ่งนี้เช่นเดียวกับคอนโทรลเลอร์ IBM หลายตัว (เรียกว่า RAID1E) คุณอาจพบมันภายใต้ชื่ออื่นด้วยเช่นกันเพราะไม่ถือว่าเป็นข้อตกลงมาตรฐานดังนั้นจึงไม่มีชื่อมาตรฐาน

ทั้ง R5 และ R10-over-three ให้ความซ้ำซ้อนกัน (ไดรฟ์ใด ๆ สามารถล้มเหลวในแต่ละครั้งและอาร์เรย์จะอยู่รอด) และตัวชี้วัดประสิทธิภาพการอ่านที่คล้ายกัน (คล้ายกับอาร์เรย์ RAID0 สองไดรฟ์)

หากคุณมีไดรฟ์ทางกายภาพสี่ตัว:

หากสร้างเพียงหนึ่งอาเรย์ก็จะมีตัวเลือกสองตัวเลือก (ไม่สนใจ "การเปลี่ยนแปลงแบบ hot spare"): RAID6 และ "ดั้งเดิม" RAID10 (RAID0 ของ RAID1s)

ทั้งสองให้พื้นที่เดียวกัน (สองไดรฟ์ของคุณสี่) RAID6 ให้ความซ้ำซ้อนที่ดีขึ้นเนื่องจากไดรฟ์สองตัวใดสามารถล้มเหลวได้ในขณะที่ RAID10 สามารถอยู่รอดได้จากสถานการณ์ที่หายไปจากสองไดรฟ์ที่เป็นไปได้สี่ในหก ทั้งสองให้ประสิทธิภาพการอ่าน simialr แต่ RAID6 มีปัญหาประสิทธิภาพการเขียนคล้ายกับ RAID5 (เหมือนกันบนตัวควบคุมที่ดีแม้ว่ามันจะช้ากว่า RAID5 บนตัวควบคุมที่ไม่ดีหรือด้วยซอฟต์แวร์ RAID ขึ้นอยู่กับ OS และความสามารถในการควบคุม I / O RAID10 คือ โดยปกติแล้วจะใช้สำหรับฐานข้อมูลด้วยเหตุผลด้านประสิทธิภาพ - หากคุณต้องการความซ้ำซ้อนเป็นพิเศษคุณสามารถใช้ไดรฟ์หกตัวและมี RAID1 หรือ 2 3 ไดรฟ์ RAID1

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

หากคุณมีไดรฟ์มากกว่าสี่ตัว:

ตัวเลือกของคุณจะเปิดกว้างและนี่ขึ้นอยู่กับว่าข้อมูลของคุณคืออะไรและสิ่งที่คุณคาดหวังว่าจะได้รับการอัปเดต / อ่าน / โหลด / รูปแบบ ตัวอย่างเช่นเมื่อบริการของเราทำงานบนไดรฟ์ 12 ~ 70Gb:

  • 4x เป็น RAID10 สำหรับพื้นที่ระบบ (OS, SQL Server (MSSQL ในกรณีของเรา), swap, tempdb)
  • 4x เป็น RAID10 สำหรับไฟล์ข้อมูล
  • 4x เป็น RAID10 สำหรับบันทึกธุรกรรม

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

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

หากคุณมีหกไดรฟ์คุณอาจพิจารณาอาร์เรย์ RAID1 สามชุดหรืออาร์เรย์ RAID10 สามไดรฟ์สองชุด

โดยทั่วไป

น่าเสียดายที่ไม่มี "วิธีปฏิบัติที่ดีที่สุด" แบบง่ายๆเพราะมันขึ้นอยู่กับขนาดของระบบและรูปแบบการใช้งานของคุณ กฎทั่วไปเท่านั้นที่ฉันสามารถคิดหรือเป็น:

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

ฮาร์ดแวร์หรือซอฟต์แวร์ RAID?

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

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

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

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

ฉันมักจะใช้ซอฟต์แวร์ RAID บนเซิร์ฟเวอร์ dev ของเราทดสอบและเซิร์ฟเวอร์ UAT และ RAID ฮาร์ดแวร์ที่ดีสำหรับเซิร์ฟเวอร์ที่ใช้บริการลูกค้า / สาธารณะ


5

"การOracle Database ปรับแต่งประสิทธิภาพคู่มือ " มีบทที่ทุ่มเทให้กับการกำหนดค่า I / O ในระยะสั้น:

  • ใช้การสตริป (ฮาร์ดแวร์ RAID, ซอฟต์แวร์ RAID, ASM)
  • อย่าใช้ RAID5 สำหรับการเก็บถาวรและทำซ้ำบันทึก
  • จัดขนาดบล็อกระบบไฟล์และขนาดบล็อก DB

4

ในบางกรณี JBOD เป็นคำตอบที่ถูกต้อง (เช่นไม่ใช่ RAID)

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

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

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

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

...

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

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

...

ดังนั้นจุดที่ฉันพยายามทำ - ไม่มีคำตอบที่เหมาะกับทุกสถานการณ์ ถ้ามี DBA จะไม่ทำงานและ บริษัท ต่างๆจะซื้ออุปกรณ์ฐานข้อมูลที่สร้างไว้ล่วงหน้า

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


1
Grr ที่ไม่มี upvotes ฉันจะกลับมาที่นี่คืนนี้เพราะฉันชอบบางประเด็นของคุณมาก ฉันเป็นแฟนตัวยงของ JBOD เช่นกันหรือโดยเฉพาะอย่างยิ่งคู่ RAID1 จำนวนมาก
jcolebrand

@ jcolebrand: จริง ๆ แล้วหลังจากที่ฉันโพสต์ข้อความนี้ฉันได้อ่าน 'ASM' ที่ Brian Ballsun-Stanton พูดถึงและดูเหมือนว่า Oracle จัดการ mirroring + striping แทนที่จะอยู่ในระดับ OS / FS / ฮาร์ดแวร์ดังนั้นเราจึงทำคะแนนคล้ายกัน แต่เขาให้ทางออกที่ดีกว่าสำหรับการติดตั้ง Oracle ล่าสุด
Joe

JBOD ใดที่ต้องมีเหมือนที่คุณแนะนำใช่หรือไม่
jcolebrand

@ jcolebrand: ค่อนข้างมาก (ขอแนะนำให้เลือก แต่ฉันไม่คิดว่าจำเป็น )
Joe

3

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


แต่การเปลี่ยนฮาร์ดไดรฟ์ไม่ใช่โดเมนของ DBA ใช่หรือไม่ การตรวจสอบดิสก์สำหรับอายุการใช้งานและอัตราความล้มเหลวสำหรับเครื่องมืออัตโนมัติของ SF ฝูงชน อย่าทำซ้ำงานและทำลายสาเหตุของความเชี่ยวชาญ เราเป็น dba หลังจากทั้งหมด;)
jcolebrand

Raid 5 ใช้งานที่ไหน ฮาร์ดแวร์? ซอฟต์แวร์? ออราเคิล? บนดิสก์กี่แผ่น? Oracle ไดรฟ์อาเรย์ที่แนะนำเกี่ยวกับอะไร นี่คือสิ่งที่บันทึกการเก็บถาวรสำหรับทำซ้ำไม่ใช่หรือ
Brian Ballsun-Stanton

2
RAID5 สามารถมีปัญหาประสิทธิภาพการเขียนที่สำคัญ RAID10 นั้นพบได้ทั่วไปสำหรับเซิร์ฟเวอร์ฐานข้อมูล
David Spillett

@ jcolebrand บริษัท หลายแห่งที่ฉันเคยทำงานเพื่อดูแลผู้ดูแลระบบเครือข่าย == ผู้ดูแลระบบเซิร์ฟเวอร์ == ผู้ดูแลระบบฐานข้อมูล ในบางคนมีเพียงไม่กี่คนที่สามารถเข้าถึงดาต้าเซ็นเตอร์การผลิตดังนั้นคนเหล่านั้นต้องสวมหมวก 2 ใบพร้อมกัน ในหลาย ๆ งานที่ฉันทำผู้ดูแลระบบเซิร์ฟเวอร์ไม่ทราบว่าเกิดอะไรขึ้นดังนั้นฉันจึงมีส่วนร่วมดังนั้นฉันจึงต้องรู้จักงานของพวกเขาด้วย
Tangurena

มันเจ๋งดีและมันก็ดูดในเวลาเดียวกัน ดีใจที่ได้รับเสียงจากประสบการณ์;) [PS: ของฉันเป็น +1]
jcolebrand

2

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

โดยปกติฉันจะบอกให้คุณไปที่ Wikipedia และอ่านบทความก่อนที่จะดำเนินการต่อเนื่องจากมี RAID ค่อนข้างน้อยและแต่ละประเภทนั้นถูกใช้อย่างดีที่สุดในที่ต่าง ๆ

พื้นฐานไปเช่นนี้:

RAID0

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

RAID1

ยอดเยี่ยมสำหรับความน่าเชื่อถือ การขยายตัวไม่มาก ค่อนข้างดีกับความเร็ว

RAID5

มิกซ์ที่ต้องการระหว่าง RAID0 และ RAID1 (เรียงลำดับ)

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


2
แม้ว่า ServerFault จะไม่ผิดที่แน่นอนสำหรับคำถามนี้ที่นี่อาจถูกต้อง ปัญหาประสิทธิภาพการทำงานของ I / O เป็นสิ่งที่ DBA ควรทราบเป็นอย่างดี
David Spillett

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