Created attachment 4791 [details] HN systerm-report kernel-image-ovz-el-2.6.32-alt9 , HN на б.м. современном Сизифе, VE-шки на Debian5 В VE наблюдается ситуация невозможности включить квоты фаиловой системы: quotaon -vaug всегда выдаёт сообщение "Cannot find quota file on / [/dev/simfs] to turn quotas on/off." хотя: vsh:/# ls -l /aqu* lrwxrwxrwx 1 root root 39 Feb 9 16:59 /aquota.group -> /proc/vz/vzaquota/00000015/aquota.group lrwxrwxrwx 1 root root 38 Feb 9 16:59 /aquota.user -> /proc/vz/vzaquota/00000015/aquota.user vsh:/# ls -l /proc/vz/vzaquota/ total 0 и содержание фаилов /proc/vz/vzquota/00000015/aquota.{user,group} непустое. /etc/rc2.d/S10vzquota в VE срабатывает из исключением финального вызова quotaon, так что записи корневого раздела в /etc/mtab и /proc/mounts выглядят так: /etc/mtab:/dev/simfs / reiserfs rw,usrquota,grpquota 0 0 /proc/mounts:/dev/simfs / simfs rw,relatime,usrquota,grpquota 0 0
Created attachment 4792 [details] VE config Забыл добавить: пакеты vzctl и vzquota не изменны (rpm -V), сервис vz запущен. Версия пакета quota в VE: 3.16-7 На новых VE воспроизводится.
Created attachment 4793 [details] Трассировка запуска quotaon в VE По трассировке видно, что /aquota* открываются нормально, но тут же закрываются с сообщением об ошибке. Судя по быстрому просмотру кода пакета quota такое может быть если в начале файлов квот не найдена нужная "магическая" последовательность, но я могу ошибаться.
Ага, воспроизводится
(В ответ на комментарий №3) > Ага, воспроизводится Виновный найден - это старая quota. Она не поддерживает квоты версий 1,1, которые предоставляются современными ядрами. Подробности в ядерном коммите 498c6015, который сбэкпорчен в rhelные ядра. Новая квота (например, 4.0) поддерживает эти версии. Есть [правильный] вариант - обновить quota. Есть [неправильный] вариант - пока что revertнуть этот бэкпорт в наших ядрах.
Из man quota: FILES aquota.user or aquota.group quota file at the filesystem root (version 2 quota Разве 1.1 это не, наоборот, устаревший формат? Я специально (см. вывод strace) указываю что включать надо квоты v2. Как я понимаю, нового quota для lenny нет и не предвидится. Что же делать?
(В ответ на комментарий №5) > Из man quota: > > FILES > aquota.user or aquota.group > quota file at the filesystem root (version 2 quota > > Разве 1.1 это не, наоборот, устаревший формат? Я специально (см. вывод strace) > указываю что включать надо квоты v2. 1, 1 - это более-менее subверсии пользовательских и групповых квот в квотах версии 2
Ядро откатываться не будет, перевешиваю на quota.
Что-то я не понял, какой смысл перевешивать на нашу квоту, когда указано что в VE Debian Lenny (и там, как я понимаю, как в oldstable никто обновлять пакет quota не будет). Вообще, не знаю, что тут поделать. Есть идеи которых я не понял?
(В ответ на комментарий №8) > Что-то я не понял, какой смысл перевешивать на нашу квоту, когда указано что в > VE Debian Lenny (и там, как я понимаю, как в oldstable никто обновлять пакет > quota не будет). > > Вообще, не знаю, что тут поделать. Есть идеи которых я не понял? Идея в том, что quota в Сизифе устарела и не умеет работать с новыми ядрами, не только с ovz-el, но и с el-smp, un-def и т.д. Поэтому я и перевесил этот баг на quota. Решение вашей проблемы - либо собрать для этого контейнера quota, что не должно быть очень уж сложно, либо использовать более старое ядро, с которым quota 3.16 работает.
> > Вообще, не знаю, что тут поделать. Есть идеи которых я не понял? > Идея в том, что quota в Сизифе устарела и не умеет работать с новыми > ядрами, не только с ovz-el, но и с el-smp, un-def и т.д. Поэтому я и > перевесил этот баг на quota. Понял. > Решение вашей проблемы - либо собрать для этого контейнера quota, что > не должно быть очень уж сложно, либо использовать более старое ядро, > с которым quota 3.16 работает. Поскольку грамотно собирать deb-ы я пока не умею (видимо, придётся научиться), то возникает вопрос: на какое ядро имет смысл даунгрейдится и какие пакеты при этом потребуется откатить с ним?
(In reply to comment #10) > Поскольку грамотно собирать deb-ы я пока не умею (видимо, придётся научиться), Мне кажется, что пакет quota из stable имеет все шансы нормально установиться поверх oldstable; впрочем, сам я не проверял.
Я думал об этом: # apt-get install quota Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: dbus libc-bin libc6 libdbus-1-3 libnl1 locales locales-all nscd Suggested packages: dbus-x11 glibc-doc libnet-ldap-perl The following NEW packages will be installed: dbus libc-bin libdbus-1-3 libnl1 The following packages will be upgraded: libc6 locales locales-all nscd quota 5 upgraded, 4 newly installed, 0 to remove and 327 not upgraded. я думаю, что установиться то оно установится, но вот что при этом отвалится - вопрос. Думаю на следующей неделе добраться попробовать. А пока актуален вопрос про ядра.
(In reply to comment #12) > Я думал об этом: > > # apt-get install quota > Reading package lists... Done > Building dependency tree > Reading state information... Done > The following extra packages will be installed: > dbus libc-bin libc6 libdbus-1-3 libnl1 locales locales-all nscd > Suggested packages: > dbus-x11 glibc-doc libnet-ldap-perl > The following NEW packages will be installed: > dbus libc-bin libdbus-1-3 libnl1 А, в stable quota упаковали quota_nld (Quota netlink daemon) с поддержкой netlink и dbus. > The following packages will be upgraded: > libc6 locales locales-all nscd quota > 5 upgraded, 4 newly installed, 0 to remove and 327 not upgraded. > > я думаю, что установиться то оно установится, но вот что при этом отвалится - > вопрос. Пожалуй что на oldstable не стоит такое ставить.
> Думаю на следующей неделе добраться попробовать. А пока актуален вопрос про > ядра. В ovz-el этот бэкпорт появился в 2.6.32-alt4, но я не советую использовать ядро ovz-el-2.6.32-alt3 - с тех пор исправлено _много_ багов. Лучше использовать ovz-rhel из 5.1, но стоит учитывать, что оно не будет работать с современным udev > 142, т.е. udev нужен тоже из бранча 5.1.
quota-2:4.00-alt1 -> sisyphus: * Tue Feb 15 2011 Anton Protopopov <aspsk@altlinux> 2:4.00-alt1 - quotasync.c: use GNU implementation of basename(3) - Add epoch:2 to prevent version conflicts with quota from branches * Thu Feb 10 2011 Anton Protopopov <aspsk@altlinux> 4.00-alt1 - Apply/rebase ALT patches from old repo: * Fix XFS over loopback support * Don't strip binaries * Use more polite messages in e-mail warnings * Fix quota{on,off} paths in quota{on,off}.8 * Use vitmp instead of vi in edquota(8) * Fix errors uncovered by compiler * Use configure macros instead of hardcoded defaults * rquota_svc.c (parse_options): Import FC enhancement to port range check * Fix build with --disable-bsd_behaviour - Updated to 4.00-pre2+ (ALT #25056)
Наступил на эту граблю с CentOS-5.6 там quota-3.13-4.el5
(В ответ на комментарий №7) > Ядро откатываться не будет, перевешиваю на quota. А может как-то можно найти какой-то компромисс? Есть куча VPS старых и не очень которые не будут обновляться и нормально работают. И апгрейд железа решается с помощью виртуализации. Если эти старые VPS работать не смогут нормально на новых ядрах то это подрывает всю схему. Уже попали под раздачу: Debian5 CentOS-5.6 Или альт только для альта?
(В ответ на комментарий №17) > (В ответ на комментарий №7) > > Ядро откатываться не будет, перевешиваю на quota. > А может как-то можно найти какой-то компромисс? У вас есть предложения? Теоретически можно сделать параметр командной строки для отката runtime...
(В ответ на комментарий №18) > (В ответ на комментарий №17) > > (В ответ на комментарий №7) > > > Ядро откатываться не будет, перевешиваю на quota. > > А может как-то можно найти какой-то компромисс? > > У вас есть предложения? Теоретически можно сделать > параметр командной строки для отката runtime... Если это теоретически возможно... То хорошо бы иметь такую возможность. Но даже если и сделать такое, то #25432 все равно нивелирует все попытки. Наверно вы правы, придется сидеть до упора на rhel-ovz. И знать об этой "особенности" :( (В ответ на комментарий №18) > (В ответ на комментарий №17) > > (В ответ на комментарий №7) > > > Ядро откатываться не будет, перевешиваю на quota. > > А может как-то можно найти какой-то компромисс? > > У вас есть предложения? Теоретически можно сделать > параметр командной строки для отката runtime...
> > > Ядро откатываться не будет, перевешиваю на quota. > > А может как-то можно найти какой-то компромисс? > У вас есть предложения? Теоретически можно сделать > параметр командной строки для отката runtime... Пока озаботил апстрим http://bugzilla.openvz.org/show_bug.cgi?id=1849
kernel-image-ovz-el-2.6.32-alt16 -> sisyphus: * Thu Apr 21 2011 Anton Protopopov <aspsk@altlinux> 2.6.32-alt16 - VZDQUOTA: downgrade quota revision from 1 to 0 for quota version 2 (ALT #25432, #25056)
На первый взгляд, работает.