Inicio > General, Linux > Cuotas en MDV 2009 (II)

Cuotas en MDV 2009 (II)

Continuando con el tema de ayer, vamos a activar las “journaled quotas” que parece que son algo más modernas, que las “quotas” a secas. Deshabilitamos las cuotas, borramos los ficheros de cuota en el filesystem y empezamos de nuevo.

[root@mdv1 ~]# quotaoff –a
[root@mdv1 ~]# cd /mnt/quotas/
[root@mdv1 quotas]# rm -rf quota.*
[root@mdv1 quotas]#

1- Habilitar las journaled quotas en fstab para el nuevo disco

# Entrada para el nuevo disco:
/dev/sdb1 /mnt/quotas ext3  \
relatime,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 2

2- Crear los ficheros de bbdd:

[root@mdv1 mnt]# touch quotas/aquota.user quotas/aquota.group
[root@mdv1 mnt]# chmod 600 quotas/aquota.*

3-Remontar el filesystem:

[root@mdv1 mnt]# mount -o remount /mnt/quotas

4-Activar las cuotas

[root@mdv1 mnt]# quotacheck -avugm
quotacheck: Scanning /dev/sdb1 [/mnt/quotas] done
quotacheck: Checked 3 directories and 4 files
[root@mdv1 mnt]# quotaon -avug
/dev/sdb1 [/mnt/quotas]: group quotas turned on
/dev/sdb1 [/mnt/quotas]: user quotas turned on

Con el comando edquouta –u avr12s se  nos abre nuestro editor preferido (al estilo de “crontab –e”)  mostrándonos algo parecido a esto:

Disk quotas for user avr12s (uid 500):
Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                      5016       8000      10000          2        0        0

Donde hemos modificado el limite hard a 10000 (10 Mb) y el limite soft a 8 Mb, el sistema avisará cuando tengamos un uso del filesystem mayor de 8Mb y de ninguna manera nos dejara escribir más de 10. Vamos a probarlo:
Con dd creamos un fichero de algo más de 4Mb con lo que sumado al anterior nos avisa que nos estamos pasando.

[avr12s@mdv1 avr12s]$ dd if=/dev/zero of=archivo2.txt bs=1024 count=4000
sdb1: warning, user block quota exceeded.
4000+0 records in
4000+0 records out
4096000 bytes (4,1 MB) copied, 0,065512 s, 62,5 MB/s
[avr12s@mdv1 avr12s]$ ll
total 8008
-rw-rw-r– 1 avr12s avr12s 4096000 2009-08-20 20:41 archivo2.txt
-rw-rw-r– 1 avr12s avr12s 4096000 2009-08-20 20:41 archivo.txt
[avr12s@mdv1 avr12s]$

 Ahora intentaremos pasar los 10Mb:

[avr12s@mdv1 avr12s]$ dd if=/dev/zero of=archivo3.txt bs=1024 count=4000
sdb1: write failed, user block limit reached.
dd: escribiendo «archivo3.txt»: Se ha excedido la cuota de disco

1985+0 records in
1984+0 records out
2031616 bytes (2,0 MB) copied, 0,0320368 s, 63,4 MB/s

¡Sólo nos ha dejado crear archivo3.txt con 2Mb!  Esto funciona.
Con el comando repquota  generamos un informe de la situación en nuestro sistema:

[root@mdv1 quotas]# repquota -va
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
———————————————————————-
root      —   70212       0       0              4     0     0
avr12s    +-   10000    8000   10000  6days       4     0     0
avera     —    6016       0       0              2     0     0
bersuit   —    3008       0       0              2     0     0

 Statistics:
Total blocks: 7
Data blocks: 1
Entries: 4
Used average: 4,000000

Podemos ver también que al usuario avr12 le quedan 6 días de gracia, si pasados 6 dias el usuario no ha liberado espacio el limite «soft» se convierte en «hard» hasta que se eliminen los ficheros suficientes para resolver el exceso de cuota.
Imaginemos que tenemos 1000 usuarios a los que establecer la cuota, sería tedioso editar las cuotas de usuario uno a uno para habilitarlas. Podemos usar una plantilla de usuario y clonarla a todos los demás así:
Elegimos al usuario  avr12s como plantilla , suponemos que se empiezan a asignar uids a los usuarios por encima de 500.

[root@mdv1 quotas]# edquota -p avr12s `awk -F: ‘$3 >499 {print $1}’ /etc/passwd`
[root@mdv1 quotas]# repquota -av
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
———————————————————————-
root      —   70212       0       0              4     0     0
nobody    —       0    8000   10000              0     0     0
avr12s    +-   10000    8000   10000  7days       4     0     0
avera     —    6016    8000   10000              2     0     0
bersuit   —    3008    8000   10000              2     0     0
Statistics:
Total blocks: 8
Data blocks: 1
Entries: 5
Used average: 5,000000

¡Moskis!  Se nos ha colado el usuario nobody que en mandriva tiene el 65536 como uid, por lo demás ha funcinado.

Categorías: General, Linux Etiquetas: , , , ,
  1. No hay comentarios aún.
  1. No trackbacks yet.

Deja un comentario