DavFS2. Куда утекает свободное место? Got error 28 from storage engine

На сервере стало уменьшаться свободное место. Какое-то время не придавал этому значения, т.к. чётко знал, что у меня дважды в день работает скрипт автоматического бекапа базы данных с выгрузкой в облако.

Хранить бекапы в том же месте, что резервировалось — глупый риск. Поэтому я просто чистил устаревше архивы на сервере ручками раз в несколько дней, т.к. они уже есть в облаке.

Однажды утром, после свежего бекапа, MySQL стал падать с ошибкой:

Got error 28 from storage engine

Эта ошибка возникает во время выборки записей из БД. Поскольку выборка хранится в кеше на диске и в этот момент возникает ошибка, значит что-то с ним не так. Самое банальное — закончилось место. По факту так и оказалось. MySQL-у просто негде было хранить файлы кеша.

Но как? На сервере свежий бекап только один, и его размер несоизмеримо меньше, чем сейчас должно быть свободного места.
Начал поиски обжоры.

Резервное копирование базы данных на Cron с выгрузкой в облако на примере Яндекс.Диск. Версия 1.

Привет.

Тут я расскажу о самом простом способе создания бекапов БД на сервере, о выгрузке их в Яндекс.Диск. Я написал скрипт, который всё это выполняет.

Он приведён поэтапно, можешь скопировать пункты 4.1-4.5, убрав оттуда заголовки, и получишь готовый скрипт. Или можешь скачать, ссылка будет в конце. А лучше прочитать пост и вникнуть в суть происходящего.

ОС на сервере — CentOS 6.7
Версия СУБД — MySQL 5.5 (да, знаю, старая)

Запускаем GIT GUI и GITK на виртуальной машине Битрикс CentOS 6.7

В комплекте с git есть две гуёвые (gui, с графичеким интерфейсом) утилиты. Одна вызывается по команде git gui и позволяет работать над текущим коммитом: управлять индексом файлов, просматривать изменения, делать, собственно, коммиты (в т.ч. amend), push и pull изменений мержить ветки… Ну, думаю, тут понятно: стандартный ежедневный функционал.

Gitk же даёт возможность просматривать истории веток, изменения в коммитах и вообще всю информацию по ним. Удобная штукенция для любителей ткнуть мышкой и получить кучу полезной инфы вместо набора команд в консоли.

В сущности, конечно же, эти утилиты полностью повторяют функционал git’а консольного (иначе это было бы странным): gitk это git log –graph, а git gui объединяет команды merge, commit, pull, push и так далее.

Когда я об этом узнал, сразу, конечно, заинтересовался как такое можно провернуть на битриксовском виртуальном сервере, который вертится в VirtualBox на CentOS 6.7 безо всяких графических оболочек. Гит для меня вообще штука относительно новая, я пользуюсь им (если глянуть по первым моим коммитам) с 13 марта сего года исключительно в консоли (если быть точным, то через SSH в PuTTY, о чём в конце). Были некоторые проблемы с мержем и синхронизацией коммитов с удалённым репозиторием, но всё решалось успешно, да и шишек набить успел, что хорошо.

Тут я вкратце поведаю как установить запустить на виртуальной машине Битрикс-сервера… то есть на CentOS графическую оболочку и пощупать заветные git gui и gitk.
Следует сначала дочитать сей опус до конца, а не выполнять действия по ходу первого чтения.

Компьютер для мамы

Когда-то у меня был Hasee A300-T65. Когда-то я даже написал на него небольшой обзорчик (оказывается, в нём давно потерялись почему-то картинки, сейчас они восстановлены), который пользуется успехом в интернете, ибо чтобы пересчитать обзоры на чисто китайские ноутбуки, тем более Hasee, кажется, хватит несколько пальцев.

После некоторых проблем с ним (после более трёх лет безупречной работы) у родной матрицы сгорела подсветка. Так как к этому времени у меня уже появился Lenovo G585 (которым пользуюсь до сих пор, это мой второй ноутбук), Хаси было решено лишить монитора. Это вызвало немного геморроя в том плане, что лишился компьютер и веб-камера, т.к. шлейф с матрицей у неё был общий. Это потом я понял, что её можно было просто припаять по USB, но теперь эта вебка лежит отдельно с перегоревшей собственной матрицей камеры. Ну, не в том суть. Пришлось также повозиться с антенной Wifi, которая представляет собой два проводка, оконечные кусочками текстолита с большой контактной площадкой, и присоединяемые напрямую к модулю Wifi. Эти контакты шли из под клавиатуры под матрицу и не были ни с чем соединены, просто приклеены. Короче, стандартная конфигурация.
Их я вывел под нижнюю крышку ноутбука. Аккуратно присобачил на двусторонний скотч таким образом, чтобы пустые лужёные контактные площадки (которые я и являют собой антенну, видимо, работающую по принципу удалённости этих площадок друг от друга) не замыкали ничего на плате и в корпусе. Вышло сносно, ничего не замыкает и ловля сетей весьма успешна.
Матрица на этот ноутбук довольно экзотическая, самостоятельно починить подсветку невозможно, как и найти в городе новую матрицу, а заказывать из ДжунГо рискованно — запчасть хрупкая, а почта хреновая. Это как в русскую рулетку играть, только почту.
Родной экран теперь лежит в сумке от того же Хаси где-то в загашниках, я нашёл в городе ЭЛТ-монитор и прицепил ноутбук к нему через D-Sub. Это более чем отличный выход из ситуации и очень удачная конфигурация простого домашнего ПК для человека за 40.
Собственно, сам ПК готов, теперь выбираем ОС.
Исходя из того, что человек общается с ПК только на уровне Яндекса, Одноклассников и послушать там же музыку, то операционка должна быть Linux only. Маме по барабану какая ось стоит, лишь бы зайти в интернет. Это избавляет от дальнейших проблем с чисткой ПК от вирусни и adware, подбора соответствующей защиты (а любой антивирус грузит систему, что в нашем случае абсолютно пустое), постоянным мероприятиям по профилактике и т.д. и т.п. Выбор пал именно на линуксовое семейство, а не виндовое, именно потому, что даже если мама ткнёт где-то на какой-то баннер (что тоже маловероятно, ведь Adblock рулит и бибикает), то ничего плохого вообще не произойдёт.
Такая конфигурация проработала порядка двух лет и никаких проблем не было совершенно. Кроме одного: стоял старый Simply Linux 7, который устарел ещё лет восемдесят назад. Недавно огнелис, который вшит туда по умолчанию, кажется, 24-й версии, приказал обновить себя и Flashplayer заодно. Самостоятельно это делать не умел ни он, ни я.
Я понял, что мне внезапно выпал прекрасный шанс покопаться в кишках системы. А это неминуемо убьёт целый день с моим опытом работы с ней, прибавляя сюда же глюкавость самого дистрибутива. Неделю было ещё терпимо нажимать на еле заметные кнопки, а-ля, «Включить Flash-плеер в любом случае» под огромными предупреждениями о необходимости обновления. Но мама всё больше настаивала, чтобы я с этим что-то сделал. Да и откладывал я это слишком долго. Пришлось лезть.
Начал я вечером. Сначала загрузил новую версию с официального сайта мозиллы. Но загрузился не rpm, как я наивно полагал, а простой архив .tar.bz. Что с ним надо было делать — абсолютно непонятно. Пришлось излюбиться, чтобы догадаться до какого-то приемлимого варианта действий. Залез в терминал, chmod 777 /usr/lib/firefox -r, и просто распаковал архив с заменой всего существующего. После загрузки выдалась какая-то ошибка, уже не помню что она значила. Вроде не получалось у firefox’a прочесть какой-то xul-файл.
Плюнул на это всё и решил накатить другую систему. Тем более, что этот Simply Linux не самый безглючный из тех, что мне тогда пришлось щупать. Выбрал его тогда только из-за простой и гибкой оболочки. Терять было нечего, на винчестере были только фотографии, загружаемые в ОК, и их бэкап уже был произведён.
Поставил Ubuntu 11.04 (диск, подвернувшифся под руку, тем вечером было лень писать флешку с 14.04) просто чтоб было хоть что-то. Сегодня днём попробовал PClinuxOS, Linux mint (его установшик почему-то не запускался, когда оболочка уже была загружена). Всё бестолку.

Сейчас стоит Simply 7.0.4 и никаких проблем не наблюдается.