Софтуерен RAID1 (огледален) с помощта на mdadm
На практика най-вероятният източник на проблеми с компютрите, работещи 24x7, са дисковете. За 12 години се натъкнах на две повредени мрежови карти на сървъри, но устройствата, дори устройствата от серия сървъри, се повреждат редовно. Какво е WD, какво е Seagate, какво е Hitahi. Затова считаме въпроса за мотивацията за използване на огледалния raid1 за приключен.
Вече почти всички дънни платки декларират raid функционалност. Само ако знаете точно защо трябва да атакувате дънната си платка, направете го. Освен това най-често това са специфични вариации на тема софтуерен рейд, само че никой не знае как направени. Тези. не е фактът, че са лошо направени. Но не е фактът, че ще намерите изчерпателна информация за решаването на проблема. След това специални рейд контролери. Отново, ако знаете точно какво искате, използвайте ги. Но трябва да разберете, че всяко устройство (независимо дали е дънна платка или отделен контролер) може да се закопчае и тогава може да има проблеми с получаването на данни от дисковете на масива. Освен това може да имате затруднения при намирането на информация за решаването на проблема, защото. запознат с конкретно парче желязо или линия оборудване не е толкова голям.
Едно от най-често срещаните решения, за което винаги ще намерите помощ във форумите, е да използвате софтуерен рейд, който не е обвързан с хардуера. В случая на Linux това е raid масивът, създаден от mdadm.
Нека направим най-простата система за защита от повреда на твърдия диск - огледален рейд масив. За да направите това, добавете два диска към системата: /dev/sdb /dev/sdd
Да предположим, че поставяме споделен файл или ресурс за база данни на дискове. Дисковете са нови, нямат дялове.
Нека проверим дали дисковете наистина са неразделени:
Не трябва да има /dev/sdb1 и така нататък! По същия начин за /dev/sdd.
Уверете се, че ще създадете дялове точно на дисковете, които сте добавили за тази цел. Проверете модела на диска и неговия S/N: smartctl -i /dev/sdb
На всеки диск ще създадем дял за целия диск с поглед към raid.
Нещо подобно: Първо n (добавяне на нов дял), след това p (основен), номер на дял 1 (номер на дял). Всички номера могат да бъдат оставени по подразбиране. Записва промените и излиза: w
Променете типа на дяла /dev/sdb1 на "Linux raid autodetect":
Първо t (променете системния идентификатор на дял), след това fd (Linux raid auto), след това p (проверете промените) и w (запазете промените и излезте):
Правим същото с диска /dev/sdd (т.е. създаваме първичен дял /dev/sdd1 и променяме типа на „Linux raid autodetect“).
Създайте RAID1 масив
Ако имате други устройства във вашата система, проверете внимателно и щателно имената на устройствата. Това не е първият масив на моя компютър, така че ще посоча името на новосъздадения масив като „/dev/md2“.
# mdadm --create --verbose /dev/md2 --level=1 --ra >
--create - създаване --verbose - повече информация! /dev/md2 - името на новия raid масив (всъщност това е устройство, след което можете да създавате lvm дялове на него и всичко друго) --ra >
Проверете какво се е случило:
# cat /proc/mdstat Личности : [raid1] md2 : активен raid1 sdd1[1] sdb1[0] 976630464 блокира супер 1.2 [2/2] [UU] [>. ] resync = 1.4% (13876288/976630464) finish=85.1min speed=188512K/sec bitmap: 8/8 страници [32KB], 65536KB парче
Извършва се синхронизация. Да изчакаме да свърши.
След като синхронизацията приключи, вижте параметрите на вашия масив:
# mdadm --detail --scan --verbose
ARRAY /dev/md2 level=ra > устройства=/dev/sdb1,/dev/sdd1
За да не изчезне атаката след рестартирането, запазете конфигурацията във файла /etc/mdadm.conf (пътят до файла е правилен за CentOS 7):
# mdadm --detail --scan --verbose >> /etc/mdadm.conf
Забележете ">>" (добавяне, без презаписване). Не презаписвайте конфигурацията на mdadm, може да има важна информация за други масиви, които вече работят на вашата система.
Какво представлява UUID "3eaa3e42:6f083fc4:0c9281a3:1b9b7452"? Вижте UUID на блоковите устройства, започващи с "3eaa3e42":
# blkid grep 3eaa3e42 /dev/sdb1: UU /dev/sdd1: UU
Тези. има обвързване в конфигурацията на масива raid1 не само чрез името /dev/sdb1, но и чрез уникалния идентификатор на устройството. Следователно, ако просто извадите дисковете и включите други на тяхно място, тогава нищо добро няма да излезе от това.
И така, сега ето какво: можете просто да форматирате създадения диск (mkfs.ext4 /dev/md2) и да посочите неговата точка на монтиране във файла /etc/fstab или можете да си поиграете с LVM. LVM може да осигури определени предимства в бъдеще, например, ако решите да преоразмерите дял или дори да добавите други дискове към него, изведнъж ще има много малко място.
Създаваме физически том на устройството /dev/md2 (т.е. вече работим с обект от масив, а не с конкретни дялове като /dev/sdb1):
# pvcreate /dev/md2 Физическият том "/dev/md2" е създаден успешно.
# pvscan PV /dev/md2 lvm2 [931.39 GiB]
На тома създайте група томове (група томове) с името "datavg" (произволно можете да вземете различно име:
# vgcreate datavg /dev/md2
В групата "datavg" създайте логически том "datalv" (името е избрано произволно) с размер 931GB (размерът е взет от списъка на командата pvscan):
# lvcreate --name datalv --size 931G datavg
[без да навлизаме в разликите между ext4, ext3, xfs ии т.н.] форматирайте крайния логически том /dev/datavg/datalv в xfs:
Междинна сума: имаме "диск" с файлова система xfs, който може да се монтира и използва. Например, за да може нашия raid1 да обслужва някаква директория (нека бъде /data), добавете към /etc/fstab, например:
/dev/mapper/datavg-datalv /data xfs по подразбиране 0 0
Създайте самата директория /data:
Проверете преди рестартиране:
# монтиране /dev/mapper/datavg-datalv /data
Напишете някакъв файл в /data и рестартирайте.
Проверяваме. Тестовият файл трябва да е на място.
За първи път винаги го правете на тестов или маловажен сървър.