Когда-то я создавал рейд, монтировал его как раздел дисковой системы и переносил каталог MySQL прямо на него, но в этом случае были минусы, могла появится директория lost+found, его нельзя было использовать для других данных и т.д., после этого я стал переносить директорию MySQL не прямо на раздел, а создавал на нем директорию и переносил в нее.
Смотрите мою статью:
Перенос каталога данных MySQL на новое место
Допустим вы создали рейд и смонтировали его в директорию /srv/raid10/, на момент написания статьи я создал рейд 10 уровня из 10 SSD для высоконагруженной базы данных.
Создадим директорию для MySQL данных:
mkdir /srv/raid10/mysql/
Укажем ей пользователя и группу от имени которых работает MySQL сервер:
chown mysql:mysql /srv/raid10/mysql/ -R
chmod 755 /srv/raid10/mysql
Можно еще так:
chown --reference=/var/lib/mysql /srv/raid10/mysql
chmod --reference=/var/lib/mysql /srv/raid10/mysql
Откроем файл конфигурации MySQL сервера в текстовом редакторе, например:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
Изменим путь к файлам на новое место:
[mysqld]
datadir=/srv/raid10/mysql
Также я указал в файле /etc/mysql/mysql.conf.d/mysqld_safe_syslog.cnf:
[mysqld_safe]
datadir=/srv/raid10/mysql
Если используется apparmor, то в его конфигурации также необходимо указать новую директорию, откроем конфигурацию apparmor, например:
nano /etc/apparmor.d/usr.sbin.mysqld
Я нашел строки:
# Allow data dir access
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
И добавил после них:
/srv/raid10/mysql/ r,
/srv/raid10/mysql/** rwk,
Чтобы применить изменения перезапустим apparmor:
/etc/init.d/apparmor reload
systemctl restart apparmor
Теперь можно остановить MySQL сервер:
systemctl stop mysql
Копируем данные в новое место:
rsync -av /var/lib/mysql /srv/raid10/mysql
Проверяем:
ls -l /srv/raid10/mysql/
Запускаем MySQL сервер:
systemctl start mysql
systemctl status mysql
Перезагрузим сервер чтобы убедится что рейд массив смонтировался при запуске системы и MySQL сервер успешно запускается:
reboot