Перенос lvm на другой диск

Обновлено: 03.07.2024

Я не очень хорошо разбираюсь в PHP-разработчике, и мне приходится иметь дело со следующей проблемой системного администратора.

У нас есть сервер Ubuntu (Ubuntu 14.04.1 LTS) с Xen (xen-hypervisor-4.4-amd64 4.4.0-0ubuntu5.1).

Он имеет два физических диска (250 ГБ и 2 ТБ), каждый из которых содержит файловую систему LVM (/dev/sdb – старая 250 ГБ, /dev/sda – новая 2 ТБ).

Мне нужно переместить группу "tiffany-vg" на новый диск большего размера (/dev/sda), чтобы удалить с сервера старый физический диск емкостью 250 ГБ. Целевой диск уже содержит другую группу LVM с именем «xen-vg», которая должна оставаться отдельной.

Я хочу переместить "tiffany-vg" рядом с "xen-vg" в /dev/sda, и мне действительно нужно не потерять данные! Я действительно не хочу привести к потере данных?

Возможно, я неправильно использовал некоторые термины, и я уверен, что вы понимаете, что я пытаюсь сказать.

"Целевой" диск (/dev/sda) в настоящее время выглядит следующим образом.

похоже, что у кого-то ниже есть хороший ответ, но что касается отсутствия потери данных, если вы просто создадите новый том на новом диске, вы можете остановить vm, затем смонтировать оба тома и скопировать все, а затем в Для установки XEN просто укажите ВМ на новый раздел диска (убедитесь, что он не смонтирован в этот момент) и запустите ее снова. Если возникнут проблемы, вы всегда можете вернуться к старому тому, который еще существует.

1 Ответ 1

Группа томов может состоять из нескольких физических дисков (или, в вашем случае, разделов).

Сначала вам нужно освободить место на большом диске ( /dev/sda ).

Вы не упомянули об этом в своем посте, но исходя из вашего вопроса, я предполагаю, что вы можете освободить место, а затем добавить новый раздел, который мы назовем: /dev/sdaX

РАСШИРЕНИЕ ПОСЛЕ ОБНОВЛЕНИЯ:

Вы можете освободить место на вашем /dev/sda, просто объединив группы томов, но вы не хотите этого делать, как вы указали в своем исходном сообщении. То, что вам нужно сделать, на самом деле намного проще.

Выполните следующие действия:

Шаг 5: уменьшите физический том на /dev/sda5, чтобы освободить место для нового раздела:

Шаг 4: Используйте parted, чтобы уменьшить размер /dev/sda5 до 1600G (да, немного больше, чем мы использовали в pvresize!)

Шаг 3. Используйте parted для создания нового раздела /dev/sda6 с новым доступным пространством (около 400 ГБ).

Шаг 2. Проверьте, может ли ядро ​​автоматически обнаружить изменение раздела. Посмотрите, соответствует ли /proc/partition новому состоянию (таким образом, /dev/sda6 виден). Если нет, вам необходимо перезагрузиться. (Вероятно, так и будет.)

Шаг 1. Вы можете снова сделать /dev/sda5 настолько большим, насколько это возможно:

Шаг 0. Отформатируйте /dev/sda6 в физический том:

С этого момента /dev/sda6 является нашим /dev/sdaX .

РАСШИРЕНИЕ КОНЕЦ

Во-первых: вы должны указать /dev/sdaX в группе томов tiffany-vg :

Во-вторых: вы должны переместить все свои данные между (уже) двумя физическими томами группы томов tiffany-vg:

Третье: вы должны удалить /dev/sdb3 из группы томов tiffany-vg:

ПРИМЕЧАНИЕ. Второй шаг выше будет немного критическим, будьте любопытны. Если это корневой раздел, лучше сделать это с загрузочного диска. Удачи!

ЕСЛИ ВЫ ПРОСТО ОБЪЕДИНИЛИ ГРУППЫ ОБЪЕМОВ

Шаг 1. Вы можете просто объединить xen-vg с вашим tiffany-vg :

Шаг 2. Переместите все свои данные из /dev/sdb3 в /dev/sda5 :

Шаг 3. Удалите /dev/sdb3 из новой большой группы томов:

В последнее время мои диски быстро заполняются. Мой текущий ПК содержит 7 дисков, в том числе 2 диска NVMe. На самом деле 8 дисков, так как сегодня я установил новый жесткий диск. Все мои диски и разделы, за исключением раздела FAT16 EFI для загрузки UEFI, используют LVM, диспетчер логических томов.

В связи с доступностью более крупных дисков по разумной цене я решил переместить несколько логических томов (LV), охватывающих несколько дисков, на один диск, объединив таким образом диски. Затем этот диск будет зеркально отражен в конфигурации RAID-1 для обеспечения избыточности.

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

Перенос данных в онлайн

У меня на материнской плате не было свободных портов SATA, кроме одного для привода DVD. Поэтому я решил сначала переместить все данные на новый диск емкостью 12 ТБ, прежде чем заниматься RAID. Это не обязательно лучший/самый быстрый способ.

Первое, что нам нужно сделать, это создать таблицу разделов для нового жесткого диска. После установки и подключения диска проверьте, как он указан в списке:

Найдите «диск», на котором нет раздела, и сравните его с размером установленного диска. Убедитесь, что вы идентифицировали новый пустой диск. В моем случае новый диск был указан как «/dev/sda».

Нам нужно создать таблицу разделов с новым разделом типа LVM. В корневом терминале введите:

Примечание. Замените /dev/sda на обозначение вашего пустого диска.

В gdisk введите «p», чтобы распечатать таблицу разделов. Он должен быть пуст! Теперь вы можете создать новый раздел, введя «n».

При первом запросе нажмите [Enter], чтобы принять предложенный номер раздела. При втором приглашении снова нажмите [Enter], чтобы принять предложенное начало раздела. При третьем приглашении нажмите еще раз [Enter], чтобы использовать весь диск.

Теперь пришло время указать тип раздела. Введите

Нажмите «p», чтобы убедиться, что все в порядке. После проверки нажмите «w», чтобы сохранить новую таблицу разделов на диск и выйти.

Я предполагаю, что у вас уже есть группа томов и логические тома(ы). Находясь в корневом терминале, введите

чтобы получить список ваших групп томов (сокращенно VG). Найдите имя группы томов, которую вы хотите расширить (чтобы включить ваш новый блестящий жесткий диск). Затем расширьте группу томов с помощью

где «vgname» — это имя вашей группы томов, которую вы хотите увеличить, а «/dev/sda1» — раздел, который мы только что создали на новом жестком диске (жестком диске).

чтобы получить список всех дисков и связанных с ними групп томов. Все выглядит хорошо?

Теперь наступает важный момент — перемещение содержимого текущего диска (дисков) на новый диск. Это делается с помощью следующей команды:

где первый аргумент «/dev/sdd1» — это диск, содержимое которого нужно переместить, а второй аргумент «dev/sda1» — это цель, то есть наш новый диск. Если у вас есть несколько дисков, которые вы хотите объединить на одном диске, вам нужно повторить эту команду для каждого диска, изменив первый аргумент.

В качестве альтернативы, если вы хотите переместить данные только одного диска на один или несколько дисков в VG, используйте следующий синтаксис:

При этом все данные из /dev/sdd1 перемещаются на другие физические диски в группе томов, к которой принадлежит диск. Конечно, в VG должно быть достаточно свободного места для размещения данных.

Примечание. Команда pvmove может занять много времени, в зависимости от размера диска. Ожидайте, что он будет работать несколько часов для нескольких терабайт. Хорошая новость заключается в том, что вы можете продолжать использовать перемещаемые тома.

Прежде чем удалять старые диски, нам нужно удалить их из группы томов, введя:

где «vgname» — это имя группы томов, а «/dev/sdd1» — диск, который мы хотим удалить.

Дополнительную информацию о LVM и команде «pvmove» см. в разделе «Перемещение данных в сети», а также в справочных страницах. Я расскажу, как настроить массив RAID-1.

Дополнительную информацию о хранении данных см. в разделе «Мониторинг жестких дисков с помощью Smartmontools» о том, как я отслеживаю свои диски на наличие признаков неизбежных сбоев.

Если эта статья была вам полезна, нажмите кнопку «Нравится» ниже. Не забудьте поделиться этой страницей с друзьями.

Связанные

Автор: Хайко Зигер

В сутках 24 часа. Если этого недостаточно, я также использую ночь. Просмотреть все сообщения Хайко Зигера

Моя текущая установка Ubuntu (12.04) работает с внешнего жесткого диска (250 ГБ), потому что мне было лень покупать новый внутренний жесткий диск. Теперь у меня есть новый внутренний (120 ГБ), и я хочу перенести все на внутренний. Установка Ubuntu new не обсуждается, потому что она персонализирована.

К счастью (я на это надеюсь), корневой раздел разделен с помощью LVM, поэтому я надеюсь, что смогу переместить раздел на меньший внутренний жесткий диск.

Возможно ли это? И где я могу найти помощь?

EDIT: этот вопрос уже довольно старый и может быть устаревшим. Я добавил версию Ubuntu, которая использовалась тогда.


2 ответа 2

Как вы подозреваете, это чрезвычайно элегантно сделать с помощью LVM.

Уменьшите существующую установку, чтобы она поместилась на меньшем диске.

Физически установите новый жесткий диск, отформатируйте и создайте его pvcreate, используйте vgextend, чтобы добавить его в тот же vg, что и ваш корневой раздел

Используйте pvmove для прозрачного перемещения всех данных из старого раздела

Используйте vgreduce, чтобы удалить внешний жесткий диск из vg. Отключите старый диск /dev/sdOLD.

В приведенном ниже примере:

  • /dev/sdOLD обозначает старый раздел для замены
  • /dev/sdNEW означает, что новый раздел займет свое место.
  • vgX обозначает группу томов.

Пример. Конечно, вы должны быть на 100 % уверены, что используете правильные устройства. Кроме того, важно иметь полные и актуальные резервные копии, удаленные из системы.

Используйте update-grub и grub-install, чтобы сделать новый корневой диск загрузочным


О, как приятно проголосовать против действительно принятого сообщения с полезной информацией. Я намеренно НЕ привел конкретный пример, потому что есть опасность, что кто-то бездумно скопирует это и уничтожит свои данные. Если вы будете что-то делать с lvm, вы сможете найти свое направление с помощью указателей, которые я даю.

Также работал на Cento7.Шагов, представленных здесь, было достаточно, чтобы я немного научился и немного погуглил. В точку

Я делаю это с установкой Ubuntu, в которой есть разделы efi/boot и lvm. Я перенес файлы lvm на новый диск. Как переместить файлы efi и /boot, чтобы они действительно работали?

Во-первых, если для текущей установки вы использовали весь диск объемом 250 ГБ, вам потребуется уменьшить его, чтобы он поместился на диске объемом 120 ГБ. Вы можете сжимать файловую систему ext4 только тогда, когда она размонтирована, поэтому вам нужно будет загрузиться с live-системы Ubuntu (CD или USB) или со специализированной live-системы обслуживания, такой как GParted live. Вы можете использовать resize2fs или GParted для изменения размера существующей файловой системы.

После того как вы уменьшите файловую систему(ы) вашей существующей установки, чтобы она поместилась на новом диске, вы можете выполнить остальную часть переноса с смонтированной файловой системой, если хотите. Если существующая файловая система помещается на новый диск, вы можете выполнить перенос, ничего не размонтируя и не перезагружая.

В следующем описании я покажу, как перейти с физического тома /dev/sdb1 на физический том /dev/sda1 с существующей группой томов с именем oldvg. Обязательно настройте буквы дисков и номера разделов в соответствии с вашей системой.

Чтобы выполнить прямую трансляцию:

  1. Разбейте новый диск на разделы с помощью инструмента создания разделов по вашему выбору ( cfdisk , fdisk , parted , …). См., например. Как добавить дополнительный жесткий диск?
  2. Создайте физический том на новом диске: pvcreate /dev/sda1
  3. Добавьте этот физический том в существующую группу томов, содержащую логические тома, которые вы хотите переместить: vgextend oldvg /dev/sda1
  4. Переместите логические тома с одного физического тома на другой: pvmove /dev/sdb1 /dev/sda1
  5. Разделить существующую группу томов на две части: vgsplit oldvg newvg /dev/sda1

Еще один способ – сделать существующие логические тома зеркальными с помощью lvconvert --mirror , настроить зеркало на новом диске, а затем разделить зеркала с помощью lvconvert --splitmirrors . Таким образом, вы получаете две копии данных, и после разделения каждая копия живет своей жизнью.

После копирования необходимо сделать новый диск загрузочным. Смонтируйте файловую систему для этого. Предполагая, что он смонтирован на /mnt , выполните следующие команды от имени пользователя root:

В качестве альтернативы вы можете использовать Clonezilla. Это мощный инструмент для работы с дисками и клонирования, и я думаю, что он подходит для вашей ситуации, но у меня нет опыта работы с ним.

Перенести LVM

В этой статье описывается, как переместить или перенести LVM и группу томов с одного сервера на другой.

Если вы работаете в производственной среде, вам необходимо знать о программном управлении дисками и обо всех методах обеспечения гибкости в управлении хранилищем.

LVM означает управление логическими томами. Это инструмент для управления и обеспечивает более высокий уровень представления дискового хранилища.

Приведенное ниже руководство будет очень полезно для системных администраторов, у которых есть проблемы с операционной системой Linux и которые хотят смонтировать смонтированный раздел в другие системы.

Это должна быть самая простая стратегия восстановления, если мы запускаем Linux на виртуальных машинах VMware.

Перенос LVM или группы томов на новый сервер должен быть самым быстрым способом доступа к важному разделу Linux, который может содержать пользовательские данные или важные файлы конфигурации.

Как перенести LVM или группу томов на новый сервер

<р>1. Добавьте виртуальный диск в новую виртуальную машину.

a) Нажмите «Добавить», чтобы продолжить:

Перенести LVM

b) Выберите тип устройства «Жесткий диск»:

Перенести LVM

c) Выберите «Использовать и существующий виртуальный диск»:

Перенести LVM

d) Перейдите к местоположению виртуального диска:

Перенести LVM

e) Нажмите "Далее", чтобы продолжить:

Перенести LVM

Перенести LVM

g) Наконец, нажмите «ОК» для завершения:

Перенести LVM

<р>2. После добавления виртуального диска к новому серверу Linux выполните повторное сканирование виртуальной машины Linux.

a) Определите номер главной шины:

b) Повторное сканирование шины SCSI для добавления устройств SCSI:

<р>3. Проверьте новый диск. Второй виртуальный диск по умолчанию будет распознан как /dev/sdb. Поскольку тип раздела был отформатирован как LVM в предыдущей системе, он будет показывать идентификатор «8e», если вы запустите команду fdisk.

Существует два способа регистрации и активации LVM и группы томов на новом сервере Linux. Перейдите к шагам 4–9 для метода 1. Перейдите к шагу 10 для метода 2.

<р>4. Используйте lvscan для сканирования всех известных групп томов или всех поддерживаемых блочных устройств LVM в системе на наличие определенных логических томов. Вывод состоит из одной строки для каждого логического тома, указывающей, активен он или неактивен:

<р>5. Проверьте существующую группу томов и логический том:

Один из логических томов в группе томов «vg_newlvm» по-прежнему находится в неактивном состоянии.

<р>6. Экспортируйте группу томов «vg_newlvm»:

<р>7. Затем импортируйте группу томов «vg_newlvm»:

<р>8. Чтобы активировать группы томов «vg_newlvm», выполните следующую команду:

<р>9. Еще раз проверьте обновленный логический том и статус группы томов:

<р>10. Ниже приведен самый быстрый способ активировать перенесенную LVM или группу томов:

Читайте также: