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`.
|
Документация по инфраструктуре домашнего сервера, работающего под управлением Proxmox VE, с набором LXC-контейнеров и виртуальных машин. Основная цель — создание независимой мультимедийной платформы с доступом из внешней сети через домен `zailon.ru`.
|
||||||
|
|
||||||
@ -11,13 +11,14 @@
|
|||||||
- [Виртуальные машины и LXC](docs/03-vms-lxcs.md)
|
- [Виртуальные машины и LXC](docs/03-vms-lxcs.md)
|
||||||
- [Сеть и доступ](docs/04-network.md)
|
- [Сеть и доступ](docs/04-network.md)
|
||||||
- [Samba – файловые шары](docs/05-samba.md)
|
- [Samba – файловые шары](docs/05-samba.md)
|
||||||
- [Сервисы и порты](docs/06-services.md)
|
- [Сервисы и порты](docs/06-services.md) *(в разработке)*
|
||||||
- [Проксирование и SSL (NPM)](docs/07-proxy-ssl.md)
|
- [Проксирование и SSL (NPM)](docs/07-proxy-ssl.md)
|
||||||
- [Мониторинг и логирование](docs/08-monitoring.md)
|
- [Мониторинг и логирование](docs/08-monitoring.md)
|
||||||
- [Управление конфигурацией (Ansible)](docs/09-ansible.md)
|
- [Управление конфигурацией (Ansible)](docs/09-ansible.md)
|
||||||
- [Безопасность](docs/10-security.md)
|
- [Безопасность](docs/10-security.md)
|
||||||
- [Резервное копирование](docs/11-backup.md)
|
- [Резервное копирование](docs/11-backup.md)
|
||||||
- [Решение проблем](docs/12-troubleshooting.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