Update 2 files
- /docs/13-maintenance.md - /README.md
This commit is contained in:
parent
6733688c69
commit
084f1fd41b
23
README.md
23
README.md
@ -1,4 +1,4 @@
|
||||
# Домашний сервер zailon.ru
|
||||
# Домашний сервер Olimp
|
||||
|
||||
Документация по инфраструктуре домашнего сервера, работающего под управлением Proxmox VE, с набором LXC-контейнеров и виртуальных машин. Основная цель — создание независимой мультимедийной платформы с доступом из внешней сети через домен `zailon.ru`.
|
||||
|
||||
@ -11,13 +11,14 @@
|
||||
- [Виртуальные машины и LXC](docs/03-vms-lxcs.md)
|
||||
- [Сеть и доступ](docs/04-network.md)
|
||||
- [Samba – файловые шары](docs/05-samba.md)
|
||||
- [Сервисы и порты](docs/06-services.md)
|
||||
- [Проксирование и SSL (NPM)](docs/07-proxy-ssl.md)
|
||||
- [Мониторинг и логирование](docs/08-monitoring.md)
|
||||
- [Управление конфигурацией (Ansible)](docs/09-ansible.md)
|
||||
- [Безопасность](docs/10-security.md)
|
||||
- [Резервное копирование](docs/11-backup.md)
|
||||
- [Решение проблем](docs/12-troubleshooting.md)
|
||||
- [Сервисы и порты](docs/06-services.md) *(в разработке)*
|
||||
- [Проксирование и SSL (NPM)](docs/07-proxy-ssl.md)
|
||||
- [Мониторинг и логирование](docs/08-monitoring.md)
|
||||
- [Управление конфигурацией (Ansible)](docs/09-ansible.md)
|
||||
- [Безопасность](docs/10-security.md)
|
||||
- [Резервное копирование](docs/11-backup.md)
|
||||
- [Решение проблем](docs/12-troubleshooting.md)
|
||||
- [Плановое обслуживание](docs/13-maintenance.md)
|
||||
|
||||
## 🚀 Краткий обзор
|
||||
|
||||
@ -29,8 +30,4 @@
|
||||
|
||||
## 📝 Статус
|
||||
|
||||
Документация актуальна на 20 марта 2026 года. Регулярно обновляется по мере изменений в инфраструктуре.
|
||||
|
||||
---
|
||||
|
||||
*Навигация по документации осуществляется через оглавление выше. Каждый раздел содержит детальные сведения и ссылки на связанные разделы.*
|
||||
Документация актуальна на 20 марта 2026 года. Регулярно обновляется по мере изменений в инфраструктуре.
|
||||
264
docs/13-maintenance.md
Normal file
264
docs/13-maintenance.md
Normal file
@ -0,0 +1,264 @@
|
||||
# 13. Плановое обслуживание
|
||||
|
||||
Регулярное обслуживание инфраструктуры необходимо для обеспечения стабильности, безопасности и производительности. В этом разделе описан регламент работ, включая обновления, очистку и фиксацию версий.
|
||||
|
||||
## Содержание
|
||||
|
||||
- [Обновление системы](#обновление-системы)
|
||||
- [Обновление Docker-образов](#обновление-docker-образов)
|
||||
- [Фиксация версий](#фиксация-версий)
|
||||
- [Очистка логов и временных файлов](#очистка-логов-и-временных-файлов)
|
||||
- [Очистка Docker](#очистка-docker)
|
||||
- [Проверка резервных копий](#проверка-резервных-копий)
|
||||
- [Проверка сертификатов](#проверка-сертификатов)
|
||||
- [Ротация паролей](#ротация-паролей)
|
||||
- [Регламент обслуживания](#регламент-обслуживания)
|
||||
|
||||
---
|
||||
|
||||
## Обновление системы
|
||||
|
||||
### Пакеты ОС (apt)
|
||||
|
||||
Для всех хостов (Proxmox, LXC, ВМ) регулярно выполняйте обновление пакетов безопасности и критических исправлений.
|
||||
|
||||
**Ручное обновление:**
|
||||
|
||||
&&&bash
|
||||
apt update
|
||||
apt list --upgradable # посмотреть список
|
||||
apt upgrade -y # обновить пакеты
|
||||
apt autoremove -y # удалить ненужные зависимости
|
||||
&&&
|
||||
|
||||
**Автоматические обновления безопасности:**
|
||||
|
||||
На всех хостах следует настроить `unattended-upgrades`:
|
||||
|
||||
&&&bash
|
||||
apt install unattended-upgrades
|
||||
dpkg-reconfigure --priority=low unattended-upgrades # включить автоматические обновления
|
||||
&&&
|
||||
|
||||
Конфигурация `/etc/apt/apt.conf.d/50unattended-upgrades` должна содержать:
|
||||
|
||||
&&&
|
||||
Unattended-Upgrade::Allowed-Origins {
|
||||
"${distro_id}:${distro_codename}-security";
|
||||
};
|
||||
Unattended-Upgrade::Automatic-Reboot "false";
|
||||
&&&
|
||||
|
||||
### Обновление Proxmox
|
||||
|
||||
Proxmox обновляется через стандартный `apt`, но после обновления ядра требуется перезагрузка. Желательно планировать перезагрузку гипервизора в окно обслуживания.
|
||||
|
||||
&&&bash
|
||||
apt update
|
||||
apt dist-upgrade -y
|
||||
pveversion -v # проверить версию
|
||||
reboot
|
||||
&&&
|
||||
|
||||
---
|
||||
|
||||
## Обновление Docker-образов
|
||||
|
||||
### Просмотр текущих версий
|
||||
|
||||
&&&bash
|
||||
docker ps --format "table {{.Image}}\t{{.Names}}"
|
||||
&&&
|
||||
|
||||
### Обновление образа
|
||||
|
||||
1. Остановить контейнер:
|
||||
&&&bash
|
||||
docker stop <container>
|
||||
&&&
|
||||
2. Удалить контейнер (если не используется `--rm`):
|
||||
&&&bash
|
||||
docker rm <container>
|
||||
&&&
|
||||
3. Обновить образ (если используется тег `latest`):
|
||||
&&&bash
|
||||
docker pull <image>:latest
|
||||
&&&
|
||||
Или загрузить фиксированную версию.
|
||||
4. Запустить контейнер заново (обычно через `docker-compose up -d`).
|
||||
|
||||
### Обновление через docker-compose
|
||||
|
||||
&&&bash
|
||||
cd /path/to/service
|
||||
docker-compose pull
|
||||
docker-compose up -d --remove-orphans
|
||||
&&&
|
||||
|
||||
### Рекомендация
|
||||
|
||||
- Избегать использования `:latest` в production. Зафиксировать версии (см. раздел ниже).
|
||||
- Перед обновлением критических сервисов (Bitwarden, GitLab, базы данных) сделать резервную копию.
|
||||
|
||||
---
|
||||
|
||||
## Фиксация версий
|
||||
|
||||
### Docker-образы
|
||||
|
||||
В `docker-compose.yml` указывайте конкретную версию образа вместо `latest`. Пример:
|
||||
|
||||
&&&yaml
|
||||
services:
|
||||
npm:
|
||||
image: jc21/nginx-proxy-manager:2.12.3 # вместо :latest
|
||||
# ...
|
||||
&&&
|
||||
|
||||
Актуальные версии можно найти в документации сервисов или на Docker Hub.
|
||||
|
||||
### Пакеты ОС
|
||||
|
||||
Для важных компонентов (например, ядро, Docker, базы данных) можно фиксировать версии с помощью `apt-mark hold`:
|
||||
|
||||
&&&bash
|
||||
apt-mark hold docker-ce
|
||||
apt-mark unhold docker-ce # когда нужно обновить
|
||||
&&&
|
||||
|
||||
---
|
||||
|
||||
## Очистка логов и временных файлов
|
||||
|
||||
### Логи системные
|
||||
|
||||
Логи в `/var/log` ротируются автоматически (`logrotate`). Проверить конфигурацию:
|
||||
|
||||
&&&bash
|
||||
cat /etc/logrotate.conf
|
||||
&&&
|
||||
|
||||
Принудительная ротация логов:
|
||||
|
||||
&&&bash
|
||||
logrotate -f /etc/logrotate.conf
|
||||
&&&
|
||||
|
||||
### Логи Docker
|
||||
|
||||
Docker логи по умолчанию не ротируются, но можно настроить их ограничение в `/etc/docker/daemon.json`:
|
||||
|
||||
&&&json
|
||||
{
|
||||
"log-driver": "json-file",
|
||||
"log-opts": {
|
||||
"max-size": "10m",
|
||||
"max-file": "3"
|
||||
}
|
||||
}
|
||||
&&&
|
||||
|
||||
После изменения перезапустить Docker:
|
||||
|
||||
&&&bash
|
||||
systemctl restart docker
|
||||
&&&
|
||||
|
||||
### Временные файлы
|
||||
|
||||
Очистка `/tmp` (обычно очищается при перезагрузке). Можно настроить `systemd-tmpfiles` для регулярной очистки.
|
||||
|
||||
---
|
||||
|
||||
## Очистка Docker
|
||||
|
||||
### Удаление неиспользуемых образов, контейнеров, томов
|
||||
|
||||
&&&bash
|
||||
docker system prune -a -f # удалить всё неиспользуемое
|
||||
docker volume prune -f # удалить неиспользуемые тома
|
||||
docker image prune -a -f # удалить неиспользуемые образы
|
||||
&&&
|
||||
|
||||
### Просмотр занимаемого места
|
||||
|
||||
&&&bash
|
||||
docker system df
|
||||
&&&
|
||||
|
||||
---
|
||||
|
||||
## Проверка резервных копий
|
||||
|
||||
Регулярно проверяйте, что резервные копии создаются и могут быть восстановлены.
|
||||
|
||||
- Проверка логов Proxmox Backup Server (или VZDump) на наличие ошибок.
|
||||
- Тестовое восстановление на изолированной среде (хотя бы раз в квартал).
|
||||
- Проверка, что бэкапы не устарели (срок хранения).
|
||||
|
||||
---
|
||||
|
||||
## Проверка сертификатов
|
||||
|
||||
### Let's Encrypt (NPM)
|
||||
|
||||
Сертификаты обновляются автоматически, но иногда процесс может зависнуть.
|
||||
|
||||
Проверить статус:
|
||||
|
||||
- В интерфейсе NPM: SSL Certificates → статус каждого сертификата.
|
||||
- В логах NPM:
|
||||
&&&bash
|
||||
docker logs npm 2>&1 | grep -i "renew"
|
||||
&&&
|
||||
|
||||
### Ручное обновление (если нужно)
|
||||
|
||||
В NPM есть кнопка "Renew Now". Также можно перезапустить контейнер:
|
||||
|
||||
&&&bash
|
||||
docker restart npm
|
||||
&&&
|
||||
|
||||
---
|
||||
|
||||
## Ротация паролей
|
||||
|
||||
Рекомендуется менять пароли для:
|
||||
- Административных учётных записей (Grafana, GitLab, NPM, Bitwarden)
|
||||
- Пользователей Samba
|
||||
- Пользователей баз данных
|
||||
- Ansible Vault (пароль шифрования)
|
||||
|
||||
Периодичность: раз в 6–12 месяцев.
|
||||
|
||||
---
|
||||
|
||||
## Регламент обслуживания
|
||||
|
||||
| Действие | Периодичность | Ответственный | Примечание |
|
||||
|----------|---------------|---------------|------------|
|
||||
| Обновление пакетов безопасности (unattended-upgrades) | Ежедневно | Автоматически | Настроено через unattended-upgrades |
|
||||
| Проверка наличия обновлений пакетов (apt) | Еженедельно | Администратор | `apt list --upgradable` |
|
||||
| Обновление критических пакетов (вручную) | Еженедельно | Администратор | После проверки совместимости |
|
||||
| Обновление Docker-образов | Раз в месяц | Администратор | Сначала тестовые, потом prod |
|
||||
| Очистка логов и временных файлов | Ежемесячно | Администратор | `docker system prune`, `logrotate` |
|
||||
| Проверка резервных копий | Ежемесячно | Администратор | Просмотр логов PBS, тестовое восстановление |
|
||||
| Проверка сертификатов | Ежемесячно | Администратор | В NPM; автоматическое обновление обычно работает |
|
||||
| Тестовое восстановление из бэкапа | Раз в квартал | Администратор | На изолированной среде |
|
||||
| Ротация паролей | Раз в 6–12 месяцев | Администратор | Обновить пароли в Ansible Vault и в сервисах |
|
||||
| Аудит безопасности (полный) | Раз в год | Администратор | Использовать Lynis, OpenVAS |
|
||||
|
||||
### Окна обслуживания
|
||||
|
||||
- Плановые работы, требующие перезагрузки или остановки сервисов, проводить в выходные дни (суббота, 2:00–5:00) или в наименее загруженное время.
|
||||
- Перед любыми изменениями делать резервную копию критических данных.
|
||||
- После обновлений проверять работоспособность ключевых сервисов (NPM, Samba, Jellyfin, Immich).
|
||||
|
||||
---
|
||||
|
||||
**Связанные разделы:**
|
||||
- [Управление конфигурацией (Ansible)](09-ansible.md)
|
||||
- [Безопасность](10-security.md)
|
||||
- [Резервное копирование](11-backup.md)
|
||||
- [Решение проблем](12-troubleshooting.md)
|
||||
Loading…
Reference in New Issue
Block a user