Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Можно ли найти работу программиста после колледжа?

Лучший ответ:
Даже если ты каким-то образом достанешь диплом MIT, то тебя не возьмут на работу.
У тебя нет базового навыка - поиска информации.
Вопрос аналогичный твоему тут задают чуть ли не каждый день, и это легко можно найти.

PS: Ответ - адекватные работодатели не смотрят на диплом.

Худший ответ:
Сам по себе диплом роли не играет, но за первое рабочее место огромная конкуренция, а вашими противниками будут совершеннолетние обладатели профильных дипломов.
Вопрос: Если я активирую Windows 10 Home?

Лучший ответ:
Нет.

Худший ответ:
ключ это просто цифровой идентификатор лицензии. он не влияет на систему
Вопрос: Стоит ли в моём случае пытаться перейти из Embedded в Backend?

Лучший ответ:
 Получаю копейки (около 80К после налогов).

Определённо стоит искать новое место работы. 
Джуны на джаве получают больше.

Худший ответ:
Тут, например, пишут что C норм и вакансии есть на hh. Ваш опыт уж точно лучше чем мой админский - будет легче учить второй язык чем мне, как мне кажется, а я уже в процессе и что-то даже получается. Возможностей для самообразование сейчас много, нужно дать себе время и возможность попробовать - вдруг не понравится java, потом составить план со сроками и действовать. Потом искать.  Желаю успехов.
Вопрос: Можно ли обойтись без базовой станции?

Лучший ответ:
Роутер то какой стоит??
Скорее всего он просто перегревается. И стоит 700р))

У Кинетика есть хорошие модели

Можно микротик поставить, Hap AC - ему 15 клиентов вообще лафа)))

Худший ответ:
Конечно есть, поставь мощнее роутер с большим объёмом озу...
Вопрос: Несколько языков в портфолио и как сделать выбор в направлении?

Лучший ответ:
найти работу во front-end нереально и джуны никому не нужны
Джужы и в остальных направления не особо не нужны.

1. Идете на собесы.
2. Записываете и затем устраняете те пробелы, которые не понравились интервьюеру.
3. Повторить первые 2 пункта.

Худший ответ:
Если уровень подготовки будет выше, чем описанные требования к джуну, то нормально ли будет подавать отклик на вакансии мидла или это плохой тон и мидл это не просто уровень знаний
Подавать отклик можно, но заявлять себя мидлом не стоит. Мидл - это годы коммерческого командного опыта, а не просто набор знаний.
Вопрос: Как написать плейбук, который не просто устанавливает ПО, а ещё и пишет конфу и запускает сервисы?

Лучший ответ:
для установки/удаления ПО- модуль pkg/apt/yum и тд
Для создания/поднятия/опускания/удаления сервисов - service или systemd
для конфы - template, files+state: link

 А для скриптов ансибл не нужен. Достаточно ssh

Худший ответ:
блин чувак ты бы хоть брошурку какую то типо ansible for idiots прочитал для начала , про документацию вообще молчу, это прямо на уровне а как писать ?
Вопрос: Как можно улучшить модерирование?

Лучший ответ:
Разумеется, он не знает местных заморочек, и накосячил.
Абсолютно все перед регистрацией ставят галочку, что прочитали и приняли правила.

А не давать пинка под зад, "Пшёл вон, дурачина", молча удаляя вопрос.
При удалении вопроса, его автор получает уведомление с указанием причины удаления.

Худший ответ:
3.1 и 3.8 вовсе не формальные пункты. Никогда не видели спам-вопросов, где текст картинкой плюс ссылка и нашарашено тегов по максимуму? А я видел :)
Все регистрирующиеся обязаны прочитать правила. Никто их, конечно же сразу не читает - но незнание закона не освобождает от ответственности.

ЗЫ: Вообще обсуждать действия модераторов или политику модерации - уже само по себе есть нарушение. Потому что еще со времен FIDO все правила укладывались всегда в два пункта:

1. Модератор всегда прав
2. Если модератор неправ, см. п.1
Вопрос: Js проверка isset?

Лучший ответ:
Оператор ! - это булево отрицание. И он приводит свой аргумент к типу boolean. Автор не открыл Америку, и это используется. Но использовать нужно с умом.
Значения приводимые к false - это undefined, null, '' (пустая строка), 0, 0n (bigint 0), NaN.
Соответственно, когда у нас есть например строка или undefined или например число или undefined - такая проверка на undefined может быть небезопасна, так как она отсечет еще и пустую строку, 0 и NaN.

!! - это всего лишь 2 идущих подряд оператора !, это такое популярное сокращение для быстрого каста к boolean.
Еще автор статьи предлагает использовать !!!, но это бессмысленно, так как тройное отрицание даст тоже самое что и одинарное.

Худший ответ:
!!someVar - зачем делать приведение типа и инвертировать его? Надо проверить переменную на undefined? Ну так проверь. Надо узнать объявлено ли что-то? Ну так узнай не является ли тип undefined.
Вопрос: Как восстановить файл после удаления из корзины?

Лучший ответ:
Можно попробовать. Остановить тачку немедленно, грузиться с флэшки и с нее же запускать сканеры удаленных файлов. R.saver например - замечательная вещь.

Худший ответ:
Может в теневых копиях валяется.
Если нет - можно поискать на диске, но шансы восстановить стремятся к нулю.
Вопрос: С чего можно начать в изучение 1С?

Лучший ответ:
Окей на связи 1с программист. Смотри курсы Гилева и Радченко. Потом иди во франчайзи. Читай литературу.
Но лучше не занимайся этим и иди в нормальные языки

Худший ответ:
Для начала изучения рекомендуется ознакомиться со всеми возможностями программы 1С. Затем нужно изучить документацию и теорию, а также практиковаться на примерах и создавать собственные проекты. Важно понимать, какой именно вид 1С используется (1С: Предприятие или 1С: Конфигуратор) и приступить к изучению его функционала.
Вопрос: Если по запаре сделал несколько коммитов не в ту ветку — можно ли их как-то выборочно перенести в другую?

Лучший ответ:
Зависит от того, какой перенос вы хотите сделать и какие состояния веток сейчас
Предположим, что у вас такая ситуация:
branch-1 A - B - C - D - E
branch-2 F
Коммиты C, D и E были запушены случайно, и требуется переместить их в branch-2
Порядок такой:
# переключаемся на нужный бранч
git checkout branch-2
# мержим бранч с коммитами
git merge branch-1
# переключаемся на бранч, в который случайно запушили
git checkout branch-1
# делает жесткий резет на 3 коммита назад (все, что мы сделали и на закомитили в ветке сотрется)
git reset --hard HEAD~3
# переключаемся на наш бранч
git checkout branch-2
Результат:
branch-1 A - B
branch-2 F - C - D - E

Худший ответ:
Зависит от того, какой перенос вы хотите сделать и какие состояния веток сейчас
Предположим, что у вас такая ситуация:
branch-1 A - B - C - D - E
branch-2 F
Коммиты C, D и E были запушены случайно, и требуется переместить их в branch-2
Порядок такой:
# переключаемся на нужный бранч
git checkout branch-2
# мержим бранч с коммитами
git merge branch-1
# переключаемся на бранч, в который случайно запушили
git checkout branch-1
# делает жесткий резет на 3 коммита назад (все, что мы сделали и на закомитили в ветке сотрется)
git reset --hard HEAD~3
# переключаемся на наш бранч
git checkout branch-2
Результат:
branch-1 A - B
branch-2 F - C - D - E
Вопрос: Устройство на работу после фриланса, как лучше?

Лучший ответ:
Неподтверждённым опыт - отсутствующий опыт. Подавайте на джуна и выростайте в мидла через год, если действительно специалист.

Худший ответ:
Вы путаете джунов и, мягко выразимся, гуманитариев, которые иногда попадают на должность джунов за связи и другие заслуги. Не нужно недооценивать джунов, с которыми вам работать не приходилось как раз по той причине, что они работают в хороших компаниях и справляются со своими обязанностями. 
Только рынок ставит всех на свои места. Выбирайте из тех компаний, что вам нравятся, но идите, куда берут - пусть на должность джуна, если вы превосходите этот уровень, то вас быстро повысят.
Вопрос: БД или JSON? Можно ли?

Лучший ответ:
Можно, я разрешаю. Но вообще стоит учитывать, что в будущем скорее всего понадобится хранить какую-либо ещё информацию, добавлять новые записи, удалять и обновлять старые. Всё вышеперечисленное должно ещё и в многопоточной среде работать. Теперь стоит задуматься, а оно вам надо потом с json на СУБД переводить, если можно сразу использовать СУБД, а не костыли городить?

Худший ответ:
Это вопрос из серии, "можно ли построить самолёт из одной бумаги, или всё-таки понадобится ещё дерево". 
Игрушечный самолётик можно.
Реальный полетит вертикально к земле. 

Принципиальная разница между БД и файликом состоит в том, что БД уже заточена под параллельную нагрузку, а файлик - нет. Который в реальном рабочем окружении очень быстро превратится в тыкву, когда два процесса попробуют писать в него одновременно.
Вопрос: Как запустить сайд-проект при основной работе?

Лучший ответ:
Ваш пример -  просто демонстрация того, что собственный проект это НЕ перспективы, НЕ независимость, и НЕ круто. Собственный проект - это в первую очередь целеустремленность, ответственность и квалификация. Очевидно, что  это все есть далеко не у всех. Правильнее сказать - это есть у очень не многих.

Худший ответ:
Не люблю всякие бизнес-тренинги, но тут оно очень кстати. Правильная постановка задачи - уже половина результата. Поищите, для примера, что такое SMART.

В Вашем случае важно определить MVP, распределить роли в команде и - самое главное - составить сроки. Реальные сроки, выполнимые с учетом основной работы, но близкие. И потом самое сложное - этих сроков нужно придерживаться. Ночами не спать, но делать в срок. 
Плюс чем короче срок планирования этапа, тем эффективнее можно все контролировать. Из моей практики оптимально для такого проекта - разбить его разработку на недельные спринты.

И важное дополнение. Личный проект - это выход из зоны комфорта. Вы вкладываете туда деньги, силы, время. Отнимаете время от сна, семьи, своих хобби. К этому нужно быть готовым. И такая жизнь будет в лучшем случае год-полтора, пока проект не встанет достаточно на ноги, чтобы обеспечить Вас доходом, позволяющим бросить основную работу. Если к этому не готов хоть кто-то из участников команды, то проект загнется.
Вопрос: Как сделать анализ двоичных кодов на возможность обнаружения?

Лучший ответ:
Скажем так - эта задача не относится прям к плюсам. Тут больше про алгоритмизацию, математику и вот это все. А язык всего лишь инструмент. Так что вот берете гугл, и читаете про "коды коррекции" и прочее.

Худший ответ:
наивный кодировщик Хэмминга
выводятся колонки:
двоичный код | его десятичное представление | кодируемое число
N = 64 означает 6-битное слово, N = 256 - 8-битное
M = 3 - число бит, в котором каждый код отличается от остальных
экспериментируй c ними, не стесняйся.
function diff(a, b) {
    return (a ^= b).toString(2).replace('0', '').length
}

const N = 64, M = 3, res = [];
for (let i = 0; i < N; i++) {
    let flag = true;
    for (let n of res) {
        if (diff(i, n) < M) {
            flag = false
            break;
        }
    }
    if (flag) {
        console.log((i + N).toString(2).slice(1), i, res.length);
        res.push(i);
    }
}
Вопрос: Сайт полностью прогружает стили только в режиме инкогнито, как исправить?

Лучший ответ:
у тебя на стилях твоих сервер выдает хеадер
cache-control	max-age=31536000
expires	Mon, 25 Dec 2023 17:55:13 GMTлогично что все закешировалось и отдает новую версию только на новых машинах или в приватном режиме (там кеш чистится по закрытию страницы, ибо это использовалось для деанонимизации)

это классическая проблема и решается в простом виде добавлением к имени файла какого то идентификатора, определяемого версией файла (например дата или хеш файла) например так main.css?i=123123

p.s. лучше меняй сразу имя файла на main.123123.css, так ошибки легче будет отловить (если где то забудешь изменить ссылку)

т.е. везде в твоем коде сайта у тебя должна быть определена логика формирования этой ссылки, либо, если сайт - статичные странички, перед выкладыванием в продакшен заменой ссылок на нужные простым скриптом

Худший ответ:
В head добавь: 
<head> 
   ... 
   <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> 
    <meta http-equiv="cache-control" content="max-age=0" /> 
    <meta http-equiv="Pragma" content="no-cache" /> 
    <meta http-equiv="Expires" content="0" /> 
</head>
Вопрос: Какой ЯП выбрать для кросплатформенного GUI и работы со звуком?

Лучший ответ:
Delphi
Компилируется под любую платформу и сразу в нативный код.
Есть очень даже солидный фреймворк для разработки GUI - FMX (FireMonkey).
Не имеет никакого GC/JIT/Интерпретатора, а по тому никаких лишних задержек - в критичные моменты ты будешь иметь достаточно хороший контроль над временем, что может быть важно для работы со звуком.
Любые библиотеки для работы со звуком подключаются, как для любого языка. 

И, должен заметить, что одна из самых популярных DAW - FL Studio написана как раз на Delphi

Худший ответ:
С++
Компилируется под любую платформу и сразу в нативный код.
Есть очень даже солидный фреймворк для разработки GUI - Qt.
Не имеет никакого GC/JIT/Интерпретатора, а по тому никаких лишних задержек - в критичные моменты ты будешь иметь достаточно хороший контроль над временем, что может быть важно для работы со звуком.
Все низкоуровневые библиотеки для работы со звуком написаны на C или C++, а значит и для тебя не будет лишних слоёв абстракции над ними.
Вопрос: Как разметить память на ubuntu 16.04?

Лучший ответ:
если нужно расширить раздел на диске то обычно делается так:
сначала нужно узнать какой диск и какой на нём раздел нужно расширить
какой диск можно глянуть командой
lsblk
допустим это будет диск /dev/sda
по занимаемому разделами месту можно глянуть
занято
sfdisk -l /dev/sda
свободно
sfdisk -F /dev/sda
или просто воспользоваться cfdisk которая покажет всё в псевдо-графическом режиме
cfdisk /dev/sda
пусть это будет второй раздел (/dev/sda2) на диске который нужно расширить до конца диска
если раздел /dev/sda2 примонтирован то его нужно размонтировать:
umount /dev/sda2

далее идут два этапа
1) изменить таблицу разделов(ТР) диска указав нужный размер для разделов
2) изменить сам размер файловой системы(ФС) для данного раздела

1.
на всякий случай сохраним дамп ТР чтобы в случае чего можно было восстановить
sfdisk --dump /dev/sda > sda.dump
потом если нужно будет восстановить
sudo sfdisk /dev/sda < sda.dump
кстати --dump генерирует простой человеко-читаемый формат 
теперь в ТР указываем новые границы для раздела /dev/sda2
echo ", +" | sudo sfdisk -N 2 /dev/sda
где -N 2 это второй раздел, ", +" == "начало, размер" раздела, а + это сокращенная запись указывающая на размер который нужно задать по умолчанию, это максимально возможный размер, то есть если после второго раздела идёт пустое пространство вплоть до конца диска то sfdisk растянет раздел до конца диска ну или до начала следующего раздела если он там будет.
проверяем ТР на возможные ошибки
sfdisk -V /dev/sda
вместо вышеописанных манипуляций с sfdisk можно воспользоваться всё той же псевдографической утилитой сfdisk, там довольно просто можно разобраться как изменить ТР (см. [Resize])

2.
теперь нужно растянуть ФС до размеров указанных в ТР
для начала удостоверимся что с ФС всё в порядке
e2fsck -f /dev/sda2
далее идёт само расширение
sudo resize2fs /dev/sda2
данная команда расширяет ФС раздела /dev/sda2 до границ указанных в ТР
ну и напоследок еще раз проверим
e2fsck -f /dev/sda2

Худший ответ:
https://serverfault.com/questions/509468/how-to-ex...
Посмотрите тут, по идее вам дали больше места, в конце диска появился raw раздел. После вызова этой программы основной партишн расширится на этот размер. Эта программа не особо деструктивная , но все же сделайте бэкап. Есть и другой способ. Загрузите на хостинг образ PartEd и загрузитесь с него. Там можно расширить даже в графическом режиме
Вопрос: С самых азов до этичного хакинга. С чего начать и как не сбиться с пути?

Лучший ответ:
Из книг можно почитать что-то такое - https://www.amazon.com/Tangled-Web-Securing-Modern... , по большей части там рассказывается как все работает 
Из ресурсов, где можно набить руку, можно использовать: 
https://www.root-me.org/en/Challenges/Web-Server/
https://www.hacksplaining.com/lessons
https://overthewire.org/wargames/

Худший ответ:
Раз, два, три... Тысячи таких вопросов тут уже задавали.
Вопрос: Есть ли фриланс по анализу данных?

Лучший ответ:
Есть, но я бы не сказала, что много. И нужно как-то подтверждать квалификацию. Иначе вам предложат только место помощника вроде клавиатурной обезьяны. Типа не анализировать данные, а лазить собирать...
Вы бы лучше по фриланс-сайтам и полазили, чем тут спрашивать. Кстати, навыки анализа как раз пригодятся. Смотрите два направления:

Лента проектов. Очень часто выполненный проект не закрывается, а так и продолжает висеть. То есть вы можете отматывать ленту и на месяц, и на полгода... И смотреть, кого там ищут.
Каталог фрилансеров. Выбираете интересующее вас направление, смотрите, какие у аналитиков навыки, как они опсываются, за что этих людей благодарят в отзывах. И чего лежит в их портфолио.

Профит.

Худший ответ:
да вроде полно, просто загуглите , что ваканский что разовых работ.
вопрос а что вы умеете чтобы их выполнять ?
Вопрос: Windows распределяет потоки Python по ядрам?

Лучший ответ:
Начнёт, но работать в один момент времени будет только одно ядро. Утилизация процессоров в Python решается запуском отдельного процесса на каждое ядро, а внутри процесса лучше использовать асинхронность, а не многопоточность.

Худший ответ:
Запуск тредов в количестве, которое превышает количество ядер - это путь к драматическому росту latency и падению скорости.

Что в Windows (IO Completion Ports), что в Linux (epoll), все самые свежие механизмы обслуживания массовых TCP подключений запускают ровно столько тредов, сколько есть ядер, и спулят между ними события из сокетов. Именно поэтому перед разного рода скриптульками на Питоне ставят Большого Железного Феликса (nginx), который будет оптимально запихивать IO в нужные задачи.

Без этого будут происходить многократные дерганья контекстов и сбросы кэшей на процессоре, причем не тогда, когда это имеет смысл (операция IO завершилась, кэш не нужен), а когда попало.
Вопрос: Стоит ли переписывать старый проект на .NET6 (на голом энтузиазме)?

Лучший ответ:
Нет, оно того не стоит. Любая работа должна быть оплачена. Ибо сейчас напишешь за свой счет, а потом начальника скажет "о, отлично, молодец, можем теперь сэкономить на программистах и поддержке, у меня как раз знакомый ищет, ща его поставлю, а ты можешь быть свободен, заодно выпишу себе премию, во какой я молодец". Этот код решает задачи бизнеса. Если бизнес готов тратить на его поддержку и сопровождение деньги - то это проблемы этого бизнеса. Почему это наемный работник должен решать проблемы бизнеса за свой счет? Правильно сделать так: оформить все в виде какого-то документа с конкретными аргументами, цифрами, графиками и т.п. и выдать его начальству. Типа сейчас поддержка проекта стоит столько-то, приносит такие-то проблемы, переписать будет стоить столько-то, сопровождение нового будет столько-то, оно решает такие-то проблемы. И выдаете данный документ начальству. Можно даже в бумажном виде в нескольких экземплярах. А далее пусть у начальства голова болит.

Худший ответ:
Перепиши, если руки чешутся. Только начальство предупреди.
Вопрос: Не подключаются файлы дочерней темы wordpress?

Лучший ответ:
вносить изменения в дочерние файлы по тому же пути можно только в темплейты. не в классы

Худший ответ:
Он погрузиться только в том случаи если в родительской темы он подключен через get_template_part() или locate_template()
Вопрос: Бывают ли в природе НОРМАЛЬНЫЕ работы, где нужны именно те программисты, которые знают ВСЕ, но по чуть-чуть?

Лучший ответ:
Единственные компании, которые заинтересованы в найме профанов широкого профиля - это занюханные web-студии и дешёвые галеры с жадным и тупым начальством разлива 90-х годов. Реализоваться в таких компаниях в принципе невозможно, там будут непрерывно нарушать трудовые права сотрудников, выжимая из них все соки, требуя писать как можно быстрее как можно больше говнокода, а в случае проблем этих же сотрудников делают крайними и заменяют другими такими же дурачками.

Худший ответ:
Во всеохватности - сомнительно и совсем сомнительно. Это привелегия архитекторов в основном) а до туда ещё  дорасти надо. Производственные же профессии требуют достаточно узкой специализации и полного набора инструментария. Что до нормальности работы то то что описано это работа организации с нормальными процессами. В IT это, строго говоря, только некоторые аутсорсеры ибо для них человек это ресурс и его надо реализовывать эффективно
Вопрос: Как подключиться к внешнему IP с помощью tcp?

Лучший ответ:
Да, это возможно, но при соблюдении одного условия - белый IP адрес у сервера. В этом случае сервер будет доступен для всех, кто знает IP вашего сервера. Для этих целей вы так же можете использовать сторонние сервисы, например, NGROK. 
Однако, обратите внимание, что в таком случае вы работаете с url, а не с IP адресом.

Если же вы хотите, чтобы сервер был доступен только конкретным участникам, то вы можете поднять свой VPN сервер и выдать сертификаты всем, кто сможет в дальнейшем воспользоваться вашим сервером. Т.е. доступ к этой сети будет строго ограничен теми людьми, у которых есть учетные данные и сертификат. Одним из вариантов реализации такого решения может стать, например, OpenVPN.

Здесь адресация будет работать так же, как и в локальной сети

Худший ответ:
В нынешних условиях когда каждое подключение проходит через домашний роутер с NAT, нет не у кого "белого" ip-адреса(глобального, внешнего), кроме как у серверов. Даже если "белый" ip-адрес выдаётся провайдером роутеру(что не факт), то нужно сперва пробросить порт через UPnP или пользователем вручную. В последнем случае пользователь должен указать Вашей программе адрес и порт. Конечно есть ещё IPv6, но тех у кого он есть не слишком много. Есть Teredo, но включать его без спроса пользователя не стоит. Да и как любая технология основанная на STUN, работает он не всегда. Метод который работает абсолютно всегда это VPN, который будет проксировать подключения.
Кстати Ваш код очень наивен. У меня в системе есть сетевые адаптеры виртуальных машин, VPN-соединений, даже могут быть дополнительные Loopback, ну и конечно физические. В каком порядке будут выдаваться адреса всех этих адаптеров?
Вопрос: Как можно максимально себя анонимизировать в сети?

Лучший ответ:
Можно повысить уровень анонимности, сделав несколько вещей: 
В браузере установить расширения: 
- Privacy Badger 
- uBlock Origin
- Decentraleyes
- Canvas Blocker 
- Don't Track Me Google 

На самом компьютере - либо использовать надежный VPN сервис все время, либо начать гнать весь трафик через Tor/i2p, также сменить браузер с Google или Яндекс на что-то более анонимное - LibreWolf, как пример, или чистый Chromium. Еще было бы неплохо в целом перейти с Windows или MacOS (если у вас таковые ОСи) на Linux

Худший ответ:
Никак нельзя. Провайдер по запросу спецслужб предоставляет IP-адреса и время выхода в сеть.
Вопрос: Почему не получается пропинговать Линукс и Линукса другие машины?

Лучший ответ:
Проверьте, что Selinux/Firewalld были настроены/отключены

Худший ответ:
Все, проблема решена)
Помогла обычная переустановка Сканера, теперь все всех пингуют
Вопрос: Как без проблем расширить корневой диск на лету в виртуальной машине linux?

Лучший ответ:
Раздел данных, который с высокой вероятностью нужно расширять делаете в конце блочного устройства. Так, чтобы за ним ничего не было. И неважно, рутовый это раздел или ещё какой.
Когда понадобится расширить:

 расширяете блочное устройство
 через parted командой resizepart увеличиваете раздел
 затем расширяете файловую систему: resize2fs для ext4, xfs_growfs для xfs. Если у вас какая-то вдруг другая экзотика - предварительно уточните команду.

Всё.

Можно добавить lvm, вся разница что между 2 и 3 пунктом добавятся pvresize и lvresize. Либо, по желанию, можно будет создавать дополнительные разделы (и/или диски) и их добавлять в lvm.
lvm поможет, если вы решили сделать отдельный раздел под ОС и отдельный под данные, а потом поняли, что раздел ОС сделали слишком маленьким.

PS: "Виртуальная машина, не особо важно под каким будет гипервизором" - не все гипервизоры могут корректно оповестить гостевую систему об изменении блочного устройства, для некоторых нужен рестарт виртуалки.

Худший ответ:
Сразу так себе решение, думайте над тем, чтобы хранить весь хлам в каком-то внешнем хранилище, s3 или в какой-то БД, или на худой конец, сетевой фс.

А то потом вы захотите сделать два инстанса вашего гениального творения, и будет большой УПС.