параллельный доступ к производительности btrfs

Я использую Raid5 (3x 500 ГБ жестких дисков Sata2) на основе btrfs 3.12 (Ubuntu 14.04 x64), и виртуальная машина VirutalBox использует этот том. Пока никакой другой процесс не обращается к тому, виртуальная машина работает нормально. Но недавно я скопировал файл большего размера и на этот том, и у меня почти не было iops из моей виртуальной машины. Открытие даже небольших программ внутри ВМ занимало до нескольких минут. Процесс копирования, напротив, работает на приемлемой скорости. Кроме того, я использовал gzip, чтобы сжать этот большой файл на томе btrfs, и у виртуальной коробки, похоже, есть проблемы с поддержанием виртуальной машины в рабочем состоянии (окна vm становятся серыми, не отвечает).

Я обнаружил, что использование опции монтирования noatime может помочь повысить производительность, но поскольку я получаю доступ только к двум файлам на томе (VDI виртуальной машины и другой файл), я думаю, что это не сильно улучшит ситуацию.

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

0
задан 16 April 2015 в 12:14

1 ответ

Если у Вас есть образ диска на объеме BTRFS, Вы, возможно, должны были бы выключить эти Копия на функции Write , по крайней мере, для Вашего образа диска VM.

CoW копирует измененные данные в новое пространство (с его изменениями) прежде, чем изменить данные заголовка файла. На VM это означает пихать ОГРОМНЫЙ файл вокруг даже для самого основного изменения.

можно было выключить CoW на файле образа диска, если Вы копируете (не, перемещаются), это к каталогу, на котором была выполнена эта команда:

chattr +C directory

Однако это не гарантирует No_COW, поскольку можно создать снимок подобъема Btrfs, содержащий файл изображения (который сделает его cow-only-once).

3
ответ дан 16 April 2015 в 22:14

Другие вопросы по тегам:

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