Quotas
Administration des Systèmes UNIX
Noureddine GRASSA ISET MAHDIA
Septembre 2009
© Dominique Lazure
2
Principe des Quotas
Garder l'équité du partage des ressources Ressources partagées :
➢ Temps CPU
➢ Espace disque
➢ Périphériques
Maîtriser les dépenses de consommables
➢ Quotas d'impression (cf cours Impression)
inique Lazure
Comprendre les quotas
Les quotas sont sécurisants :
➢ Espace disque saturé par inadvertance
➢ Aussi par malveillance
Les quotas ne sont pas coercitifs :
➢ Sensibiliser les utilisateurs
Système sans quotas : anarchie
➢ Aucune application fiable
© Dominique Lazure
4
Limites de temps CPU
Commande root% ulimit
Permet de limiter beaucoup de paramètres :
➢ Consommation CPU (%)
➢ Nombre de descripteurs ouverts
➢ Taille maximale de mémoire physique, virtuelle, pile
➢ Nombre maxi de processus pour un utilisateur
➢ Taille des core
➢ …
Obsolète avec les machines actuelles (sauf calculateurs)
© Dominique Lazure
Espace disque
Système de fichiers Unix :
➢ I-noeuds : nombre d'entrées dans le FS
➢ Blocs : contenus de chaque entrée
Quotas Unix :
➢ Sur le nombre d'i-noeuds
➢ Sur le nombre de blocs
Par utilisateur ou par groupe (même principe) :
➢ Limites Soft/Hard
➢ Période de grâce
© Dominique Lazure
6
Configuration des quotas
Sur un FS (une partition)
➢ quota.user
➢ quota.group
Commande root% edquota ($EDITOR)
➢ Edition à la main pour un utilisateur (ou un groupe)
➢ Duplication d'un user à un autre (user_prototype) root % repquota
➢ 0 = pas de quota
Ne pas oublier de FS !
inique Lazure
Activation des quotas
Commande root% quotaon <device>
Inclure dans /etc/fstab :
➢ Permet l'activation lors du démarage (init)
➢ Option de montage usrquota ou grpquota
Quotas sur NFS :
➢ Uniquement sur le serveur
➢ Démon rpc.quotad sur le serveur (bug RH)
© Dominique Lazure
8
Boite à outils des quotas
root% quotacheck mise-à-jour des comptes root% repquota rapport complet
polo% quota –v rapport individuel Bibliothèque
#include <sys/quota.h>
int quotactl (int cmd, const char *special, int id , caddr_t addr);
#include <linux/unistd.h>
_syscall4(int, quotactl, int, cmd, const char *, special , int, id, caddr_t, addr);
inique Lazure
Politiques d'allocation
Politique a priori
➢ Robuste et sécurisante pour Adminsys
➢ diviser l'espace par le # usagers
➢ non scalable : nouveaux usagers
Politique efficace
➢ s'autoriser > 100%
➢ Sécurité statistique
Auto-gérée :
© Dominique Lazure
10