Запуск MySQL на Amazon EC2 с EBS - PullRequest
4 голосов
/ 26 мая 2011

У меня есть рабочий сервер, для которого MYSQL не может быть сохранен.У рассматриваемого экземпляра есть корневое устройство с поддержкой EBS (/ dev / sda1), которое постоянно хранит файлы.Мне не ясно, естественным ли образом хранятся мои данные MYSQL и двоичные файлы журналов.

Должен ли он сделать это, если он монтируется в корне?Я бы так подумал.

Должен ли я вместо этого подключить и смонтировать другой том, а затем указать серверу MYSQL на новое местоположение?

Мои команды выглядят следующим образом (плюс блокировка таблицы MYSQL при создании снимка)

    sudo mkdir /vol/etc /vol/lib /vol/log
    sudo mv /etc/mysql     /vol/etc/
    sudo mv /var/lib/mysql /vol/lib/
    sudo mv /var/log/mysql /vol/log/

    sudo mkdir /etc/mysql
    sudo mkdir /var/lib/mysql
    sudo mkdir /var/log/mysql

    echo "/vol/etc/mysql /etc/mysql     none bind" | sudo tee -a /etc/fstab
    sudo mount /etc/mysql

    echo "/vol/lib/mysql /var/lib/mysql none bind" | sudo tee -a /etc/fstab
    sudo mount /var/lib/mysql

    echo "/vol/log/mysql /var/log/mysql none bind" | sudo tee -a /etc/fstab
    sudo mount /var/log/mysql 

Я не эксперт по системным администраторам, и я не хочу испортить мою существующую базу данных.Есть ли здесь риск?Стоит ли вообще беспокоиться о дополнительном устройстве здесь или просто придерживаться встроенного корневого устройства?

Ответы [ 3 ]

7 голосов
/ 26 мая 2011

Я переместил каталоги / etc / mysql и / var / lib / mysql на свою EBS и создал символические ссылки в их прежних местах.

Таким образом, мне не нужно было изменять файлы конфигурации или беспокоиться о чем-тоне могу найти файлы.

Причина, по которой я также переместил / etc / mysql, заключалась в том, что файлы конфигурации и сценарий обслуживания не были бы потеряны, если я подключил EBS к другому экземпляру.

Что касаетсярезервное копирование этих данных, было бы лучше создать другой экземпляр и создать конфигурацию master / master, чтобы вы также получили преимущества отработки отказа.

3 голосов
/ 26 мая 2011

Если вас беспокоит постоянство данных:

Сделайте снимок / dev / sda1, создайте совершенно отдельный экземпляр (t1.micro отлично подходит для этого), создайте новый том на основе снимкавы взяли / dev / sda1, затем смонтировали новый том на новом отдельном экземпляре?Если ваши данные присутствуют на новом томе, они определенно сохраняются в EBS в /dev/sda1.

Сказав это: многие образы Linux по умолчанию настроены на автоматическое завершение корня (/ dev/ sda1) том, когда экземпляр завершается.Значение: если вы когда-либо потеряете экземпляр, вы также потеряете все свои данные на томе, если у вас нет резервной копии в другом месте.Простой способ сохранить резервные копии - просто использовать возможности EC2, чтобы ежедневно делать снимок тома.Довольно просто создать сценарий, который делает снимок и удаляет старые ежедневные периодические снимки после завершения создания нового снимка.Если вы ищете меньшие размеры резервных копий или стратегии инкрементного резервного копирования, вы можете написать более сложные сценарии, которые запускают t1.micro в альтернативной зоне доступности или регионе, выполнять резервное копирование только данных MySQL с помощью любого механизма, который вам нравится, затемзакрывает экземпляр t1.micro обратно.

2 голосов
/ 26 мая 2011

Если вы остановите свой экземпляр, он будет похож на обычное отключение, и том EBS должен остаться со всеми данными. Если вы прекратите работу экземпляра, то, я думаю, все данные со снимка исчезнут.

Но обычно я не вижу особых причин, чтобы прекратить это. В любом случае, стоит просто попробовать на тестовом экземпляре. Вы можете просто написать несколько файлов и посмотреть, что происходит при разных вариантах использования.

Таким образом, вы бы чувствовали себя намного безопаснее, чем просто полагаться на чей-то ответ.

...