[devel] План роста packages.altlinux.org (was: Re: sisyphus.ru)
Igor Zubkov
igor.zubkov на gmail.com
Вт Фев 12 17:32:11 MSK 2013
2013/1/30 Aleksey Novodvorsky:
> 30 января 2013 г., 19:45 пользователь Igor Zubkov написал:
>> 2013/1/30 Andrew Clark:
>>> On 01/30/2013 05:29 PM, REAL wrote:
>>>> привет!
>>>> то, что sisyphus.ru заброшен, знаю. но там работали обновления. теперь
>>>> обновления кто-то сломал. это кто-нибудь может исправить?
>>>
>>> А не пора ли наhttp://packages.altlinux.org/ окончательно переходить?
>>
>> На http://packages.altlinux.org/ пока нет трансфера пакетов за сутки.
>> Я пока думаю как это реализовать. Ну и для полного перехода надо
>> добиться большей стабильности p.a.o. Озвучить всё или это только меня
>> интересует?
> Конечно, озвучить.
Так, наверно хватит думать и пора написать всё что я думаю.
Начнём с sisyphus.ru. У меня давно готов код который можно запустить
на sisyphus.ru и весь траффик сразу же польётся на новый
packages.altlinux.org. В коде предусмотрено перенаправление со старых
урлов на новые. Плюс, SEO. Вся ссылочная масса переместится на
packages.altlinux.org. Это добавит ему позиций в выдаче (ну и конечно
же уберёт sisyphus.ru из неё). Более или менее, этот код готов и меня
не особо волнует. Всё что может ещё от него потребоватся, можно
дописать меньше чем за день.
Дополнительной нагрузки на меня со скидыванием на меня "нового"
sisyphus.ru не будет. Он всё равно будет стоять на heroku.com.
Ресурсов на бесплатном инстансе ему хватит, мониторить ничего не надо
(это делает сам heroku). Да и можно ещё подключить newrelic для
мониторинга скорости.
Следующий пункт, это пакетная база на которой сейчас работает
контейнер. Sisyphus крайне не стабилен что бы на нём держать ресурс от
работы которого уже сейчас много зависит (а с миграцией sisyphus.ru
станет ещё больше). p6 достаточно стабилен? Или что-то другое надо
вместо него? Если надо, я сделаю бекпорты для всего что устарело.
Скорее всего это будет redis/memcached/sphinx.
Кроме того что мне нужно знать на каком бранче (p6?) разворачивать,
мне нужен будет образ из которого будет выкатыватся контейнер что бы я
локалько обкатал это в vagrant. Или инструкции как ставить для
VirtualBox что бы получить такую же систему (vagrant использует его
для работы).
Следующий шаг это написать скрипты для разворачивания этого контейнера
с нуля через puppet. Ничего сложного, патчи для него у меня уже есть
(для правильного определения ALT Linux дистрибутива).
Ещё потребуется мелкий контейнер (тоже через puppet развёрнутый) для
штук типа nagios/ganglia/etc. Что бы это всё мониторить. Мелкий это
минимум всех ресурсов, но 512 памяти. Хотя может и меньше, на месте
посмотрим.
Ну и немного текущих проблем которые хотелось бы решить:
1. Текущий лимит на иноды не плохо было бы поднять. Иноды там утекают
из-за особеностей деплоя. Там git репозиторий и он "поедает" их
(сейчас .git весит 400 мешков).
2. Бекапы. Сейчас бекапы отключены. Из-за того что сейчас один бекап
весит 6 гигабайт -- бекапится некуда. Надо определится:
a) Как часто делать бекапы? Сейчас бекап идёт 3 часа. Я думаю что
надо делать раз в неделю.
б) Сколько бекапов хранить? Я думаю что два месяца. Это позволит
взять самый старый бекап и развернуть если что-то давно пошло не так.
Это 48 гигабайт + место необходимое для того что бы сделать новый.
Сейчас в контейнере 2 свободно только два.
Вроде всё. Я все вопросы задал. Задавай вопросы и давай всё это решать.
Кроме этого, я наверно сегодня решу последние проблемы со стабильостью. Ура! :)
P.S.: Майнтейнер firefox, почему проверка орфографии сломана?
P.S.S: В пакете nginx кривой logrotate скрипт:
[root at prometheus nginx]# pwd
/var/log/nginx
[root at prometheus nginx]# ls -la access.log*
-rw-r--r-- 1 prometheusapp _nginx 0 ноя 22 00:38 access.log
-rw-r--r-- 1 prometheusapp _nginx 808408177 фев 12 16:28 access.log.1
-rw-r--r-- 1 prometheusapp _nginx 2762937 ноя 21 01:11 access.log.2.bz2
-rw-r--r-- 1 prometheusapp _nginx 6315243 ноя 16 19:37 access.log.3.bz2
-rw-r--r-- 1 prometheusapp _nginx 12019308 ноя 6 19:19 access.log.4.bz2
[root at prometheus nginx]#
Получается что access.log ротейтнулся, но не зажался. И nginx в него
всё ещё пишет. Так и место когда-то закончится. Его надо рестартовать
после logrotate. Баг сейчас повешу.
--
Igor Zubkov
http://hi.im/ice
Подробная информация о списке рассылки Devel