Недавно поставили на один из серверов новый ssd диск для переноса на него базы данных Drupal. В этой статье я опишу порядок переноса базы данных на ssd диск.
Запускаем программу cfdisk для разбивки диска, в нашем случае /dev/sdc
cfdisk /dev/sdc
Далее добавляем новую партицию sdc1 и сохраняем все на диск.
Создаем раздел ext4 следуюущей командой
mkfs.ext4 /dev/sdc1
Создаем папку /var/lib/mysql/ssd
mkdir /var/lib/mysql/ssd
Монтируем этот раздел в папку /var/lib/mysql/ssd
mount /dev/sdc1 /var/lib/mysql/ssd
Далее смотри идентификтор UUID раздела выполнив команду:
ls -l /dev/disk/by-uuid
В моем случае вывод был таким:
lrwxrwxrwx 1 root root 10 Nov 2 16:52 0ca7be2d-ec9c-4844-a8e5-bf271a5fe308 -> ../../sda2 lrwxrwxrwx 1 root root 10 Nov 2 16:52 1d06b43a-0225-4f6a-bf24-4d17e2fc7373 -> ../../sdb2 lrwxrwxrwx 1 root root 9 Nov 2 16:52 1fb6449a-e4a5-47ac-b875-4a18df28a20b -> ../../md1 lrwxrwxrwx 1 root root 10 Nov 5 02:34 d0ef213e-acaa-4b4e-b63c-4c1320b1b034 -> ../../sdc1 lrwxrwxrwx 1 root root 9 Nov 2 16:52 ded25aea-b675-4aa7-b8ba-574b3f992f9e -> ../../md0 lrwxrwxrwx 1 root root 9 Nov 2 16:52 f45f32a7-2944-4f9f-a4b6-5569b685f8be -> ../../md2
Теперь в файл /etc/fstab добавляем следующую строку, чтобы раздел монтировался при старте системы и с учетом опций для ssd noatime,nodiratime:
UUID=d0ef213e-acaa-4b4e-b63c-4c1320b1b034 /var/lib/mysql/ssd ext4 errors=remount-ro,noatime,nodiratime 0 0
Останавливаем Mysql
/etc/init.d/mysql stop
В файле /etc/mysql/my.cnf исправляем переменную DATADIR и указываем нашу папку /var/lib/mysql/ssd после чего перемещаем все файлы из /var/lib/mysql в папку /var/lib/mysql/ssd
Стартуем MySQL
/etc/init.d/mysql start
Ну и как результат? Есть реальное ускорение от этой процедуры? Сам задумывался о таком решении, но прочитал пару отчетов о быстром выходе из строя подобных решений на серверах (монтировались правильно, без журналирования) и пока остался на обычных hdd.
На этом проекте еще до старта БД поставили на ssd - пожелание клиента. Поэтому каких то показателей сравнения нет. Но о выходе из строя тоже переживаем. В принципе выход из строя можно прогнозировать по показателям S.M.A.R.T