Strona 1 z 1

[+] Przekroczenie quoty mimo nieosiągnięcia limitu

: 02 marca 2009, 01:57
autor: lis6502
Problem jest o tyle ciekawy, że jedynie zdjęcie limitów pozwala korzystać normalnie z systemu.

Zakładam quotę poleceniem:

Kod: Zaznacz cały

quotatool -u farkov -bq 112640M -l 112641M /home  
Sprawdzamy poprawność poprzez:

Kod: Zaznacz cały

edquota -u farkov

Kod: Zaznacz cały

Disk quotas for user farkov (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda2                 115344384  115343360  115344384       8283        0        0
Zalogowanie się na interesującego użytkownika:

Kod: Zaznacz cały

farkov@xxx:~$ cp duzyplik.avi kkk
cp: writing `kkk': Disk quota exceeded
A teraz wynik programu:

Kod: Zaznacz cały

farkov@xxx:~$ du -sh
35G     .
Dla pewności:

Kod: Zaznacz cały

farkov@xxx:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             5.0G  698M  4.0G  15% /
tmpfs                1002M     0 1002M   0% /lib/init/rw
udev                   10M   28K   10M   1% /dev
tmpfs                1002M     0 1002M   0% /dev/shm
/dev/sda2             224G  151G   62G  71% /home
W systemie jest także drugi użytkownik (uid=1000), no ale chyba to nie ma nic do rzeczy.

Kod: Zaznacz cały

xxx:/home# repquota -a
*** Report for user quotas on device /dev/sda2
Block grace time: 77days; Inode grace time: 77days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   32832       0       0              4     0     0
ftp       --       4       0       0              1     0     0
hedman    -- 114407040 115343360 115344384           4097     0     0
farkov    +- 115344384 115343360 115344384 76days    8283     0     0
Dodam, że drugi użytkownik ma wykorzystane 117 GB. Na dysku został puszczony fsck i quotacheck. O co tutaj może chodzić?

: 04 marca 2009, 13:29
autor: RaV.
lis6502 pisze:Sprawdzamy poprawność poprzez:

Kod: Zaznacz cały

edquota -u farkov

Kod: Zaznacz cały

Disk quotas for user farkov (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda2                 115344384  115343360  115344384       8283        0        0
Zalogowanie się na interesującego użytkownika:

Kod: Zaznacz cały

farkov@xxx:~$ cp duzyplik.avi kkk
cp: writing `kkk': Disk quota exceeded
Ale z tego, co wkleiłeś wynika, że quota została osiągnięta:

Kod: Zaznacz cały

Użyta przestrzeń: 115344384
soft limit:               115343360
hard limit:              115344384
Użytkownik o UIDzie 1001 osiągnął hard limit (przynajmniej w bazie).
Jak widzę limit ustawiony jest na ~115GB. Ale du pokazuje użycie na poziomie 35GB. Podejrzewam zatem, że jest walnięta baza. Trzeba ją spróbować naprawić:

Kod: Zaznacz cały

mount -o remount,usrquota,grpquota /home
quotaoff /home
quotacheck -cugm /home
quotaon /home
Po tych operacjach wrzuć rezultat:

Kod: Zaznacz cały

repquota /home

: 07 marca 2009, 03:39
autor: lis6502
xxx:~# quotacheck -cugm /home
quotacheck: Cannot create new quotafile /home/aquota.user.new: File exists
quotacheck: Cannot initialize IO on new quotafile: File exists
tych dwóch wolałbym nie usuwać
xxx:~# quotaon /home
xxx:~# repquota /home
*** Report for user quotas on device /dev/sda2
Block grace time: 77days; Inode grace time: 77days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 32832 0 0 4 0 0
ftp -- 4 0 0 1 0 0
hedman -- 35925500 115343360 115344384 446 0 0
farkov -- 97980364 115343360 115344384 7692 0 0
Dodaj, że teraz farkov ma zajęte 19GB.

Po żmudnym dobiciu do 35G mam
`ptw/utorrent.exe' -> `ptw/ptw2/ptw/utorrent.exe'
cp: writing `ptw/ptw2/ptw/utorrent.exe': Disk quota exceeded
cp: cannot create directory `ptw/ptw2/ptw/ptw2': Disk quota exceeded
farkov@xxx:~$ du -sh
35G .
farkov@x:~$ exit
xxx:~# repquota /home
*** Report for user quotas on device /dev/sda2
Block grace time: 77days; Inode grace time: 77days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 32832 0 0 4 0 0
ftp -- 4 0 0 1 0 0
hedman -- 35925788 115343360 115344384 448 0 0
farkov +- 115344384 115343360 115344384 76days 8815 0 0


xxx:~#

: 07 marca 2009, 08:34
autor: RaV.
[quote="lis6502"]xxx:~# quotacheck -cugm /home
quotacheck: Cannot create new quotafile /home/aquota.user.new: File exists
quotacheck: Cannot initialize IO on new quotafile: File exists
tych dwóch wolałbym nie usuwać
xxx:~# quotaon /home
xxx:~# repquota /home
*** Report for user quotas on device /dev/sda2
Block grace time: 77days]

Zaglądajcie, ,,cukierkowo'' do manuali! ;P
Jak się boisz, skopiuj sobie pliki quot w bezpieczne miejsce, przed kolejnymi działaniami.
Tak jak poprzednio, wyłącz quotę i:

Kod: Zaznacz cały

quotacheck -ugm /home
Bez -c.
To mi wygląda na walniętą bazę, którą należy naprawić.
Jeśli dodatkowo chcesz backup ustawień quot użytkowników, to:

Kod: Zaznacz cały

repquota /home > plik_z_raportem
Przeczytaj

Kod: Zaznacz cały

man quotacheck
i zwróć szczególną uwagę na przełączniki, które mogą Cię interesować: b, v, d, m, M. Przeczytanie manuala, zajmie Ci mniej czasu niż proszenie o pomoc na forum ;D

: 09 marca 2009, 15:58
autor: lis6502
Więc tak: przeniosłem pliki quoty (/home/aquota*) w bezpieczne miejsce, i jeszcze raz założyłem quoty dla użytkowników. Rozwiązało to problem. Ciekawi mnie tylko dlaczego skanowanie bazy przez quotacheck nie naprawiało błędów? No nic, dziękuję za podsunięcie pomysłu z walniętą bazą, to było to.