База знаний VMmanager

Если при установке появляется ошибка getrandom

В некоторых версиях ядра операционной системы (ОС) нет возможности выполнить системный вызов getrandom. Это приводит к ошибке при установке платформы.

Чтобы установить платформу на такой сервер, обновите ядро ОС и при необходимости установите набор утилит rng-tools.

Диагностика

Подключитесь к серверу по SSH и выполните команду:

docker logs dci_auth_back4_1

Если ошибка установки связана с системным вызовом getrandom, ответ будет содержать строку вида:

libc++abi: terminating with uncaught exception of type boost::wrapexcept<boost::uuids::entropy_error>: getrandom

Решение

  1. Подключитесь к серверу по SSH.
  2. Обновите ядро ОС до версии не ниже kernel-3.10.0-544.el7.
  3. Проверьте уровень энтропии системы:

    cat /proc/sys/kernel/random/entropy_avail
  4. Если уровень энтропии ниже 200:

    1. Установите rng-tools:

      ОС CentOS
      yum install rng-tools
      ОС Ubuntu
      apt install rng-tools
    2. Если на сервере установлена ОС CentOS, измените в файле /etc/systemd/system/multi-user.target.wants/rngd.service строку

      ExecStart=/sbin/rngd -f

      на

      ExecStart=/sbin/rngd -f -r /dev/urandom
    3. Перезапустите службу: 

      ОС CentOS
      systemctl daemon-reload && systemctl start rngd
      ОС Ubuntu
      systemctl daemon-reload && systemctl start rng-tools
    4. Повторно проверьте уровень энтропии системы: 

      cat /proc/sys/kernel/random/entropy_avail

      При успешной установке значение уровня должно быть выше 200.