LINUX.ORG.RU

Проблема с Quota

 ,


0

1

Есть KVM VDS c CentOS 7 с диском на ext4 Все прекрасно работало, но после переустановки ос, споткнулся на мелочи, из-за которой уже 3 дня не могу толком выспаться :-) Спасайте, ребятки…

Надо включить квоты на разделе /home

Прописываю fstab

cat /etc/fstab
/dev/vda1 / ext4 defaults,usrquota,grpquota 1 1

mount -o remount /home mount: can’t find /home in /etc/fstab

Естественно, не монтируется. Но если указываю /dev/vda1 /home, то машина естественно не стартует после ребута.

quotaoff -a; quotacheck -avugm; quotaon -a Работает, квоты считаются в /, а надо в /home Так как диск один, туплю, не понимаю, как смонтировать. Подскажите, что надо поправить, что квоты считались в /home

Софт выдает:

Error with system Quotas
setquota: Mountpoint (or device) /home not found or has no quota enabled.
setquota: Not all specified mountpoints are using quota.
I want to install quota_partition=/home
df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 8.7M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/vda1 79G 36G 43G 46% /
tmpfs 799M 0 799M 0% /run/user/0
cat /proc/mounts
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
devtmpfs /dev devtmpfs rw,nosuid,size=4076184k,nr_inodes=1019046,mode=755 0 0
securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,nodev,mode=755 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0
cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_prio,net_cls 0 0
cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpuacct,cpu 0 0
cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/hugetlb cgroup rw,nosuid,nodev,noexec,relatime,hugetlb 0 0
cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/pids cgroup rw,nosuid,nodev,noexec,relatime,pids 0 0
configfs /sys/kernel/config configfs rw,relatime 0 0
/dev/vda1 / ext4 rw,relatime,nobarrier,quota,usrquota,grpquota,data=ordered 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=27,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=8915 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0
mqueue /dev/mqueue mqueue rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
tmpfs /run/user/0 tmpfs rw,nosuid,nodev,relatime,size=817332k,mode=700 0 0

Сами же пишите, что у вас нет /home, только /

квоты считаются в /, а надо в /home Так как диск один,

Унесите /home на отдельный раздел или диск и монтируйте его с какими надо параметрами.

Ну и покажите выхлоп lsblk и/или fdisk -l /dev/vda на всякий.

Flotsky ★★
()
Ответ на: комментарий от Flotsky

Унесите /home на отдельный раздел или диск

Как я понял, схема была рабочая вплоть до переустановки системы. Именно с одним разделом/диском.

krasnh ★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от Flotsky

Увы, тут нет решения. Смысла создавать файловую систему под сотню проектов - нет. И более того, диск может со временем надо будет увеличить. и опять придут страдания.

emva
() автор топика
Ответ на: комментарий от Flotsky

If you’re forced to use ext3, then using LVM is probably your best solution. Create a new filesystem per project. That would look something like this:

Есть общая папка /home с проектами…

emva
() автор топика
Последнее исправление: emva (всего исправлений: 1)
Ответ на: комментарий от emva

Вас ни кто не заставляет «Create a new filesystem per project.»
Посыл ссылки был в «I am not aware of any method to set quotes per directory.»

И предложение вынести /home на отдельный раздел как вариант было озвучено в самом первом комментарии.

LVM тут как возможно удобный инструмент для последующего расширения, если оно вообще понадобится.

Flotsky ★★
()
Ответ на: комментарий от emva

Типо все должно быть просто:

# cat /etc/fstab

/dev/mapper/vg_s4-lv_home               /home                   ext4    defaults,usrquota,grpquota      1 2

Remount the modified partition where quota was enabled with:

mount -o remount /home

Но так не работает ВМ - при загрузке не стартует.

Если размонтирую и монтирую руками то весь / монтируется в /home. Что бред.

emva
() автор топика
Последнее исправление: emva (всего исправлений: 1)
Ответ на: комментарий от emva

Но там же белым по чёрному написано

If you see ext3/ext4, then use this guide: -> И инструкция явно подразумевающая /home как отдельный раздел

ИЛИ

If you see xfs, then use this guide: -> И соотв настройки для XFS. Да, xfs так умеет судя по всему.

Может не следовать инструкции, а вчитаться в неё сначала?

Flotsky ★★
()
Последнее исправление: Flotsky (всего исправлений: 1)
Ответ на: комментарий от Flotsky

Внимательно прочтите мое первое сообщение. Вы игнорируете все изложенные факты, и начинаете писать про то, что инструкции не прочитаны.

Еще раз: EXT4, один том, все прекрасно работало - квоты были в /home

Ну и ваши рассуждения про xfs - зачем? Для чего обсуждать иное, если дано ext4?

emva
() автор топика
Последнее исправление: emva (всего исправлений: 1)
Ответ на: комментарий от emva

Ок, EXT4 не умеет в квоты в какой-то конкретной директории, только на весь раздел.

В вашей же инструкции явно видно, что для /home используется отдельный раздел поверх LVM, о чём свидетельствует вот эта запись

/dev/mapper/vg_s4-lv_home /home ext4 defaults,usrquota,grpquota 1 2

У вас же /home раздела нет. Поэтому оно работать не будет и не могло. Используйте XFS или создайте отдельный раздел для /home

Flotsky ★★
()
Ответ на: комментарий от emva

Тебе знающие люди говорят как сделать, ты упираешься? Зачем тогда спрашивать если ответы отвергаешь? Квоту не на раздел сделать нельзя. То что там выше писали про lvm - тоже сводится к созданию раздела /home.

Прописывать в fstab несуществующие устройства разумеется приведёт к невозможности загрузки, как тебе такая идея в голову вообще пришла? Судя по всему ты не понимаешь что такое fstab вообще.

Что и как у тебя «работало» до этого мы видимо уже не узнаем, но это точно была не квота на директорию без отдельного раздела.

firkax ★★★★★
()
Ответ на: комментарий от Flotsky

Вот теперь по существу.

Выводы верные (за исключением твоих размышлений о fstab) и я с вами согласен.

Однако до прошлой недели все работало в течении многих лет на разных ВДС на отлично.

Это меня и смущает и заставляет продолжать поиск решения.

emva
() автор топика
Последнее исправление: emva (всего исправлений: 1)
Ответ на: комментарий от emva

В той инструкции, что ты цитируешь, /home — это отдельная файловая система на отдельном логическом разделе.

А у тебя только 1 раздел, и он /. ext4 умеет только на уровне всей файловой системы целиком квоты делать, не на отдельные директории.

Потому и не работает. Нужно или отдельная ФС для /home, или XFS, там уже можно задавать квоты на отдельные директории.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от emva

Однако до прошлой недели все работало в течении многих лет на разных ВДС на отлично.

А теперь посмотри на них разметку. Если там /home отдельной ФС — вот тебе и ответ.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Терпения, бро, в новом году)))) Тут очередной «смотрю в книгу вижу фигу» напал как я погляжу. Он, правда уже до xfs добрался, ты бы поразвернутей болезному мысль донес бы.

Anoxemian ★★★★★
()
Ответ на: комментарий от emva

И что, расширение места за деньги не предусмотрено? Ну или сжать раздел можешь и добавить на свободное место.

А тебе нужно так только на /home накладывать? Никто же не мешает тебе задать квоты на весь /, это будет работать.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от emva

Память твоя вступает в противоречие. Посмотри на тех VPS настройки монтирования и историю команд. Там или /home отдельный, или XFS, или просто квоты сразу на / выставлены, никто же не запрещает.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Нужно только в /home

Квоты, как я и писал в первом сообщении, работают. Но директадмин отваливается периодически:

Error with system Quotas
setquota: Mountpoint (or device) /home not found or has no quota enabled.
setquota: Not all specified mountpoints are using quota.
I want to install quota_partition=/home
emva
() автор топика
Ответ на: комментарий от emva

Так… мне тебя ещё и читать учить?

Тут тебе в логе четко пишут, что квоты у тебя в /home не пашут.

Если ты задашь квоты на /, то на /home они тоже будут работать, если у тебя / и /home на одной ФС, как у тебя.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid
quotaoff -a; quotacheck -avugm; quotaon -a
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
quotacheck: Scanning /dev/vda1 [/] done
quotacheck: Checked 102585 directories and 1019133 files
emva
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Погоди…

тут тебе в логе четко пишут, что квоты у тебя в /home не пашут.
Квоты, заданные на /, работают. Так как /home у тебя на том же разедел, что и /, в нём тоже.
emva
() автор топика
Ответ на: комментарий от emva

Квоты, что ты попытался задать отдельно только для /home, на работают, так как нет отдельного /home. Отсюда ошибки. /home у тебя наследует квоты от /, так как един с ним.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от emva

Ну да. Если нет возможности просто увеличить размер диска, то можно попробовать загрузиться с LiveCD, уменьшить / и на свободном месте сделать /home.

Потом придется переносить файлы из старого /home в новый… наверно, лучше сделать на новом месте LVM, чтобы после переноса откусить от / ещё кусок и снова добавить к новому /home.

Или ext4 можно увеличивать в начало? Тогда LVM не нужен.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)