Практическая схема: RAID-10 + XFS + bind-mount
(проверено на Ubuntu 24.04 и ISPmanager)
Обратите внимание! Эти манипуляции с подключением второго диска или массива надо делать ДО УСТАНОВКИ ISPManager, чтобы панель правильно подхватила смонтированный диск/массив и другую инфу по железу сервера. Если будете подключать диск/массив после установки ISPManager, то панель придется переустанавливать.
Зачем вообще выносить сайты и БД с системного диска?
По умолчанию ISPmanager:
- устанавливается на диск с ОС (/usr/local/mgr5)
- сайты хранит в /var/www
- базы данных и сервисы — в /var/lib
Это удобно, но не оптимально, если:
- есть отдельный быстрый массив (RAID-10, SSD)
- хочется изолировать данные сайтов от ОС
- важно упростить бэкапы и восстановление
- нужна высокая надёжность и производительность
Ключевая идея (самое важное)
ISPmanager не позволяет менять пути:
- /var/www
- /var/lib
Но Linux позволяет сделать bind-mount — подмену каталогов, при которой:
- система думает, что пишет в /var/www
- физически данные лежат на другом диске
Исходные условия
- Ubuntu Server 24.04
- ISPmanager
- Отдельный RAID-массив (в моём случае RAID-10)
- Файловая система: XFS
- Массив смонтирован в /srv/raid10
Шаг 1. Подготовка структуры на RAID
Bash:
sudo mkdir -p /srv/raid10/www
sudo mkdir -p /srv/raid10/lib
sudo chmod 755 /srv/raid10
sudo chmod 755 /srv/raid10/www
sudo chmod 755 /srv/raid10/lib
Проверяем:
Bash:
ls -lah /srv/raid10
Шаг 2. Копируем текущие данные (ВАЖНО)
Копируем сайты:
Bash:
sudo rsync -aAX /var/www/ /srv/raid10/www/
Копируем базы и сервисы:
Bash:
sudo rsync -aAX /var/lib/ /srv/raid10/lib/
- используется rsync -aAX
- сохраняются права, ACL и расширенные атрибуты
- ничего не удаляется, только копируется
Шаг 3. Подключаем bind-mount (тестовый режим)
Bash:
sudo mount --bind /srv/raid10/www /var/www
sudo mount --bind /srv/raid10/lib /var/lib
Bash:
mount | grep raid10
Ожидаемый результат:
Bash:
/dev/sdX on /srv/raid10
/srv/raid10/www on /var/www
/srv/raid10/lib on /var/lib
Bash:
sudo touch /var/www/WRITE_TEST
sudo touch /var/lib/WRITE_TEST
Проверяем:
Bash:
ls -lah /srv/raid10/www | grep WRITE
ls -lah /srv/raid10/lib | grep WRITE
Если файлы появились — всё работает правильно
Что мы получили в итоге
ISPmanager работает без изменений
Сайты и БД реально хранятся на RAID-массиве
ОС, обновления и панель изолированы
Можно делать бэкап только RAID
В случае переустановки ОС данные не теряются
Максимальная производительность и надёжность
Последнее редактирование: