LVM: возможно ли продлить использование в разделе?

Я новичок в концепции LVM. У меня есть диск, на котором хранятся данные БД. Теперь диск заполнен, и я хочу добавить еще один диск в машину. Я слышал, что LVM вы можете добавлять и расширять разделы, поэтому я хотел бы знать, можно ли расширить текущий полный диск (без искажения его текущих данных) путем добавления нового диска?

One Solution collect form web for “LVM: возможно ли продлить использование в разделе?”

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

Подготовьте новый диск

  1. Создайте раздел GPT или MBR для использования Linux. Используйте весь диск, если вы не хотите делиться диском с другой операционной системой. Я назову этот раздел /dev/sdb1 .
  2. Сделайте /dev/sdb1 физическим томом LVM, то есть объявите, что эта часть диска будет использоваться для LVM.

     pvcreate /dev/sdb1 
  3. Создайте группу томов LVM, содержащую этот физический том. Все тома LVM являются частью группы томов. Выберите имя для этой группы томов, например alex_os .

     vgcreate alex_os /dev/sdb1 
  4. Теперь у вас есть место для использования LVM. Создайте логический том LVM, который достаточно велик для данных, которые вы хотите сохранить на нем. Вы можете использовать все пространство, если хотите (если вы не хотите зарезервировать место для другой файловой системы или места подкачки), но поскольку сжатие файловой системы сложнее, чем ее расширение, лучше всего использовать то, что, по вашему мнению, вам понадобится в среднесрочный плюс запас прочности. Выберите имя для логического тома, например root для вашей корневой файловой системы, или db если вы собираетесь хранить на нем свою базу данных.

     lvcreate -L 40g -n root alex_os 

Что делать дальше, зависит от того, хотите ли вы переместить раздел ОС на новый диск или использовать новый диск в качестве дополнительного хранилища.

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

  1. Создайте файловую систему на новом диске.

     mkfs.ext4 /dev/mapper/alex_os-root 
  2. Зарегистрируйте новую файловую систему для использования. Выберите точку монтирования. Это может быть либо существующий каталог, либо новый каталог.

    • Если вы хотите переместить eg /var/lib/mysql на новый диск, сделайте точку монтирования. Сначала установите новую файловую систему во временное место, переместите данные ( убедитесь, что файлы не используются, пока вы это делаете! )

       service mysql stop mount /dev/mapper/alex_os-db /mnt mv /var/lib/mysql/* /mnt mount --move /mnt /var/lib/mysql service mysql start 

      Наконец, отредактируйте файл /etc/fstab чтобы добавить следующую строку после строки, содержащей / во втором столбце:

       /dev/mapper/alex_os-db /var/lib/mysql ext4 errors=remount,ro 0 2 
    • Если вы не хотите привязывать новый диск к определенной службе, установите его в другое место, например, добавьте следующую строку в /etc/fstab после строки, содержащей / во втором столбце:

       /dev/mapper/alex_os-db /media/data ext4 errors=remount,ro 0 2 

      Затем создайте точку монтирования и смонтируйте файловую систему:

       mkdir /media/data mount /media/data 

      Теперь вы можете перемещать все данные, которые вы хотите разместить, и использовать символические ссылки из того места, где служба ожидает файлы. Остановите любые службы, получающие доступ к файлам во время их перемещения! Например, чтобы переместить содержимое /var/lib/mysql на новый диск:

       service mysql stop mv /var/lib/mysql /media/data/ ln -s /media/data/mysql /var/lib/mysql service mysql start 

Перенесите систему на новый диск

  1. Перезагрузите компьютер (например, SystemRescueCD ), чтобы скопировать данные на новый диск. Вы не можете сделать копию из запущенной системы, потому что невозможно получить согласованный снимок ². Чтобы скопировать данные, у вас есть две возможности:

    • Создайте файловую систему и скопируйте файлы, например, для файловой системы ext4:

       mkfs.ext4 /dev/mapper/alex_os-root mount /dev/mapper/alex_os-root /media/alex_os-root cp -a /media/sda1 /media/alex_os-root 
    • Скопируйте образ файловой системы, затем разверните его для заполнения, например, для файловой системы ext4:

       cat /dev/sda1 >/dev/mapper/alex_os-root resize2fs /dev/mapper/alex_os-root 
  2. Сделайте новый диск загрузочным. Точно, как это сделать, зависит от вашего распространения. Обычно вам нужно установить загрузчик и перестроить initramfs. Например, на Ubuntu вам, как правило, нужно что-то вроде

     chroot /media/alex_os-root update-initramfs update-grub grub-install /dev/sdb 

¹ Изменение размера файловой системы на разделе – это отдельный вопрос; самая современная файловая система поддерживает онлайн-расширение, но не в режиме онлайн.
² Технически, возможно, удастся получить счастье с помощью cp -a если система в противном случае бездействует, но это рецепт катастрофы; это может привести к ошибкам с задержкой с задержкой. Одним из преимуществ LVM является то, что вы можете использовать его для последовательного моментального снимка. Некоторые файловые системы (zfs, btrfs) имеют свой собственный снимок, но не ext4.

  • Два 500GB (JBOD) вытесняют NAS-200 в UBUNTO 14-04 и возвращают в LVM для доступа к старой информации
  • Как настроить файловую систему + LVM для эффективного использования SSD?
  • Любой хороший учебник LVM?
  • Понимание вывода lvdisplay в LVM / Linux
  • После увеличения chunksize в кэше LVM файлы больше не продвигаются в кеш
  • Изменение размера раздела lvm root
  • Передача 2-й системы raid0 / lvm2 на новую пару дисков
  • Системный раздел EFI поверх MD RAID и LVM
  • Как найти базовые диски зеркального тома в LVM (linux)?
  • Слияние двух разделов
  • Расширенный логический том в LVM по-прежнему показывает старый размер
  • Interesting Posts

    Как объединить два файла на основе соответствия двух столбцов?

    Запуск скрипта на GPS Fix

    Сколько дискового пространства мне нужно установить Fedora?

    Установляет ~ / .bashrc среду для пользователей, чья оболочка / sbin / nologin?

    Существуют ли оболочки, которые поддерживают типизированные переменные и многомерные массивы?

    Создание копий каталогов с помощью find

    Разблокировка wifi с использованием rfkill при запуске

    Установка времени вручную в Lubuntu не обновляет аппаратные часы

    Как установить mod_mono на Linux Mint?

    Перенос операционной системы с виртуальной машины в физическую систему

    Как скопировать всю базу данных MySQL между двумя серверами?

    Копирование между окнами tmux на сервере из emacs

    Скопируйте и получите файлы с одной машины, которая связана через ssh с другим

    Разница между Makefile и zsh

    Настройка VLAN через командную строку работает, ifcfg-ethX.Y не делает (CentOS 6.8)

    Linux и Unix - лучшая ОС в мире.