Linux: Ваш бэкап «убивает» производительность? Управляем I/O с `ionice`
Вы запускаете ночной
Решение:
Классы
1. (Realtime): Высший приоритет. Процесс получит I/O немедленно. (Использовать с осторожностью!)
2. (Best-Effort): Стандартный класс. Имеет 8 уровней приоритета (0-7, где 0 — высший).
3. (Idle): Ваш лучший друг для бэкапов. Процесс получит I/O, только если никто другой его не просит.
Как использовать:
Запустить новую «медленную» задачу:
Bash
Изменить приоритет запущенного процесса:
Bash
Взгляд архитектора: Вы управляете не только CPU, но и I/O QoS (Quality of Service).
#linux #sre #performance #ionice #backup #команды #гайд
Вы запускаете ночной
rsync или бэкап базы данных. В htop CPU свободен, но сайт «лежит», а SSH «тормозит». Причина: Ваш бэкап полностью «съел» дисковый I/O (ввод-вывод). nice и renice (которые управляют CPU) здесь бессильны.Решение:
ionice Эта утилита позволяет задать приоритет дискового I/O для процесса.Классы
ionice:1. (Realtime): Высший приоритет. Процесс получит I/O немедленно. (Использовать с осторожностью!)
2. (Best-Effort): Стандартный класс. Имеет 8 уровней приоритета (0-7, где 0 — высший).
3. (Idle): Ваш лучший друг для бэкапов. Процесс получит I/O, только если никто другой его не просит.
Как использовать:
Запустить новую «медленную» задачу:
Bash
# Запускаем rsync с самым низким приоритетом (Idle)
ionice -c 3 rsync -a /var/www/ /mnt/backup/
Изменить приоритет запущенного процесса:
Bash
# Находим PID нашего rsync (например, 4567)
pidof rsync
# "Замедляем" его
ionice -c 3 -p 4567
Взгляд архитектора: Вы управляете не только CPU, но и I/O QoS (Quality of Service).
ionice -c 3 для всех фоновых задач (бэкапы, индексация) — это стандарт для SRE, гарантирующий, что фоновые операции никогда не повлияют на производительность основного сервиса.#linux #sre #performance #ionice #backup #команды #гайд
👍3
Linux (Storage): "Undo" для сервера. LVM Snapshots перед обновлением
Боль: Вы обновляете ядро или критически важную базу данных на Linux. Что-то пошло не так. Система не грузится.
Реакция админа: Восстанавливать из бэкапа (часы простоя).
Реакция архитектора: Сделать LVM Snapshot за 1 секунду до обновления и откатиться за 1 секунду в случае сбоя.
LVM (Logical Volume Manager) — это стандарт де-факто в Linux, но многие используют его только для расширения дисков, забывая про снапшоты.
Сценарий: Опасное обновление
1. Создаем снапшот: Мы выделяем место (например, 1GB) под изменения.
Теперь состояние системы "заморожено".
2. Делаем опасное действие: apt upgrade, rm -rf /etc/nginx, ломаем всё.
3. Откат (Merge): Если всё сломалось:
После перезагрузки сервер будет в ТОМ ЖЕ состоянии, что и до снапшота.
4.Удаление (если всё прошло хорошо):
Взгляд архитектора: Это страховка. Снапшоты LVM — это не бэкап (они живут на том же диске), это инструмент управления рисками при изменениях.
#linux #lvm #storage #backup #sysadmin #команды #гайд
Боль: Вы обновляете ядро или критически важную базу данных на Linux. Что-то пошло не так. Система не грузится.
Реакция админа: Восстанавливать из бэкапа (часы простоя).
Реакция архитектора: Сделать LVM Snapshot за 1 секунду до обновления и откатиться за 1 секунду в случае сбоя.
LVM (Logical Volume Manager) — это стандарт де-факто в Linux, но многие используют его только для расширения дисков, забывая про снапшоты.
Сценарий: Опасное обновление
1. Создаем снапшот: Мы выделяем место (например, 1GB) под изменения.
# Создаем снапшот 'root_snap' для тома 'root'
lvcreate -L 1G -s -n root_snap /dev/vg0/root
Теперь состояние системы "заморожено".
2. Делаем опасное действие: apt upgrade, rm -rf /etc/nginx, ломаем всё.
3. Откат (Merge): Если всё сломалось:
# Говорим системе: "Верни всё как было при загрузке"
lvconvert --merge /dev/vg0/root_snap
reboot
После перезагрузки сервер будет в ТОМ ЖЕ состоянии, что и до снапшота.
4.Удаление (если всё прошло хорошо):
lvremove /dev/vg0/root_snap
Взгляд архитектора: Это страховка. Снапшоты LVM — это не бэкап (они живут на том же диске), это инструмент управления рисками при изменениях.
#linux #lvm #storage #backup #sysadmin #команды #гайд
❤2👍2