דלג לתוכן
הירשמו לניוזלטר
כונן קשיח פתוח בתקריב, עם הפלטה והראש הקורא
Nissim.Bits
מדריך · אחסון

RAID 1 מאפס: שני כוננים, עותק אחד שלא הולך לאיבוד

בסרטון דיברתי על RAID 1. כאן יש את כל מה שלא נכנס לדקה: מה צריך לקנות, איך מגדירים בווינדוס, בלינוקס ובמק, מה עושים כשכונן מת, ובסוף איך שמים את מערכת ההפעלה עצמה על RAID.

▶ לסרטון באינסטגרם

רגע לפני: מה זה RAID?

RAID (Redundant Array of Independent Disks) זו שיטה לחבר כמה כוננים פיזיים כך שמערכת ההפעלה תראה אותם ככונן אחד. קבוצת הכוננים המחוברים נקראת מערך (array). איך בדיוק מחברים אותם נקבע לפי ה"רמה" (level): חלק מהרמות נותנות מהירות, חלק הגנה מפני כונן שמת, וחלק את שניהם.

סוגי RAID, כל אחד במשפט

כל ריבוע הוא חתיכת מידע שנכתבת לכונן. לחצו על כונן כדי לשרוף אותו ותראו אם המידע שורד.

מידע זוגיות P (בלוק חישובי לשחזור) זוגיות שנייה Q

RAID 0

פיזור (striping)
לחצו על כונן 👆

הקובץ נחתך לחתיכות שמתפזרות בין הכוננים. זה מהיר מאוד, אבל כונן אחד שמת לוקח איתו את כל המידע.

מינימום 2נפח: כל הכונניםשורד: 0 כוננים

RAID 1

מראה (mirroring)עליו המדריך
לחצו על כונן 👆

כל מה שנכתב לכונן אחד נכתב בדיוק גם לשני. מאבדים חצי מהנפח, ומרוויחים שקט.

מינימום 2נפח: של כונן אחדשורד: כונן 1

RAID 5

פיזור + זוגיות
לחצו על כונן 👆

המידע מתפזר כמו ב-RAID 0, ועל כל שורה נשמר גם בלוק זוגיות (P). ממנו אפשר לחשב מחדש כל כונן אחד שנופל.

מינימום 3נפח: N פחות 1שורד: כונן 1

RAID 6

זוגיות כפולה
לחצו על כונן 👆

כמו RAID 5, רק עם שני בלוקי זוגיות (P ו-Q). המערך שורד גם שני כוננים שמתים באותו זמן.

מינימום 4נפח: N פחות 2שורד: 2 כוננים

RAID 10

מראות בפיזור
לחצו על כונן 👆

זוגות של מראות (RAID 1), והמידע מפוזר בין הזוגות (RAID 0). מקבלים מהירות והגנה, במחיר חצי מהנפח.

מינימום 4נפח: חצישורד: כונן 1 בכל זוג
⚠️ RAID 1 הוא לא גיבוי

RAID 1 מגן מפני דבר אחד: כונן שמת. הוא לא מגן ממחיקה בטעות, מכופרה, מקובץ שנהרס או מגניבה של המחשב, כי כל אלה משוכפלים לשני הכוננים בתוך מילישנייה. RAID נותן לך זמינות, וגיבוי הוא עותק נפרד. צריך את שניהם.

מספיק תיאוריה.עכשיו נגדיר RAID 1 👇

מה צריך לפני שמתחילים

שני כוננים חובה

שני כוננים נוספים, מעבר לכונן שעליו מותקנת מערכת ההפעלה. RAID לכונן המערכת עצמו נמצא בפרק המתקדמים.

גיבוי לפני חובה

יצירת המערך מוחקת כל מה שיש על שני הכוננים. מגבים קודם.

אותו גודל מומלץ

זה לא חובה, אבל הנפח של המערך הוא הנפח של הכונן הקטן. כונן של 1TB עם כונן של 2TB נותנים 1TB, והשאר מתבזבז.

אותו סוג מומלץ

SSD עם HDD יעבוד, אבל כל כתיבה תחכה לכונן האיטי. זה נכון גם לשני סוגי SSD: אם משלבים SSD מסוג NVMe עם SSD מסוג SATA, שהוא איטי ממנו פי כמה, ה-NVMe יכתוב במהירות של ה-SATA.

אותו דגם, סדרה אחרת טיפ

כוננים מאותה סדרת ייצור נוטים להזדקן יחד. אם אפשר, קנו אותם בהפרש זמן או משתי חנויות שונות.

בדיסקים קשיחים: CMR טיפ

העדיפו כונני CMR (למשל סדרות NAS כמו WD Red Plus או Seagate IronWolf) על פני SMR. בכונני SMR בנייה מחדש של המערך יכולה להיות איטית מאוד.

חיבור פנימי מומלץ

כוננים בחיבור USB עובדים, אבל אם כבל אחד מתנתק לרגע, המערכת מתייחסת לכונן כאילו מת. כשהוא חוזר, היא מעתיקה אליו מחדש את כל המידע מהכונן השני, וזה יכול לקחת שעות.

ומה עם מהירות?

כתיבה ל-RAID 1 מהירה בערך כמו לכונן בודד, כי כל דבר נכתב פעמיים. קריאה יכולה להיות מהירה יותר, כי המערכת מסוגלת לקרוא משני הכוננים במקביל.

רגע, צריך להגדיר משהו בביוס?

התשובה הקצרה: לכונן נתונים, לא.

כל שלוש מערכות ההפעלה יודעות לעשות RAID 1 בתוכנה, בלי לגעת בביוס. RAID של הביוס רלוונטי בעיקר כשרוצים לשים את ווינדוס עצמה על RAID, וזה נמצא בפרק המתקדמים.

יש שלושה סוגים של RAID, וכדאי להכיר את ההבדל:

RAID בתוכנהRAID בביוס ("Fake RAID")בקר RAID חומרתי
מי עושה את העבודהמערכת ההפעלהדרייבר במערכת ההפעלה, בעזרת הביוסכרטיס עם מעבד משלו
דוגמאותStorage Spaces, mdadm, AppleRAIDIntel RST / VMD, AMD RAIDXpert2כרטיסים של Broadcom / LSI
עלותחינםחינם (מובנה בלוח האם)מאות דולרים
להעביר למחשב אחרקלרק ללוח עם אותו סוג בקרעם אותו כרטיס
מתי להשתמשכונני נתונים, כמעט תמידמערכת ההפעלה בווינדוסשרתים

RAID של הביוס נשמע "חומרתי", אבל בפועל המעבד שלך עושה את העבודה, והמערך נשאר קשור ללוח האם. אם הלוח מת, צריך לוח עם בקר תואם כדי לקרוא את המידע. ב-RAID בתוכנה מחברים את הכוננים לכל מחשב עם אותה מערכת הפעלה, והמערך עולה.

אל תשנו את מצב ה-SATA בביוס במחשב שכבר עובד

מעבר בין AHCI ל-RAID במחשב שווינדוס כבר מותקנת עליו עלול לגרום לכך שהמחשב לא יעלה.

Windows

יש בווינדוס שתי דרכים מובנות. Storage Spaces היא הדרך המומלצת, והיא עובדת גם ב-Windows Home. הדרך הישנה, Mirrored Volume בניהול הדיסקים, קיימת רק ב-Pro ומעלה ומבוססת על "דיסקים דינמיים". מיקרוסופט עצמה כבר ממליצה לא להשתמש בהם.

דרך א': Storage Spaces מומלץ

  1. חברו את שני הכוננים, וודאו שאין עליהם שום דבר שחשוב לכם.
  2. פתחו Settings › System › Storage › Advanced storage settings › Storage Spaces.
  3. תחת Add a new storage pool לחצו Add, תנו שם למאגר (pool), סמנו את שני הכוננים ולחצו Create.
  4. במסך של ה-Storage Space תנו שם, השאירו את הגודל המוצע, וב-Resiliency בחרו Two-way mirror. זה ה-RAID 1. לחצו Create.
  5. במסך ה-Volume תנו תווית ואות כונן, בחרו NTFS ולחצו Format.

זהו. כונן חדש מופיע בסייר הקבצים, וכל מה ששומרים עליו נכתב לשני הכוננים. ב-Windows 10 הדרך היא דרך Control Panel › Storage Spaces › Create a new pool and storage space, עם אותן אפשרויות.

מעדיפים PowerShell? הריצו כמנהל. שימו לב שהשורה הראשונה בוחרת את כל הכוננים שאפשר לצרף, אז בדקו מה היא החזירה לפני שממשיכים:

PowerShell
# check this list before continuing
$disks = Get-PhysicalDisk -CanPool $true
$disks | Format-Table FriendlyName, Size, MediaType

New-StoragePool -FriendlyName "MirrorPool" `
  -StorageSubSystemFriendlyName "Windows Storage*" -PhysicalDisks $disks

New-VirtualDisk -StoragePoolFriendlyName "MirrorPool" -FriendlyName "Mirror" `
  -ResiliencySettingName Mirror -NumberOfDataCopies 2 -UseMaximumSize

Get-VirtualDisk -FriendlyName "Mirror" | Get-Disk |
  Initialize-Disk -PartitionStyle GPT -PassThru |
  New-Partition -AssignDriveLetter -UseMaximumSize |
  Format-Volume -FileSystem NTFS -NewFileSystemLabel "Mirror"

לבדיקת המצב בכל רגע:

PowerShell
Get-VirtualDisk | Format-Table FriendlyName, ResiliencySettingName, HealthStatus, OperationalStatus

דרך ב': Mirrored Volume בניהול דיסקים Pro בלבד

  1. לחצו Win + X ופתחו Disk Management. שני הכוננים צריכים להופיע כ-Unallocated. אם יש עליהם מחיצות, מוחקים אותן (Delete Volume), אחרי גיבוי.
  2. לחיצה ימנית על השטח הלא מוקצה בכונן הראשון ובחירה ב-New Mirrored Volume.
  3. מוסיפים את הכונן השני עם Add, בוחרים אות, NTFS ו-Quick format, ולוחצים Finish.
  4. מאשרים את ההמרה ל-Dynamic disks.

הסטטוס יהיה Resynching למשך זמן מה, ואחר כך Healthy. אם האפשרות New Mirrored Volume בכלל לא מופיעה, כנראה שמותקנת אצלכם Windows Home. במקרה כזה משתמשים בדרך א'.

Linux

הכלי הסטנדרטי הוא mdadm. הפקודות כאן מתאימות ל-Ubuntu ול-Debian, והשינויים ל-Fedora מופיעים בהערות.

  1. מזהים את הכוננים. זה השלב הכי חשוב. כונן לא נכון פירושו מידע שנמחק.
    lsblk -o NAME,SIZE,MODEL,SERIAL
    בדוגמה הכוננים הם /dev/sdb ו-/dev/sdc. אצלכם השמות עשויים להיות אחרים, ובכונני NVMe הם יהיו למשל /dev/nvme1n1.
  2. מתקינים את mdadm.
    sudo apt install mdadm        # Fedora: sudo dnf install mdadm
  3. מנקים חתימות ישנות (זה מוחק את מה שעל הכוננים):
    sudo wipefs -a /dev/sdb /dev/sdc
  4. יוצרים את המערך. אם mdadm שואל Continue creating array?, עונים y.
    sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
  5. עוקבים אחרי הסנכרון הראשוני. הוא יכול לקחת שעות, אבל אפשר להמשיך לעבוד עם המערך בינתיים.
    watch cat /proc/mdstat
  6. מפרמטים ומחברים (mount):
    sudo mkfs.ext4 /dev/md0
    sudo mkdir -p /mnt/raid1
    sudo mount /dev/md0 /mnt/raid1
  7. שומרים את ההגדרה כך שתשרוד ריבוט. בלי השלב הזה המערך עלול לעלות בשם אחר, כמו md127.
    sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
    sudo update-initramfs -u
    # Fedora: write to /etc/mdadm.conf and run: sudo dracut -f
  8. עלייה אוטומטית ב-fstab. מוצאים את ה-UUID:
    sudo blkid /dev/md0
    ומוסיפים שורה ל-/etc/fstab. האפשרות nofail דואגת שהמחשב יעלה גם אם המערך בעייתי:
    UUID=your-uuid-here  /mnt/raid1  ext4  defaults,nofail  0  2
    בודקים עם sudo mount -a לפני ריבוט. אם אין שגיאה, זה עובד.
חלופה מודרנית: ZFS או Btrfs

שתי מערכות הקבצים האלה יודעות לעשות מראה בעצמן, ויש להן יתרון אמיתי: הן שומרות checksum לכל בלוק. כך הן מזהות גם קובץ שהשתבש בשקט, ומתקנות אותו מהעותק התקין. ב-mdadm אין את זה.

sudo zpool create tank mirror /dev/disk/by-id/DISK1 /dev/disk/by-id/DISK2
# or
sudo mkfs.btrfs -m raid1 -d raid1 /dev/sdb /dev/sdc

macOS

ב-Disk Utility יש אשף RAID מובנה (AppleRAID). המגבלה היחידה: אפשר לבנות את המערך רק על כוננים נוספים, לא על כונן ההפעלה.

דרך א': Disk Utility

  1. חברו את שני הכוננים. מומלץ לנתק כוננים חיצוניים אחרים, כדי לא לבחור בטעות כונן לא נכון.
  2. פתחו Disk Utility ובחרו View › Show All Devices.
  3. בחרו File › RAID Assistant, אחר כך Mirrored (RAID 1), ולחצו Next.
  4. סמנו את שני הכוננים. בעמודת Role השאירו RAID slice. כונן שלישי, אם יש, יכול לשמש כ-Spare.
  5. תנו שם, בחרו פורמט (APFS או Mac OS Extended (Journaled)), השאירו את ה-Chunk size כפי שהוא, וסמנו Automatically rebuild. לחצו Create ואז Done.

המערך יופיע תחת RAID Sets ב-Disk Utility וכדיסק רגיל ב-Finder.

דרך ב': טרמינל

diskutil list                                  # find the disks, e.g. disk4 and disk5
diskutil appleRAID create mirror Mirror APFS disk4 disk5
diskutil appleRAID list                        # status

כשכונן מת (וזה הכל העניין)

RAID 1 עוזר רק אם שמים לב שכונן מת. המערך ממשיך לעבוד כרגיל עם כונן אחד, ובדיוק בגלל זה קל לפספס שאין יותר הגנה. בדקו את המצב מדי פעם, ואם אפשר, הגדירו התראות. כלי SMART כמו CrystalDiskInfo בווינדוס או smartctl בלינוקס ובמק מתריעים עוד לפני שהכונן מת.

Windows: Storage Spaces

  1. ב-Storage Spaces תופיע אזהרה על המאגר. חברו כונן חדש והוסיפו אותו למאגר. ב-Control Panel זה Change settings › Add drives.
  2. על הכונן התקול בחרו Prepare for removal, ואחר כך Remove.
  3. ווינדוס משקמת את המראה לבד. אפשר גם לזרז עם Repair-VirtualDisk -FriendlyName "Mirror".

Windows: Mirrored Volume

  1. הסטטוס יהיה Failed Redundancy, והכונן התקול יסומן Missing.
  2. לחיצה ימנית על הווליום בכונן החסר ובחירה ב-Remove Mirror.
  3. מחברים כונן חדש, ואז לחיצה ימנית על הווליום הקיים, Add Mirror, ובחירה בכונן החדש.

Linux: mdadm

sudo mdadm --detail /dev/md0                         # which disk failed?
sudo mdadm --manage /dev/md0 --fail /dev/sdb --remove /dev/sdb
# swap the physical disk, then:
sudo mdadm --manage /dev/md0 --add /dev/sdd
watch cat /proc/mdstat                               # rebuild progress

כדי לקבל מייל כשמשהו קורה, הוסיפו שורה כמו MAILADDR you@example.com לקובץ mdadm.conf. צריך גם שרת דואר מוגדר במחשב.

macOS: AppleRAID

ב-Disk Utility המערך יסומן כ-Degraded. מחברים כונן חדש ומוסיפים אותו למערך, דרך כפתור ה-+ במסך של ה-RAID או בטרמינל:

diskutil appleRAID list                        # set name / UUID
diskutil appleRAID add member disk6 Mirror     # starts the rebuild
בזמן בנייה מחדש

הכונן שנשאר עובד עכשיו הכי קשה, ואין לו גיבוי. אם עוד לא גיביתם, זה הזמן. ואל תעמיסו עליו עבודה כבדה עד שהבנייה מסתיימת.

למתקדמים: RAID לכונן מערכת ההפעלה

הרעיון הוא שאם כונן המערכת מת, המחשב ממשיך לעלות מהכונן השני. זה אפשרי, אבל מסובך יותר, ובכל מערכת זה עובד אחרת. בכל המקרים מדובר בהתקנה נקייה, אז גבו הכל לפני.

Windows: RAID דרך הביוס

  1. בביוס, הפעילו את מצב ה-RAID. בפלטפורמות של Intel זה בדרך כלל VMD או Intel RST, ובפלטפורמות של AMD זה SATA/NVMe RAID mode. השמות משתנים מלוח ללוח, אז בדקו במדריך של הלוח.
  2. בכלי ה-RAID של הביוס (Intel RST או AMD RAIDXpert2) צרו ווליום RAID 1 משני הכוננים.
  3. מאתר התמיכה של יצרן לוח האם הורידו את דרייבר ה-RAID (לפעמים נקרא F6 driver) ופרסו אותו על הדיסק-און-קי של ההתקנה.
  4. בהתקנת ווינדוס, כשלא מופיעים כוננים, לחצו Load driver ובחרו את התיקייה. המערך יופיע ככונן אחד, ומתקינים עליו כרגיל.
  5. אחרי ההתקנה, התקינו את אפליקציית ה-RST או ה-RAIDXpert2 כדי לקבל התראות על מצב המערך.
ומה עם Add Mirror על כונן C?

ב-Windows Pro אפשר טכנית ללחוץ לחיצה ימנית על C ולבחור Add Mirror. אבל במחשבי UEFI מחיצת האתחול (EFI) לא משתכפלת אוטומטית, ויש דיווחים על תקלות בשדרוגי גרסה של ווינדוס עם דיסקים דינמיים. לרוב האנשים אני לא ממליץ על הדרך הזו.

Linux: בזמן ההתקנה

ההתקנה של Ubuntu Server תומכת בזה ישירות:

  1. במסך האחסון בחרו Custom storage layout.
  2. על הכונן הראשון בחרו Use As Boot Device, ועל השני Add As Another Boot Device. כך נוצרת מחיצת EFI בכל אחד מהכוננים.
  3. בכל כונן הוסיפו מחיצה על שאר המקום, ובחרו Leave unformatted.
  4. בחרו Create software RAID (md), רמה 1, וסמנו את שתי המחיצות.
  5. על md0 בחרו פורמט ext4 ונקודת mount /, והמשיכו בהתקנה.

המתקין הגרפי של Ubuntu Desktop לא מציע את האפשרות הזו. אפשר להתקין Server ואחר כך להוסיף ממשק עם sudo apt install ubuntu-desktop, או להשתמש בהפצה שהמתקין שלה תומך ב-RAID בחלוקה הידנית, כמו Fedora או Debian.

macOS: התשובה הכנה היא לא

אפל עצמה כותבת שאי אפשר ליצור RAID על דיסק ההפעלה. גרסאות macOS מודרניות גם לא תומכות באתחול מ-RAID בתוכנה. במחשבי Apple Silicon יש סיבה נוספת: תהליך האתחול תמיד עובר דרך ה-SSD הפנימי.

מה כן: Time Machine לכונן חיצוני, ואת המידע החשוב לשמור על מערך המראה מפרק 7.

שאלות נפוצות

אפשר להפוך כונן קיים עם מידע ל-RAID 1 בלי למחוק אותו?
  • Windows Pro: כן. ב-Disk Management לוחצים לחיצה ימנית על הווליום, בוחרים Add Mirror ובוחרים כונן ריק. הכוננים יומרו לדיסקים דינמיים.
  • Storage Spaces: לא. מגבים, יוצרים את המערך ומשחזרים.
  • Linux: אפשר. יוצרים מערך "חסר" עם הכונן החדש ועם missing במקום הכונן השני, מעתיקים אליו את המידע, ואחר כך מוסיפים את הכונן המקורי. זה מתקדם, אז עושים את זה עם גיבוי.
  • Mac: רק בווליום מסוג Mac OS Extended (HFS+), עם diskutil appleRAID enable mirror diskXsY.
אפשר להעביר את הכוננים למחשב אחר?

ב-RAID בתוכנה כן. Storage Spaces מזוהה בכל מחשב ווינדוס, mdadm מרכיב את המערך לבד ברוב ההפצות, ו-AppleRAID עולה בכל מק. ב-RAID של הביוס צריך לוח עם בקר תואם.

זה יאט לי את המחשב?

כמעט לא. כתיבה היא בערך במהירות של כונן בודד, וקריאה יכולה להיות קצת מהירה יותר. העומס על המעבד זניח במחשבים מודרניים.

אם יש לי סנכרון לענן, צריך גם RAID 1?

אלה דברים שונים. סנכרון לענן (כמו OneDrive או Google Drive) מעתיק גם מחיקות, בדיוק כמו RAID. מה שבאמת שומר עליכם זה גיבוי עם היסטוריית גרסאות. RAID 1 חוסך לכם את הזמן שבו המחשב מושבת כשכונן מת, וגיבוי חוסך לכם את המידע.

אפשר לשלב כוננים בגדלים שונים?

כן, אבל הנפח של המערך יהיה כמו של הכונן הקטן. בהמשך אפשר להחליף את הקטן בגדול, לחכות לבנייה מחדש, ולהרחיב את המערך. אבל זה כבר נושא למדריך אחר.

סיכום: המסלול המומלץ

Windows

Storage Spaces עם Two-way mirror. עובד גם ב-Home.

Linux

mdadm, או ZFS/Btrfs אם רוצים גם הגנה מקבצים שמשתבשים.

macOS

Disk Utility, ואז RAID Assistant ו-Mirrored.

כונן מערכת

ווינדוס: RAID דרך הביוס. לינוקס: בזמן ההתקנה. מק: Time Machine.

והכלל שחשוב יותר מכל RAID: 3-2-1

שלושה עותקים של המידע, על שני סוגי מדיה שונים, ואחד מהם מחוץ לבית. RAID 1 הוא שכבה מצוינת בתוך התוכנית הזו, אבל הוא לא מחליף אותה.