Записи с меткой «linux»

Всем привет.

Продолжаем нести свирепый гуманизм в массы.

Сегодня речь пойдёт про настройку графических сессий на Linux Fedora в ещё более секурном варианте.

SELinux
(далее…)

За всё время всяких работ / тестов накопилось у меня масса образов готовых виртуальных машин для VirtualBox (*.ova-файлы), которые таки или иначе используются. Один из моих товарищей оформил их как раздачи на торрентах.

Тут я хочу завести общий спиcок всех ВМ-ок, которые можно объединить в одну сеть.

Название Размер IPFS RuTracker
TinyGate шлюз/файервол iptables/NAT/VLAN/QinQ 47 M …wpab4 6258575
FTP-сервер 31 M …dxeli 6256596
Веб-сервер Linux + NGiNX + PHP-8.2 + MySQL (LEMP-стэк) 111 M …k7t7u 6365595
UniFi Controllers 6.0 G …xovxe 6377700
WebOne HTTP-1.0 ретро-прокси 320 M 6293503
MSSQL 2022 @ Ubuntu 22 1.8 G …yg2qe 6419613
Ceph 18.2 Nano-Cluster @ Alpine Linux 3.4 G 6468685
FreeDOS 1.2 + Internet + Sound 72 M …qrz7m 6479979
Win 95 ENG 351 M …a2rnu 6106000
Win98 2222A 163 M …ai22u 5924086
OS/2 Warp 4.52 14.106 514 M …wadz4 6257660
Adobe FlaSH 32.0.0.46 @ Linux TinyCore-14 348 M …7kmwu 6376169
Adobe FlaSH 32.0.0.465 @ Linux Fedora-35 2.7 G …34yka 6210613
Adobe FlaSH 32.0.0.465 @ Linux Fedora-39 + SELinux 1.5 G …rua2u 6457740

Если кто нашёл данные ВМ-ки полезными — буду признателен присоединившимся к торрент-раздачам / запинившим IPFS.

Несколько лет назад я писал, какие лютые страдания может вызывать удолбанный на всю голову коммерческий продукт «еврогейского уровня качества», написанный под стек древних говно-технологий а-ля виндовс-2003 / IIS-web-server / адобе-Flash.
Хорошая новость там была всего одна — несмотря на торчащую на весь инет винду-2003 с кучей открытых портов, крупного взлома к счастью не случилось, да и железо смогло дожить до недавно свершившегося таки апгрейда. Кому интересно, как это было сделано — велкам в избу-читальню под кат.
(далее…)

Одно время один мой коллега активно топил за ZFS, пытаясь меня убедить, что вот эта ФС — это собственно наступившее светлое будущее, куда надо мигрировать уже вот прям сейчас. В этой заметке я немного поделюсь своим более чем скромным опытом её использования буквально на паре машинок.
(далее…)

Fedora @i5-11thGen :: MBR-2-UEFI

Posted: 2021-10-23 in IT, Software
Метки:, ,

Всем привет.
Понадобилось тут апгрейднуть одну старую машинку.
Core 2, честно трудившийся с 2007 года и очень достойно тогда выглядевший, к 2021 году уже не мог тащить 4К-видосы на ютубчике и переваривать современные всратые приложения на «электроне» и сайты с тоннами js-фреймфорков.
Блокировщики рекламы помогали лишь частично, и оба ядра частенько вставали «в полочку».
(далее…)

Всем привет. Сегодня я расскажу на примере, зачем вам может пригодиться LVM и как с помощью его самого и mdadm готовить солянку из разношерстных дисков.
(далее…)

Немного заметок по линуксу.

(далее…)

linux (fedora) russian console fix 🐧

Posted: 2020-05-13 in IT
Метки:

!! актуально только для работ в голой консоли (tty*), НЕ xterm|konsole|*xterm
/* в графических оболочках и так всё работает */

Чтобы вместо квадратиков был нормальный русский текст в оболочках по Ctrl-Alt-F2..F5.

Вместо установки пакета workaround-cyrillic-console прописываем такое в профиль:

echo setfont cyr-sun16 >> ~/.bashrc

для всех юзеров, кому нужна такая фича.
Проще, прозрачнее и понятнее, чем пакеты или даже юниты systemd.
рабочий хак отсюда: https://www.linux.org.ru/forum/general/11227064?cid=11227512

Обнаружил тут на одной из нод кластера проксмокса примерно такую пургу в логах ( journalctl -f ):

node1-proxmox rrdcached[id]: queue_thread_main: rrd_update_r (/var/lib/rrdcached/...) failed with status -1. (/var/lib/rrdcached/...: illegal attempt to update using time 1380729396 when last update time is 1380730627 (minimum one second step))

Гугление привело на сайт проксмокса:
https://forum.proxmox.com/threads/solved-rrdc-update-error.16256/

Однако помимо очевидного момента с необходимостью проверки одинаковости времени и работоспособности NTP, есть ещё одна связанная проблема. Похоже, иногда обновление этих файлов RRD (в них содержится статистика по нагрузке для построения графиков в веб-морде) как-то ломается, и данные перестают обновляться. Один из симптомов этого — при логине на некоторые ноды статистика по загрузке CPU/Mem/Net/IO некоторых контенеров/ВМ в веб-морде будет рисовать пустой график с датами на оси от 1970-01-01.

Для фикса этой беды помогает вот такая команда:
find /var/lib/rrdcached/ -type f -mtime +5 -delete;

Она удалит из кэша RRD-файлы статистики, не обновлявшиеся более 5 дней. Не бойтесь удалить данные существующего объекта — если объект есть, новый файл будет создан заново. Никаких демонов и процессов при этом перезапускать не надо. Выполнить лучше на всех нодах.
Заодно это удалит архив старой статистики от давно удалённых виртуалок и старых точек монтирования.

После этого графики нагрузки снова начали отображаться, а ошибка «… illegal attempt to update using time … minimum one second step …» перестала сыпаться в логи.

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

В моём случае на проблемной ноде висел контейнер с игровым сервером UT’99. И в процессе гамания раз в 2-3 минуты клиенты подвисали в воздухе, иногда отображался индикатор потери связи с сервером. При этом в системных логах внутри самого контейнера, в логах гейм-сервера, на сетевых интерфейсах и в *top-ах никакого особого криминала не наблюдалось.

И проявилось это только на последнем апдейте проксмокса из ветки 5.4. Аналогично, это могло подействовать на любые реалтайм-сервисы схожим образом.

P.S. Вариант не ставить секурити-апдейты даже не рассматривается =)

Сегодня я немного расскажу про принтеры, сетевую печать, кривые драйверы, и как их сперва самому сломать, а потом самому же и починить.
Думаю, будет полезным.
(далее…)

Всем привет, и сегодня мы снова поговорим про локальный мониторинг.

Сегодня будем добавлять бесперебойник и управляемый свитч в локальный KSysGuard.
Кому интересно — заходим =)
(далее…)

Всем привет.
Сегодня я гляну очередной гос-болгенос. Типа сертифицированный, весь такой отечественный и всё такое.
Понятно, что внутри будет очередной пингвин, но я решил поделиться с читателями своими впечатлениями.
(далее…)

🐧 KSysGuard + NVidia GPU

Posted: 2019-10-27 in Hardware, IT
Метки:, ,

Всем привет. Если на вашей машине стоит линух, и вы хоть раз заглядывали в мониторинг тулзой ksysguard, то могли заметить, что кроме списка процессов и общих графиков по загрузке CPU, памяти и сети можно добавлять ещё и свои вкладки. Но по умолчанию там есть только внутрисистемные датчики и те аппаратные сенсоры, которые видит ядро (это прежде всего всякие сенсоры материнской платы о температурах, оборотах кулера и напряжениях питания).
Однако туда можно прикрутить и датчики от других устройств, самое интерсное из которых — видеокарта.
(далее…)

Есть в линуксе такой очень тёплый и очень ламповый файервол — iptables.
Присутствует он там уже 20 с лишним лет, и чаще всего используется либо в настройках по умолчанию, либо для классической раздачи инета через шлюзовой сервер посредством NAT/MASQUERADE. Иногда про него вспоминают, если поднятый сервис после старта оказался не доступен из инета =)

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

IPSET.

Офигенная штука, когда надо работать с крупными списками адресов или список адресов должен быть использован более одного раза.
Пример — есть у нас список IP адресов (ркн, телеметрия майкрософт, копирасты, спамеры и прочие злыдни), с которыми соединяться не нужно даже случайно ни на вход, ни на выход. Список при этом может часто меняться. Размещать всю эту муру в основном конфиге файервола — сложно, неудобно и чревато поломкой сети в случае ошибки.
Что мы делаем ? Ставим пакет ipset, и пишем простейший скрипт типа такого:

#!/bin/sh

ipset -N banlist iphash
ipset -F banlist

# Spam bots
ipset -A banlist 92.127.233.224
ipset -A banlist 208.103.122.165
...
ipset -A banlist 95.101.95.129/25

А в начало конфига файервола пишем вот такое:
-A INPUT -m set --set banlist src -j DROP
-A OUTPUT -m set --set banlist dst -j DROP

Всё, любой входящий траффик с этих адресов и исходящий на них же будет дропаться с регистрацией в соответствующих счётчиках (iptables —list -vn). Важных замечаний ровно два. Первое — ипсеты использует такая лютая надстройка, как firewalld. Мне не очень нравится его развесистая лапша из таблиц, пытающаяся описать все распространённые случаи. Надо внимательно смотреть, что ипсеты правильно применились. Зато он полностью сам рулит ипсетами, правилами, последовательностью запуска и прочим. Но конфиг на выходе — в три экрана. Впрочем, ничто не мешает снести надстройку и написать свой конфиг файервола со скриптами, сетами и логгерами.
Второе — сеты должны быть созданы ДО запуска файервола. Как именно вы это сделаете — через юниты systemd, скриптами из rc.local или ещё как — не суть. Главное — конфиг с -m set сработает только тогда, когда используемый ipset будет создан (вполне может быть и пустым).

Очень полезная особенность — правка ipset-ов не рестартит файервол, не сбрасывает его счётчики, не трогает никакие другие правила, к ipset-у не относящиеся. В простых конфигах ipset может показаться лишней сущностью. Но для систем типа fail2ban или случая развесистых списков адресов для правил — вещь незаменимая.

-m owner

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

В этом случае самое очевидное, и при этом весьма надёжное — отдельная виртуальная машина. Но это а) куда менее удобно б) требует ещё один инстанс ОС.
Однако есть и готовое решение, изумительно простое в своей изящности. Оно не столь надёжно, как изолированная ВМ без сетевой карты, но поставленную задачу тоже решает.
Идея в том, что iptables для исходящего траффика может различать траффик не только по пользователю, но и по его группе и даже по SELinux-контексту. Возня с отдельными пользователями под каждую софтину — неудобна и проблемна из-за прав доступа и вопросов доступа к X-серверу, SELinux сам по себе та ещё черная магия, а вот доступ на основе группы — это то, что доктор прописал.

Базовый ман для убунты на английскои тут: https://askubuntu.com/questions/249826/how-to-disable-internet-connection-for-a-single-process/393013#393013

Для редхатных чуть иначе.
Сперва создаем группу, которую будем назначать тем, кому надо ограничить сетевые аппетиты:

groupadd no-internet

Дальше делаем нашего пользователя членом этой группы:
usermod -G no-internet UserVasya
ВАЖНО !! Опция -G — заглавной буквой ! То есть мы добавляем пользователя UserVasya в группу no-internet, но ОСНОВНУЮ группу пользователя не меняем ! Если перепутать — пользователь останется с отломанным инетом.

В файлах это будет выглядеть вот так:

# cat /etc/group | grep UserVasya
UserVasya:x:1000:
no-internet:x:1011:UserVasya

# cat /etc/passwd | grep UserVasya
UserVasya:x:1000:1000:UserVasya:/home/UserVasya:/bin/bash

Тут у нас есть пользователь UserVasya c UID = 1000, его основная группа — тоже UserVasya, с GID = 1000. Но он также входит в группу no-internet c GID = 1011. Именно это членство позволит пользователю менять группу без ухищрений с судо и запросов паролей.

Теперь напишем сетевое правило для этой группы где-нибудь в начале фильтров для OUTPUT:

-A OUTPUT -m owner --gid-owner no-internet -j DROP

Тут мы говорим файерволу, что траффик, порожденный процессами c группой no-internet, надо тихо дропнуть.

А дальше мы просто воспользуемся утилитой sg (substitute group).

Примеры волшебных команд:

sg no-internet quake2
sg no-internet konsole
sg no-internet ~/.wine_radmin/radmin.sh
env WINEPREFIX=/home/user/.wine_ut2004 sg no-internet 'wine "C:\UT2004\System\UT2004.exe"'

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

Однако это не является 100% способом !
Например, запущенный таким образом firefox группу не меняет, и остается с сетевым доступом !

Так что реально критичным сервисам — своя ВМ, со своим файерволом.

В следующий раз попрактикуемся в ч0рной магии.

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

Всем привет. Сегодня мы поговорим о безопасности WINE и важности изоляции вайн-префиксов.
(далее…)

🐧 ОС Эльбрус 3.0

Posted: 2019-04-22 in IT, Software
Метки:

Пару лет назад я писал небольшой обзорчик по тогда ещё бетке(?) ОС Эльбус для x86, даже не помню, как ко мне попавшей. Сейчас эта ОС публично зарелизилась, так что если вам интересно узнать, что за это время поменялось, просим в нашу уютную читальню.
(далее…)

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

Чаще всего встречается на китайских барахолках, но и в магазине тоже может попасться.
Объявление вида «полный ёмкость дешевые мультфильм Монстры модель 128 ГБ USB флэш накопитель» по цене 400 рублей — это именно оно.

(далее…)

Надо быстро слить крупный дамп неприватных данных.
В текущем каталоге запускаем такое:

python -m SimpleHTTPServer

И на 8000-м порту видим веб-сервер с индексом каталога. По завершении стопаем этот «фемтосервер :D» по Ctrl-C.
Это изумительно и прекрасно. Само собой, ценные базы и чувствительные данные так перекидывать не надо, для ценных данных есть SSH.

Задача — быстренько пережать видосы (видео -> h264, звук -> mp3), например, чтобы смотреть их на старой хумаксовской приставке (не умеющей mp4a / ogg в звуке), где-нибудь на даче. У «Твое ТВ» как раз такая приставка.

Волшебные ингридиенты: Fedora 28 x64, nvidia-driver-390.67, ffmpeg 4.x, доброкарта GTX 1070, проц не совсем тухлый.

Собственно магия:
ffmpeg -i input_file.avi -c:v h264_nvenc -acodec mp3 -vcodec h264_nvenc output_file.avi

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

frame=13720 fps=1578 q=33.0 Lsize= 147246kB time=00:09:31.83 bitrate=2109.4kbits/s speed=65.8x

Добро-девайсина 1070 от этого даже не потеет — GPU_Util 7-12%, VideoEngine Util — 35-45%.

Если надо понизить качество (генерация превьюшек):
ffmpeg -i input_file.avi -c:v h264_nvenc -acodec libvorbis -ab 64k -vcodec h264_nvenc -b:v 100k -vf scale=240:-1 output1_gpu.avi
Тут мы делаем ширину видео 240 точек, битрейт видео режем до 100к, звук конвертим в OGG с низким битрейтом (64к на звук, аудиофилов предварительно убрать от монитора).

Для подобной конвертации на процессоре делаем так:
ffmpeg -i input1.flv -vf scale=240:-1 -acodec libvorbis -ab 64k output2_cpu.avi

Ещё интересности:
https://habr.com/en/post/262507/
https://habr.com/en/post/262563/
https://developer.nvidia.com/ffmpeg

P.S. при очень низких битрейтах аппаратный GPU-кодек можно заметно сильнее упороть видео, чем софтварный. Тут каждый сам выбирает отношение скорости, размера и качества, благо комбинаций настроек тут необъятно.

Для работы всего этого счастья надо поставить nvidia-драйвер и CUDA Toolkit. Если у вас драйвер уже стоит, и он сильно новее, чем то, то идёт с CUDA-тулкитом, то в инсталлере тулкита снимаете опции, относящиеся к драйверу, оставляете только CUDA ! Примеры и документация тоже не нужны, если только вы не пишите код для GPU.

libinput vs evdev — тачскрин

Posted: 2017-12-26 in IT
Метки:,

Бывают случаи, когда на новых версиях системы (после крупного обновления) калибровка тачскрина через Evdev Axis Calibration не работает.
Причина — тачскрины на новых системах обслуживаются с помощью libinput, а не с помощью evdev.

Как откалибровать в этом случае тачскрин на линуксе — читаем дальше.
(далее…)

Есть такая штука для хостинга виртуалок — ProxMox. И если вам виртуалки и контейнеры из неё ценны — то вы наверняка делаете бэкапы. В проксмоксе это по умолчанию делается таким образом: подключается хранилище, и прямо из веб-морды настраивается расписание бэкапов. Бэкапы всех ВМ и контейнеров пишутся в один каталог, на каждый бэкап два файла — архив собственно ВМ и лог выполнения. Именно при таком хранении (в общей куче и в определённом каталоге) бэкапы доступны для восстановления из веб-морды проксомокса.
+ Начиная с 8-й версии, также пишется файл .notes, в ктором присутствует название виртуальной машины.

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

Я сделал такую штуку: сперва сервер с архивами по SSH копирует к себе все бэкапы за определенную дату. А теперь применим простой скрипт сортировки бэкапов, который вытащит из лог-файлов имена ВМ, тип и раскидает выкаченное по нужным подкаталогам автоматически.
+ Скрипт обновлён под Proxmox-8. Формат логов несколько поменялся, в гитхабе история изменений есть.

Исходно у нас было что-то такое:

$ tree
.
├── vzdump-lxc-112-2017_08_28-03_12_02.log
├── vzdump-lxc-112-2017_08_28-03_12_02.tar.gz
├── vzdump-qemu-572-2017_08_28-04_50_04.log
├── vzdump-qemu-572-2017_08_28-04_50_04.vma.gz
...
├── vzdump-{ещё много чего}

и таких файлов — сотни.

После применения скрипта (путь к каталогу указывается параметром) получим что-то такое:

$ tree
├── CT
│        └─ uber-site.сс
│               ├── vzdump-lxc-112-2017_08_28-03_12_02.log
│               └── vzdump-lxc-112-2017_08_28-03_12_02.tar.gz
└── VM
          └─ test-FreeBSD
                ├── vzdump-qemu-572-2017_08_28-04_50_04.log
                └── vzdump-qemu-572-2017_08_28-04_50_04.vma.gz
 

Такое хранить в архиве гораздо приятней, наглядней и удобней.

Важно : скрипт этот предназначен для наведения порядка в АРХИВНЫХ хранилищах. Его применение прямо на хранилище проксмокса сделает бэкапы недоступными из веб-интерфейса. Если так скосячили — придётся закопировать файлы обратно.

Поскольку скрипт опирается на имя виртуалки из логов — то бэкапы ВМ с одним и тем же именем будут закинуты в один и тот же подкаталог, даже если ВМ успела побывать под разными iD и каждый породил свои бэкапы.

Вот такое вот небольшое упрощение админского труда.

В прошлой статье про PXE я описал массу способов сетевой загрузки самых разнообразных осей с USB-флешки домашнего роутера.
С тех пор вышел новый кноппикс — 7.7.1, и помимо обновления (с выхода версии 7.6 прошёл год), мне хотелось иметь возможность грузить полноценное рабочее место с x64-ядром, поскольку объёмы памяти и аппетиты приложений только растут.
Что из этого вышло — читаем ниже.
(далее…)

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

За прошедшие годы много чего поменялось — сборки для школ потихоньку развиваются, и там даже появляются новые версии, вышли ROSA и ASTRA (если они окажутся чем-то мне интересны, напишу обзорчик), которые живут своей жизнью на x86, и даже есть видео загрузки компьютера Эльбрус с МЦСТ-шным процессором с этой самой ОС Эльбрус.
(далее…)

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

Веб-интерфейс такого не предоставляет (там можно только увеличить размер), поэтому переведу одну рекомендацию с форума проксмокса (https://forum.proxmox.com/threads/shrink-disk-size.24808/#post-124343), чтобы не потерялась.

Для примера, у нас будет LXC-контейнер № 366, проксмокс 4.2, надо уменьшить размер диска с 8 Гб до 2 Гб, пути стандартные.

По шагам, поехали:

1). Останавливаем контейнер.

2). Делаем бэкап.
3). Проверяем, что бэкап есть.

4). Дополнительно копируем файл с дисковым образом ( /var/lib/vz/images/366/vm-366-disk-1.raw ) в другой каталог, если что-нибудь пойдёт не так. Такой образ закопировать назад поверх битого может быть в ряде случаев быстрее, чем разжать из бэкапа.

5). Заходим в каталог с образом диска:
# cd /var/lib/vz/images/366

6). Проверяем файловую систему:
# e2fsck -f vm-366-disk-1.raw
Видим вот такое:

e2fsck: MMP: fsck being run while checking MMP block
MMP check failed: If you are sure the filesystem is not in use on any node, run:
‘tune2fs -f -E clear_mmp {device}’

7). Делаем исправление:
# tune2fs -f -E clear_mmp vm-366-disk-1.raw

8). Снова проверяем, что файловая система внутри теперь в норме:
# e2fsck -f vm-366-disk-1.raw
Должен быть примерно такой вывод:

e2fsck 1.42.12 (29-Aug-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
vm-366-disk-1.raw: 21325/524288 files (0.4% non-contiguous), 240360/2097152 blocks

9). Уменьшаем размер самой структуры файловой системы внутри дискового образа:
# resize2fs -M vm-366-disk-1.raw 2G
Размер ФС будет сильно уменьшен:

resize2fs 1.42.12 (29-Aug-2014)
Resizing the filesystem on vm-366-disk-1.raw to 318585 (4k) blocks.
The filesystem on vm-366-disk-1.raw is now 318585 (4k) blocks long.

Обратите внимание на число блоков — 318585 !

10). Обрежем лишнюю часть файла до размера 2 Гб:
# truncate -s 2G vm-366-disk-1.raw

11). Расширим размер структуры файловой сисемы до нового размера файла-образа:
# resize2fs vm-366-disk-1.raw
Это нужно, чтобы внутри файла выделенное пространство полностью было задействовано файловой системой.

resize2fs 1.42.12 (29-Aug-2014)
Resizing the filesystem on vm-366-disk-1.raw to 524288 (4k) blocks.
The filesystem on vm-366-disk-1.raw is now 524288 (4k) blocks long.

Обратите внимание на число блоков — 524288 !

12). Исправим размер образа в конфиге контейнера:
# vi /etc/pve/nodes/vps3/lxc/366.conf
Если vi вызывает у вас аллергию — используйте любой другой редактор, их много. Правим параметр size в свойствах диска:

rootfs: local:366/vm-366-disk-1.raw,size=2G

Сохраняем, обновляем страницу со свойствами контейнера в веб-интерфейсе, убеждаемся, что размер поменялся.

13). Запускаем контейнер.

14). Заходим в него по SSH, проверяем, что всё работает, смотрим на свободное место :
# df -h -t ext4

Filesystem Size Used Avail Use% Mounted on
/dev/loop1 1.9G 677M 1.1G 39% /

1.9 Гб вместо 7.8 Гб места при 677М данных. Это очень позитивно сказывается на скорости переноса контейнера (при отсутствии общего хранилища), времени бэкапа/восстановления и глубине / объёмах бэкапов.