У меня есть один диск, из которого я хочу создать зеркало; давайте назовем этот диск sda
. Я только что купил еще один диск одинакового размера, который мы можем назвать sdb
. sda
и sdb
один раздел называется sda1
и sdb1
соответственно.
При создании рейда я не хочу стирать свою sda
чистоту и начинать заново, я просто хочу, чтобы она начала зеркалировать sdb
. Мой ход мыслей должен был сделать:
mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=1 /dev/sda1
... чтобы создать массив без sdb
диска, затем запустите что-то вроде (я думаю вслух следующую команду, потому что я не уверен, как выполнить этот шаг)
mdadm /dev/md0 --add /dev/sdb1
sdb1
Предполагается, что примечание отформатировано аналогичноsda1
Это возможно?
--add
, и вам нужно быть осторожным, но это не очень сложно. Смотрите Как настроить зеркалирование дисков в Ubuntu? (Я не могу предложить этот вопрос в качестве дубликата из-за новых правил.)Ответы:
Простой ответ на вопрос в заголовке «Да». Но то, что вы действительно хотите сделать, - это следующий шаг - зеркальное отображение существующих данных.
Можно конвертировать существующий диск, но, как уже упоминалось, это рискованно из-за расположения метаданных. Намного лучше создать пустое (разбитое) зеркало с новым диском и скопировать на него существующие данные. Затем, если это не сработает, вы просто загрузитесь обратно к неотраженному оригиналу.
Во-первых, инициализируйте
/dev/sdb1
как новый/dev/md0
с отсутствующим диском и инициализируйте файловую систему (я полагаю, ext3, но выбор за вами)Теперь,
/dev/sda1
скорее всего, ваша корневая файловая система (/
), поэтому в целях безопасности вы должны сделать следующий шаг с живого компакт-диска, аварийного диска или другой загрузочной системы, которая может получить доступ к обоим,/dev/sda1
и/dev/md0
хотя я успешно сделал это, перейдя в однопользовательский режим.Скопируйте все содержимое файловой системы
/dev/sda1
в/dev/md0
. Например:Отредактируйте
/etc/fstab
или иным образом убедитесь, что при следующей загрузке/dev/md0
вместо/dev/sda1
. Ваша система, вероятно, настроена на загрузку,/dev/sda1
и параметры загрузки, вероятно, задают это как корневое устройство, поэтому при перезагрузке вы должны вручную изменить это так, чтобы root был/dev/md0
(при условии, что/dev/sda1
это root). После перезагрузки проверьте, что/dev/md0
теперь смонтировано (df
) и работает ли оно как ухудшенное зеркало (cat /proc/mdstat
). Добавьте/dev/sda1
в массив:Поскольку перестройка будет перезаписывать
/dev/sda1
, то какая версия метаданных вы используете, не имеет значения. Как всегда при внесении серьезных изменений, сделайте полную резервную копию (если возможно) или, по крайней мере, убедитесь, что все, что не может быть воссоздано, безопасно.Вам нужно будет восстановить свою загрузочную конфигурацию, чтобы использовать ее в
/dev/md0
качестве пользователя root (если он/dev/sda1
был root), и, возможно, потребуется восстановить его,mdadm.conf
чтобы убедиться, что/dev/md0
он всегда запущен.источник
cp
для копирования файловых систем, вы упустите некоторые вещи, такие как жесткие ссылки, расширенные атрибуты ... Используйтеtar
илиrsync
с соответствующими параметрами. При загрузке Live CD помните, что сопоставление uid-user отличается (см. Параметры --numeric-owner в tar / rsync). Смотрите также clone2fs для клонирования файловых систем extx.cp
обработки сохранения ссылок (-d), режима, владельца и временных меток (-p), рекурсивного выполнения (-R) и пребывания в одной файловой системе (-x), но я думаю, что вы можете быть правы насчет жестких ссылок и расширенных атрибутов.rsync -aH --delete /mnt/olddisk/ /mnt/newarray/
хороший вариант Добавьте,-vih --progress
если вы действительно хотите увидеть, что он делает.Конечно, вы можете создать его, указав, что второй диск в настоящее время
missing
:источник
Вы можете сделать это. Вы должны быть немного осторожнее, но это не опасно - если вы очень осторожны, чтобы ничего не набирать, и это не оставляет никаких ошибок в настройке.
Я настоятельно рекомендую не делать никаких манипуляций с живой системой. В некоторых случаях это возможно, но требует дополнительной осторожности. Загрузитесь с liveCD / liveUSB, такого как Parted или SystemRescueCD .
Во-первых, вам нужно немного уменьшить громкость, чтобы освободить место для метаданных mdraid (суперблока). Существует несколько форматов метаданных , вы должны использовать тот, который помещает метаданные в конец диска. (В некоторых случаях у вас может быть достаточно места, чтобы поставить суперблок в начале, но это более сложный и подверженный риску, поэтому я углублюсь в это.)
Вы должны убедиться, что последние 128 КБ от блочного устройства не используются, чтобы освободить место для суперблока. Так что вам нужно сжать файловую систему на
/dev/sda1
. Если это файловая система ext2 / ext3 / ext4, получите текущий размер файловой системы с помощьюtune2fs /dev/sda1
, а затем запустите,resize2fs /dev/sda1 NNN
где NNN - это размер минус 128 КБ. Вы можете сделать это с помощью Parted вместо этого. Если вам нужно сжать файловую систему extN, вам сначала нужно ее отключить; файловая система btrfs может быть сжата вживую.Убедившись, что последние 128 КБ блочного устройства свободны, позвоните,
mdadm --create
чтобы создать том RAID-1. Это не касается какой-либо части громкости, кроме суперблока. Первоначально том будет иметь один компонент: все остальные будут определены как сбойные. Вы должны пройти--level=1
(или эквивалентно-n 1
) (этот подход работает только для RAID-1) и--metadata=0.9
или--metadata=1.0
(формат суперблока по умолчанию 1.2 устанавливает суперблок в начале устройства, что может перезаписывать данные). Аргументом--raid-devices
(-n
) является количество компонентов (включая отсутствующие) в томе RAID.Теперь вы можете активировать массив и добавить другие компоненты.
Примечание по загрузчикам: Grub2 понимает Linux RAID-1 и может загружаться с него. Загрузчики, такие как Grub1, которые не понимают RAID, прозрачно читают с зеркальных томов, но ваша система не загрузится, если диск, с которого загрузчик считывает данные, выходит из строя. Если том RAID находится в разделе, обязательно установите загрузочный сектор Grub на оба диска.
¹ Обязательно иметь резервные копии. «Не опасно» означает «вы, вероятно, не будете нуждаться в них», а не «играть в свои данные».
Переписан и немного адаптирован из Как настроить зеркалирование диска (RAID-1)
источник