ใช้ UUID กับ mdadm


10

ฉันใช้ GPT เป็นรูปแบบการแบ่งพาร์ติชันของฉัน ฉันตรวจสอบพาร์ติชันของ UUID ของฉัน:

# ls -l /dev/disk/by-partuuid/
total 0
lrwxrwxrwx 1 root root 10 Oct 18 22:39 0793009a-d460-4f3d-83f6-8103f8ba24e2 -> ../../sdb3
lrwxrwxrwx 1 root root 10 Oct 18 22:39 13f83c47-ad62-4932-8d52-e93626166e7f -> ../../sdc3
lrwxrwxrwx 1 root root 10 Oct 18 22:39 1b247b1f-0b7b-419e-bc3b-0f90cbadb87c -> ../../sdc2
lrwxrwxrwx 1 root root 10 Oct 18 22:39 224d5933-7a23-4833-b785-79a67c9b9306 -> ../../sda1
lrwxrwxrwx 1 root root 10 Oct 18 22:39 2ff625b2-b96b-4ce5-b752-57cdf7092258 -> ../../sda3
lrwxrwxrwx 1 root root 10 Oct 18 22:39 449956f9-7289-49ed-9a37-ed6be9264d1c -> ../../sdb1
lrwxrwxrwx 1 root root 10 Oct 18 22:39 a2a95e45-7e4c-4b20-a2bd-66d96e737590 -> ../../sdb2
lrwxrwxrwx 1 root root 10 Oct 18 22:39 a8c07f74-9d6d-4f45-9453-dd2e6998f100 -> ../../sda2
lrwxrwxrwx 1 root root 10 Oct 18 22:39 c2c9e94c-9c73-4d6e-a4ec-2229f56152e8 -> ../../sdc1

และเพิ่ม/dev/sdc2โดยใช้ UUID:

# mdadm /dev/md0 --add /dev/disk/by-partuuid/1b247b1f-0b7b-419e-bc3b-0f90cbadb87c
mdadm: added /dev/disk/by-partuuid/1b247b1f-0b7b-419e-bc3b-0f90cbadb87c

แต่เมื่อฉันดูรายละเอียดของอาร์เรย์ RAID จะรายงาน/dev/sdc2แทน UUID

# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Thu Oct 18 21:52:43 2012
     Raid Level : raid1
     Array Size : 1048564 (1024.16 MiB 1073.73 MB)
  Used Dev Size : 1048564 (1024.16 MiB 1073.73 MB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Fri Oct 19 15:57:19 2012
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : cow:0  (local to host cow)
           UUID : 9e691db1:f8fcc7d8:f56d9c11:1c202693
         Events : 47

    Number   Major   Minor   RaidDevice State
       2       8       34        0      active sync   /dev/sdc2
       1       8       18        1      active sync   /dev/sdb2
  1. มันเป็นไปไม่ได้ที่จะสร้างอาร์เรย์ RAID โดยใช้ UUID หรือไม่?
  2. หรือใช้ UUID แต่รายงานชื่อปกติเพื่อเพิ่มความสามารถในการอ่าน? ในกรณีนั้นฉันจะบอกได้อย่างไร
  3. ฉันต้องการใช้ UUID เพื่อที่ฉันจะสามารถเคลื่อนย้ายดิสก์ได้อย่างอิสระในเครื่องโดยไม่ทำลายอะไรเลย เสียงนั่นไม่ใช่ความคิดที่ดีใช่ไหม

คำตอบ:


14

mdraid อนุญาตให้คุณย้ายดิสก์รอบ ๆ ได้อย่างอิสระในเครื่องโดยไม่คำนึงถึงวิธีการเพิ่มดิสก์ลงในอาร์เรย์ มันติดตามดิสก์โดย RAID metadata (superblocks) ที่เก็บไว้ในดิสก์

โปรดทราบว่านี่ถือว่า mdadm สามารถค้นหาดิสก์เมื่อประกอบอาร์เรย์ ค่าเริ่มต้น (ที่ระบุใน/etc/mdadm/mdadm.conf) เป็นปกติDEVICE partitionsซึ่งหมายถึงการตรวจสอบพาร์ติชันทั้งหมด (บนดิสก์ทั้งหมด) การตรวจสอบสำหรับ RAID superblocks มันตรวจสอบการจับคู่ของชื่ออาร์เรย์หรือ UUID (ขึ้นอยู่กับสิ่งที่คุณพูดจะทำในไฟล์กำหนดค่านั้น) สังเกตว่าทั้งคู่อยู่ใน--detailผลลัพธ์ของคุณ

ตัวอย่าง:

DEVICE partitions
:
ARRAY /dev/md0 metadata=1.2 UUID=9e691db1:f8fcc7d8:f56d9c11:1c202693

เมื่อบอกให้รวบรวม/dev/md0mdadm จะสแกนพาร์ติชันทั้งหมดในระบบเพื่อค้นหา 1.2 superblocks ด้วย UUID 9e691db1: f8fcc7d8: f56d9c11: 1c202693 มันจะอ่านหมายเลขอุปกรณ์ ฯลฯ ออกมาจากแต่ละอันและใช้ข้อมูลนั้นเพื่อประกอบอาร์เรย์

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


ขอบคุณ! โดยเริ่มต้นของฉันบอกว่า/etc/mdadm/mdadm.conf สาย outcommented โดยเริ่มต้นสำหรับอูบุนตู แต่ฉันเดาว่าพฤติกรรมเริ่มต้นจะสมบูรณ์แบบมาก! (ฉันไม่มีมากจะต้องสแกน)# by default (built-in), scan all partitions (/proc/partitions) and all containers for MD superblocks. alternatively, specify devices to scan, using wildcards if desired.DEVICE
ลบ

จะทราบ UUID ของ superblock เพื่อใส่ในไฟล์ config ได้อย่างไร?
Dims

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