Bug 25132 - При работе в virtualbox портятся файлы
: При работе в virtualbox портятся файлы
Status: CLOSED WORKSFORME
: Branch p5
(All bugs in Branch p5/cross-component)
: unspecified
: x86_64 Linux
: P3 critical
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2011-02-22 15:27 by
Modified: 2011-02-24 08:38 (History)


Attachments
Тестовый файл ones.bz2 (1 ГБ символов '1'), при его распаковке очень просто и наглядно повторяется ошибка (783 bytes, application/x-bzip)
2011-02-22 15:41, Vadim Zelenin
no flags Details
Ожидаемый hexdump файла ones.bz2 (90 bytes, text/x-hex)
2011-02-22 15:46, Vadim Zelenin
no flags Details
hexdump наихудшего (из 10 попыток) вариантов распаковки ones.bz2 (39.64 KB, text/plain)
2011-02-22 15:49, Vadim Zelenin
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2011-02-22 15:27:32
В altinux 64 bit (в /etc/altlinux-release написано "ALT Linux 5.0.0 Desktop KDE
 (Lycoris Radiata)",
uname -a выводит "Linux stale.localdomain 2.6.32-std-def-alt20.M50P.1 #1 SMP
Mon Sep 6 10:49:36 UTC 2010 x86_64 GNU/Linux) установлен штатный virtualbox
(virtualbox-3.2.4-alt2.M50P.1). В virtualbox-е установлен altlinux 32 bit (в
/etc/altlinux-release написано "ALT Linux 5.0.0 Desktop KDE  (Lycoris
Radiata)",
uname -a выводит "Linux alt1.localdomain 2.6.32-std-def-alt20.M50P.1 #1 SMP Mon
Sep 6 11:11:43 UTC 2010 i686 GNU/Linux").

Обнаружено, что при работе в гостевой OS при записи больших файлов (например,
при распаковке) некоторые файлы оказываются повреждёнными. Кроме того
обнаружено, что повреждение носит характер заполнения блоков содержимого файла
нулями. К сожалению такое искажение данных происходит не всегда, и как мне
кажется оно коррелирует с загруженностью физического компьютера.

Обсуждение на форуме: http://forum.altlinux.org/index.php/topic,10015.0.html
------- Comment #1 From 2011-02-22 15:41:17 -------
Created an attachment (id=4810) [details]
Тестовый файл (1 ГБ символов '1'), при его распаковке очень просто и наглядно
повторяется ошибка
------- Comment #2 From 2011-02-22 15:46:47 -------
Created an attachment (id=4811) [details]
Ожидаемый hexdump файла ones.bz2
------- Comment #3 From 2011-02-22 15:49:15 -------
Created an attachment (id=4812) [details]
Наихудший (из 10 попыток) hexdump ones.bz2
------- Comment #4 From 2011-02-23 01:29:07 -------
Перевесим-ка пока на p5, так как все пакеты оттуда.

А нет ли, случайно, возможности проверить воспроизводимость на другой машине с
таким же дистрибутивом? У меня, кажется, не осталось ни одной, где бы был p5.
Постараюсь поискать на недельке, но что-то подобных ужасов из прошлого не
припоминается.
------- Comment #5 From 2011-02-23 22:45:05 -------
(В ответ на комментарий №4)
> Перевесим-ка пока на p5, так как все пакеты оттуда.

Вам виднее, я поместил в 5.0 просто потому что в p5 не мог выбрать virtualbox.

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

Успешно воспроизвёл проблему - установил на другую машину, гостевой altlinux
вообще не запустился. Пришлось грузиться с образа systemrescuecd, но ошибка
повторилась. Единственное "самовольство" при установке - я памятуя о проблеме
загрузки 5.0 с ext4 сделал /boot на ext3 и / на ext4, /home отдельно не делал.
Далее всё по прописи - обновил пакеты, обновил ядро, установил virtualbox и его
 ядерные модули.
------- Comment #6 From 2011-02-23 23:30:16 -------
А файловая система, на которой лежит виртуальный диск, случаем, не ext4?
------- Comment #7 From 2011-02-23 23:50:52 -------
(В ответ на комментарий №6)
> А файловая система, на которой лежит виртуальный диск, случаем, не ext4?

Совершенно верно, ext4
------- Comment #8 From 2011-02-23 23:53:25 -------
Тогда есть подозрение, что это известная проблема:
http://forums.virtualbox.org/viewtopic.php?f=7&t=31255&start=15

Кэширование операций ввода/вывода у виртуального контроллера выключено? Если
да, то помогает ли включение?
------- Comment #9 From 2011-02-24 00:39:20 -------
> Кэширование операций ввода/вывода у виртуального контроллера выключено? Если
> да, то помогает ли включение?

На первый взгляд включение кеширования помогло. По крайней мере 10 циклов
распаковки-проверки прошли успешно.
------- Comment #10 From 2011-02-24 00:39:24 -------
(В ответ на комментарий №8)
> Тогда есть подозрение, что это известная проблема:
> http://forums.virtualbox.org/viewtopic.php?f=7&t=31255&start=15
> 
> Кэширование операций ввода/вывода у виртуального контроллера выключено? Если
> да, то помогает ли включение?

Да, в новой версии VitualBox выдаётся соответствующее предупреждение:

Работа виртуальной машины может привести к возникновению ошибки, описываемой
ниже. Вы можете игнорировать это сообщение, но рекомендуется выполнить
соответствующие действия для предотвращения возникновения описанной ошибки.
The host I/O cache for at least one controller is disabled and the medium
'/home/sin/VirtualBox VMs/altx/altx.vdi' for this VM is located on an ext4
partition. There is a known Linux kernel bug which can lead to the corruption
of the virtual disk image under these conditions.
Either enable the host I/O cache permanently in the VM settings or put the disk
image and the snapshot folder onto a different file system.
The host I/O cache will now be enabled for this medium.

Подбробнее об этом указано здесь:
http://www.virtualbox.org/manual/ch05.html

Для ext4 нужно включить кеширование операций ввода-вывода в настройках
контроллера машины.

Будем считать, что проблема в этом. Если проявится, откроете снова.
------- Comment #11 From 2011-02-24 00:54:37 -------
Евгений, мне кажется правильным решением было бы обновить VB в p5, хотя бы уже
потому, что там есть это предупреждение. Да и само предупреждение там,
возможно, просто перестраховка, хотя на 3.2.12 я воспроизвести багу ещё пока не
пытался. Но это уж вам с Андреем решать...
------- Comment #12 From 2011-02-24 03:19:37 -------
А я не против обновить. Наверное, можно обойтись копированием из 5.1, но
механизм обновления в p5, для меня, совершенно не прозрачен. То есть я не
понимаю как это правильно делать. В 5.1 3.2.12 уже давно собран. Сегодня в
сизиф уехал. 4.0.4.
------- Comment #13 From 2011-02-24 08:38:28 -------
(В ответ на комментарий №12)
> А я не против обновить. Наверное, можно обойтись копированием из 5.1, но
> механизм обновления в p5, для меня, совершенно не прозрачен. То есть я не
> понимаю как это правильно делать. В 5.1 3.2.12 уже давно собран. Сегодня в
> сизиф уехал. 4.0.4.

Просто отправляете задание в p5, оно отвалится из-за ACL, но cas@ его
протестирует и сделает approve, если его все устроит :)