LinuxDoc.ru - Новости Linux - Проект KDE чудом не потерял содержимое всех Git-репозиториев

Проект KDE чудом не потерял содержимое всех Git-репозиториев

LinuxDoc.Ru,
Один из администраторов инфраструктуры проекта KDE описал подробности произошедшего несколько дней назад инцидента, который мог бы быть назван "Великим бедствием KDE 2013 года". В результате случившегося, разработчики KDE чуть было не потеряли содержимое 1500 Git-репозиториев проекта.

Всё началось с повреждения содержимого файловой системы Ext4 на первичном Git-сервере после неудачного перезапуска виртуальной машины после применения обновлений на одном из серверов проекта. В результате сбоя файловой системы оказалась нарушена целостность первичного Git-репозитория, содержимое которого было разрушено и данные многих репозиториев потеряны. Ситуация стала напоминать катастрофу, когда администраторы приступили к восстановлению данных из резервных копий. Дело в том, что для резервного копирования применялась практика зеркалирования Git-репозитория. Перебирая зеркала администраторов охватил ужас - система зеркалирования успела автоматически синхронизировать ошибочные данные на все вторичные серверы, содержимое репозиториев на которых также пришло в негодность или было удалено.

История оказалась со счастливым концом - была найдена копия информации и содержимое репозиториев удалось полностью восстановить. Если бы не стечение обстоятельств, данная копия вполне могла бы не появиться и восстанавливать данные пришлось бы по крупицам. Дело в том, что за день до инцидента, в рамках переноса содержимого одного из серверов на новое оборудование, была дополнительно настроена система клонирования Git-репозиториев на ещё не введённый в эксплуатацию новый сервер. При этом синхронизация была настроена на запуск раз в 20 минут и начало очередного цикла пришлось на перезагрузку проблемного сервера, что привело к завершению запуска скрипта полной синхронизации по таймауту и выполнению следом только скрипта загрузки последней ревизии из репозитория на сбойном сервере, который также завершился неудачей так как сервер не сумел сформировать корректный набор данных. В результате, на сервере сохранилась копия репозитория в виде до перезагрузки основного Git-сервера.

Главной ошибкой проектирования стало излишнее доверие первичному серверу git.kde.org, который воспринимался в качестве эталонного и в итоге стал единой точкой отказа. Система резервировния была рассчитана на восстановление в случае полной потери данных или краха сервера, но не оценивалась с позиции частичного повреждения данных и метаданных. В итоге разработчики получили хороший урок и поспешили предупредить коллег об опасности излишнего доверия к распределённому характеру Git и использованию "git clone --mirror" в качестве способа резервного копирования.

Оказалось, что механизм самоверификации, работающий при выполнении команд git, не работает для режима "--mirror".
При выполнении "git --mirror" зекралирование выполняется без проверки целостности и без лишних предупреждений даже в случае наличия в репозитории повреждённых объектов коммитов, ошибка выводится только при выполнении git-операций, обходящих всё дерево коммитов, или при запуске "git fsck".
{keyw}

Новости Linux

. Проект KDE чудом не потерял содержимое всех Git-репозиториев Проект KDE чудом не потерял содержимое всех Git-репозиториев
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.
>>> После пяти месяцев разработки увидел свет релиз десктоп-окружения MATE 1.12, в рамках которого продолжено развитие кодовой базы GNOME 2.32 с сохранением классической концепции формирования рабочего стола. Установочные пакеты с MATE 1.12 в ближайшее время будут подготовлены для Arch Linux, Linux Mint, Debian, Ubuntu, Fedora, Mageia, Slackware и openSUSE. MATE 1.12 войдёт в состав ближайшего выпуска Linux Mint 17.3, а также будет доступен через репозиторий для пользователей Ubuntu MATE.
>>> Кес Кук (Kees Cook), бывший главный сисадмин kernel.org и лидер Ubuntu Security Team, ныне работающий в компании Google над обеспечением защиты ChromeOS, объявил о создании проекта Kernel Self Protection Project, в рамках которого планируется сформировать сообщество для развития и продвижения в основное ядро Linux технологий активной защиты, большинство из которых уже подготовлены в рамках проектов PaX и Grsecurity. Финансирование и ресурсы для проведения работ будут предоставлены организацией Linux Foundation и участниками программы Core Infrastructure Initiative.
>>> Состоялся релиз Linux-дистрибутива Ubuntu 15.10 "Wily Werewolf". Готовые установочные образы созданы для Ubuntu Desktop, Ubuntu Server и Ubuntu Core (для них на прошлых этапах тестирования предлагались только ежедневные сборки), а также для Kubuntu, Lubuntu, Ubuntu MATE, Ubuntu Cloud, Ubuntu GNOME и Xubuntu.
>>> Объявлено о начале альфа-тестирования дистрибутива Ubuntu 15.10 "Wily Werewolf". В соответствии с планом разработки, уже опробованном при подготовке прошлых выпусков, отдельные альфа-сборки не будут сформированы, вместо них для тестирования предлагается использовать ежедневные экспериментальные сборки. Готовые тестовые образы созданы только для Kubuntu, Lubuntu, Ubuntu GNOME, Ubuntu MATE и Ubuntu Cloud. Второй альфа-выпуск Ubuntu 15.10 запланирован на 30 июля, релиз намечен на 22 октября.


Редакция портала:

Добро пожаловать на сайт, посвященный документации к ОС Linux, ее переводу и распространению. Мы надеемся, что Вы найдете тут всю необходимую информацию. Здесь представлены три основных вида документации на русском языке: руководства (man-pages), HOWTO и mini-HOWTO. В скором будущем возможно появление и других видов документации.
Авторские права на представленные документы принадлежат авторам перевода и распространяются в соответствии со Стандартной Общественной Лицензией, если в документе не указано обратное.
Если Вы обнаружите в опубликованных документах ошибки, опечатки, несоответствия и неточности - сообщите о них.