Задать вопрос
@alevalerche

Как правильно распределять ресурсы сервера для различных приложений?

Всем привет. Только вникаю в суть, прошу дать направление. Из опыта эксплуатации линукс - только смартфон на Андроид)).
Свой домашний сервер для хранения фото/видео галереи, видеонаблюдение, удаленная винда на ВМ для бизнеса, умный дом.
Приложения соответственно Immich, Shinobi NVR, Windows 10, Home assistant и все это на Proxmox VE.
1 ссд на 128 Гб, 2 HDD по 750 Гб, в резерве еще лежит 1 Тб + 4 Тб - их пока не планирую, там фотоархив.
Возникли следующие вопросы: Как распределять приложения по виртуальным машинам? Верно ли утверждение 1 приложение = 1 ВМ? Но в таком случае будет быстрый расход ресурсов ОЗУ/ ПЗУ? Обратная сторона - установил Иммич через докер, Шиноби через скрипт Ninja Way. Долго парился с изменением адреса записи видео, так долго что хард забился и повесил еще и Иммич. В итоге перенес, почистил, запустил. Пока разбирался с бэкапом Иммича на другую ВМ "игрался" с правами, сломал Шиноби... Тем временем Home Assistant был установлен на отдельной ОС и работал как работал, на него все мои косяки никак не повлияли..

При этом ОЗУ занято 15 Гб при запущенной Убунту, Вин10, ХА

Вопрос второй: как правильно распределять и использовать жесткие диски в Proxmox? LVM/ LVM-Thin/ Directory? Я выбрал последнее, т.к. по мне это самый простой вариант. Устанавливать все лучше просто на весь диск или лучше делить его на несколько виртуальных дисков и например каждое приложение монтировать на свой виртуальный диск?

Вопрос третий: В процессе обучения запуска и настройки всего естественно появляется много информации которую сложно запомнить и легко забыть, как те же пароли, логины, айпи/порты - куда лучше все это документировать?
Не знаю логично ли, например, на сервере развернуть что-то вроде конфлюенса, ведь если сервак упадет, то и доступ к информации тоже :)
  • Вопрос задан
  • 220 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Академия Эдюсон
    DevOps-инженер: тариф PRO
    7 месяцев
    Далее
  • Хекслет
    Fullstack-разработчик на Node.js
    16 месяцев
    Далее
  • Stepik
    Основы работы в консоли Linux, настройка сетевых служб (кластер)
    1 неделя
    Далее
Решения вопроса 1
@rPman
* Как выбирать какое приложение где запускать?
Виртуализация (как полная так и паравиртуализация) - это разные уровни изоляции.

Универсально есть популярное эмпирическое правило - выноси приложение в отдельную виртуальную машину, если оно не может быть запущено без изоляции.

Типовые примеры - например запрет одновременного запуска на одном железе (две операционные системы linux/windows/windows server или разные версии одного и того же приложения, это вообще типовой способ использования паравиртуализации docker, разный софт требует разные зависимости, которые очень сложно/дорого/невозможно устанавливать в пределах одной установки ОС)

Второе правило - изоляция по доступу к оборудованию, особенно это актуально, если приложение требует полный доступ к оборудованию и забирает его полностью (например процессор или память или доступ к диску), в некоторых случаях лимиты можно накладывать средствами ОС (например в linux) но проще выделить виртуалку.

Есть еще причины, они больше совокупность вышеуказанных - обход защит и ограничений приложения, разграничение прав доступа (выдать администраторские права на две разные установки ОС разным пользователям и они не будут затрагивать друг друга).

* Как выбирать сколько ресурсов выделять виртуальной машине?
Общий подход - выделяй минимально требуемые под ОС и выбранные приложения, и при необходимости постепенно повышай. Это главная фича систем виртуализации - легкая настройка оборудования, в некоторых случаях можно даже без перезагрузки добавлять ресурсов (при использовании паравиртуализации).

* Как правильно выбрать способ хранения образов и выбор файловой системы на хосте?
Зависит от требований, задач и возможности оплатить ресурсами возможности.

Прямой доступ к разделам без LVM - самая быстрая работа, отсутствуют возможности для создания снапшотов, но можно использовать снапшоты zfs (у него есть возможность создавать образы дисков)
LVM - старый метод управления разделами, поддержка снапшотов, пока активен снапшот, скорость работы диска падает кратно количеству снапшотов.
Файлы в каталоге - самый универсальный и удобный метод, поддержка снапшотов (файловые системы btrfs/zfs), самый медленный, файлы образов будут фрагментироваться.

Вообще то у qemu есть своя система создания снапшотов, но в интерфейсе proxmox это недоступно. Обычно всегда спрашиваю, почему именно выбрали proxmoix в качестве менеджера виртуальных машин? Почему бы не установить debian, поверх него libvirt и gui к нему по типу virtmanager или запускать виртуальные машины вручную из командной строки? это самый полнофункциональный способ, самый простой, но ограничивает функционал кластерными фишками (когда несколько физических хост серверов, миграция машин между ними и т.п.).

* Работа с информацией?
не держи все яйца в одной корзине, чувствительные вещи храни в keepass, у него есть механизмы онлайн резервного копирования на сторонние сервера, с надежным шифрованием, поднимай свои любимые приложения для каталогизации информации на стороне.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Для начала определиться с конкретными критериями "правильности". Ну а потом провести нагрузочное тестирование, проанализировать результаты и выделить ресурсы приложениям согласно вашим нуждам и требованиям. Для паролей и ключей существуют всякие KeePass, а для документации различные вики или даже карты разума типа Obsidian/TheBrain.
Ответ написан
Комментировать
@AlexVWill
Ты все как то в одну кучу свалил, разные проблемы разных систем, приложений, дисков и пр... Определись КОНКРЕТНО в чем тебе нужна помощь. Когда задаешь вопрос, можно опустить подробности как ты удачно потрахался с системой, переходи сразу к сути. Первый вопрос я вообще не понял, что ты хочешь узнать.
Вопрос второй: Как ты разобьешь диски и смонтируешь каталоги - делай как тебе удобно, исходя из собственных задач.
Вопрос третий - конфлюенс тебе тут нафиг не нужен, это для других задач и довольно тяжелая штука, в основном как корпоративная база зананий работает. Делай простой вариант: если на сервере ничего конфиденциального, то храни все в GoogleDrive в виде таблицы или просто документа, если данные конфиденциальные - то на флешке + внешний сетевой диск (если есть).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы