Всі наведені нижче дії ви робите на свій страх і ризик. Ми не несемо відповідальності за втрату чи пошкодження даних.
Оригінал статті: How To Set Up Software RAID1 On A Running System (Incl. GRUB2 Configuration) (Debian Squeeze)
Вихідні дані
Маємо два жорсткі диски /dev/sda та /dev/sdb, однакового розміру. Диск/dev/sdb – новий, підключений до системи. Диск /dev/sda має наступні розділи:
- /dev/sda1 – розділ /boot, ext4
- /dev/sda2 – swap
- /dev/sda3 – розділ /, ext4
Завдання – отримати RAID1-масив такого вигляду:
- /dev/md0 (що складається з /dev/sda1 та /dev/sdb1) – розділ /boot, ext4
- /dev/md1 (що складається з /dev/sda2 та /dev/sdb2) – розділ підкачування
- /dev/md2 (що складається з /dev/sda3 та /dev/sdb3) – розділ /, ext4
Установка утиліти mdadm
Для налаштування та управління програмним RAID-ом у Linux використовується утиліта mdadm. Встановимо її:
#apt-get install initramfs-tools mdadm
MD arrays потрібні для керування файлом системи: all
Завантажимо необхідні модулі ядра:
#modprobe linear
#modprobe multipath
#modprobe raid0
#modprobe raid1#modprobe raid5
#modprobe raid6
#modprobe raid10
Для того щоб переконатися, що всі необхідні модулі та компоненти встановлені, виконаємо наступну команду:
#cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]unused devices:
#
Якщо Ви бачите щось подібне, то все добре.
Підготовка /dev/sdb
Обидва диски в масиві повинні мати абсолютно однакове розбиття. Залежно від типу таблиці розділів, що використовується (MBR або GPT) необхідно використовувати відповідні утиліти для копіювання таблиці розділів.
Жорсткий диск з таблицею розділів MBR
Для жорсткого диска з MBR використовуємо утиліту sfdisk:
#sfdisk -d /dev/sda | sfdisk --force /dev/sdb
де /dev/sda – диск джерело, /dev/sdb – диск призначення.
Перевіримо, що все правильно:
#fdisk -l
Disk&deb/sda: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b0ecb br /> Device Boot Start   Blocks Id System
/dev/sda1 *   1 63 &n bsp; 498688 83 Linux
Partition 1 does not   span>
/dev/sda2 63 125 499712 82 Linux swap ;2 does not end on cylinder boundary.
/dev/sda3 ; n 125 653 >Partition 3 does not end on cylinder boundary.
Disk /dev/sdb: 5368 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units ;16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes >
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0
Device Boot Start   ; End Blocks  ; Id System
/dev/sdb1 * ; 1 63 498688
Partition 1 does not end on cylinder boundary.
/dev/sdb2 &nb 82 Linux swap / Solaris
Partition 2 does not end on cylinder /dev/sdb3 125     4242432 83 &nb sp;Linux
Partition 3 does not end on cylinder boundary.
#
На наступному кроці змінимо тип трьох розділів жорсткого диска /dev/sdb на Linux raid autodetect:
#fdisk /dev/sdbWARNING: DOS-compatible mode is deprecated. It's strongly br /> switch off the mode (command 'c') and > sectors (command 'u').
Command (m for help) > m
Command action
a toggle a bootable flag
b edit c toggle the dos compatibility flag
d delete l list known par tition types
m print this menu
n add > o create a new empty DOS partition table
p&nb br /> q quit without saving changes
s br /> t change a partition's system id
u > v verify the partition table
w write   > x extra functionality (experts only)Com mand (m for help):
t
Partition number (1-4): 1
Hex code (type L to list codes): L0  Empty 24 NEC nnbn  ; Minix / old Lin bf Solaris
1 FAT12 39 82 Linux swap / So c1 DRDOS/sec (FAT- 3 XENIX usr 40 Venix 8nb 2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 5 &nb  42 SFS     -F S data
6 FAT16 4n   NTFS volume set db CP/M / CTOS / NTFS 4e QNX4.x 2nd part 88 Linux plaintext ;AIX 4f QNX4.x 3rd df BootIt
9 AIX bootable 50    93 Amoeba e1 DOS access
  anag 51 OnTrack DM6 Aux 94 Amoeba ;FAT32 52 CP/M    /OS e4 SpeedStor
c Wnbb   ;DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 54 OnTrackDM6   a5 FreeBSD ee GPT
10 OPUS   Golden Bow a7 NeXTSTEP     ; Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1   ;SpeedStor
12 Compaq diagnost 61 SpeedStor a9 &nbb f4 SpeedStor
14 Hidden FAT16 16 Hidden FAT16 64 Novell Netware af   ;HFS / HFS+ fb VMware VMFS
17 Hidden HP FS/NTF 65 Novell Netware b7 BSDI fs  & AST SmartSleep 70 DiskSecure Mult b8 BSDI&nbb  1b HiddenW95 FAT3 75 PC/IX LANstep
1c Hidden W95 FAT3 Old Minix nnbb ;ff BBT
1e Hidden W95 FAT1
Hex code (type L to list codes): style="color: #ff0000;">fd
Change
May 10, 2013