Задать вопрос
@mureevms

Почему разрастается размер виртуального диска на Hyper-V?

Недавно столкнулся с такой ситуацией. Есть Hyper-V, на ней гостевая Ubuntu, на ней стек LAMP. Тот кто размещал новую запись на сайте, нечаянно разрешил и анонимное комментирование к этой записи. И понеслось. Но это я обнаружил позже. Mysql выжирает вся память. В систему войти не могу даже с консоли гипервизора, ибо тормоза. Попытка логина отваливается по таймауту. Начал грешить на файловую систему.

На новой виртуалке с Ubuntu развернул сайт из бэкапа, в котором та же дырка, . Тип диска на госте - динамический. Файл диска на Hyper-V начал расшириряться и достиг почти полного размера примерно за час, а это 30 гиг. При чем, df -h в госте говорил, что занято менее 20%. FS теперь исключена. Своп, по идее, тоже не при чем, т.к. ограничен своим размером в 500 MB. Теоритически возможен вариант с заполнением /tmp каталога, но Ubuntu не перегружалась да и Mysql не пишет туда. К тому же, размер дампа весит ~300 MB. Старые дампы (до дырки) весят около 80.

Как обнаружил и закрыл дырку, разростание диска прекратилось. В данный момент на Hyper-V файл диска весит 30 гиг, а Ubuntu занимает около всего 10. Проверял при помощи du, df, считал в mc.
Дыра экплуатировалась простыми POST запросами на добавление текстовых комментариев. На момент обнаружения в базе было ~125 тыс. записей.

Хоть проблема и решена, все же хочется узнать причины данного случая.
  • Вопрос задан
  • 1820 просмотров
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 2
Jump
@Jump Куратор тега Системное администрирование
Системный администратор со стажем.
Диск динамический поэтому автоматически увеличивает размер при записи.
Т.е гостевая ОС записала достаточно данных чтобы размер увеличился.
Какие еще могут быть причины? Это штатное поведение системы.
Ответ написан
2ord
@2ord
Mysql пишет данные в папку /var/lib/mysql , скачками увеличивая размер контейнера БД (файл ibdata1) до подходящего размера.
Я полагаю, что из-за использования динамического типа диска Hyper-V по достижению лимита дискового контейнера увеличивает его на некоторый размер, в зависимости от темпов прироста.
Так что согласен с АртемЪ насчёт штатного поведения (гипервизора).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы