2. FS and quota

Управление файловыми системами и квотами в Linux

1. Структура файловых систем и мониторинг дискового пространства

Определение использования диска (df и du)

bash
Copy
# Показать использование всех смонтированных ФС (в человекочитаемом формате)
df -h

# Показать использование диска для текущей директории и поддиректорий
du -sh *

# Детальный анализ использования (например, /var)
du -h --max-depth=1 /var | sort -h

2. Настройка дисковых квот

Типы квот:

  • user quotas – ограничения для пользователей

  • group quotas – ограничения для групп

  • project quotas (XFS) – для проектов/директорий

Активация квот (ext4/XFS)

Для ext4:

  1. Добавить usrquota,grpquota в /etc/fstab:

    bash
    Copy
    /dev/mapper/vg_data-lv_data /data ext4 defaults,usrquota,grpquota 0 2
  2. Перемонтировать и инициализировать:

    bash
    Copy
    mount -o remount /data
    quotacheck -cug /data
    quotaon /data

Для XFS (поддержка квот включена по умолчанию):

bash
Copy
# /etc/fstab
/dev/mapper/vg_www-lv_www /var/www xfs defaults,prjquota 0 0

3. Установка квот на запись и чтение

Для пользователей (edquota)

bash
Copy
# Установить квоту для пользователя webadmin
edquota -u webadmin

Пример вывода (лимиты в килобайтах):

 
Copy
Disk quotas for user webadmin (uid 1001):
  Filesystem   blocks   soft    hard   inodes   soft   hard
  /dev/sdb1     8000   10000   15000      50     60     80
  • blocks – текущее использование диска.

  • soft/hard (blocks) – мягкий/жесткий лимит на объем (1 GB soft / 1.5 GB hard).

  • inodes – текущее число файлов.

  • soft/hard (inodes) – лимиты на количество файлов.

Для групп (setquota)

bash
Copy
# Установить квоту для группы developers
setquota -g developers 500M 1G 0 0 /data
  • 500M – soft limit.

  • 1G – hard limit.


4. Мониторинг квот

bash
Copy
# Проверить квоты пользователя
quota -u webadmin

# Проверить квоты группы
quota -g developers

# Просмотр всех квот (требует root)
repquota /data

Пример вывода repquota:

 
Copy
User            used    soft    hard  grace    used  soft  hard  grace
webadmin     8000    10000   15000  6days      50    60    80

5. XFS Project Quotas (квоты на директории)

Идеально для ограничения /var/www или /home/projects.

Настройка:

  1. Добавить prjquota в /etc/fstab:

    bash
    Copy
    /dev/mapper/vg_www-lv_www /var/www xfs defaults,prjquota 0 0
  2. Создать проект:

    bash
    Copy
    echo "1001:/var/www/project1" >> /etc/projects
    echo "webproject:1001" >> /etc/projid
  3. Назначить квоту:

    bash
    Copy
    xfs_quota -x -c 'project -s webproject' /var/www
    xfs_quota -x -c 'limit -p bsoft=500M bhard=1G webproject' /var/www

Проверка:

bash
Copy
xfs_quota -x -c 'report -h' /var/www

6. Практические примеры

Запрет записи при превышении квоты

Если пользователь превысит hard limit, получит ошибку:

 
Copy
dd: ошибка записи: На устройстве не осталось свободного места

Автоматическое уведомление

Добавить в cron для мониторинга:

bash
Copy
#!/bin/bash
repquota /data | mail -s "Disk Quota Report" admin@example.com

7. Управление SWAP

bash
Copy
# Создание SWAP-файла (4GB)
dd if=/dev/zero of=/swapfile bs=1M count=4096
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

# Добавить в /etc/fstab
echo "/swapfile none swap sw 0 0" >> /etc/fstab

Итог

  • ext4usrquota,grpquota + edquota/setquota.

  • XFS: Встроенная поддержка prjquota для гибкого управления.

  • Мониторингquotarepquotaxfs_quota.

  • Квоты на запись/чтение контролируются через blocks (объем) и inodes (число файлов).

Примеры выше покрывают все сценарии — от настройки до отладки.

  • FS, EXT4, XFS
  • 0 Utenti hanno trovato utile questa risposta
Hai trovato utile questa risposta?

Articoli Correlati

1. Linux Kernel & Devices

Вот развернутый план настройки Linux с примерами и пояснениями: Linux Kernel & Devices...

3. Service

Configuration file /etc/systemd/system/autosshd443.service is marked world-inaccessible. This...

0. SREUP

Обзор эксплуатации и автоматизации 1. Классификация работ по эксплуатации и техническому...

4. SYS and UDEV

  ### 1. Управление устройствами через /sys/ и udev #### 1.1 Теоретическое объяснение концепции...

5. DEPLOY1 BASH

Вот полная документация по каждому пункту с подробным описанием: 1. Основы автоматизации...