Я пытаюсь создать зеркальные диски RAID1 в уже развернутой системе (CentOS 6.4). У меня два диска: source / dev /sda с ОС и / dev /SDB которое будет зеркалом. Диски подключаются из VMware ESXi как виртуальные диски, они имеют одинаковый размер и толстое / тонкое предоставление.
Я следую этому руководству: http://www.howtoforge.com/how-to-set-up-software-raid1-on-a-running-lvm-system-incl-grub-configuration-centos-5.3
СИСТЕМНАЯ ИНФОРМАЦИЯ:
/ dev / sda размер и перегородки:
Disk /dev/sda: 96.6 GB, 96636764160 bytes
255 heads, 63 sectors/track, 11748 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00029e34
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 26 11749 94166016 8e Linux LVM
/ dev / sdb был полностью пуст, поэтому после копирования таблицы разделов:
sfdisk -d /dev/sda | sfisk --force /dev/sdb
и изменив разделы / dev / sdb1 и / dev / sdb2 на Linux Raid Autodetect,
/ dev / sdb размер и разделы выглядели так:
Disk /dev/sdb: 96.6 GB, 96636764160 bytes
255 heads, 63 sectors/track, 11748 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c1935
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 26 204800 fd Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sdb2 26 11749 94166016 fd Linux raid autodetect
Чтобы убедиться, что нет остатков предыдущих массивов или чего-то еще, что я обнулял суперблоком:
mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
Создание массивов: Поэтому, когда дело доходит до создания массивов, я использую следующие команды:
[root@testmachine test]# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb1
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
и
[root@testmachine test]# mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb2
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md2 started.
Массивы можно увидеть:
[root@testmachine test]# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sdb2[1]
94100352 blocks super 1.2 [2/1] [_U]
md1 : active raid1 sdb1[1]
204608 blocks super 1.2 [2/1] [_U]
unused devices: <none>
ЭТА ПРОБЛЕМА: Проблема в том, что / dev / md2 массив имеет размер 94100352 блоков, но / dev / sda имеет немного больший размер (около 50 МБ?) - поэтому, когда я создаю физический том с помощью «pvcreate / dev / md2», размеры томов разные, и я не могу использовать «pvmove», поэтому я могу Не полное зеркалирование томов LVM.
--- Physical volume ---
PV Name /dev/sda2
VG Name vg_testmachine
PV Size 89.80 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 22989
Free PE 0
Allocated PE 22989
PV UUID KSqdKU-9ckP-gZ1r-JwYo-QPSE-RFrZ-lAfRBi
"/dev/md2" is a new physical volume of "89.74 GiB"
--- NEW Physical volume ---
PV Name /dev/md2
VG Name
PV Size 89.74 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID LqNUb7-5zsr-kZ7T-L96R-xKjD-OReg-k6BqDV
(Обратите внимание на разницу в размере)
Я не специалист по дисковым блокам и т. Д. Кто-нибудь знает, что может быть причиной этого?
Причина, по которой / dev / md2 меньше, чем / dev / sda2, заключается в том, что в начале раздела / dev / sdb2 есть суперблок RAID. Суперблок содержит уникальный идентификатор, а также информацию о других дисках / разделах, составляющих массив, поэтому ядро Linux может автоматически собрать массив при загрузке, даже если вы измените порядок дисков или скопируете содержимое на полностью новый диск. Вы платите небольшие накладные расходы в обмен на большую гибкость.
Конечно, это не позволяет вам просто зеркалировать / dev / sda2 в / dev / sdb2, поскольку размер другой. Если вы продолжите читать статью, на которую вы ссылаетесь, вам нужно создать файловую систему в своем (деградированном) массиве RAID, скопировать файлы, изменить загрузчик на загрузку с / dev / md1 и смонтировать / dev / md2, и затем наконец, вы можете подключить / dev / sda * в качестве второго диска в вашей конфигурации RAID. Это возможно, но не для слабонервных ... Наверное, быстрее, безопаснее и проще сделать резервную копию и переустановить с RAID с самого начала.