Capitolo 6. Implementazione dei disk Quota

Lo spazio del disco pu essere limitato implementando i disck quota, tale implementazione consente all'amministratore del sistema di essere avvisato prima che un utente consumi troppo spazio o una partizione diventi piena.

I disk quota possono essere configurati sia per utenti singoli che per gruppi di utenti. Questo tipo di flessibilit rende possibile che un utente possa avere una piccola quota da gestire per un file "personal" (come ad esempio email e riporti), permettendo ai progetti sui quali l'utente lavora, di avere pi quota (assumendo che vengano assegnati ai progetti, i propri gruppi).

In aggiunta, i quota possono essere impostati non solo per controllare il numero dei blocchi del disco, ma anche per controllare il numero di inode. Perch gli inode sono usati per contenere informazioni inerenti ai file, ci permette un controllo sui numeri di file che possono essere creati.

RPM quota deve essere installato per poter implementare idisk quota. Per maggiori informazioni su come installare i pacchetti RPM, consultare Parte III.

6.1. Configurazione dei Disk Quota

Per implementare i disk quota, seguire le seguenti fasi:

  1. Abilitare i quota per ogni file system, modificando /etc/fstab

  2. Rimontare il file system

  3. Creare i file quota e generate la tabella d'uso del disco

  4. Assegnare i quota

Ogni singolo passo viene analizzato in dettaglio nelle seguenti sezioni.

6.1.1. Abilitazione dei Quota

Come root, usare l'editor di testo, modificate il file /etc/fstab e aggiungete le opzioni usrquota e/o grpquota ai file system che richiedono i quota:

LABEL=/           /               ext3    defaults        1 1
LABEL=/boot       /boot           ext3    defaults        1 2
none              /dev/pts        devpts  gid=5,mode=620  0 0
LABEL=/home       /home           ext3    defaults,usrquota,grpquota 1 2
none              /proc           proc    defaults        0 0
none              /dev/shm        tmpfs   defaults        0 0
/dev/hda2         swap            swap    defaults        0 0
/dev/cdrom        /mnt/cdrom      udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0          /mnt/floppy     auto    noauto,owner,kudzu 0 0

In questo esempio, il file system /home presenta sia l'utente che il gruppo quota entrambi abilitati.

6.1.2. Rimontare i file system

Dopo aver aggiunto le opzioni userquota e grpquota, rimontare ogni file system sul quale stato modificato la entry fstab. Se il file system non usato in alcun processo, usare il comando umount seguito da mount per rimontare il file system. Se invece esso usato, il metodo pi facile per rimontare il file system quello di riavviare il sistema.

6.1.3. Creazione dei file Quota

Dopo che ogni file sistem abilitato-quota stato rimontato, il sistema capace di lavorare con i disk quota. Tuttavia, il file system di per se, non pronto per il supporto dei quota. La fase successiva quella di eseguire il comando quotacheck.

Il comando quotacheck esamina i file systema "abilitati-quota" e costruisce una tabella dell'uso del disco corrente per file system. La tabella viene usata per aggiornare la copia dell'uso del disco del sistema operativo. In aggiunta, i file del disk quota del file system, vengono aggiornati.

Per creare i file quota (aquota.user e aquota.group) sul file system, usare l'opzione -c del comando quotacheck. Per esempio, se l'utente o il gruppo quota sono abilitati per la partizione /home, creare i file nella /home directory:

quotacheck -acug /home

L'opzione -a significa che tutti i file system non-NFS in /etc/mtab sono controllati per vedere se i quota sono abilitati. L'opzione -c specifica che i file quota dovrebbero essere creati per ogni file system abilitati ai quota, la -u specifica il controllo di utenti quota, e l'opzione -g specifica di controllare per gruppi di quota.

Se non sono specificate le opzioni -u o -g, viene creato solo l'utente del file quota. Se solo -g viene specificato, viene creato allora solo il gruppo quota.

Dopo aver creato i file, eseguite il seguente comando per generare la tabella dell'uso corrente del disco, per file system ai quali vengono abilitati i quota:

quotacheck -avug

Le opzioni usate sono le seguenti:

  • a — Controllare tutti i file system abilitati-quota montati in modo locale.

  • v — Mostrate le informazioni sulla stato verbose, durante la prosecuzione del controllo quota

  • u — Controllare le informazioni dell'utente del disk quota

  • g — Controllare le informazioni del gruppo del disk quota

Dopo che quotacheck ha terminato l'esecuzione, i file quota corrispondenti ai quota abilitati (utente e/o gruppo) sono popolati con dei dati, per ogni file system abilitato-quota, come ad esempio /home.

6.1.4. Assegnare i quota ad un utente

L'ultima fase quella di assegnare i disk quota con il comando edquota.

Per configurare il quota per un utente, come utente root in un prompt della shell, eseguire il comando:

edquota username

Eseguite questa fase per ogni utente che necessita delquota. Per esempio, se il quota abilitato in /etc/fstab per la partizione /home (/dev/hda3) e il comando edquota testuser eseguito, viene mostrato quanto segue nell'editor configurato come il default per il sistema:

Disk quotas for user testuser (uid 501):
  Filesystem          blocks       soft       hard     inodes     soft     hard
  /dev/hda3           440436          0          0      37418        0        0

NotaNota Bene
 

L'editor di testo definito dalla variabile dell'ambiente EDITOR usato da edquota. Per cambiare l'editor, impostare la variabile dell'ambiente EDITOR per il percorso completo dell'editor di vostra scelta.

La prima colonna il nome del file system che ha abilitato un quota. La seconda colonna mostra il numero di blocchi l'utente st usando. Le successive due colonne sono usate per impostare i limiti soft e hard del blocco per l'utente sul file system. La colonna inodes mostra il numero di inodes che l'utente st utilizzando. Le ultime due colonne sono usate per impostare i limiti inode soft e hard, per l'utente sul file system.

Un limite hard l'ammontare massimo di spazio del disco che un utente o un gruppo pu utilizzare. Una volta raggiunto questo limite, non si pu utilizzare nessun altro spazio.

Il limite soft definisce l'ammontare massimo di spazio che pu essere usato. Tuttavia, a differenza del limite hard, il limite soft pu essere superato per un certo limite di tempo. Quel periodo chiamato periodo di grazia. Tale periodo pu essere espresso in secondi, minuti, ore, settimane e mesi.

Se uno dei valori impostato su zero, quel limite non impostato. Cambiare i limiti desiderati, nell'editor di testo. Per esempio:

Disk quotas for user testuser (uid 501):
  Filesystem          blocks       soft       hard     inodes     soft     hard
  /dev/hda3           440436     500000     550000     37418        0        0

Per verificare che il quota per un utente sia stato impostato, usare il comnado:

quota testuser

6.1.5. Assegnare i quota ad un gruppo

Quota possono anche essere assegnati ad un gruppo. Per esempio, per assegnare i quota del gruppo al gruppo devel, usare il comando (il gruppo deve esistere prima di impostare i quota):

edquota -g devel

Questo comando mostra il quota esistente per il gruppo in un editor di testo:

Disk quotas for group devel (gid 505):
  Filesystem          blocks       soft       hard     inodes     soft     hard
  /dev/hda3           440400          0          0      37418        0        0

Modificare i limiti, salvare il file, e configurare poi il quota.

Per verificare che il gruppo del quota stato impostato, usare il comando:

quota -g devel

6.1.6. Assegnare i quota ad un file system

Per assegnare quota ad ogni file system abilitato, usare il comando:

edquota -t

Come gli altri comandi edquota, esso apre i quota attuali per il file system nell'editor di testo:

Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/hda3                     7days                  7days

Cambiare il periodo di grazia del blocco o dell'inode, salvare i cambiamenti, e uscire dall'editore di testo.