Cuotas de discoContribuido por &a.mpp;. 26 Febrero
1996Las cuotas constituyen una prestación del sistema operativo que
le permite limitar la cantidad de espacio en disco y/o el número de
archivos de que un usuario puede disponer en un determinado sistema de archivos.
Habitualmente se utiliza en sistemas multiusuario en los que resulta deseable
limitar la cantidad de recursos de que puede disponer cada usuario o grupo de
usuarios. De este modo se impide que un usuario agote todo el espacio disponible
en un disco.Configurando su sistema para habilitar las cuotas de discoAntes de intentar usar las cuotas de disco es necesario asegurarse de que
se encuentran habilitadas en el núcleo del sistema operativo. Esto se
consigue añadiendo la siguiente línea al archivo de configuración
del núcleo:
options QUOTAEl núcleo que se incluye de serie (GENERIC) no
tiene esta función activada por defecto, por lo que tendrá que
configurar, crear e instalar un núcleo a medida para utilizar las cuotas
de disco. Puede acudir a la sección Configurando
el núcleo de FreeBSD, donde encontrará más información
acerca de la configuración del núcleo.A continuación, necesitará habilitar las cuotas de disco en
/etc/sysconfig. Esto se hace cambiando la línea:
quotas=NO
por:
quotas=YESSi está utilizando FreeBSD 2.2.2 o posterior, el archivo de
configuración será /etc/rc.conf y el nombre de
la variable habrá cambiado a:
check_quotas=YESFinalmente, necesitará editar /etc/fstab para
habilitar las cuotas de disco de forma individualizada para cada sistema de archivos.
Es aquí donde puede habilitar cuotas para usuarios, grupos o ambos y para
todos sus sistemas de archivos.Para habilitar las cuotas de disco para un determinado usuario en un sistema
de archivos, añada la opción userquota en el archivo
/etc/fstab, en el campo de opciones del registro correspondiente
al sistema de archivos para el cual quiere habilitar las cuotas. Por ejemplo:
/dev/da1s2g /home ufs rw,userquota 1 2Análogamente, para habilitar las cuotas para grupos emplee la opción
groupquota en lugar de userquota. Para
habilitar ambas, cuotas de usuario y de grupo, cambie el registro del siguiente modo:
/dev/da1s2g /home ufs rw,userquota,groupquota 1 2Por defecto, los archivos relacionados con las cuotas se almacenan en el
directorio raíz del sistema de archivos con los nombres
quota.user y quota.group, para las cuotas
de usuarios y de grupos, respectivamente. Consulte man fstab para
más información. Aunque esa página man afirma que se puede
especificar un emplazamiento alternativo para los archivos relacionados con las
cuotas, esto no es recomendable ya que las diversas utilidades de las cuotas no
parecen adaptarse convenientemente a este cambio.En este momento debería reiniciar su sistema con el nuevo núcleo.
/etc/rc ejecutará automáticamente los comandos
apropiados para crear los archivos iniciales de las cuotas para todas las cuotas que
haya activado en /etc/fstab, por lo que no hace falta crear
manualmente ningún archivo de cuotas de logitud cero.Durante el funcionamiento normal del sistema, no debería ser necesario ejecutar
manualmente los comandos quotacheck, quotaon,
o quotaoff. Sin embargo, puede interesarle leer sus páginas
man para familiarizarse con su funcionamiento.Fijando los límites de las cuotasUna vez haya configurado su sistema para habilitar las cuotas, compruebe que
realmente han sido habilitadas. Una forma de hacerlo fácilmente es ejecutar&prompt.root; quota -vDebería aparecer una línea describiendo la utilización de
los discos y los límites actuales de cuotas para cada sistema de archivos en
el que estén activadas las cuotas.Ya está listo para comenzar a asignar límites de cuota con el
mandato edquota.Tiene varias opciones acerca de cómo aplicar límites a la cantidad
de espacio en disco de que un usuario o grupo puede disponer y la cantidad de archivos
que pueden crear. Puede limitar la cantidad de disco utilizada en función del
espacio físico usado (cuotas de bloque), en función de los archivos
(cuotas de inode) o en función de una combinación de ambos. Cada uno de
estos límites se divide en dos categorías: límites flexibles y
rígidos.Los límites rígidos no pueden ser sobrepasados. Cuando un usuario
alcanza su límite rígido, ya no puede disponer de más espacio en
el sistema de archivos en cuestión. Por ejemplo, si el usuario tiene un
límite rígido de 500 bloques en un determinado sistema de archivos y
ya está utilizando 490 bloques, el usuario sólo puede asignar 10 bloques
adicionales. Cualquier intento de asignar 11 bloques fracasará.Por otra parte, los límites flexibles pueden ser sobrepasados por un
periodo de tiempo limitado. Este periodo de tiempo se conoce como el periodo de gracia,
que dura una semana por defecto. Si un usuario permanece por encima de su límite
flexible más allá del periodo de gracia, el límite flexible se
convertirá en un límite rígido y no se permitirá realizar
nuevas asignaciones. Cuando el usuario se vuelva a situar por debajo del límite
flexible, el periodo de gracia se reiniciará.A continuación se muestra un ejemplo de lo que podrá ver cuando
ejecute el comando edquota. Cuando se invoca el comando
edquota, se inicia el editor espeficado en la variable de entorno
EDITOR, o el editor vi en caso de que la variable
EDITOR no se encuentre definida, permitiéndole editar los
límites de las cuotas de disco.&prompt.root; edquota -u test
Quotas for user test:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
inodes in use: 0, limits (soft = 50, hard = 60)Normalmente verá dos líneas por cada sistema de archivos que
tenga activadas las cuotas de disco. Una línea para los límites de
bloques y otra para los límites de inodes. Para modificar los límites
de las cuotas, simplemente cambie el valor que quiere actualizar. Por ejemplo, para
elevar el límite de bloques de este usuario de un límite flexible de
50 y un límite rígido de 75 a un límite flexible de 500 y a un
límite rígido de 600, cambie:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
por: /usr: blocks in use: 65, limits (soft = 500, hard = 600)
Los nuevos límites estarán vigentes cuando salga del editor.En ocasiones resulta deseable imponer límites en las cuotas de disco
a un intervalo de UIDs (número de identificación de usuario). Esto
se puede hacer empleando la opción del comando
edquota. En primer lugar, asigne el límite deseado al
usuario y luego ejecute edquota -p protouser UID_inicial-UID_final.
Por ejemplo, si el usuario test está sujeto a límites
en la cuota de disco, el siguiente comando puede ser empleado para duplicar esos
límites para los UIDs comprendidos entre 10000 y 19999:&prompt.root; edquota -p test 10000-19999La capacidad de especificar intervalos de UIDs se añadió al
sistema después de que la versión 2.1 fuese distribuida. Si necesita
esta función en un sistema 2.1, deberá conseguir una copia más
reciente de edquota.Consulte man edquota, donde encontrará información
más detallada.Comprobando los límites en las cuotas y la utilización de
los discosPuede utilizar el comando quota, o bien el comando
repquota para comprobar los límites en las cuotas y la
utilización de los discos. El comando quota puede ser
empleado para comprobar cuotas individuales y de grupo, así como la
utilización de los discos. Sólo el administrador del sistema puede
examinar las cuotas y la utilización de los discos por otros usuarios o por
grupos de los que no es miembro. El comando repquota puede ser
empleado para obtener un resumen de todas las cuotas y la utilización de los
discos para sistemas de archivos que tengan las cuotas habilitadas.A continuación se muestra un ejemplo de la salida del comando
quota -v para un usuario que está sujeto a límites
en la cuota de disco en dos sistemas de archivos.
Disk quotas for user test (uid 1002):
Filesystem blocks quota limit grace files quota limit grace
/usr 65* 50 75 5days 7 50 60
/usr/var 0 50 75 0 50 60En el ejemplo anterior, en el sistema de archivos /usr el
usuario ya ha sobrepasado en 15 bloques su límite flexible (fijado en 50 bloques)
y aún dispone de 5 días del periodo de gracia. Observe la presencia de un
asterisco *, lo cual indica que el usuario ha sobrepasado su
límite en la cuota de disco.Normalmente, aquellos sistemas de archivos en los que el usuario no esté
utilizando espacio no figurarán en la salida del comando quota,
aunque el usuario tenga asignado un límite en la cuota de disco para esos
sistemas de archivos. La opción mostrará esos
sistemas de archivos, como ha sucedido con /usr/var en el ejemplo
anterior.* Cuotas a través de NFSEsta sección se encuentra en desarrollo.