Недавно я обновил коробку ubuntu 14 до версии 16.04. Казалось, что все идет гладко, однако теперь я не могу создавать новые таблицы mysql.
Я вошел в ящик ubuntu как root и mysql как пользователь root. Ошибка, которую я получаю при попытке создать любую таблицу:
ERROR 1005 (HY000): Can't create table 'foo' (errno: 122)
Я провел небольшое расследование и считаю, что это ошибка дисковой квоты. Насколько я понимаю mysql и некоторые основные элементы веб-сервера, я не являюсь экспертом в области общего администрирования ubuntu. Я бегал quota
и он возвращается
Disk quotas for user root (uid 0): none
Кто-нибудь может посоветовать, что мне здесь нужно сделать, чтобы это исправить? Спасибо
На основе комментария я проверил свой системный журнал и увидел
../../../../lib/isc/unix/file.c:347: unexpected error:
unable to convert errno to isc_result: 122: Disk quota exceeded
dumping master file: tmp-jaCquXzkj6: open: unexpected error
CRON[32105]: (CRON) error (create tmpfile)
CRON[32104]: (CRON) error (create tmpfile)
Обновить это происходило даже при создании простой таблицы, такой как
create table foo(id int);
Но я также заметил, что получаю ошибку квоты, просто пытаясь создать каталог, например
mkdir test
mkdir: cannot create directory 'test': Disk quota exceeded
Я запустил df
команда, и я получаю следующий вывод
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vzfs 50000000 6390516 43609484 13% /
devtmpfs 1048576 0 1048576 0% /dev
tmpfs 1048576 0 1048576 0% /dev/shm
tmpfs 1048576 102008 946568 10% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 1048576 0 1048576 0% /sys/fs/cgroup
none 1048576 0 1048576 0% /run/shm
tmpfs 209716 0 209716 0% /run/user/0
df -hi показывает
df -hi
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vzfs 245K 245K 0 100% /
devtmpfs 256K 56 256K 1% /dev
tmpfs 256K 1 256K 1% /dev/shm
tmpfs 256K 411 256K 1% /run
tmpfs 256K 7 256K 1% /run/lock
tmpfs 256K 10 256K 1% /sys/fs/cgroup
none 256K 1 256K 1% /run/shm
tmpfs 256K 4 256K 1% /run/user/0
и квота -v
Disk quotas for user root (uid 0):
Filesystem blocks quota limit grace files quota limit grace
/dev/vzfs 5781580 0 0 218669 0 0
Затем я удалил один файл tar.gz и теперь df -i
показывает
Inodes файловой системы IUsed IFree IUse% Mounted on
/dev/vzfs 18446744069926773888 18446744069414834326 511939562 100% /
devtmpfs 262144 56 262088 1% /dev
tmpfs 262144 1 262143 1% /dev/shm
tmpfs 262144 410 261734 1% /run
tmpfs 262144 7 262137 1% /run/lock
tmpfs 262144 10 262134 1% /sys/fs/cgroup
none 262144 1 262143 1% /run/shm
tmpfs 262144 4 262140 1% /run/user/0
Может ли кто-нибудь объяснить, что происходит и как я могу это исправить. На машине осталось много места, но по какой-то причине квота заполнена, и я недостаточно знаю об индексных дескрипторах, чтобы знать, как решить эту проблему и не дать мне столкнуться с этой ошибкой в будущем (если позволяет физическое дисковое пространство)
* РЕДАКТИРОВАТЬ 2 * Итак, покопавшись, мне удалось найти эту команду du --inodes -d 3 / | sort -n | tail
который показывает следующие результаты
13136 /usr/lib
20145 /proc
26549 /usr/local/lib
29989 /usr/share
30239 /usr/local
78892 /usr
127929 /var/log/samba
128235 /var/log
145269 /var
259479 /
кажется, что самба занимает много места, но разве что-то еще выглядит необычным? Я удалил большое количество узловых веб-сайтов, где node_modules явно использовали изрядное количество места, но его все еще недостаточно. Мне интересно, привело ли обновление к появлению большого количества избыточных старых пакетов, хотя apt-get remove не слишком сильно очистил.
Я изменил ротацию журнала самбы с еженедельной на ежедневную, так что надеюсь, что это поможет