InnoDB: io_setup() failed with EAGAIN Pada MySQL

Distro : Ubuntu 18.04 LTS

Pada server yang terinstall LXC/LXD kita mungkin memiliki banyak container yang kita buat untuk memenuhi kebutuhan server. Pada saat membuat server-server, kita menginstall layanan DBMS (seperti MySQL atau MariaDB) secara standalone. Hal ini umumnya menyebabkan terjadi galat (error) pada saat kita mencoba memulai service DBMS tersebut

2019-12-31T04:32:33.973209Z 0 [Warning] InnoDB: io_setup() attempt 1.
2019-12-31T04:32:34.473493Z 0 [Warning] InnoDB: io_setup() attempt 2.
2019-12-31T04:32:34.973848Z 0 [Warning] InnoDB: io_setup() attempt 3.
2019-12-31T04:32:35.474256Z 0 [Warning] InnoDB: io_setup() attempt 4.
2019-12-31T04:32:35.974570Z 0 [Warning] InnoDB: io_setup() attempt 5.
2019-12-31T04:32:36.474945Z 0 [ERROR] InnoDB: io_setup() failed with EAGAIN after 5 attempts.
2019-12-31T04:32:36.475096Z 0 [Note] InnoDB: You can disable Linux Native AIO by setting innodb_use_native_aio = 0 in my.cnf

Container bergantung pada kernel host-nya. Error ini disebabkan kita tidak melakukan tuning atau membiarkan nilai pada opsi kernel standar. Pada baris akhir galat terdapat saran untuk menonaktifkan opsi innodb_use_native_aio. Namun dari beberapa artikel yang kita bisa baca, tindakan ini tidak disarankan.

Untuk mengatasi galat ini, kita harus menaikkan nilai pada opsi kernel aio_max_nr. Kita dapat memeriksa terlebih dahulu berapa nilai yang terdapat pada opsi tersebut dengan perintah :
cat /proc/sys/fs/aio_max_nr
65536

Misalnya kita naikkan nilainya menjadi 131.072 dengan perintah
sudo sysctl fs.aio_max_nr=131.072

Kita dapat kembali memulai service DBMS yang terdapat pada server kita.

Sumber :
[1] http://elenst.ru/mariadb/aio-max-nr-in-general-and-innodb-error-io_setup-failed-with-eagain-in-particular/
[2] https://bugs.mysql.com/bug.php?id=61575

Komentar

Postingan populer dari blog ini

Malam Pergantian Tahun & Resolusi