Мне не очень повезло выяснить источник проблемы, является ли эта «проблема» просто ограничением LXC или zfs, или эта проблема специфична для Ubuntu.
Проблема заключается в том, что apt-get
очень медленно работает в контейнере.
apt-get
зависает около 30 секунд при чтении списков пакетов (например, после того, как я запустил apt-get update
)
Reading package lists... 99%
Также зависает при установке нового программного обеспечения. Например, при установке strace
он зависает:
Setting up strace (4.5.20-2.3ubuntu1) ...
Я использую ежедневную сборку lxc с резервным хранилищем zfs.
Решение OP удалило из вопроса:
Я сделал еще некоторое рытье и нашел решение с помощью коллеги.
Во-первых, я использовал
strace
для выяснения, где это зависало:strace apt-get update
И замеченный это держалось
msync(0x7f02a57b1000, 37879664, MS_SYNC ...
Исследование предположило, что это было связано с диском ввод-вывод.
Таким образом, я установил и работал
iostat
:sudo apt-get install sysstat sudo iostat -x 1
Диск util был приблизительно в 90%. Этот подтвержденный диск узкое место ввода-вывода.
Мой коллега предложил, чтобы я попытался выключить синхронную синхронизацию файла для ZFS:
zfs set sync=disabled pool/fs
И это решило мои проблемы!
Является ли это ошибкой, или функция все еще для дебатов, таким образом, я оставлю эту проблему оставшейся без ответа в течение нескольких дней.