LVM :Как клонировать многодисковый -зашифрованный логический том?

Подключитесь к последовательному порту ESP8266 и выполните эту команду:

AT+CIPSTAMAC?

Вы можете найти последовательный порт с помощью этой команды:

dmesg | grep tty

Или эта команда:

setserial -g /dev/ttyS[0123]

Вы можете найти хороший список программ для подключения к последовательному порту на этой странице .

0
19.09.2021, 02:39
2 ответа

«Потребность» — это сильно сказано -существует более одного способа добиться того, чего вы хотите.

С помощью pvmoveвы можете сделать это на строке -, пока используется зашифрованный LV.

1.)pvcreateНовыйДрайв1

2.)vgextend VG1 NewDrive1

3.)pvmove OldDrive2(фактически означает :«переместить любые выделенные LVM -экстенты из OldDrive2 на любой другой диск (s )в VG1, чтобы OldDrive2 стал полностью нераспределенным, если это возможно». Это займет некоторое время :, вы можете запустить его в сеансе screen/ tmuxс опцией -verbose.)

4. )Используйте pvsили pvdisplay OldDrive2, чтобы убедиться, что OldDrive2 полностью освобожден.

5.)pvcreate NewDrive2

6.)vgextend VG1 NewDrive2

7. )для каждого LV в VG1:lvconvert -m +1 VG1/LVx OldDrive2 NewDrive2("создать зеркало из VG1/LVx, выделив место для зеркала из OldDrive2 и NewDrive2" ). Если на зеркальном журнале диска -нет места, вам может понадобиться использовать здесь параметр --mirrorlog core.

8. )когда зеркала синхронизированы,для каждого LV в VG1:lvconvert --splitmirrors 1 --name LVcopyx VG1/LVx OldDrive2 NewDrive2(«Отделите одно зеркало LVx, расположенное на OldDrive2 и/или NewDrive2, и назовите его «LVcopyx», чтобы избежать конфликта имен.)

9.)vgsplit VG1 VG2 OldDrive2 NewDrive2(«Отделите OldDrive2 и NewDrive2 от VG1, взяв с собой их LV, и назовите получившуюся новую VG как VG2».)

10. )для каждого LV в VG2:lvrename VG2 LVcopyx LVxвосстановить исходное имя LV (с ), теперь, когда копии были разделены на свои собственные VG и больше нет конфликта. Теперь у вас есть новый том VG2, который содержит копии LV VG1 в том виде, в каком они существовали на момент разделения зеркал LV на шаге 8. ).

11. )Перед фактическим использованием VG2 вам потребуется vgchange -ay VG2, а затем cryptsetup luksUUID --uuid $(uuid) /dev/mapper/VG2-LVx, чтобы присвоить ему уникальный UUID, отличный от его аналога VG1, и после того, как вы разблокируете шифрование, вы также должны указать файловая система внутри него тоже новый UUID. Для BtrFS это жизненно важно(btrfstune -u /dev/mapper/VG2-LVx-crypt); для других файловых систем это, по сути, просто удобство, так что монтирование на основе UUID -будет работать.


Если вы можете отключить VG от линии -и можете отключать/переподключать -диски, вы также можете:

1. )Размонтировать, cryptsetup luksCloseи de -активировать виртуальную группу(vgchange -an VG1). Чтобы избежать нежелательной автоматической активации -при загрузке или во время горячего -подключения, также пометьте его как экспортированный(vgexport VG1).

2. )Клонируйте диски, как вы планировали.

3. )Отключите диски, чтобы система видела только OldDrive2 и NewDrive2. Если ваше оборудование позволяет сделать это в горячем режиме, используйте echo 1 > /sys/block/<device name>/device/deleteдля изящного горячего отключения -.

4. )Загрузите систему или запустите vgscanпосле изящного горячего -отключения. Затем импортируйте и переименуйте виртуальную группу :vgimport VG1, затем vgrename VG1 VG2. Используйте vgchange --uuid VG2, чтобы присвоить новому VG2 новый идентификатор, отличный от старого VG1, и используйте pvchange --uuid OldDrive2и pvchange --uuid NewDrive2, чтобы сделать то же самое на уровне PV. После импорта и переименования помните, что вам необходимо активировать виртуальную группу, прежде чем вы сможете смонтировать ее или выполнить с ней какие-либо другие операции:vgchange -ay VG2.

5.)После активации VG используйте cryptsetup luksUUID --uuid=$(uuid) /dev/mapper/VG2-LVx, чтобы присвоить контейнеру LUKS новый уникальный идентификатор, а после разблокировки шифрования используйте специальный инструмент для файловой системы -, чтобы сделать то же самое и на уровне файловой системы.(это особенно важно для BtrFS:btrfstune -u /dev/mapper/VG2-LVx-crypt)

6. )Теперь вы можете подключить OldDrive1 и NewDrive1 обратно к (, использовать vgscan, если вы «горячее» -подключите )и vgimport VG1«снова», и активируйте его с помощью vgchange -ay VG1. Теперь у вас есть две полностью отдельные виртуальные группы, которые вы можете использовать по своему усмотрению.

2
19.09.2021, 12:10

Если вы можете закрыть контейнер LUKS во время клонирования dd, шаги могут быть следующими::

  • добавить NewDrive1 в VG1
  • используйте "pvmove OldDrive2 NewDrive1"
  • удалить OldDrive2 из VG1
  • создать VG2, используя OldDrive2 + NewDrive2
  • создайте желаемый LV на VG2
  • используйте дд VG1/LV -> VG2/LV

Если вы планируете использовать обе копии на одном компьютере, вам также придется изменить UUID контейнера LUKS и содержащей его файловой системы! спасибо @telcoM за указание на это!

0
19.09.2021, 12:08

Теги

Похожие вопросы