Переезд на новый сервер

Я тут переехал на новый сервер. Очень давно пора было это сделать, жить на сервере с одним диском — идея не очень хорошая. Бывший сервер:
Процессор: Intel Atom N2800
Passmark: ~600
Оперативная память: 2G DDR3 1066MHz (привет meminfo, lshw и dmidecode)
Диск: 500Gb hitachi travelstar 7200rpm
Канал: 100mbit/s + DDoS protection
Провайдер: kimsufi, Франция
Текущий аптайм: 803+ дня
Цена: 5евро в месяц

Новый сервер:
Процессор: Intel Core i7-2600
Passmark: ~8300
Оперативная память: 8x4Gb DDR3 1333MHz (32 гига суммарно)
Диски: 2x3TB Seagate Barracuda 7200rpm (raid1)
Канал: 250mbit/s (40tb/month лимит)
Провайдер: hetzner, Германия
Цена: 34евро в месяц

Процесс переезда оказался ожидаемо болезненным.

Новый сервер был куплен для решения ряда проблем:
1) Я держу приватный химически-аквариумистический форум, на котором есть куча сверхценной инфы. На сервере с одиночным диском такие вещи хостить нельзя.
2) Мы тут проводим олимпиады: https://ejudge.vtyulb.ru. Система тестирования расположена здесь же, и к тому же работает полный год. Каждый раз когда я представляю себе маленького человека с шаловливыми ручками взаимодействующего с дырявым ejudg’ем на моем сервере мне становится страшно.
3) Старый сервер не поддерживает аппаратную виртуализацию, так что нормально заизолировать весь десяток сервисов было невозможно. Это, в свою очередь, обеспечивает возможность цепной остановки сервисов, в случае, например, если взбесится owncloud и положит всю базу данных.
4) Мне нужен быстрый процессор для обработки данных для проекта BSA-Analytics. Я застрял на этом несчастном куске на 2 недели, прежде чем не купил сервер. Правда уже поздно, придется отложить эту задачу еще на пару недель.

Итак, cool story про то как надо обращаться с нормальными серверами если вы админ-одиночка. Сервак покупал через вот этот аукцион. Покупал на эмоциях, потому что запланированный soyoustart захотел с меня взять дополнительные 20% VAT, что сделало его непомерно дорогим. Так что взял себе сервак с 16Gb оперативы, на следующее утро дошло, что это слишком мало. Отказался и взял другой, на 32Gb. Сюрприз первый: деньги даже не списались. Ни за первый сервер, ни за второй. Судя по всему они их спишут в конце месяца, по, так сказать, кредитной схеме. На самом деле это очень приятно, потому что с kimsufi я постоянно следил, чтобы хотя бы пара недель вперед была оплачена. Теперь это не моя проблема.

Установка базовой системы

Я уже давно решил, что рассортирую все сервисы по виртуалкам, и жить все будет в proxmox. Личный кабинет в Hetzner устроен очень странно, сервера подаются в rescue mode, из них можно ставить систему. Я пытался поставить proxmox, который не поддерживался, и в результате ничего не получалось. Несколько раз подряд. Правильным решением было выбрать обычный debian 8, зеркала proxmox’a были включены, и установка софта оказалась простой.

Сам proxmox внутри оказался простым и приятным, по смыслу сильно напоминает virtualbox

Proxmox, веб-интерфейс

Установка виртуалок

В первую же виртуалку я влепил debian 9. К сожалению, я не сразу понял, что 500Mb оперативки не хватает современному инсталлятору без свапа, так что ушло около 5 инсталляций, которые закончились авторазметкой с последующим вырезанием разделов из рабочей системы. Пользуясь случаем я посылаю лучи поноса в сторону мейнтейнеров дистрибутива debian, допустивших редактор vi по-умолчанию. Я умею из него выходить, но не более того. Для тех кто не понял поясню: ins, i и прочие финты не работают, на стрелочки завязаны какие-то команды, а esc дает командный режим только через раз. Ну да не суть.

Веселье было с настройкой сети. Я не стал ковыряться с gui, вместо этого напрямую отредактировал конфиги. Они это этого почему-то заработали.
Конфиг сервера /etc/network/interfaces:

Конфиги виртуалок:

В общем-то ничего сложного.

Перенос сервисов

Перенос сопровождал целый ряд проблем, что и было ожидаемо. Форум предоставил мне проблемы только своей базой данных, которая переслась как-то не так. Пришлось пересоздавать пользователей вручную. Благо консоль mysql отличается от линуксовой не так сильно. К слову, веб сервер поднят тоже в виртуалке, и на него просто настроено перенаправление портов 80 и 443. Это очень круто, потому что на основном сервере по сути ничего и нет, кроме нескольких дисков виртуалок. Таким образом все последующие миграции будут делаться простым копированием десятка файлов. Никакого геморроя.

По это потом. А в этот раз проблемы преследовали меня до упора. Сайт от ejudge не захотел запускаться. Я очень долго пытался понять, что wordpress не переваривает нахождение самого себя на http протоколе за ssl reverse proxy в виде nginx’a. Несколько часов поиска подсказали мне, что надо всего лишь добавить строчку
$_SERVER[‘HTTPS’] = ‘on’; в файл wp-config.php. Такие дела.

Сам ejudge вызвал дикое количество проблем. Я однозначно зря использовал такую свежую версию debian’a. Собрать его не было решительно никакой возможности, уже собранная на старом сервере версия конечно же не заработала. Короче, пришлось в одну из виртуалок влепить ubuntu 16.04. Получилось собрать последнюю версию ejudg’a, она конечно убогая, но хотя бы работает. И надо сказать, надо этом сервере, она очень быстро работает. Кумира я правда потерял по дороге, ну да не велика беда.

Надеюсь, что теперь это больше никогда не придется трогать, и оно еще хотя бы лет 10 проработает без такого масштабного вмешательства.

Бекапы

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

Proxmox, веб-интерфейс

Настроенный, но непроверенный бекап

Несделанное

Исходно был еще ряд идей, которые я на практике решил отклонить
1) VPN сервер. Не стал поднимать его, потому что подставлять основной сервер — очень плохая идея. Так что я продолжаю платить 15$ в год за виртуалку на ramnode.
2) 11 виртуалок: 1 сервис — одна виртуалка. Проблема в страшном оверхеде. Формально у меня конечно же дофига оперативки, но реально тот же owncloud как и piwik отжирают в пике до 1Gb оперативки, что очень много. Потому что BSA-Analytics выжирает все, что найдет, а у меня есть еще планы на этот сервак. Так что так и быстрее и стабильнее.
3) Полное шифрование жесткого диска основного сервака. Одумался. Ничего кроме геморроя подобная затея не принесет. Критичные вещи у меня все равно обернуты в дополнительный криптоконтейнер, а все остальное меня не волнует. Зато целая пачка проблем была бы обеспечена. Хватит и полного шифрования на ноуте.
4) Hetzner вместо soyoustart. Тут меня конечно же подкосил VAT 20%, который появился с 1 января 2017. Так что живем без DDoS protection и без халявных IPv4 адресов.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *