Переместить логический том на новый физический диск

Вопрос или проблема

У меня есть три логических тома в одной группе томов, использующих один физический том (весь существующий диск /dev/sda).

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

/dev/sda
    |-vg0-root → смонтирован на /
    |-vg0-foo  → смонтирован на /foo
    |-vg0-bar  → смонтирован на /bar

к:

/dev/sda
    |-vg0-root → смонтирован на /
    |-vg0-foo →  смонтирован на /foo

/dev/sdb
    |-vg1-bar  → смонтирован на /bar

Насколько я понимаю, я не могу использовать pvmove или vgsplit, потому что в существующей группе томов только один физический том.

Какой хороший подход для достижения этой цели (предпочтительно в онлайн-режиме, создание новой группы томов для нового диска не является обязательным)?

Решение с одной группой томов:

 pvcreate /dev/sdb
 vgextend vg0 /dev/sdb
 pvmove -n /dev/vg0/bar /dev/sda /dev/sdb

Имейте в виду, что команда pvmove может занять много времени в зависимости от размера вашего диска.

Решение с двумя группами томов:

 pvcreate /dev/sdb
 vgcreate vg1 /dev/sdb
 lvcreate -l100%FREE vg1
 mkfs -t ext4 /dev/vg1/lvol1
 mount /dev/vg1/lvol1 /mnt

Теперь сложная часть: все действия ДОЛЖНЫ быть прекращены на /bar:

 cd /mnt ; ( cd /bar ; tar cf - * ) | tar xf -
 cd /
 umount /mnt
 mount /dev/vg1/lvol1 /bar

где

  • pvcreate сотрет все данные на диске (и подготовит для LVM)
  • lvcreate должен создать логический том lvol1, вы указываете имя lv с помощью -n bar
  • Я использую синтаксис HP-UX для lv, вам может потребоваться использовать синтаксис /dev/mapper/myvg-mylv

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

  • вы можете безопасно удалить старый /bar
  • отредактируйте /etc/fstab, чтобы использовать новый /bar

Ответ или решение

Когда стоит задача перемещения логического тома на новый физический диск в системе, использующей LVM (Logical Volume Manager), это требует внимательного подхода. В данной ситуации мы имеем три логических тома в одной группе томов (VG), используя единственный физический том (PV), и нам нужно переместить один из них на новый диск для оптимизации работы.

Подход с использованием одной группы томов:

  1. Инициализация нового физического диска:
    Начните с инициализации нового диска /dev/sdb для использования в LVM.

    pvcreate /dev/sdb
  2. Расширение группы томов:
    Добавьте новый физический диск в существующую группу томов vg0.

    vgextend vg0 /dev/sdb
  3. Перемещение логического тома:
    Переместите логический том vg0-bar на новый физический диск. Команда pvmove осуществляет это перемещение.

    pvmove -n vg0/bar /dev/sda /dev/sdb

Этот подход позволяет перемещать данные без остановки работы, но стоит учитывать, что команда pvmove может занять продолжительное время, особенно если объем данных велик.

Альтернативный подход с использованием новой группы томов:

Если же вы предпочитаете создать отдельную группу томов для нового диска, процесс будет более сложным, так как требует временной остановки работы с логическим томом /bar.

  1. Инициализация нового диска:
    Начните с инициализации /dev/sdb.

    pvcreate /dev/sdb
  2. Создание новой группы томов:
    Создайте новую группу томов vg1.

    vgcreate vg1 /dev/sdb
  3. Создание логического тома:
    Создайте логический том в новой группе.

    lvcreate -l100%FREE vg1 -n bar
    mkfs.ext4 /dev/vg1/bar
  4. Подготовка для перемещения данных:
    Создайте временную точку монтирования и смонтируйте новый логический том.

    mount /dev/vg1/bar /mnt
  5. Перемещение данных:
    Остановите все операции на /bar, чтобы обеспечить целостность данных.

    cd /mnt
    (cd /bar; tar cf - *) | tar xf -
  6. Перемещение и монтирование:
    После завершения перемещения данных разомкните старую точку монтирования и замонтируйте новую.

    umount /mnt
    mount /dev/vg1/bar /bar

Обновление конфигурации системы

После успешного перемещения данных убедитесь, что старый логический том /bar удален, и внесите изменения в файл /etc/fstab, чтобы внедрить новые параметры монтирования:

  • Удалите старую запись для /bar и добавьте новую строку для /dev/vg1/bar.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...