Приветствую! Я нуждаюсь в том, что называется sanity check, то есть проверке на вменяемость.
Итак, ситуация такая:
Есть сервер с CentOS 7.4 на борту. На нём крутится приложение, которое хранит данные пользователей в /mnt/files. Данных уже за 400 ГБ, а диск-то всего 500... Вот и проблема, диск скоро закончится.
Что я хочу сделать: добавить новый диск на 2 ТБ, остановить приложение, скопировать rsync`ом все данные со старого диска, смонтировать /mnt/files на новый диск, запустить приложение. ПРОФИТ.
Это адекватный план? Или бредовый? Как более лучше решить проблему?
добавить диск, смонтировать в другое место
сделать rsync
остановить приложение
сделать rsync
отмонтировать старый диск
перемонтировать новый диск в /mnt/files
запустить приложение
Если между диском и ФС случайно оказался LVM - то смигрировать силами LVM без остановки приложения.
Один вариант Germanjon, подмонтировать. Еще вариант снять образ диска( пользуюсь Clonzilla), восстановить на новый, загрузиться, расширить раздел до макс (parted)
время копирования полного образа все равно будет больше, чем rsync остаточных изменений в методе Melkij
основная часть объема данных копируется в онлайн без остановки приложения.
можно еще подмудрить с aufs и еще больше минимизировать простой приложения.
Нормальный вариант.
Есть и другой, если данные хранятся структурированно по папкам:
1. Создать папку в корне и подмонтировать туда диск на 2 ТБ.
2. Создать slink в папке /mnt/files на место расположения нового диска.
3. Сделать так, чтобы приложение хранило данные в новом месте.
Во FreeBSD часто новый диск монтируют поверх старого через UnionFS. Тогда файл читатся:
с нового диска если он там есть;
со старого диска, если на новом его нет.
А при изменении - файл на старом диске остаётся как был, на новом создаётся с записью изменений. При touch - файл переносится на новый диск. ПРеимущество - не надо останавливать сервис (кроме как на выключение компьютера при физическом подключении нового диска).
В Linux д.б. что-то аналогичное.