ไดรฟ์ hot-swap มีชื่อใหม่ ถ้าฉันเพิ่มกลับเข้าไปในอาเรย์ `md 'และได้รับการเปลี่ยนชื่อเมื่อรีบูตอาเรย์จะยังใช้งานได้หรือไม่


10

หนึ่งใน HDD ในการกำหนดค่า RAID ของเซิร์ฟเวอร์ของฉันล้มเหลวดังนั้นฉันจึงนำมันออกจากอาร์เรย์และมีศูนย์ข้อมูลฮอต - swap พวกเขาได้ทำอย่างนั้น แต่ตอนนี้ไดรฟ์ใหม่เป็นมากกว่า/dev/sdc /dev/sdaฉันสงสัยว่าถ้าฉันรีบูตเซิร์ฟเวอร์มันจะเป็น/dev/sdaอีกครั้งดังนั้นฉันลังเลที่จะเพิ่มกลับไปยังอาร์เรย์/dev/sdcเนื่องจากฉันไม่ต้องการวางกับดักให้ตัวเองตกอยู่ในการรีบูตครั้งต่อไป ฉันจะไม่รีบูทเซิร์ฟเวอร์ทันทีหากฉันไม่ต้องการ (ถ้าฉันต้องการ, ดี, แย่เกินไปสำหรับฉัน)

หากฉันเพิ่มเข้าไป/dev/sdcจะมีปัญหาในการรีบูตหรือไม่ หรือมีวิธีการเปลี่ยนชื่ออุปกรณ์จาก/dev/sdcเป็น/dev/sdaโดยไม่ต้องรีบูตเครื่อง?

นี่คือบน Ubuntu 10.04 LTS มันเป็นmdอาเรย์ ("Linux Software RAID") ซึ่งปัจจุบันมีอุปกรณ์หนึ่งในนั้น (มีอยู่สองสามอัน) ที่มีลักษณะเช่นนี้ ("เสื่อมโทรม" เพราะฉันได้ลบเก่า/dev/sdaออกจากมัน):

# mdadm --detail / dev / md0
/ dev / md0:
        รุ่น: 00.90.03
  เวลาที่สร้าง: อา. 11 ต.ค. 21:07:54 น
     ระดับการจู่โจม: raid1
     ขนาดอาร์เรย์: 97536 (95.27 MiB 99.88 MB)
  ขนาด Dev ที่ใช้แล้ว: 97536 (95.27 MiB 99.88 MB)
   อุปกรณ์จู่โจม: 2
  อุปกรณ์ทั้งหมด: 1
ผู้เยาว์ที่ต้องการ: 0
    ความคงทน: Superblock ยังคงอยู่

    อัปเดตเวลา: พฤ. 30 มิ.ย. 09:31:16 น
          รัฐ: สะอาดเสื่อมโทรม
 อุปกรณ์ที่ใช้งาน: 1
อุปกรณ์ที่ใช้งานได้: 1
 อุปกรณ์ที่ล้มเหลว: 0
  อุปกรณ์สำรอง: 0

           UUID: 496be7a5: ab9177ed: 7792c71e: 7dc17aa4
         กิจกรรม: 0.112

    หมายเลข Major Minor RaidDevice State
       0 8 17 0 active sync / dev / sdb1
       1 0 0 1 ลบออก

1
อาเรย์อะไร? ถ้ามันกำลังสแกน UID ไม่สำคัญว่าจะเป็น sda หรือ sdc
Jure1873

มันเป็นmdอาร์เรย์ ("Linux Software RAID") การเพิ่ม / ลบอุปกรณ์ทั้งหมดและชื่อดังกล่าวหมายถึงชื่ออุปกรณ์ แต่ฉันไม่รู้ว่านั่นหมายความว่ามันขึ้นอยู่กับพวกเขาหรือ ... ฉันได้เพิ่มเอาท์พุทของmdadm --detailมันลงในคำถาม
TJ Crowder

สำหรับ md arrays mdadm สแกนดิสก์ทั้งหมด (ตามที่กำหนดไว้ใน /etc/mdadm.conf) ดังนั้นจึงไม่สำคัญว่ามันอยู่ที่ไหนเพราะจะเขียน ID ลงในส่วนหัวของดิสก์เพื่อให้สามารถประกอบอาร์เรย์ได้อีกครั้ง
Jure1873

ใช่ขอบคุณตรวจสอบการอัปเดตคำถามฉันอธิบายพฤติกรรมนั้นและตรวจสอบอีกครั้งว่าใช้งานได้
TJ Crowder

1
@TJCrowder แทน (หรือเพิ่มเติม) เพื่ออัปเดตคำถามของคุณคุณอาจต้องการเพิ่มการค้นพบของคุณเป็นคำตอบ (และยอมรับ) เนื่องจากคำถามนี้ได้รับการแก้ไขโดยทั่วไปแล้ว
Dennis Nolte

คำตอบ:


1

/dev/sdcก็ปรับไปข้างหน้าและเพิ่มเป็น การอ่านเอกสารประกอบเคอร์เนลmdหากชื่อเปลี่ยนไปเมื่อรีบูทมันไม่สำคัญ (การออกแบบที่ดีนั้น) นี่คือเหตุผล:

การตรวจสอบเวลาบูตอัตโนมัติของอาร์เรย์ RAID

เมื่อ md ถูกคอมไพล์ลงในเคอร์เนล (ไม่ใช่โมดูล) พาร์ติชั่นของประเภท 0xfd จะถูกสแกนและประกอบเข้าใน RAID อาร์เรย์โดยอัตโนมัติ การตรวจสอบอัตโนมัตินี้อาจถูกระงับด้วยพารามิเตอร์เคอร์เนล "raid = noautodetect" ในฐานะของเคอร์เนล 2.6.9 เฉพาะไดรฟ์ที่มี superblock ประเภท 0 เท่านั้นที่สามารถตรวจสอบอัตโนมัติและทำงานในเวลาบูต

พารามิเตอร์เคอร์เนล "raid = partitionable" (หรือ "raid = part") หมายความว่าอาร์เรย์ทั้งหมดที่ตรวจพบโดยอัตโนมัติถูกประกอบเป็นพาร์ติชัน

แม้ว่าฉันจะไม่ได้mdคอมไพล์ลงในเคอร์เนล แต่การตั้งค่าของฉันก็เป็นแบบเดียวกันกับข้างบนเพราะมันโหลดอัตโนมัติmdadmและmdadm.confตั้งค่าให้สแกนพาร์ติชั่นทั้งหมดสำหรับซุปเปอร์บล็อกเช่นเดียวกับที่เคอร์เนลต้องการ:

# โดยค่าเริ่มต้นสแกนพาร์ติชันทั้งหมด (/ proc / พาร์ติชัน) สำหรับ MD superblocks
# หรือระบุอุปกรณ์ที่ต้องการสแกนโดยใช้สัญลักษณ์แทนหากต้องการ
อุปกรณ์พาร์ติชัน

ดังนั้นจึงเป็นการดีที่จะสร้างอาร์เรย์ขึ้นใหม่ด้วย/dev/sdc; ชื่ออาจจะเปลี่ยนเป็น/dev/sdaเมื่อรีบูตเครื่อง แต่จะไม่ทำให้เกิดปัญหาหากmdตั้งค่าไว้ด้านบน

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