Score:0

การตรวจสอบ RAID รายสัปดาห์ส่งผลกระทบต่อระบบของฉัน - มีวิธีใดที่จะบรรเทาได้บ้าง

ธง ml

ฉันเพิ่งได้รับโฮสต์เว็บ (Hetzner) เพื่อเพิ่มไดรฟ์ SATA ขนาด 16TB แบบชำระเงินให้กับเว็บเซิร์ฟเวอร์ของฉัน ปัจจุบันใช้ 2.5TB ของพวกเขา พวกเขากำลังมิเรอร์ RAID 1

ฉันยังมีไดรฟ์ nVME 4TB สองตัวที่มี 700GB อยู่ในนั้น และ RAID 1 มิเรอร์ด้วย

ทุกสัปดาห์ CentOS จะเริ่ม cronjob เพื่อเรียกใช้ "ตรวจสอบ" บนอาร์เรย์ md ทั้งสองของฉัน เกิดขึ้นพร้อมๆ กัน โดยที่ nVME จะสิ้นสุดหลังจากผ่านไป 5 ชั่วโมง SATA ใช้เวลา 18 ชั่วโมงอย่างเจ็บปวดที่ 200MB/วินาทีตลอดเวลา

# เรียกใช้การตรวจสอบการโจมตีทั้งระบบสัปดาห์ละครั้งในวันอาทิตย์เวลา 01.00 น. ตามค่าเริ่มต้น
0 1 * * ซันรูท /usr/sbin/raid-check

เซิร์ฟเวอร์ของฉันทรงพลังมาก ด้วย 32core EPYC และ 128GB of ram แต่ฉันสังเกตเห็นว่า IO ช้าลงเมื่อการตรวจสอบนี้ทำงาน

  1. จำเป็นต้องวิ่งทุกสัปดาห์หรือไม่?

  2. 200MB/วินาที * 18 ชั่วโมงหมายความว่าใช้พื้นที่ทั้งหมด 16TB ไม่ใช่แค่พื้นที่ว่าง สิ่งนี้สามารถทำให้ฉลาดขึ้น/เกียจคร้านขึ้นได้ ดังนั้นมันจึงทำงานบนพื้นที่ว่างเท่านั้น?

  3. งานนี้ก็เป็นได้ ดีd หรือคล้ายกัน? ฉันขอขอบคุณที่มันจะใช้เวลานานกว่า แต่นั่นอาจจะดีกว่า ดูการแก้ไขด้านล่าง

  4. การหยุดสคริปต์ชั่วคราวจะเป็นความคิดที่ไม่ดีหรือไม่? แทนที่จะเป็น 18 ชั่วโมงในการตีหนึ่งครั้ง ฉันสามารถทำ (พูด) 3 ชั่วโมงต่อคืนได้ไหม

  5. นี่เป็นปัญหาที่ทุกคนประสบ หรือฉันตัดสินใจผิดหรือเปล่า? การติดตั้งการ์ดโจมตีฮาร์ดแวร์จะทำให้ฉันมีความสุขมากขึ้นหรือไม่

แก้ไข

ตอนนี้ฉันได้ค้นพบแล้ว /etc/sysconfig/raid-check และเปลี่ยนไป ดี = ต่ำ ถึง NICE=ไม่ได้ใช้งาน. ฉันเดาว่าฉันจะไม่รู้ว่ามันแตกต่างกันอย่างไรจนกว่าจะถึงสัปดาห์หน้า

paladin avatar
id flag
ใช้ btrfs-raid1 (โดยใช้ระบบไฟล์ btrfs) แทน mdadm Raid1 ที่โง่เขลา
Codemonkey avatar
ml flag
คุณช่วยบอกฉันเพิ่มเติม @paladin - ทำไมถึงดีกว่านี้ และฉันคิดว่าฉันแปลงมันไม่ได้ ฉันต้องย้ายข้อมูลไปยังไดรฟ์อื่นก่อน แล้วจึงย้ายกลับ ฉันเป็นนักพัฒนาแบบฟูลสแตกที่ทำธุรกิจ/เซิร์ฟเวอร์/ไซต์ของตัวเอง ฉันยินดีที่จะยอมรับว่านี่ไม่ใช่สาขาที่ฉันเชี่ยวชาญ วันนี้ฉันไม่มีความเชี่ยวชาญด้านนี้!
paladin avatar
id flag
ระบบไฟล์ btrfs รองรับการจู่โจมในระดับระบบไฟล์ ในขณะที่ mdadm รองรับการจู่โจมในระดับบล็อก btrfs ยังสร้างการตรวจสอบไฟล์ทั้งหมดและข้อมูลทั้งหมด ในขณะที่ mdadm ไม่สร้าง mdadm เป็นแค่คนโง่ btrfs เปรียบเทียบข้อมูลเมตาทั้งหมดและข้อมูลทั้งหมดด้วยการตรวจสอบและยังสามารถเปรียบเทียบกับสำเนา (การคัดลอกแบบ Raid1 หรือสำเนา) หากมีบางอย่างเสียหาย เฉพาะไฟล์ที่เสียหายเท่านั้นที่จะได้รับการซ่อมแซม ไม่จำเป็นต้องตรวจสอบระดับบล็อกดิสก์ทั้งหมด แต่โปรดอ่านเกี่ยวกับ btrfs ก่อน เนื่องจากฟังก์ชันบางอย่างของระบบไฟล์นี้แตกต่างจาก ext4 และ co..
paladin avatar
id flag
คุณควรอ่านเพิ่มเติมเกี่ยวกับเรื่องนี้จริงๆ [ที่นี่](https://btrfs.wiki.kernel.org/index.php/Main_Page) btrfs พร้อมสำหรับการผลิตและมีความเสถียรในการใช้งานเมื่อคุณใช้งานอย่างถูกวิธี ฉันจะเขียนสรุปเล็ก ๆ น้อย ๆ ในภายหลัง ป.ล. คุณไม่ควรใช้โหมด btrfs-raid5 หรือ btrfs-raid6 เนื่องจากโหมดเหล่านี้เป็นโหมดทดลองและอันตรายมาก (อันตรายกว่า Raid0) ระบบไฟล์ btrfs ควรติดตั้งด้วยตัวเลือกการเมานต์ 'noatime' เสมอ
Score:2
ธง za

ไม่ MD RAID ฉลาดกว่านี้ไม่ได้แล้ว หากคุณต้องการตรวจสอบเฉพาะพื้นที่ที่ใช้ ให้ใช้ ZFS หรืออาจเป็น BTRFS

ตรวจสอบรายสัปดาห์บ่อยเกินไป ทำเป็นประจำทุกเดือนหรือเดือนเว้นเดือน

ฉันไม่รู้ว่า NICE นี้ทำอะไรได้บ้าง หากเป็นการตั้งค่า I/O ที่ดีของกระบวนการเคอร์เนล [mdX_resync] นั่นเป็นสิ่งที่ดีและใช้ ไม่ได้ใช้งาน. สิ่งที่คุณสามารถจำกัดแบนด์วิธของเช็ค: มันถูกตั้งค่าใน /sys/block/mdX/md/sync_speed_max ไฟล์เป็น kB/s นี่คือไฟล์เสมือน เช่น มันจะถูกรีเซ็ตหลังจากรีสตาร์ทระบบ

อย่างไรก็ตาม มันถูกจำกัดไว้ที่ 200 MB/s โดยค่าเริ่มต้น และดูเหมือนว่าคุณจะถึงขีดจำกัดนั้นแล้ว คุณสามารถเพิ่มความเร็วสำหรับ SSD (ตั้งค่า 5000000 และดูเวลาที่พวกเขาจะถูกตรวจสอบ) และแทนที่จะ "หยุดชั่วคราว" สำหรับ HDD ฉันจะเล่นอย่างจำกัด (เช่น ในช่วงที่มีการโหลดสูง ฉันจะตั้งค่าขีดจำกัดให้ต่ำลง ระหว่างเวลาที่ไม่ได้ใช้งาน ฉันจะตั้งค่าแบนด์วิธสูงสุดของอินเทอร์เฟซ SATA 6 Gb/S 600000 â SATA 6 Gb/S)

ฉันสงสัยว่าการ์ด HW RAID จะทำให้สิ่งต่างๆ ดีขึ้นมาก

jm flag
การ์ดฮาร์ดแวร์ RAID จะทำให้สิ่งต่างๆ ดีขึ้นมากคำสั่ง md checkarray สแกนทุกเซกเตอร์ของทุกดิสก์เพื่อความสม่ำเสมอและการเน่าของบิต สิ่งนี้ทำได้โดยกระบวนการอ่านทุกบล็อก ดังนั้นมันจึงต้องใช้ I/O เข้มข้นและค่อนข้างใช้ CPU มาก ด้วยการโจมตีด้วยฮาร์ดแวร์ ฟังก์ชันเหล่านี้จะเรียกใช้จากภายในการ์ด ดังนั้นจึงไม่มี I/O บนบัสและซีพียูไม่เกี่ยวข้อง
Codemonkey avatar
ml flag
น่าสนใจ ขอบคุณ ฉันคิดว่ามันแปลกที่การตรวจสอบ nVME ใช้เวลานานมาก ขีดจำกัด 200MB/s นั้นสมเหตุสมผล แม้ว่าฉันอยากจะทำงานให้น้อยลง แต่ฉันเชื่อว่า Debian เลือกใช้รายเดือนและ RHEL รายสัปดาห์ ใครเป็นคนบอกว่าข้อใดถูกต้อง... คุณช่วยสรุปได้ไหมว่าทำไมคุณถึงเชื่อว่ารายสัปดาห์เป็น "บ่อยเกินไป"
Codemonkey avatar
ml flag
นอกจากนี้ คุณรู้หรือไม่ว่า Raid-Check จะโหลดไฟล์ Conf อีกครั้งที่จุดใด หรือทำอย่างไรให้เป็นเช่นนั้น? ฉันได้ลองใช้การตรวจสอบ (`echo idle > /sys/devices/virtual/block/mdX/md/sync_action`) แล้วเริ่มใหม่อีกครั้ง แต่ดูเหมือนจะไม่เป็นเช่นนั้น (ฉันได้ตั้งค่า `MAX_CONCURRENT=1` ​​และตอนนี้มีความสุขที่จะทำทั้งสองอย่างพร้อมกัน)

โพสต์คำตอบ

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