Azure Пакетное монтирование хранилища больших двоичных объектов в пуле приводит к ошибке «Counld not install package» - PullRequest
1 голос
/ 16 марта 2020

У меня есть Azure Пакетный пул, где я смонтировал три контейнера для хранения больших двоичных объектов. Это работает, однако, когда узлы загружаются в первый раз, они получают следующую ошибку:

Mount configuration error

При просмотре журналов кажется, что узлы имеют проблема с установкой пакета blobfuse. Повторное получение этого сообщения об ошибке:

2020-03-11T09:15:48,654579941+00:00 - INFO: Downloading: https://packages.microsoft.com/keys/microsoft.asc as microsoft.asc
2020-03-11T09:15:48,770319520+00:00 - INFO: Downloading: https://packages.microsoft.com/config/ubuntu/16.04/prod.list as /etc/apt/sources.list.d/microsoft-prod.list
Hit:1 http://azure.archive.ubuntu.com/ubuntu xenial InRelease
Hit:2 http://azure.archive.ubuntu.com/ubuntu xenial-updates InRelease
Hit:3 http://azure.archive.ubuntu.com/ubuntu xenial-backports InRelease
Hit:4 http://security.ubuntu.com/ubuntu xenial-security InRelease
Get:5 https://packages.microsoft.com/ubuntu/16.04/prod xenial InRelease [4,002 B]
Get:6 https://packages.microsoft.com/ubuntu/16.04/prod xenial/main amd64 Packages [124 kB]
Fetched 128 kB in 0s (383 kB/s)
Reading package lists...
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
...

2020-03-11T09:16:53,361634408+00:00 - ERROR: Could not install packages (apt): blobfuse

Затем узлы переходят в состояние Unusable, пока я не перезагружу их вручную, что "исправит" проблему, а затем узел начнет работать над задачей.

Задача должна выполняться с повышенными привилегиями:

UserIdentity = new UserIdentity(
                new AutoUserSpecification(
                      elevationLevel: ElevationLevel.Admin,
                      scope: AutoUserScope.Pool
                  )
              ),

Обновление 1

Мне не удалось решить эту проблему, поэтому я решил обойти ее. Изменение размера или воссоздание бассейна не помогло. Вместо этого я установил blobfuse в образе Docker и установил контейнеры хранилища BLOB-объектов в самой задаче. Это прекрасно работает.

1 Ответ

3 голосов
/ 16 марта 2020

Ваш подход выглядит хорошо и рад, что перезагрузка исправила это, в данном конкретном случае c это правильное исправление наряду с изменением размера.

Спасибо за обмен журналами, это похоже на проблему с failure до Installation with the Blobfuse

Большая отдача: **ERROR: Could not install packages (apt): blobfuse** - это самый большой индикатор, по сути, под капотом Должно быть установлено blobfuse, и похоже, что у какого-то процесса есть длительная параллельная установка. Причина этой ошибки подробно описана здесь. E: Не удалось получить блокировку / var / lib / dpkg / lock-frontend - open .

2 Возможное решение

  • Как вы упомянули перезагрузка исправлено.
  • Другой вариант - изменить размер пула. ИЛИ лучше: пересоздать пул и затем попробовать.

Почему перезагрузка или изменение размера исправят это : по сути, в обоих случаях VM вызовет процесс объединения пула в конце пакета с refre sh памятью, которая поможет разблокировать сценарий блокировки для blobfuse. На уровне батшодов мы можем попробовать какой-нибудь механизм отключения. Я также следил бы за blobfuse, и если что-то внутри вызвало это https://github.com/Azure/azure-storage-fuse

Надеюсь, это поможет.

...