<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.autosys.tk/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>wiki.autosys.tk - proxmox</title>
        <description></description>
        <link>https://wiki.autosys.tk/</link>
        <lastBuildDate>Sun, 12 Apr 2026 06:09:23 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wiki.autosys.tk/_media/wiki/dokuwiki.svg</url>
            <title>wiki.autosys.tk</title>
            <link>https://wiki.autosys.tk/</link>
        </image>
        <item>
            <title>acme_change_challenge_request_port</title>
            <link>https://wiki.autosys.tk/proxmox/acme_change_challenge_request_port</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;проблема&quot;&gt;Проблема&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
На хосте &lt;strong&gt;Proxmox 5.3-12&lt;/strong&gt; у меня работает балансировщик &lt;strong&gt;haproxy&lt;/strong&gt;. Он слушает порт &lt;strong&gt;80&lt;/strong&gt;. &lt;br/&gt;

при попытке обновить сертификат &lt;strong&gt;Let&amp;#039;s Encrypt&lt;/strong&gt; (certificate renew) возникает ошибка:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Loading ACME account details
Placing ACME order
Order URL: https://acme-v02.api.letsencrypt.org/acme/order/53....12/46607.....

Getting authorization details from &amp;#039;https://acme-v02.api.letsencrypt.org/acme/authz/sm0uHIBtl7...................4-A8Ox_kY&amp;#039;
... pending!
Setting up webserver
TASK ERROR: failed setting up webserver - Failed to initialize HTTP daemon &lt;/pre&gt;

&lt;p&gt;
Очевидно, процесс обновления сертификата (клиент ACME) хочет поднять веб-сервер на порту 80, но не может этого сделать, так как порт занят процессом &lt;strong&gt;haproxy&lt;/strong&gt;.
Вот народ бьется так же:
&lt;a href=&quot;https://forum.proxmox.com/threads/no-configuration-is-done-letsencrypt-certificate.44065/&quot; class=&quot;urlextern&quot; title=&quot;https://forum.proxmox.com/threads/no-configuration-is-done-letsencrypt-certificate.44065/&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.proxmox.com/threads/no-configuration-is-done-letsencrypt-certificate.44065/&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1096&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;решение&quot;&gt;Решение&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Решением был бы запуск вебсервера клиента ACME на порту, отличном от 80. Например - 8080. Штатно в proxmox такой возможности нет. Но логика proxmox написана на perl, что позволяет быстро и безболезненно изменить ее. &lt;br/&gt;

Легко и непринужденно в дебрях библиотек находим файл &lt;strong&gt;/usr/share/perl5/PVE/ACME/StandAlone.pm&lt;/strong&gt;, а в нем кусок кода:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;    my $server = HTTP::Daemon-&amp;gt;new(
        LocalPort =&amp;gt; 80,
        ReuseAddr =&amp;gt; 1,
    ) or die &amp;quot;Failed to initialize HTTP daemon\n&amp;quot;;&lt;/pre&gt;

&lt;p&gt;
И заменяем номер порта, например на &lt;strong&gt;8080&lt;/strong&gt;, а в &lt;strong&gt;haproxy&lt;/strong&gt; прописываем соответствующий &lt;strong&gt;http&lt;/strong&gt; &lt;strong&gt;reverse-proxy&lt;/strong&gt;. &lt;br/&gt;

А потом выполняем перезапуск сервисов &lt;strong&gt;proxmox&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;service pve-cluster restart &amp;amp;&amp;amp; service pvedaemon restart &amp;amp;&amp;amp; service pvestatd restart &amp;amp;&amp;amp; service pveproxy restart&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1097-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 23 May 2019 14:25:05 +0000</pubDate>
        </item>
        <item>
            <title>apparmor_denied_operation_mount_info_failed_flags_match_error_-13</title>
            <link>https://wiki.autosys.tk/proxmox/apparmor_denied_operation_mount_info_failed_flags_match_error_-13</link>
            <description>
&lt;p&gt;
В журналах полно ошибок:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[137200.185910] audit: type=1400 audit(1542190140.997:411): apparmor=&amp;quot;DENIED&amp;quot; operation=&amp;quot;mount&amp;quot; info=&amp;quot;failed flags match&amp;quot; error=-13 profile=&amp;quot;lxc-container-default-cgns&amp;quot; name=&amp;quot;/&amp;quot; pid=2774 comm=&amp;quot;(ionclean)&amp;quot; flags=&amp;quot;rw, rslave&amp;quot;
[137204.038105] audit: type=1400 audit(1542190144.849:412): apparmor=&amp;quot;DENIED&amp;quot; operation=&amp;quot;mount&amp;quot; info=&amp;quot;failed flags match&amp;quot; error=-13 profile=&amp;quot;lxc-container-default-cgns&amp;quot; name=&amp;quot;/&amp;quot; pid=2849 comm=&amp;quot;(ionclean)&amp;quot; flags=&amp;quot;rw, rslave&amp;quot;
[137206.696135] audit: type=1400 audit(1542190147.505:413): apparmor=&amp;quot;DENIED&amp;quot; operation=&amp;quot;mount&amp;quot; info=&amp;quot;failed flags match&amp;quot; error=-13 profile=&amp;quot;lxc-container-default-cgns&amp;quot; name=&amp;quot;/&amp;quot; pid=2906 comm=&amp;quot;(ionclean)&amp;quot; flags=&amp;quot;rw, rslave&amp;quot;
[137206.734793] audit: type=1400 audit(1542190147.545:414): apparmor=&amp;quot;DENIED&amp;quot; operation=&amp;quot;mount&amp;quot; info=&amp;quot;failed flags match&amp;quot; error=-13 profile=&amp;quot;lxc-container-default-cgns&amp;quot; name=&amp;quot;/&amp;quot; pid=2919 comm=&amp;quot;(ionclean)&amp;quot; flags=&amp;quot;rw, rslave&amp;quot;&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;/etc/apparmor.d/lxc/lxc-default-cgns
mount options=(rw, rslave),&lt;/pre&gt;

&lt;p&gt;
Добавляем в файл &lt;strong&gt;/etc/apparmor.d/lxc/lxc-default-cgns&lt;/strong&gt; строку:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;profile lxc-container-default flags=(attach_disconnected,mediate_deleted) {
  ...
    mount options=(rw, nosuid, noexec, remount, relatime, ro, bind, rbind),
  ...&lt;/pre&gt;

&lt;p&gt;
Перезагружаем правила &lt;strong&gt;apparmor&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;service apparmor reload&lt;/pre&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 11 Sep 2019 07:48:26 +0000</pubDate>
        </item>
        <item>
            <title>bind-mounts-proxmox-монтирование-папок-ноды-в-контеинер</title>
            <link>https://wiki.autosys.tk/proxmox/bind-mounts-proxmox-%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D0%BF%D0%BE%D0%BA-%D0%BD%D0%BE%D0%B4%D1%8B-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B8%D0%BD%D0%B5%D1%80</link>
            <description>
&lt;p&gt;
Монтирование (bind) директории в контейнер
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;current_proxmox_5x_6x&quot;&gt;Current Proxmox (5.x, 6.x)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Конфигурационные файлы контейнеров лежат тут: &lt;strong&gt;/etc/pve/lxc/&lt;/strong&gt; &lt;br/&gt;

Для монтирования папки в контейнер (создания &lt;strong&gt;mountpoint&lt;/strong&gt;) нужно дабавить такое:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mp0: /mnt/data/files,mp=/files&lt;/pre&gt;

&lt;p&gt;
Тут &lt;strong&gt;/mnt/data/files&lt;/strong&gt; - это путь на ноде proxmox, а &lt;strong&gt;mp=/files&lt;/strong&gt; - это точка монтирования в контейнере.
В результате будет примерно так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;arch: amd64
cores: 4
hostname: ubuntu
memory: 2048
mp0: /mnt/data/files,mp=/files
nameserver: 192.168.0.1
net0: name=eth0,bridge=vmbr0,gw=192.168.0.1,hwaddr=22:E4:67:11:E0:53,ip=192.168.0.198/24,type=veth
onboot: 1
ostype: ubuntu
rootfs: /mnt/data/images/207/rootfs/
searchdomain: domain.local
swap: 2048&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Current Proxmox (5.x, 6.x)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;current_proxmox_5x_6x&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;78-934&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;old_proxmox&quot;&gt;Old Proxmox&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;CTID=777
 
cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/vz/conf/${CTID}.mount
#!/bin/bash
. /etc/vz/vz.conf
. ${VE_CONFFILE}
SRC=/mnt/disk
DST=/mnt/disk
if [ ! -e ${VE_ROOT}${DST} ]; then mkdir -p ${VE_ROOT}${DST}; fi
mount -n -t simfs ${SRC} ${VE_ROOT}${DST} -o ${SRC}
EOF
 
chmod +x /etc/vz/conf/${CTID}.mount&lt;/pre&gt;

&lt;p&gt;
If you want read-only mount, add -r option to mount command. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Old Proxmox&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;old_proxmox&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;935-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 15 Nov 2019 13:10:09 +0000</pubDate>
        </item>
        <item>
            <title>build_proxmox_pve_kernel_from_source</title>
            <link>https://wiki.autosys.tk/proxmox/build_proxmox_pve_kernel_from_source</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;как_собрать_ядро_proxmox_из_исходников&quot;&gt;Как собрать ядро proxmox из исходников&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://forum.proxmox.com/threads/building-the-pve-kernel-on-proxmox-ve-6-x.76137/&quot; class=&quot;urlextern&quot; title=&quot;https://forum.proxmox.com/threads/building-the-pve-kernel-on-proxmox-ve-6-x.76137/&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.proxmox.com/threads/building-the-pve-kernel-on-proxmox-ve-6-x.76137/&lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://www.programmersought.com/article/56918332617/#42__65&quot; class=&quot;urlextern&quot; title=&quot;https://www.programmersought.com/article/56918332617/#42__65&quot; rel=&quot;ugc nofollow&quot;&gt;https://www.programmersought.com/article/56918332617/#42__65&lt;/a&gt; &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
После обновления на Proxmox6  из ядра исчезли некоторые модули. В результате не удается &lt;a href=&quot;https://wiki.autosys.tk/proxmox/how_to_start_kubernetes_inside_proxmox_lxc_container&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:how_to_start_kubernetes_inside_proxmox_lxc_container&quot; data-wiki-id=&quot;proxmox:how_to_start_kubernetes_inside_proxmox_lxc_container&quot;&gt;запустить kubernetes в контейнере&lt;/a&gt;. Выхода два - запускать kubernetes в виртуальной машине или пересобрать ядро! &lt;br/&gt;

Мне нравится второй вариант. &lt;br/&gt;

Я буду собирать ядро в контейнере, чтобы не ставить лишние пакеты на сам хост &lt;strong&gt;proxmox&lt;/strong&gt;. &lt;br/&gt;

Добавляем репу proxmox. Она нужна для установки пакета &lt;strong&gt;libpve-common-perl&lt;/strong&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;echo &amp;#039;deb [ arch=amd64 ] http://download.proxmox.com/debian buster pve-no-subscription&amp;#039; | sudo tee -a /etc/apt/sources.list.d/pve-enterprise.list
curl http://download.proxmox.com/debian/key.asc | sudo apt-key add -
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7BF2812E8A6E88E0&lt;/pre&gt;

&lt;p&gt;
Устанавливаем необходимое:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo apt-get update
sudo apt-get install asciidoc-base autoconf automake bc bison cpio debhelper devscripts dh-python dkms file flex gcc git kmod libdw-dev libelf-dev libiberty-dev libncurses-dev libnuma-dev libpci-dev libpve-common-perl libslang2-dev libssl-dev libtool libudev-dev lintian lz4 openssl perl-modules rsync sed sphinx-common tar xmlto zlib1g-dev&lt;/pre&gt;

&lt;p&gt;
Клонируем репу с исходниками ядра:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;git clone git://git.proxmox.com/git/pve-kernel.git
cd pve-kernel/&lt;/pre&gt;

&lt;p&gt;
Смотрим какие есть ветки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;git branch -a&lt;/pre&gt;

&lt;p&gt;
Переключаемся на последнюю:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;git checkout pve-kernel-5.0&lt;/pre&gt;

&lt;p&gt;
подгрузим субмодули:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;make update_modules
git submodule foreach git fetch --tags
git submodule update --init --recursive&lt;/pre&gt;

&lt;p&gt;
Эта команда формирует метапакет с зависимостями, необходимыми для сборки. Метапакет затем проще удалить, чем множество отдельных пакетов:  
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mk-build-deps --install debian/control.in&lt;/pre&gt;

&lt;p&gt;
Собираем ядро:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;make&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 16 Oct 2021 10:48:09 +0000</pubDate>
        </item>
        <item>
            <title>debian_9_proxmox_5_increase_number_of_loop_devices</title>
            <link>https://wiki.autosys.tk/proxmox/debian_9_proxmox_5_increase_number_of_loop_devices</link>
            <description>
&lt;p&gt;
В &lt;strong&gt;Proxmox 5 (5.2.1)&lt;/strong&gt; на базе &lt;strong&gt;Debian 9.4&lt;/strong&gt; увеличить число &lt;strong&gt;loop&lt;/strong&gt;-устройств можно путем редактирования &lt;strong&gt;cmdline&lt;/strong&gt; ядра. &lt;br/&gt;

Для этого редактируем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nano /etc/default/grub&lt;/pre&gt;

&lt;p&gt;
И в строке &lt;strong&gt;GRUB_CMDLINE_LINUX_DEFAULT&lt;/strong&gt; дописываем &lt;strong&gt;max_loop=&lt;/strong&gt;. Примерно так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;quiet max_loop=32&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Пересобираем все и перезагружаемся:  
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;update-grub
update-initramfs -u
reboot&lt;/pre&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>expanding_windows_files_hangs_at_0</title>
            <link>https://wiki.autosys.tk/proxmox/expanding_windows_files_hangs_at_0</link>
            <description>
&lt;p&gt;
Имеем хост &lt;strong&gt;Proxmox 5.2.1&lt;/strong&gt;, на нем пытаюсь установить  &lt;strong&gt;Windows 7 x64&lt;/strong&gt;.
&lt;br/&gt;

&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;проблема&quot;&gt;Проблема&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
В виртуальной машине &lt;strong&gt;qemu-kvm&lt;/strong&gt; при установке &lt;strong&gt;Windows 7 x64&lt;/strong&gt; система останавливается на этапе &lt;strong&gt;Expanding Windows files (0%)…&lt;/strong&gt; (&lt;strong&gt;Распаковка файлов Windows (0%)…&lt;/strong&gt;). &lt;br/&gt;

Аналогичные проблемы наблюдаются и в виртуалках под &lt;strong&gt;VirtualBox&lt;/strong&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;111-509&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;решение&quot;&gt;Решение&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Оказалось, что такое наблюдается, если установка производится на диск (виртуальный), подключенный в конфигурации виртуальной машины через интерфейс &lt;strong&gt;SATA&lt;/strong&gt;. Если диск в виртуалке подключен как &lt;strong&gt;IDE&lt;/strong&gt; - установка идет нормально!
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;510-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>how_to_start_kubernetes_inside_proxmox_lxc_container</title>
            <link>https://wiki.autosys.tk/proxmox/how_to_start_kubernetes_inside_proxmox_lxc_container</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;задача&quot;&gt;Задача&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Для экспериментов мне требуется периодически поднимать кластер &lt;strong&gt;kubernetes&lt;/strong&gt; (на момент написания - версия 1.16.0). &lt;br/&gt;

Я не хочу использовать виртуальные машины, а хочу использовать контейнеры. В первую очередь из-за некоторых аппаратных ограничений (мой хост довольно слабый - &lt;strong&gt;Pentium J5005&lt;/strong&gt; и 24Gb памяти DDR4). &lt;br/&gt;

В качестве инструмента развертывания я использую &lt;strong&gt;ansible&lt;/strong&gt;. &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u0434\u0430\u0447\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u0434\u0430\u0447\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-675&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;настройки_хоста_proxmox_5x6&quot;&gt;Настройки хоста Proxmox 5.x/6&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Вот тут есть описание профиля контейнера, с которыми все должно работать. Но я пока это не применял.
&lt;a href=&quot;https://discuss.linuxcontainers.org/t/not-able-to-run-kubernetes-inside-docker-inside-lxd/4643/3&quot; class=&quot;urlextern&quot; title=&quot;https://discuss.linuxcontainers.org/t/not-able-to-run-kubernetes-inside-docker-inside-lxd/4643/3&quot; rel=&quot;ugc nofollow&quot;&gt;https://discuss.linuxcontainers.org/t/not-able-to-run-kubernetes-inside-docker-inside-lxd/4643/3&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0445\u043e\u0441\u0442\u0430 Proxmox 5.x\/6&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438_\u0445\u043e\u0441\u0442\u0430_proxmox_5x6&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;676-1018&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;модули_ядра&quot;&gt;модули ядра&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
В &lt;strong&gt;/etc/modules&lt;/strong&gt; добавляем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;overlay
aufs&lt;/pre&gt;

&lt;p&gt;
и чтобы не переазгружаться выполняем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/sbin/lsmod | /bin/grep overlay || /sbin/modprobe overlay
/sbin/lsmod | /bin/grep aufs || /sbin/modprobe aufs&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u043c\u043e\u0434\u0443\u043b\u0438 \u044f\u0434\u0440\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043c\u043e\u0434\u0443\u043b\u0438_\u044f\u0434\u0440\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1019-1294&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit4&quot; id=&quot;параметры_контейнеров&quot;&gt;Параметры контейнеров&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Запустить &lt;strong&gt;master&lt;/strong&gt;-node в &lt;strong&gt;unprivileged&lt;/strong&gt; контейнере пока не удалось, потому что нужен доступ к настройкам (в частности ядра &lt;strong&gt;memory overcommit&lt;/strong&gt;).
То есть при создании контейнера мнимаем галку &lt;strong&gt;unprivileged&lt;/strong&gt;. &lt;br/&gt;

Объем &lt;strong&gt;swap&lt;/strong&gt; - 0.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b_\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1295-1712&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit5&quot; id=&quot;параметры_контейнера_в_proxmox_5x&quot;&gt;Параметры контейнера в Proxmox 5.x&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
К стандартным настройкам добавляем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;lxc.apparmor.profile: unconfined
lxc.cap.drop:
lxc.cgroup.devices.allow: a
lxc.mount.auto: proc:rw sys:rw&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0432 Proxmox 5.x&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b_\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430_\u0432_proxmox_5x&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1713-1969&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit6&quot; id=&quot;параметры_контейнера_в_proxmox_6&quot;&gt;Параметры контейнера в Proxmox 6&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
К стандартным настройкам контейнера добавляем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mp0: /boot,mp=/boot
mp1: /lib/modules,mp=/lib/modules
lxc.hook.autodev: sh -c &amp;quot;mknod -m 0644 ${LXC_ROOTFS_MOUNT}/dev/kmsg c 1 11&amp;quot;
lxc.apparmor.profile: unconfined
lxc.cap.drop:
lxc.cgroup.devices.allow: a
lxc.mount.auto: proc:rw sys:rw&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0432 Proxmox 6&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b_\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430_\u0432_proxmox_6&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1970-2374&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit7&quot; id=&quot;параметры_контейнера_в_proxmox_7&quot;&gt;Параметры контейнера в Proxmox 7&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
После апгрейда до &lt;strong&gt;Proxmox 7&lt;/strong&gt; в системе &lt;strong&gt;cgroups&lt;/strong&gt; обновился до версии &lt;strong&gt;cgroups2&lt;/strong&gt;. В итоге &lt;strong&gt;kubelet&lt;/strong&gt; нормально стартовал с такими параметрами контейнера:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mp0: /boot,mp=/boot
mp1: /lib/modules,mp=/lib/modules
lxc.apparmor.profile: unconfined
lxc.cap.drop:
lxc.cgroup2.devices.allow: a
lxc.mount.auto: proc:rw sys:rw
lxc.mount.entry: /dev/kmsg dev/kmsg none defaults,bind,create=file&lt;/pre&gt;

&lt;p&gt;
Также в версии Proxmox 7 используется ядро 5.11 и более новое. В нем запрещено изменения параметров &lt;strong&gt;net_filter&lt;/strong&gt; (&lt;a href=&quot;https://github.com/kubernetes-sigs/kind/issues/2240#issuecomment-838938881&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/kubernetes-sigs/kind/issues/2240#issuecomment-838938881&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/kubernetes-sigs/kind/issues/2240#issuecomment-838938881&lt;/a&gt;). В результате не стартует &lt;strong&gt;kube-proxy&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;server.go:650] Version: v1.20.1
conntrack.go:100] Set sysctl &amp;#039;net/netfilter/nf_conntrack_max&amp;#039; to 131072
server.go:495] open /proc/sys/net/netfilter/nf_conntrack_max: permission denied&lt;/pre&gt;

&lt;p&gt;
Выхода три:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 либо откатиться на &lt;strong&gt;pve-kernel-5.10.6-1-pve&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 обновить &lt;strong&gt;kube-proxy&lt;/strong&gt; (в мае 2021 в него смерджили патч, который позволяет не изменять значения, которые уже достаточно хороши для работы &lt;strong&gt;kube-proxy&lt;/strong&gt; - &lt;a href=&quot;https://github.com/kubernetes-sigs/kind/pull/2241&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/kubernetes-sigs/kind/pull/2241&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/kubernetes-sigs/kind/pull/2241&lt;/a&gt;)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 в конфиге &lt;strong&gt;kube-proxy&lt;/strong&gt; дать параметру &lt;strong&gt;conntrack-max-per-core&lt;/strong&gt; значение &lt;strong&gt;0&lt;/strong&gt; - тогда &lt;strong&gt;kube-proxy&lt;/strong&gt; будет использовать то значение, которое установлено сейчас. Для этого нужно найти и отредактировать значение в &lt;strong&gt;ConfigMap&lt;/strong&gt;: &lt;pre class=&quot;code&quot;&gt;kubectl edit cm -n kube-system kube-proxy&lt;/pre&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0432 Proxmox 7&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b_\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430_\u0432_proxmox_7&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2375-4269&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;proxmox_br_netfilter_module_absent&quot;&gt;Proxmox br_netfilter module absent&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Недавно, после апгрейда ОС в контейнере - Ubuntu 20.04 → Ubuntu 21.04 перестали стартовать контейнеры kubelet и все выглядит так, словно отсутствует модуль &lt;strong&gt;br_filter&lt;/strong&gt;. &lt;a href=&quot;https://forum.proxmox.com/threads/missing-br_netfilter-module.53791/&quot; class=&quot;urlextern&quot; title=&quot;https://forum.proxmox.com/threads/missing-br_netfilter-module.53791/&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.proxmox.com/threads/missing-br_netfilter-module.53791/&lt;/a&gt; Это прям шоустоппер!! &lt;br/&gt;

Оказалось, что не стоит обновлять систему раньше времени и обязательно перед такими манипуляциями делать бекапы!!! :). &lt;br/&gt;

В итоге - я просто создал новый контейнер, натянул на него чистый кластер k8s, а затем скопировал с ноды старого кластера директории:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/etc/kubernetes
/etc/var/lib/etcd
/etc/var/lib/kubelet&lt;/pre&gt;

&lt;p&gt;
В общем-то всё… Кластер реанимировался.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Proxmox br_netfilter module absent&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;proxmox_br_netfilter_module_absent&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4270-5293&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit9&quot; id=&quot;kubernetes_cni&quot;&gt;Kubernetes CNI&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
В качетсве &lt;strong&gt;CNI&lt;/strong&gt; можно использовать либо &lt;strong&gt;flannel&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml&lt;/pre&gt;

&lt;p&gt;
либо &lt;strong&gt;kube-router&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;kubectl apply -f https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/daemonset/kubeadm-kuberouter.yaml&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kubernetes CNI&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kubernetes_cni&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;5294-5664&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit10&quot; id=&quot;kubernetes_dashboard_web_ui&quot;&gt;Kubernetes Dashboard Web UI&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/#welcome-view&quot; class=&quot;urlextern&quot; title=&quot;https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/#welcome-view&quot; rel=&quot;ugc nofollow&quot;&gt;https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/#welcome-view&lt;/a&gt;&lt;br/&gt;

Установка &lt;strong&gt;Kubernetes Dashboard Web UI&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml&lt;/pre&gt;

&lt;p&gt;
Если мы админим кластер с машины, где есть &lt;strong&gt;kubectl&lt;/strong&gt; и браузер, то для того, чтобы &lt;strong&gt;локально&lt;/strong&gt; пользоваться &lt;strong&gt;Kubernetes Dashboard Web UI&lt;/strong&gt; достаточно запустить:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;kubectl proxy &amp;amp;&lt;/pre&gt;

&lt;p&gt;
и консоль будет доступна по адресу: &lt;a href=&quot;http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/&quot; class=&quot;urlextern&quot; title=&quot;http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/&quot; rel=&quot;ugc nofollow&quot;&gt;http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/&lt;/a&gt;.&lt;br/&gt;

Если необходимо иметь доступ консоли не только с локального хоста, на котором исполняется &lt;strong&gt;kubectl proxy&lt;/strong&gt;, то запускаем его так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;kubectl proxy --address=&amp;#039;0.0.0.0&amp;#039; --accept-hosts=&amp;#039;^*$&amp;#039;&lt;/pre&gt;

&lt;p&gt;
В результате, консоль будет доступна и с других хостов.&lt;br/&gt;

Кроме того, для доступа к консоли &lt;strong&gt;Kubernetes Dashboard Web UI&lt;/strong&gt; без &lt;strong&gt;kubectl proxy&lt;/strong&gt; нужно сменить тип &lt;strong&gt;service&lt;/strong&gt;&amp;#039;а который предоставляет доступ к pod&amp;#039;у &lt;strong&gt;kubernetes-dashboard&lt;/strong&gt;. Вместо установленного по-умолчанию &lt;strong&gt;ClusterIP&lt;/strong&gt; нужно сделать &lt;strong&gt;NodePort&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;kubectl -n kube-system patch service kubernetes-dashboard  -p &amp;#039;{&amp;quot;spec&amp;quot;:{&amp;quot;type&amp;quot;:&amp;quot;NodePort&amp;quot;}}&amp;#039;&lt;/pre&gt;

&lt;p&gt;
В результате, &lt;strong&gt;dashboard&lt;/strong&gt; будет доступен на IP-адресе master-ноды. &lt;br/&gt;

Это можно сделать и вручную, отредактировав &lt;strong&gt;service&lt;/strong&gt;, который предоставляет доступ к pod&amp;#039;у &lt;strong&gt;kubernetes-dashboard&lt;/strong&gt;, где в качестве &lt;strong&gt;.&lt;abbr title=&quot;specification&quot;&gt;spec&lt;/abbr&gt;.type&lt;/strong&gt; указать &lt;strong&gt;NodePort&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;kubectl -n kube-system edit service kubernetes-dashboard&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Kubernetes Dashboard Web UI&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;kubernetes_dashboard_web_ui&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;5665-7939&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit11&quot; id=&quot;ошибки&quot;&gt;Ошибки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0448\u0438\u0431\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043e\u0448\u0438\u0431\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;7940-7967&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;failed_to_start_cadvisor_inotify_inittoo_many_open_files&quot;&gt;Failed to start cAdvisor inotify_init: too many open files&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Нужно увеличить &lt;strong&gt;inotify/max_user_instances&lt;/strong&gt; &lt;br/&gt;

Текущее значение можно посмотреть так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cat /proc/sys/fs/inotify/max_user_instances&lt;/pre&gt;

&lt;p&gt;
Для увеличения лимита добавляем строку
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;fs.inotify.max_user_instances=999999&lt;/pre&gt;

&lt;p&gt;
В файл &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt; и применяем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sysctl --system&lt;/pre&gt;

&lt;p&gt;
Или вот одной строкой:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;echo fs.inotify.max_user_instances=99999 | sudo tee -a /etc/sysctl.conf &amp;amp;&amp;amp; sudo sysctl --system&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Failed to start cAdvisor inotify_init: too many open files&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;failed_to_start_cadvisor_inotify_inittoo_many_open_files&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;7968-8545&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;файловая_система_контейнера&quot;&gt;Файловая система контейнера&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
При попытке запустить &lt;strong&gt;kubelet&lt;/strong&gt; в контейнере, файловая система которого лежит просто в директории хоста, вываливается ошибка:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Failed to start ContainerManager failed to get rootfs info: failed to get device for dir &amp;quot;/var/lib/kubelet&amp;quot;: could not find device with major: 0, minor: 49 in cached partitions map&lt;/pre&gt;

&lt;p&gt;
Так делать нельзя. Файловая система контейнера должна лежать в каком-то контейнере, который будет смонтирован как &lt;strong&gt;loop&lt;/strong&gt;-устройство(например по-умолчанию - в &lt;strong&gt;qcow2&lt;/strong&gt;).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f_\u0441\u0438\u0441\u0442\u0435\u043c\u0430_\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;8546-9318&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit14&quot; id=&quot;ссылки&quot;&gt;Ссылки&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://medium.com/@kvaps/run-kubernetes-in-lxc-container-f04aa94b6c9c&quot; class=&quot;urlextern&quot; title=&quot;https://medium.com/@kvaps/run-kubernetes-in-lxc-container-f04aa94b6c9c&quot; rel=&quot;ugc nofollow&quot;&gt;https://medium.com/@kvaps/run-kubernetes-in-lxc-container-f04aa94b6c9c&lt;/a&gt; (&lt;a href=&quot;https://habr.com/ru/post/420913/&quot; class=&quot;urlextern&quot; title=&quot;https://habr.com/ru/post/420913/&quot; rel=&quot;ugc nofollow&quot;&gt;вот тоже самое на русском языке &lt;/a&gt;)&lt;br/&gt;

&lt;a href=&quot;https://forum.proxmox.com/threads/docker-in-lxc-container.45204/&quot; class=&quot;urlextern&quot; title=&quot;https://forum.proxmox.com/threads/docker-in-lxc-container.45204/&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.proxmox.com/threads/docker-in-lxc-container.45204/&lt;/a&gt; &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0441\u044b\u043b\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;9319-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 18 Dec 2021 18:40:38 +0000</pubDate>
        </item>
        <item>
            <title>import_containers_from_lxc_host_to_proxmox</title>
            <link>https://wiki.autosys.tk/proxmox/import_containers_from_lxc_host_to_proxmox</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;задача&quot;&gt;Задача&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Имеем виртуальный хост &lt;strong&gt;LXC 3.0.1&lt;/strong&gt; на базе &lt;strong&gt;Ubuntu 18.04&lt;/strong&gt;. Мне надо перенести контейнеры с этого хоста на хост &lt;strong&gt;Proxmox 5.2.1&lt;/strong&gt;. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u0434\u0430\u0447\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u0434\u0430\u0447\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-232&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;решение&quot;&gt;Решение&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Перенос будет осуществляться путем экспорта контейнеров в архивы (поскольку физически это хост один - я просто меняю среду виртуализации с &lt;strong&gt;XenServer 7.6&lt;/strong&gt; на &lt;strong&gt;Proxmox 5.2.1&lt;/strong&gt;).
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;233-561&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;создание_архива_контейнера&quot;&gt;Создание архива контейнера&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
На хосте &lt;strong&gt;LXC&lt;/strong&gt; находим папку с контейнером и переходим в нее, в &lt;strong&gt;rootfs&lt;/strong&gt;. &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mount | grep wiki
lxd/containers/wiki on /var/lib/lxd/storage-pools/lxd/containers/wiki type zfs (rw,relatime,xattr,noacl)

cd /var/lib/lxd/storage-pools/lxd/containers/wiki/rootfs&lt;/pre&gt;

&lt;p&gt;
Архивируем 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;tar -czvf /home/AUTOSYS/mike/wiki.tar.gz ./&lt;/pre&gt;

&lt;p&gt;
Теперь копируем полученных архив  имиджа контейнера на новый хост.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435_\u0430\u0440\u0445\u0438\u0432\u0430_\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;562-1135&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit4&quot; id=&quot;разворачивание_имиджа_на_хосте_proxmox&quot;&gt;Разворачивание имиджа на хосте ProxMox&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code&quot;&gt; pct restore 100 ./exported_image.tar.gz --storage pve-data&lt;/pre&gt;

&lt;p&gt;
Однако, в таком случае контейнер будет развернут в файл, который будет монтироваться как &lt;strong&gt;loopback&lt;/strong&gt; устройство. &lt;br/&gt;

Для того, чтобы файловая система контейнера на хосте &lt;strong&gt;ProxMox&lt;/strong&gt; хранилась в папке нужно подмонтировать диск и скопировать все файлы в папку, а потом в конфигурации контейнера изменить путь к &lt;strong&gt;rootfs&lt;/strong&gt; на путь к папке:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;rootfs: /mnt/test/&lt;/pre&gt;

&lt;p&gt;
Вот тут написано как переместить rootfs с loopback-устройства на файловую систему.
&lt;a href=&quot;http://wiki.janforman.com/lxc&quot; class=&quot;urlextern&quot; title=&quot;http://wiki.janforman.com/lxc&quot; rel=&quot;ugc nofollow&quot;&gt;http://wiki.janforman.com/lxc&lt;/a&gt;
&lt;br/&gt;

&lt;br/&gt;

Вот такой вариант разворачивания &lt;strong&gt;НЕ РАБОТАЕТ&lt;/strong&gt;, поскольку в &lt;strong&gt;ProxMox&lt;/strong&gt; используется свой собственный дистрибутив утилит &lt;strong&gt;lxc&lt;/strong&gt; - &lt;strong&gt;lxc-pve&lt;/strong&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo lxc snapshot wiki wiki_test
sudo lxc publish wiki/wiki_test --alias wiki-export
sudo lxc image export wiki-export .&lt;/pre&gt;

&lt;p&gt;
При импорте будет ошибка:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ERROR: archive contains no configuration file&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0438\u043c\u0438\u0434\u0436\u0430 \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 ProxMox&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435_\u0438\u043c\u0438\u0434\u0436\u0430_\u043d\u0430_\u0445\u043e\u0441\u0442\u0435_proxmox&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1136-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>import_vm_from_xenserver_bsod</title>
            <link>https://wiki.autosys.tk/proxmox/import_vm_from_xenserver_bsod</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;импорт_дисков_виртуальных_машин_с_xenserver&quot;&gt;Импорт дисков виртуальных машин с XenServer&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
У меня есть хост, на котором раньше стоял Xenserver 6.5. В новых бесплатных версиях Xenserver убрали многие полезные фичи. Поэтому - переезжаем на ProxMox.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u043c\u043f\u043e\u0440\u0442 \u0434\u0438\u0441\u043a\u043e\u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d \u0441 XenServer&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u043c\u043f\u043e\u0440\u0442_\u0434\u0438\u0441\u043a\u043e\u0432_\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445_\u043c\u0430\u0448\u0438\u043d_\u0441_xenserver&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-343&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;импорт_дисков_с_lvm_storage_repository&quot;&gt;Импорт дисков с LVM Storage Repository&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
К хосту с установленным ProxMox я подключил диск, на котором была &lt;strong&gt;Storage Repository&lt;/strong&gt; типа &lt;strong&gt;LVM&lt;/strong&gt;. Предварительно, я сохранил в текстовый файлик сведения о соответствии томов &lt;strong&gt;lvm&lt;/strong&gt; и виртуальных машин:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;xe vm-disk-list vm=___vm__name__&lt;/pre&gt;

&lt;p&gt;
Имя тома &lt;strong&gt;lvm&lt;/strong&gt; будет: &lt;strong&gt;VHD-&lt;/strong&gt; + &lt;strong&gt;VDI_uuid&lt;/strong&gt; &lt;br/&gt;

В &lt;strong&gt;ProxMox&lt;/strong&gt; активируем &lt;strong&gt;VolumeGroup&lt;/strong&gt; и тома командами &lt;strong&gt;vgchange&lt;/strong&gt; и &lt;strong&gt;lvchange&lt;/strong&gt; и теперь можно конвертировать образы в формат &lt;strong&gt;raw&lt;/strong&gt; (или другой).
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;qemu-img convert -O raw /dev/VG_XenStorage-60ec57cb-1e9f-097f-20e0-c0f52366e0a1/VHD-16f3a7b1-f881-4186-abb3-8931423282a8 /mnt/data/XenDesktop_Apps_xenapp3.autosys.tk_system.img&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u043c\u043f\u043e\u0440\u0442 \u0434\u0438\u0441\u043a\u043e\u0432 \u0441 LVM Storage Repository&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u043c\u043f\u043e\u0440\u0442_\u0434\u0438\u0441\u043a\u043e\u0432_\u0441_lvm_storage_repository&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;344-1256&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;windows_2008_r27&quot;&gt;Windows 2008 R2/7&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 На хосте &lt;strong&gt;Proxmox&lt;/strong&gt; нужно создать виртуальную машину.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Установить тип HDD - IDE.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Заменить созданный файл диска на импортированный.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Загрузиться.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 В загруженной машине добавить еще один &lt;strong&gt;HDD&lt;/strong&gt; и сетевое устройство типа &lt;strong&gt;VirtIO&lt;/strong&gt;. В &lt;strong&gt;Windows&lt;/strong&gt; появятся &lt;strong&gt;SCSI&lt;/strong&gt;-контроллер и сетевая карта без драйверов. Устанавливаем для них драйверы с образа &lt;strong&gt;iso&lt;/strong&gt; драйверов &lt;strong&gt;virt-io&lt;/strong&gt;. В результате драйвер &lt;strong&gt;VirtIO&lt;/strong&gt; будет доступен при загрузке системы. Теперь загрузочный диск можно сделать типа &lt;strong&gt;VirtIO&lt;/strong&gt; - это сильно ускорит систему.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 После установки - выключаем машину и меняем тип диска на &lt;strong&gt;VirtIO&lt;/strong&gt;. Не забываем в &lt;strong&gt;Options&lt;/strong&gt; поменять &lt;strong&gt;Boot Order&lt;/strong&gt; - система будет пытаться грузиться со старого диска &lt;strong&gt;IDE&lt;/strong&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Теперь удаляем XenTools и драйверы Xen. Перезагружаемся.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;
&lt;del&gt;  * Удаляем файлы &lt;strong&gt;xen*.sys&lt;/strong&gt; и &lt;strong&gt;xen*_coinst*.dll&lt;/strong&gt; из &lt;strong&gt;C:\Windows\system32\drivers\&lt;/strong&gt; и &lt;strong&gt;C:\Windows\system32&lt;/strong&gt;, а также удаляем (обязательно!!!) их упоминания из реестра из ветки &lt;strong&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\PnpLockdownFiles&lt;/strong&gt;. Если не удалить из реестра - система не загрузится! Перезагружаемся.&lt;/del&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Windows 2008 R2\/7&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;windows_2008_r27&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1257-3055&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;windows_20162012r2&quot;&gt;Windows 2016/2012R2&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Удалить &lt;strong&gt;XenTools&lt;/strong&gt; и драйверы
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 В &lt;strong&gt;Device Manager&lt;/strong&gt; удалить все скрытые устройства &lt;strong&gt;Xen&lt;/strong&gt;* и все неактуальные/отсутсвующие “серенькие” устройства.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Удалить все файлы &lt;strong&gt;xen.&lt;/strong&gt;* из директории &lt;strong&gt;C:\Windows\system32\drivers&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Не выключая виртуалку добавить диск и сетевуху VirtIO и установить VirtIO-драйверы для них и для других неопознанных устройств.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Windows 2016\/2012R2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;windows_20162012r2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3056-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>improving_the_performance_of_the_qcow2_format</title>
            <link>https://wiki.autosys.tk/proxmox/improving_the_performance_of_the_qcow2_format</link>
            <description>
&lt;p&gt;
&lt;a href=&quot;https://events.static.linuxfound.org/sites/events/files/slides/kvm-forum-2017-slides.pdf&quot; class=&quot;urlextern&quot; title=&quot;https://events.static.linuxfound.org/sites/events/files/slides/kvm-forum-2017-slides.pdf&quot; rel=&quot;ugc nofollow&quot;&gt;https://events.static.linuxfound.org/sites/events/files/slides/kvm-forum-2017-slides.pdf&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
В статье рассказывается о внутренних механизмах кеширования формата &lt;strong&gt;qcow2&lt;/strong&gt;. &lt;br/&gt;

На производительность очень сильно влияет размер таблиц L2, которые размещаются в памяти. &lt;br/&gt;

Вот тут объяснения и методики расчета размеров кешей: &lt;a href=&quot;https://github.com/qemu/qemu/blob/master/docs/qcow2-cache.txt&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/qemu/qemu/blob/master/docs/qcow2-cache.txt&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/qemu/qemu/blob/master/docs/qcow2-cache.txt&lt;/a&gt; &lt;br/&gt;

Задать размер таблиц L2 можно с помощью опции &lt;strong&gt;l2-cache-size&lt;/strong&gt; так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;-drive file=img.qcow2,l2-cache-size=8M&lt;/pre&gt;

&lt;p&gt;
Дефолтный размер - &lt;strong&gt;1Мb&lt;/strong&gt;, которого достаточно для диска размером &lt;strong&gt;8Gb&lt;/strong&gt; с кластером &lt;strong&gt;64Kb&lt;/strong&gt;. &lt;br/&gt;

Дефолтная формула для расчета размера таблиц L2 - &lt;strong&gt;disk_size*8/cluster_size&lt;/strong&gt; &lt;br/&gt;

Вот табличка с замерами производительности диска &lt;strong&gt;20Gb&lt;/strong&gt; при случайном чтении блоками &lt;strong&gt;4K&lt;/strong&gt;:
&lt;/p&gt;
&lt;div class=&quot;table sectionedit1&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; L2 cache size &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Average IOPS &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 1 &lt;abbr title=&quot;Megabyte&quot;&gt;MB&lt;/abbr&gt;          &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 5100         &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 1.5 &lt;abbr title=&quot;Megabyte&quot;&gt;MB&lt;/abbr&gt;        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 7300         &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 2 &lt;abbr title=&quot;Megabyte&quot;&gt;MB&lt;/abbr&gt;          &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 12700        &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 2.5 Mb        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 63600        &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1168-1332&amp;quot;} --&gt;
&lt;p&gt;
Также рекомендуется очищать неиспользуемые элементы кеша с помощью опции &lt;strong&gt;cache-clean-interval&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;-drive file=hd.qcow2,cache-clean-interval=60 &lt;/pre&gt;

&lt;p&gt;
&lt;br/&gt;

Утверждается, что в &lt;strong&gt;qemu&lt;/strong&gt; версии &lt;strong&gt;2.10&lt;/strong&gt; и более новых реализован более эффективный алгоритм размещения данных кластерах (cluster allocation), который увеличивает IOPS от 15% до 60%. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
как написано тут: &lt;a href=&quot;https://forum.proxmox.com/threads/qemu-2-5-setting-l2-cache-size-drive-option.27983/&quot; class=&quot;urlextern&quot; title=&quot;https://forum.proxmox.com/threads/qemu-2-5-setting-l2-cache-size-drive-option.27983/&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.proxmox.com/threads/qemu-2-5-setting-l2-cache-size-drive-option.27983/&lt;/a&gt;
в &lt;strong&gt;Proxmox&lt;/strong&gt; можно добавить параметры к конфигурации диска с помощью &lt;strong&gt;qm set&lt;/strong&gt;… Однако, такой диск не сможет нормально обслуживаться средствами proxmox и не сможет быть загрузочным. 
&lt;/p&gt;

&lt;h1 class=&quot;sectionedit2&quot; id=&quot;working_hack&quot;&gt;Working Hack&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
В файлике &lt;strong&gt;/usr/share/perl5/PVE/QemuServer.pm&lt;/strong&gt; нужно найти строчку:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$opts .= &amp;quot;,format=$format&amp;quot; if $format &amp;amp;&amp;amp; !$drive-&amp;gt;{format};&lt;/pre&gt;

&lt;p&gt;
и после нее добавить чтобы получилось так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  $opts .= &amp;quot;,format=$format&amp;quot; if $format &amp;amp;&amp;amp; !$drive-&amp;gt;{format};
  if ($format eq &amp;quot;qcow2&amp;quot;) {
              $opts .= &amp;quot;,l2-cache-size=16M&amp;quot;;
      }&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Working Hack&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;working_hack&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;2298-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>lvm_snapshot_backup_timeouts_errors</title>
            <link>https://wiki.autosys.tk/proxmox/lvm_snapshot_backup_timeouts_errors</link>
            <description>
&lt;p&gt;
Proxmox 6.0.4 &lt;br/&gt;

Backup Storage - Dir &lt;br/&gt;

VM Storage - Thin LVM &lt;br/&gt;

Backup type - snapshot &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;INFO: Starting Backup of VM 115 (qemu)
INFO: Backup started at 2019-08-30 03:31:42
INFO: status = running
INFO: update VM 115: -lock backup
INFO: VM Name: GREEN-6015
INFO: exclude disk &amp;#039;sata0&amp;#039; &amp;#039;backup:115/vm-115-disk-0.qcow2&amp;#039; (backup=no)
INFO: include disk &amp;#039;sata1&amp;#039; &amp;#039;local-lvm:vm-115-disk-1&amp;#039; 140G
INFO: backup mode: snapshot
INFO: ionice priority: 7
INFO: creating archive &amp;#039;/mnt/backup/dump/vzdump-qemu-115-2019_08_30-03_31_42.vma&amp;#039;
ERROR: got timeout
INFO: aborting backup job
ERROR: VM 115 qmp command &amp;#039;backup-cancel&amp;#039; failed - got timeout
ERROR: Backup of VM 115 failed - got timeout
INFO: Failed at 2019-08-30 03:41:48&lt;/pre&gt;

&lt;p&gt;
в логе dmesg такое:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[337488.297363] INFO: task kvm:2164 blocked for more than 120 seconds.
[337488.297384]       Tainted: P           O      5.0.15-1-pve #1
[337488.297397] &amp;quot;echo 0 &amp;gt; /proc/sys/kernel/hung_task_timeout_secs&amp;quot; disables this message.
[337488.297414] kvm             D    0  2164      1 0x00000000
[337488.297416] Call Trace:
[337488.297423]  __schedule+0x2d4/0x870
[337488.297424]  schedule+0x2c/0x70
[337488.297427]  jbd2_log_wait_commit+0xaf/0x120
[337488.297430]  ? wait_woken+0x80/0x80
[337488.297431]  jbd2_complete_transaction+0x57/0x90
[337488.297433]  ext4_sync_file+0x3b0/0x400
[337488.297436]  vfs_fsync_range+0x48/0x80
[337488.297438]  ? __fget_light+0x54/0x60
[337488.297439]  do_fsync+0x3d/0x70
[337488.297443]  ? fire_user_return_notifiers+0x3e/0x50
[337488.297444]  __x64_sys_fdatasync+0x17/0x20
[337488.297447]  do_syscall_64+0x5a/0x110
[337488.297449]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[337488.297451] RIP: 0033:0x7fbb64e412e7
[337488.297454] Code: Bad RIP value.
[337488.297455] RSP: 002b:00007fb5815ad780 EFLAGS: 00000293 ORIG_RAX: 000000000000004b
[337488.297456] RAX: ffffffffffffffda RBX: 000000000000000f RCX: 00007fbb64e412e7
[337488.297457] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000000000000f
[337488.297457] RBP: 00007fbb5806c850 R08: 0000000000000000 R09: 00000000ffffffff
[337488.297457] R10: 00007fb5815ad760 R11: 0000000000000293 R12: 00005617df5b2ef2
[337488.297458] R13: 00007fbb5806c8b8 R14: 00007fbb4da28330 R15: 00005617df5af4c2&lt;/pre&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 30 Aug 2019 06:21:35 +0000</pubDate>
        </item>
        <item>
            <title>mainpage</title>
            <link>https://wiki.autosys.tk/proxmox/mainpage</link>
            <description>
&lt;div&gt;&lt;div id=&quot;nojs_indexmenu_100982480169daca8adb985&quot; data-jsajax=&quot;&amp;group=1&quot; class=&quot;indexmenu_nojs&quot;&gt;
&lt;ul class=&quot;idx&quot;&gt;
&lt;li class=&quot;closed&quot;&gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/mainpage&quot; class=&quot;indexmenu_idx_head&quot; data-wiki-id=&quot;proxmox:mainpage&quot;&gt;mainpage&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/acme_change_challenge_request_port&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:acme_change_challenge_request_port&quot; data-wiki-id=&quot;proxmox:acme_change_challenge_request_port&quot;&gt;acme_change_challenge_request_port&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/apparmor_denied_operation_mount_info_failed_flags_match_error_-13&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:apparmor_denied_operation_mount_info_failed_flags_match_error_-13&quot; data-wiki-id=&quot;proxmox:apparmor_denied_operation_mount_info_failed_flags_match_error_-13&quot;&gt;apparmor_denied_operation_mount_info_failed_flags_match_error_-13&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/bind-mounts-proxmox-%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B0%D0%BF%D0%BE%D0%BA-%D0%BD%D0%BE%D0%B4%D1%8B-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B8%D0%BD%D0%B5%D1%80&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:bind-mounts-proxmox-монтирование-папок-ноды-в-контеинер&quot; data-wiki-id=&quot;proxmox:bind-mounts-proxmox-монтирование-папок-ноды-в-контеинер&quot;&gt;bind-mounts-proxmox-монтирование-папок-ноды-в-контеинер&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/build_proxmox_pve_kernel_from_source&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:build_proxmox_pve_kernel_from_source&quot; data-wiki-id=&quot;proxmox:build_proxmox_pve_kernel_from_source&quot;&gt;build_proxmox_pve_kernel_from_source&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/debian_9_proxmox_5_increase_number_of_loop_devices&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:debian_9_proxmox_5_increase_number_of_loop_devices&quot; data-wiki-id=&quot;proxmox:debian_9_proxmox_5_increase_number_of_loop_devices&quot;&gt;debian_9_proxmox_5_increase_number_of_loop_devices&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/expanding_windows_files_hangs_at_0&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:expanding_windows_files_hangs_at_0&quot; data-wiki-id=&quot;proxmox:expanding_windows_files_hangs_at_0&quot;&gt;expanding_windows_files_hangs_at_0&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/how_to_start_kubernetes_inside_proxmox_lxc_container&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:how_to_start_kubernetes_inside_proxmox_lxc_container&quot; data-wiki-id=&quot;proxmox:how_to_start_kubernetes_inside_proxmox_lxc_container&quot;&gt;how_to_start_kubernetes_inside_proxmox_lxc_container&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/import_containers_from_lxc_host_to_proxmox&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:import_containers_from_lxc_host_to_proxmox&quot; data-wiki-id=&quot;proxmox:import_containers_from_lxc_host_to_proxmox&quot;&gt;import_containers_from_lxc_host_to_proxmox&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/import_vm_from_xenserver_bsod&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:import_vm_from_xenserver_bsod&quot; data-wiki-id=&quot;proxmox:import_vm_from_xenserver_bsod&quot;&gt;import_vm_from_xenserver_bsod&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/improving_the_performance_of_the_qcow2_format&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:improving_the_performance_of_the_qcow2_format&quot; data-wiki-id=&quot;proxmox:improving_the_performance_of_the_qcow2_format&quot;&gt;improving_the_performance_of_the_qcow2_format&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/lvm_snapshot_backup_timeouts_errors&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:lvm_snapshot_backup_timeouts_errors&quot; data-wiki-id=&quot;proxmox:lvm_snapshot_backup_timeouts_errors&quot;&gt;lvm_snapshot_backup_timeouts_errors&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/manage_proxmox_with_ansible&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:manage_proxmox_with_ansible&quot; data-wiki-id=&quot;proxmox:manage_proxmox_with_ansible&quot;&gt;manage_proxmox_with_ansible&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/nfs_server_inside_lxc_container&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:nfs_server_inside_lxc_container&quot; data-wiki-id=&quot;proxmox:nfs_server_inside_lxc_container&quot;&gt;nfs_server_inside_lxc_container&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/openvz-failed-to-change-state-for-virtual-server-state-start-code-28&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:openvz-failed-to-change-state-for-virtual-server-state-start-code-28&quot; data-wiki-id=&quot;proxmox:openvz-failed-to-change-state-for-virtual-server-state-start-code-28&quot;&gt;openvz-failed-to-change-state-for-virtual-server-state-start-code-28&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/openvz-turnkey-default-passwords-%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D0%B8-%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:openvz-turnkey-default-passwords-пароли-по-умолчанию&quot; data-wiki-id=&quot;proxmox:openvz-turnkey-default-passwords-пароли-по-умолчанию&quot;&gt;openvz-turnkey-default-passwords-пароли-по-умолчанию&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/proxmox-turnkey-gallery-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-%D1%81%D0%BD%D0%B0%D1%80%D1%83%D0%B6%D0%B8-%D0%B0-%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D0%B2-%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B8-%D1%81%D0%B5%D1%82%D0%B8&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:proxmox-turnkey-gallery-не-работает-снаружи-а-только-в-локальнои-сети&quot; data-wiki-id=&quot;proxmox:proxmox-turnkey-gallery-не-работает-снаружи-а-только-в-локальнои-сети&quot;&gt;proxmox-turnkey-gallery-не-работает-снаружи-а-только-в-локальнои-сети&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/proxmox_get_task_status_from_cli&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:proxmox_get_task_status_from_cli&quot; data-wiki-id=&quot;proxmox:proxmox_get_task_status_from_cli&quot;&gt;proxmox_get_task_status_from_cli&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/proxmox_host_hibernate&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:proxmox_host_hibernate&quot; data-wiki-id=&quot;proxmox:proxmox_host_hibernate&quot;&gt;proxmox_host_hibernate&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/proxmox_ksmd_high_cpu_load&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:proxmox_ksmd_high_cpu_load&quot; data-wiki-id=&quot;proxmox:proxmox_ksmd_high_cpu_load&quot;&gt;proxmox_ksmd_high_cpu_load&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/proxmox_optimization_tips&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:proxmox_optimization_tips&quot; data-wiki-id=&quot;proxmox:proxmox_optimization_tips&quot;&gt;proxmox_optimization_tips&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/proxmox_storage_optimization&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:proxmox_storage_optimization&quot; data-wiki-id=&quot;proxmox:proxmox_storage_optimization&quot;&gt;proxmox_storage_optimization&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/proxmox_storage_rebuild&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:proxmox_storage_rebuild&quot; data-wiki-id=&quot;proxmox:proxmox_storage_rebuild&quot;&gt;proxmox_storage_rebuild&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/qemu_guest_agent_installation_error&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:qemu_guest_agent_installation_error&quot; data-wiki-id=&quot;proxmox:qemu_guest_agent_installation_error&quot;&gt;qemu_guest_agent_installation_error&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/reclaim_free_space_lvm_thin_volumes&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:reclaim_free_space_lvm_thin_volumes&quot; data-wiki-id=&quot;proxmox:reclaim_free_space_lvm_thin_volumes&quot;&gt;reclaim_free_space_lvm_thin_volumes&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/setup_diskless_ubuntu_vm&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:setup_diskless_ubuntu_vm&quot; data-wiki-id=&quot;proxmox:setup_diskless_ubuntu_vm&quot;&gt;setup_diskless_ubuntu_vm&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/setup_virtio_drivers_on_windows_core&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:setup_virtio_drivers_on_windows_core&quot; data-wiki-id=&quot;proxmox:setup_virtio_drivers_on_windows_core&quot;&gt;setup_virtio_drivers_on_windows_core&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/slow_windows_vm_install_startup&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:slow_windows_vm_install_startup&quot; data-wiki-id=&quot;proxmox:slow_windows_vm_install_startup&quot;&gt;slow_windows_vm_install_startup&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/small_home_proxmox_box&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:small_home_proxmox_box&quot; data-wiki-id=&quot;proxmox:small_home_proxmox_box&quot;&gt;small_home_proxmox_box&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/snapshot_rollback_failed&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:snapshot_rollback_failed&quot; data-wiki-id=&quot;proxmox:snapshot_rollback_failed&quot;&gt;snapshot_rollback_failed&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/stop-%D0%B8-shutdown&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:stop-и-shutdown&quot; data-wiki-id=&quot;proxmox:stop-и-shutdown&quot;&gt;stop-и-shutdown&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/suppress_you_do_not_have_a_valid_subscription_message&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:suppress_you_do_not_have_a_valid_subscription_message&quot; data-wiki-id=&quot;proxmox:suppress_you_do_not_have_a_valid_subscription_message&quot;&gt;suppress_you_do_not_have_a_valid_subscription_message&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/turnkey-dokuwiki-active-directory2&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:turnkey-dokuwiki-active-directory2&quot; data-wiki-id=&quot;proxmox:turnkey-dokuwiki-active-directory2&quot;&gt;turnkey-dokuwiki-active-directory2&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/turnkey-linux-fileserver-%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-ad&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:turnkey-linux-fileserver-включение-в-ad&quot; data-wiki-id=&quot;proxmox:turnkey-linux-fileserver-включение-в-ad&quot;&gt;turnkey-linux-fileserver-включение-в-ad&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/unknown_device_acpi_qemuvgid&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:unknown_device_acpi_qemuvgid&quot; data-wiki-id=&quot;proxmox:unknown_device_acpi_qemuvgid&quot;&gt;unknown_device_acpi_qemuvgid&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/vnc-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5-openvz&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:vnc-в-контейнере-openvz&quot; data-wiki-id=&quot;proxmox:vnc-в-контейнере-openvz&quot;&gt;vnc-в-контейнере-openvz&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/windows10_windows2016_restart_boot_loop_stuck_on_proxmox_splashscreen&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:windows10_windows2016_restart_boot_loop_stuck_on_proxmox_splashscreen&quot; data-wiki-id=&quot;proxmox:windows10_windows2016_restart_boot_loop_stuck_on_proxmox_splashscreen&quot;&gt;windows10_windows2016_restart_boot_loop_stuck_on_proxmox_splashscreen&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/windows_activation_using_bios_slic&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:windows_activation_using_bios_slic&quot; data-wiki-id=&quot;proxmox:windows_activation_using_bios_slic&quot;&gt;windows_activation_using_bios_slic&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D0%B3%D0%B4%D0%B5-%D0%BB%D0%B5%D0%B6%D0%B0%D1%82-%D1%84%D0%B0%D0%B8%D0%BB%D1%8B-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:где-лежат-фаилы-конфигурации-виртуальных-машин&quot; data-wiki-id=&quot;proxmox:где-лежат-фаилы-конфигурации-виртуальных-машин&quot;&gt;где-лежат-фаилы-конфигурации-виртуальных-машин&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D0%B8%D0%B7%D0%B2%D0%BB%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%84%D0%B0%D0%B8%D0%BB%D0%BE%D0%B2-%D0%B8%D0%B7-%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2-tar-lzo&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:извлечение-фаилов-из-бекапов-tar-lzo&quot; data-wiki-id=&quot;proxmox:извлечение-фаилов-из-бекапов-tar-lzo&quot;&gt;извлечение-фаилов-из-бекапов-tar-lzo&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D0%BA%D0%B0%D0%BA-%D1%83%D0%B1%D0%B8%D1%82%D1%8C-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%83-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D0%B0%D1%8F-%D0%BD%D0%B5-%D1%85%D0%BE%D1%87%D0%B5%D1%82-%D0%B2%D1%8B%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D1%82%D1%8C%D1%81%D1%8F&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:как-убить-машину-которая-не-хочет-выключаться&quot; data-wiki-id=&quot;proxmox:как-убить-машину-которая-не-хочет-выключаться&quot;&gt;как-убить-машину-которая-не-хочет-выключаться&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%BE%D0%B2-windows-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B8%D0%BD%D0%B5%D1%80-openvz&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:монтирование-ресурсов-windows-в-контеинер-openvz&quot; data-wiki-id=&quot;proxmox:монтирование-ресурсов-windows-в-контеинер-openvz&quot;&gt;монтирование-ресурсов-windows-в-контеинер-openvz&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D0%BA%D0%B0-backup&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:настроика-backup&quot; data-wiki-id=&quot;proxmox:настроика-backup&quot;&gt;настроика-backup&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE-raid-%D0%BD%D0%B0-%D1%85%D0%BE%D1%81%D1%82%D0%B5-proxmox&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:настроика-программного-raid-на-хосте-proxmox&quot; data-wiki-id=&quot;proxmox:настроика-программного-raid-на-хосте-proxmox&quot;&gt;настроика-программного-raid-на-хосте-proxmox&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D0%BF%D0%B5%D1%80%D0%B5%D0%B5%D1%89%D0%B4-%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B8-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%8B-%D1%81-%D1%84%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE-%D1%85%D0%BE%D1%81%D1%82%D0%B0-%D0%B8%D0%BB%D0%B8-%D0%B8%D0%B7-%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE-%D0%B3%D0%B8%D0%BF%D0%B5%D1%80%D0%B2%D0%B8%D0%B7%D0%BE%D1%80%D0%B0&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:переещд-виртуальнои-машины-с-физического-хоста-или-из-другого-гипервизора&quot; data-wiki-id=&quot;proxmox:переещд-виртуальнои-машины-с-физического-хоста-или-из-другого-гипервизора&quot;&gt;переещд-виртуальнои-машины-с-физического-хоста-или-из-другого-гипервизора&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D0%BF%D0%B5%D1%80%D0%B5%D0%B8%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B8%D0%BD%D0%B5%D1%80%D0%B0-openvz&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:переименование-контеинера-openvz&quot; data-wiki-id=&quot;proxmox:переименование-контеинера-openvz&quot;&gt;переименование-контеинера-openvz&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA-vm-proxmox-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B5%D0%B3%D0%BE-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0-vnc&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:подключение-к-vm-proxmox-с-помощью-внешнего-клиента-vnc&quot; data-wiki-id=&quot;proxmox:подключение-к-vm-proxmox-с-помощью-внешнего-клиента-vnc&quot;&gt;подключение-к-vm-proxmox-с-помощью-внешнего-клиента-vnc&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C-vmbr-%D0%BD%D0%B0-%D1%85%D0%BE%D1%81%D1%82%D0%B5-proxmox-%D0%B1%D0%B5%D0%B7-%D0%BF%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:способ-создать-vmbr-на-хосте-proxmox-без-перезагрузки-системы&quot; data-wiki-id=&quot;proxmox:способ-создать-vmbr-на-хосте-proxmox-без-перезагрузки-системы&quot;&gt;способ-создать-vmbr-на-хосте-proxmox-без-перезагрузки-системы&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-rdp-vnc-%D1%88%D0%BB%D1%8E%D0%B7%D0%B0-guacomole-%D0%BF%D0%BE%D0%B4-ubuntu-12&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:установка-rdp-vnc-шлюза-guacomole-под-ubuntu-12&quot; data-wiki-id=&quot;proxmox:установка-rdp-vnc-шлюза-guacomole-под-ubuntu-12&quot;&gt;установка-rdp-vnc-шлюза-guacomole-под-ubuntu-12&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D1%82%D1%81%D1%8F-%D1%81-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%BE%D0%B8-command-chroot-target-dpkg-force-confold-configure-a-failed&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:установка-останавливается-с-ошибкои-command-chroot-target-dpkg-force-confold-configure-a-failed&quot; data-wiki-id=&quot;proxmox:установка-останавливается-с-ошибкои-command-chroot-target-dpkg-force-confold-configure-a-failed&quot;&gt;установка-останавливается-с-ошибкои-command-chroot-target-dpkg-force-confold-configure-a-failed&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/%D1%87%D1%82%D0%BE-%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C-%D0%B5%D1%81%D0%BB%D0%B8-proxmox-%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B8%D1%82-%D1%87%D1%82%D0%BE-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0-locked&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:что-делать-если-proxmox-говорит-что-машина-locked&quot; data-wiki-id=&quot;proxmox:что-делать-если-proxmox-говорит-что-машина-locked&quot;&gt;что-делать-если-proxmox-говорит-что-машина-locked&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>manage_proxmox_with_ansible</title>
            <link>https://wiki.autosys.tk/proxmox/manage_proxmox_with_ansible</link>
            <description>
&lt;p&gt;
&lt;a href=&quot;https://iservit.ro/tutorial/setting-up-proxmox-with-ansible-part1/&quot; class=&quot;urlextern&quot; title=&quot;https://iservit.ro/tutorial/setting-up-proxmox-with-ansible-part1/&quot; rel=&quot;ugc nofollow&quot;&gt;https://iservit.ro/tutorial/setting-up-proxmox-with-ansible-part1/&lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://docs.ansible.com/ansible/latest/modules/proxmox_kvm_module.html&quot; class=&quot;urlextern&quot; title=&quot;https://docs.ansible.com/ansible/latest/modules/proxmox_kvm_module.html&quot; rel=&quot;ugc nofollow&quot;&gt;https://docs.ansible.com/ansible/latest/modules/proxmox_kvm_module.html&lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://docs.ansible.com/ansible/latest/modules/proxmox_module.html&quot; class=&quot;urlextern&quot; title=&quot;https://docs.ansible.com/ansible/latest/modules/proxmox_module.html&quot; rel=&quot;ugc nofollow&quot;&gt;https://docs.ansible.com/ansible/latest/modules/proxmox_module.html&lt;/a&gt; &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Достаточно на хосте с скоторо запускаем playbook установить:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pip install proxmoxer requests&lt;/pre&gt;

&lt;p&gt;
На хосте proxmox мне устанавливать эти компоненты не пришлось. 
&lt;/p&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 25 Aug 2020 18:41:27 +0000</pubDate>
        </item>
        <item>
            <title>nfs_server_inside_lxc_container</title>
            <link>https://wiki.autosys.tk/proxmox/nfs_server_inside_lxc_container</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;запуск_nfs-сервера_внутри_контейнера_proxmox_53_-_lxc&quot;&gt;Запуск NFS-сервера внутри контейнера ProxMox 5.3 - LXC&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Создать файл профиля &lt;strong&gt;AppAromor&lt;/strong&gt; - &lt;strong&gt;/etc/apparmor.d/lxc/lxc-default-with-nfsd&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# Do not load this file.  Rather, load /etc/apparmor.d/lxc-containers, which
# will source all profiles under /etc/apparmor.d/lxc

profile lxc-container-default-with-nfsd flags=(attach_disconnected,mediate_deleted) {
  #include &amp;lt;abstractions/lxc/container-base&amp;gt;

  # the container may never be allowed to mount devpts.  If it does, it
  # will remount the host&amp;#039;s devpts.  We could allow it to do it with
  # the newinstance option (but, right now, we don&amp;#039;t).
  deny mount fstype=devpts,
  mount fstype=nfsd,
  mount fstype=rpc_pipefs,
  mount fstype=cgroup -&amp;gt; /sys/fs/cgroup/**,
}&lt;/pre&gt;

&lt;p&gt;
Добавить профиль в текущую конфигурацию &lt;strong&gt;AppArmor&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apparmor_parser -r /etc/apparmor.d/lxc-containers&lt;/pre&gt;

&lt;p&gt;
В конфигурацию контейнера добавить:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;lxc.apparmor.profile = lxc-container-default-with-nfsd&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 14 Feb 2019 09:55:37 +0000</pubDate>
        </item>
        <item>
            <title>openvz-failed-to-change-state-for-virtual-server-state-start-code-28</title>
            <link>https://wiki.autosys.tk/proxmox/openvz-failed-to-change-state-for-virtual-server-state-start-code-28</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;проблема&quot;&gt;Проблема&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Как-то раз после нештатной (аварийной) перезагрузки сервера OpenVZ (CentOS 6.4 Kernel 2.6.32-042stab081.3 on an x86_64) перестали загружаться контейнеры. В консоли сервера OpenVZ видно следующее:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Starting CT 105: Starting container...
Error: required UB parameter kmemsize not set
Error: required UB parameter lockedpages not set
Error: required UB parameter shmpages not set
Error: required UB parameter numproc not set
Error: required UB parameter vmguarpages not set
Error: required UB parameter oomguarpages not set
Error: required UB parameter numtcpsock not set
Error: required UB parameter numflock not set
Error: required UB parameter numpty not set
Error: required UB parameter numsiginfo not set
Error: required UB parameter tcpsndbuf not set
Error: required UB parameter tcprcvbuf not set
Error: required UB parameter othersockbuf not set
Error: required UB parameter dgramrcvbuf not set
Error: required UB parameter numothersock not set
Error: required UB parameter numfile not set
Error: required UB parameter dcachesize not set
Error: required UB parameter numiptent not set[FAILED]&lt;/pre&gt;

&lt;p&gt;
КОнфигурационные файлы в порядке, перезагрузка сервера не помогает. &lt;br/&gt;

В чем причина - неизвестно. &lt;br/&gt;

Шаблон контейнеров - &lt;strong&gt;vswap-256m&lt;/strong&gt;. &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1492&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;лечение&quot;&gt;Лечение&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Вылечились контейнеры так: &lt;br/&gt;

Открываем свойства контейнера, там меняем шаблон &lt;strong&gt;Server Template&lt;/strong&gt;, например на &lt;strong&gt;vswap-512m&lt;/strong&gt;, а на вкладке &lt;strong&gt;Additional Settings&lt;/strong&gt; если значение &lt;strong&gt;RAM Memory&lt;/strong&gt;  задано &lt;strong&gt;unlimited&lt;/strong&gt;, то задаем его в зависимости от потребностей, а если оно уже задано - немного увеличиваем или уменьшаем его. Теперь контейнер запустится. Затем можно изменить шаблон обратно на тот который был. И контейнер опять запускается. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
В чем причина - неизвестно. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041b\u0435\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043b\u0435\u0447\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1493-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>openvz-turnkey-default-passwords-пароли-по-умолчанию</title>
            <link>https://wiki.autosys.tk/proxmox/openvz-turnkey-default-passwords-%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D0%B8-%D0%BF%D0%BE-%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;openvz_turnkey_linux_-_запуск&quot;&gt;OpenVZ Turnkey Linux - запуск&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
После первого запуска контейнера turnkey надо инициализировать контейнер командой &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;typingturnkey-init&lt;/pre&gt;

&lt;p&gt;
По умолчанию - все пароли - “turnkey”.&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OpenVZ Turnkey Linux - \u0437\u0430\u043f\u0443\u0441\u043a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;openvz_turnkey_linux_-_\u0437\u0430\u043f\u0443\u0441\u043a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-293&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;предустановленные_пароли_по_умолчанию&quot;&gt;Предустановленные пароли по умолчанию&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для запуска в безголовом режиме в контейнере OpenVZ есть inithook который задает пароли по-умолчанию, за исключением пароля root, который задается настройками контейнера в web-интерфейсе или VZ CLI.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
/usr/lib/inithooks/firstboot.d/29preseed&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;DB_PASS=turnkey
APP_PASS=turnkey
APP_EMAIL=admin@example.com
APP_DOMAIN=DEFAULT
HUB_APIKEY=SKIP
SEC_UPDATES=FORCE&lt;/pre&gt;

&lt;p&gt;
В зависимости от настроек, эти пароли применяются при создании контейнера, или же при выполнении команды&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;turnkey-init&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u0430\u0440\u043e\u043b\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435_\u043f\u0430\u0440\u043e\u043b\u0438_\u043f\u043e_\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;294-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>proxmox-turnkey-gallery-не-работает-снаружи-а-только-в-локально ...</title>
            <link>https://wiki.autosys.tk/proxmox/proxmox-turnkey-gallery-%D0%BD%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D1%82-%D1%81%D0%BD%D0%B0%D1%80%D1%83%D0%B6%D0%B8-%D0%B0-%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D0%B2-%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B8-%D1%81%D0%B5%D1%82%D0%B8</link>
            <description>
&lt;p&gt;
Если темплейт turnkey gallery отказывается показывать слайдшоу при доступе из интернета, но нормально все показывает в локальной сети, значит скорее всего нужно правильно задать имя сервера с галереей. Это делается в так:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nano /var/www/gallery/application/config/config.php&lt;/pre&gt;

&lt;p&gt;
В этом файле ищем строки:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$config[&amp;quot;site_domain&amp;quot;] =
  substr($_SERVER[&amp;quot;SCRIPT_NAME&amp;quot;], 0,
         strpos($_SERVER[&amp;quot;SCRIPT_NAME&amp;quot;], basename($_SERVER[&amp;quot;SCRIPT_FILENAME&amp;quot;])));&lt;/pre&gt;

&lt;p&gt;
Именно они задают имя сервера, которое будет передаваться плагину cooliris, который показывает слайдшоу.&lt;br/&gt;

Комментируем последние две строки, а в первой пишем имя сервера:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$config[&amp;quot;site_domain&amp;quot;] = &amp;#039;photos.autosys.tk&amp;#039;;
 /* substr($_SERVER[&amp;quot;SCRIPT_NAME&amp;quot;], 0,
         strpos($_SERVER[&amp;quot;SCRIPT_NAME&amp;quot;], basename($_SERVER[&amp;quot;SCRIPT_FILENAME&amp;quot;])));
*/&lt;/pre&gt;

&lt;p&gt;
Все! теперь все работает как нада.&lt;br/&gt;

&lt;/p&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>proxmox_get_task_status_from_cli</title>
            <link>https://wiki.autosys.tk/proxmox/proxmox_get_task_status_from_cli</link>
            <description>
&lt;p&gt;
Если вдруг web-интерфейс &lt;strong&gt;proxmox&lt;/strong&gt; перестал обвечать во время выполнения задачки, то посмотреть статус и лог задач можно с помощью утилиты &lt;strong&gt;pvesh&lt;/strong&gt;. &lt;br/&gt;

В общем случае это делается так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pvesh get nodes/&amp;lt;NODE&amp;gt;/tasks/&amp;lt;UPID&amp;gt;/log
pvesh get nodes/&amp;lt;NODE&amp;gt;/tasks/&amp;lt;UPID&amp;gt;/status&lt;/pre&gt;

&lt;p&gt;
Имя ноды можно поглядеть так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pvesh get nodes&lt;/pre&gt;

&lt;p&gt;
Список задач, чтобы узнать &lt;strong&gt;UPID&lt;/strong&gt; поглядеть так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pvesh get nodes/proxmox/tasks/&lt;/pre&gt;

&lt;p&gt;
В итоге команды будут какие-то такие:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pvesh get nodes/proxmox/tasks/UPID:proxmox:000265EB:112BC1FC:60480914:aptupdate::root@pam:/log
pvesh get nodes/proxmox/tasks/UPID:proxmox:000265EB:112BC1FC:60480914:aptupdate::root@pam:/status&lt;/pre&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 10 Mar 2021 08:57:37 +0000</pubDate>
        </item>
        <item>
            <title>proxmox_host_hibernate</title>
            <link>https://wiki.autosys.tk/proxmox/proxmox_host_hibernate</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;гибернация_хоста_proxmox_606&quot;&gt;Гибернация хоста Proxmox 6.0.6&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Устанавливаем &lt;strong&gt;pm-utils&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get install pm-utils&lt;/pre&gt;

&lt;p&gt;
В файлике &lt;strong&gt;/etc/default/grub&lt;/strong&gt; прописываем раздел swap, откуда будем восстанвливать состояние: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;resume=UUID=8a4aa3bd-cbc9-4616-81ca-62c68eb24704 quiet max_loop=32&amp;quot;&lt;/pre&gt;

&lt;p&gt;
и применяем конфигурацию &lt;strong&gt;grub&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;update-grub&lt;/pre&gt;

&lt;p&gt;
Гасим все виртуальные машины. При запущенных виртуалках (не контейнерах) хост уходил в перезагрузку и не возвращался из &lt;strong&gt;hibernate&lt;/strong&gt;, а просто загружался. Выполняем гибернацию.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pm-hibernate&lt;/pre&gt;

&lt;p&gt;
Вот некоторые наблюдения:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Если виртуалка работает - хибернейт просто перезагрузит хост.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Если вирталка остановлена (зашатдаунена) - хибернейт сработает нормально и остановит хост.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Если виртуалка работала, но была захибернейчена, то хост перезагрузится.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Если хост был запущен, а захибернейченая виртуалка не запускалась с момента старта  хоста, то хост нормально захибернейтится.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;
То есть получается, что в рамках одного хоста &lt;strong&gt;Proxmox&lt;/strong&gt; нормально хибернейтятся или только виртуальные машины (средствами &lt;strong&gt;proxmox&lt;/strong&gt;), или только контейнеры (средствами &lt;strong&gt;pm-utils&lt;/strong&gt;).  Это повод совсем избавиться от виндовых виртуалок :) 
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 01 Sep 2019 12:50:58 +0000</pubDate>
        </item>
        <item>
            <title>proxmox_ksmd_high_cpu_load</title>
            <link>https://wiki.autosys.tk/proxmox/proxmox_ksmd_high_cpu_load</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;проблема&quot;&gt;Проблема&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
На хосте &lt;strong&gt;Proxmox&lt;/strong&gt; (многих версий, вплоть до 6.x) процесс &lt;strong&gt;ksmd&lt;/strong&gt; потребляет много CPU (25-40% на четырехъядерном процессоре). &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-241&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;решение&quot;&gt;Решение&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Очевидно - решение в тонкой настройке демона &lt;strong&gt;ksmd&lt;/strong&gt;, который занимается поиском и слиянием (merging) страниц памяти с одинаковым содержимым для высвободжения памяти. Настройки демона хранятся в файле &lt;strong&gt;/etc/ksmtuned.conf&lt;/strong&gt;. &lt;br/&gt;

Помогает увеличение интервала &lt;strong&gt;KSM_SLEEP_MSEC&lt;/strong&gt; до 100 милисекунд:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;KSM_SLEEP_MSEC=100&lt;/pre&gt;

&lt;p&gt;
Значение остальных параметров:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;KSM_MONITOR_INTERVAL&lt;/strong&gt; - временной интервал в секундах между сканированиями.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;KSM_SLEEP_MSEC&lt;/strong&gt; - временной интервал в милисекундах между сканированиями кусков по 16Gb. текущее значение можно найти тут: &lt;strong&gt;/sys/kernel/mm/ksm/sleep_millisecs&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;KSM_NPAGES_BOOST&lt;/strong&gt; - число страниц, на которое будет увеличено количество сканируемых страниц при достижении порогов заданных параметрами &lt;strong&gt;KSM_THRES_&lt;/strong&gt;*
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;KSM_NPAGES_DECAY&lt;/strong&gt; - число страниц, на которое будет уменьшено количество сканируемых страниц при достижении порогов заданных параметрами &lt;strong&gt;KSM_THRES_&lt;/strong&gt;*
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;KSM_NPAGES_MIN&lt;/strong&gt; - минимальное число страниц памяти, которое сканируется всегда.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;KSM_NPAGES_MAX&lt;/strong&gt; - максимальное число сканируемых страниц
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;KSM_THRES_COEF&lt;/strong&gt; - порог количества свободной памяти в процентах, при достижении которого запускается процесс сканирования и слияния.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;KSM_THRES_CONST&lt;/strong&gt; - порог количества свободной памяти в килобайтах, при достижении которого запускается процесс сканирования и слияния.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;
Текущий размер страницы памяти можно получить так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;getconf PAGE_SIZE&lt;/pre&gt;

&lt;p&gt;
На сервере с объемом памяти 32Gb я использую такие значения:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;KSM_SLEEP_MSEC=1000
KSM_THRES_COEF=50&lt;/pre&gt;

&lt;p&gt;
Перезапустить демон &lt;strong&gt;ksmd&lt;/strong&gt; можно такой командой:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo service ksmtuned restart&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;242-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 12 Nov 2019 07:43:49 +0000</pubDate>
        </item>
        <item>
            <title>proxmox_optimization_tips</title>
            <link>https://wiki.autosys.tk/proxmox/proxmox_optimization_tips</link>
            <description>
&lt;p&gt;
Что (по моему мнению) следует сделать сразу после установки &lt;strong&gt;ProxMox&lt;/strong&gt;. &lt;br/&gt;

&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 минимизируем использование &lt;strong&gt;swap&lt;/strong&gt; с помощью параметра &lt;strong&gt;swapiness&lt;/strong&gt;. Для этого в файлик &lt;strong&gt;/etc/sysctl.conf&lt;/strong&gt; добавляем строчку &lt;pre class=&quot;code&quot;&gt;vm.swappiness=0&lt;/pre&gt;

&lt;p&gt;
 и перезагружаемся.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 отключаем &lt;strong&gt;transparent_hugepages&lt;/strong&gt;. Как выключать и почему: &lt;a href=&quot;https://wiki.autosys.tk/proxmox/slow_windows_vm_install_startup&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:slow_windows_vm_install_startup&quot; data-wiki-id=&quot;proxmox:slow_windows_vm_install_startup&quot;&gt;НАПИСАНО ТУТ&lt;/a&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Оптимизировать подсистему хранения можно с помощью &lt;strong&gt;SSD&lt;/strong&gt;-кеширования на уровне &lt;strong&gt;LVM&lt;/strong&gt;. Например - &lt;a href=&quot;https://wiki.autosys.tk/proxmox/proxmox_storage_optimization&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:proxmox_storage_optimization&quot; data-wiki-id=&quot;proxmox:proxmox_storage_optimization&quot;&gt;вот так&lt;/a&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Если виртуальные машины используют диски в формате &lt;strong&gt;qcow2&lt;/strong&gt;, то можно несколько &lt;a href=&quot;https://wiki.autosys.tk/proxmox/improving_the_performance_of_the_qcow2_format&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:improving_the_performance_of_the_qcow2_format&quot; data-wiki-id=&quot;proxmox:improving_the_performance_of_the_qcow2_format&quot;&gt;оптимизировать работу qcow2&lt;/a&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Если предполагается работа виртуальной машины &lt;strong&gt;Windows&lt;/strong&gt; с &lt;strong&gt;Microsoft SQL Server&lt;/strong&gt; на борту, то к параметрам запуска &lt;strong&gt;SQL Server&lt;/strong&gt; надо добавить флаг - &lt;strong&gt;Trace Flag T8038&lt;/strong&gt;. Мне сильно помогло в случае с &lt;strong&gt;MS SQL 2014&lt;/strong&gt; (в &lt;strong&gt;SQL&lt;/strong&gt; в свойствах сервиса на вкладке &lt;strong&gt;StartUp&lt;/strong&gt; добавляем параметр &lt;strong&gt;-T8038&lt;/strong&gt;). Без этого параметра &lt;strong&gt;Microsoft SQL Server&lt;/strong&gt; сильно тормозит в виртуалке &lt;strong&gt;proxmox&lt;/strong&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Если вы пользуетесь версией FREE, то, вероятно, вас раздражает баннер, который появляется при логине в Web-интерфейс.&lt;a href=&quot;https://wiki.autosys.tk/proxmox/suppress_you_do_not_have_a_valid_subscription_message&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:suppress_you_do_not_have_a_valid_subscription_message&quot; data-wiki-id=&quot;proxmox:suppress_you_do_not_have_a_valid_subscription_message&quot;&gt;Убрать его можно так...&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 если процесс &lt;strong&gt;ksmd&lt;/strong&gt; потребляет много процессорного времени, то можно несколько &lt;a href=&quot;https://wiki.autosys.tk/proxmox/proxmox_ksmd_high_cpu_load&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:proxmox_ksmd_high_cpu_load&quot; data-wiki-id=&quot;proxmox:proxmox_ksmd_high_cpu_load&quot;&gt;скорректировать его параметры &lt;/a&gt;. 
&lt;/p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 12 Nov 2019 07:27:35 +0000</pubDate>
        </item>
        <item>
            <title>proxmox_storage_optimization</title>
            <link>https://wiki.autosys.tk/proxmox/proxmox_storage_optimization</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;proxmox_storage_optimization&quot;&gt;proxmox storage optimization&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Я хочу построить небольшой домашний сервер виртуализации на базе &lt;strong&gt;ProxMox&lt;/strong&gt;. Требования к подсистеме хранения такие:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 кеширование &lt;strong&gt;SSD&lt;/strong&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 дедупликация при небольшом потреблении памяти. не обязательно inline, можно просто по расписанию.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 сжатие
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;
Варианты:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;ZFS&lt;/strong&gt; - все круто (“искаропки” есть кеширование, дедупликация и сжатие). Однако, дедупликация требует очень много памяти (&amp;gt;5GB на 1Tb данных). А также на производительность влияет неотключаемый Copy-On-Write.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;ext3/4 over LVM&lt;/strong&gt; - быстрая и стабильная. можно сделать кеширование на &lt;strong&gt;SSD&lt;/strong&gt;. Нет дедупликации. Нет сжатия.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;BTRFS over LVM&lt;/strong&gt; - можно сделать кеширование на &lt;strong&gt;SSD&lt;/strong&gt;. Есть дедупликация по запросу. Есть сжатие. Можно отключить Copy-On-Write (но тогда отключится сжатие).
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/dm-vdo/kvdo&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/dm-vdo/kvdo&quot; rel=&quot;ugc nofollow&quot;&gt;Virtual Data Optimizer - VDO&lt;/a&gt; суперштука. Модуль ядра, который реализует inline-дедупликацию и сжатие для томов LVM. Пока что доступен только в RedHat и непонятно что со стабильностью/производительностью/ресурсами. Уже есть в составе Debian - &lt;a href=&quot;https://manpages.debian.org/testing/lvm2/lvmvdo.7.en.html&quot; class=&quot;urlextern&quot; title=&quot;https://manpages.debian.org/testing/lvm2/lvmvdo.7.en.html&quot; rel=&quot;ugc nofollow&quot;&gt;https://manpages.debian.org/testing/lvm2/lvmvdo.7.en.html&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;proxmox storage optimization&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;proxmox_storage_optimization&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1803&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;решение&quot;&gt;Решение&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Выбор пал на связку &lt;strong&gt;BTRFS over LVM&lt;/strong&gt;. Она позволяет дедуплицировать данные по расписанию (с помощью &lt;strong&gt;duperemove&lt;/strong&gt;), кешировать данные на &lt;strong&gt;SSD&lt;/strong&gt; с помощью &lt;strong&gt;lvmcache&lt;/strong&gt;. &lt;br/&gt;

Файлы образов дисков должны быть в формате &lt;strong&gt;qcow2&lt;/strong&gt;, что позволит делать снепшоты. &lt;br/&gt;

Файловые системы контейнеров &lt;strong&gt;LXC&lt;/strong&gt; можно хранить как в виде образов, так и просто в папках на &lt;strong&gt;BTRFS&lt;/strong&gt;. Последний вариант будет скорее всего быстрее (вследствие отсутствия &lt;strong&gt;loop&lt;/strong&gt;-устройства), позволит дедуплицировать  и\или сжимать файлы контейнеров средствами &lt;strong&gt;BTRFS&lt;/strong&gt;. &lt;br/&gt;

Забегая вперед, скажу, что SSD кеш делает виртуальные машины ГОРАЗДО отзывчивее. Даже в условиях нехватки оперативной памяти. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1804-2961&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;внимание&quot;&gt;ВНИМАНИЕ!!!&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Всем, кто решит использовать &lt;strong&gt;BTRFS&lt;/strong&gt; + &lt;strong&gt;lvmcache&lt;/strong&gt; на хосте &lt;strong&gt;ProxMox&lt;/strong&gt; нужно помнить следующее:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;strong&gt;lvmcache&lt;/strong&gt; НЕ совместим с различными вариантами &lt;strong&gt;hibernate&lt;/strong&gt;. Если вы попытаетесь выполнить &lt;strong&gt;pm-hibernate&lt;/strong&gt; на хосте кешированными томами, то никакого &lt;strong&gt;hibernate&lt;/strong&gt; не произойдет. Система просто перезагрузится, а данные на дисках будут повреждены. Я пробывал.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 использование &lt;strong&gt;BTRFS&lt;/strong&gt; с флагом &lt;strong&gt;nodatacow&lt;/strong&gt; (то есть отключение Copy-On-Write) наверное, немного поднимет производительность, но взамен сделает и без того не самую надежную файловую систему абсолютно неремонтопригодной. Отключится весь функционал, обеспечивающий надежность хранения (CoW и контрольные суммы). В результате, при повреждения файловой системы даже &lt;strong&gt;btrfs check&lt;/strong&gt; использовать не получится (по причине отсутствия &lt;strong&gt;ctree&lt;/strong&gt;).
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u041d\u0418\u041c\u0410\u041d\u0418\u0415!!!&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2962-4348&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;создание_кешированного_тома_lvm&quot;&gt;Создание кешированного тома LVM&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://superuser.com/questions/952016/how-can-i-use-one-lvmcache-cache-pool-lv-for-multiple-origin-lvs&quot; class=&quot;urlextern&quot; title=&quot;https://superuser.com/questions/952016/how-can-i-use-one-lvmcache-cache-pool-lv-for-multiple-origin-lvs&quot; rel=&quot;ugc nofollow&quot;&gt;https://superuser.com/questions/952016/how-can-i-use-one-lvmcache-cache-pool-lv-for-multiple-origin-lvs&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Пример конфигурации такой.
два диска - &lt;strong&gt;/dev/vdb&lt;/strong&gt; (SSD) и &lt;strong&gt;/dev/vdc&lt;/strong&gt; (HDD).
Создаем физичесике тома и группу томов &lt;strong&gt;test&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pvcreate /dev/vdb
pvcreate /dev/vdc
vgcreate vgname /dev/vdb /dev/vdc&lt;/pre&gt;

&lt;p&gt;
Создаем том с кешем на SSD:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;lvcreate --type cache-pool -L1G -n cache vgname /dev/vdb&lt;/pre&gt;

&lt;p&gt;
Создаем том с данными:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;lvcreate -L9G -n data vgname /dev/vdc&lt;/pre&gt;

&lt;p&gt;
И теперь собираем конструкцию:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;lvconvert --type cache --cachepool vgname/cache vgname/data
Do you want wipe existing metadata of cache pool volume test/cache? [y/n]: y
Logical volume vgname/data is now cached.&lt;/pre&gt;

&lt;p&gt;
Отсоединить кеш от тома можно командой:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;lvconvert --splitcache vgname/data&lt;/pre&gt;

&lt;p&gt;
Состояние тома можно поглядеть командой:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dmsetup -v status vgname/data&lt;/pre&gt;

&lt;p&gt;
Тип кеша можно поменять командами:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;lvchange --cachemode writeback vgname/data
lvchange --cachemode writethrough vgname/data&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u043e\u043c\u0430 LVM&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435_\u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e_\u0442\u043e\u043c\u0430_lvm&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;4349-5596&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;создание_хранилища_proxmox&quot;&gt;Создание хранилища Proxmox&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для начала надо смонтировать том с параметрами &lt;strong&gt;noatime,nodiratime&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mkdir /mnt/vgname-data
echo &amp;#039;/dev/mapper/vgname-data  /mnt/vgname-data  btrfs   noatime,nodiratime  0  2&amp;#039; &amp;gt;&amp;gt; /etc/fstab
mount /mnt/vgname-data
pvesm add dir Test-Data --path /mnt/vgname-data&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 Proxmox&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435_\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430_proxmox&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;5597-5962&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;тестирование_fio&quot;&gt;Тестирование FIO&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Тестовый хост - &lt;strong&gt;Pentium Silver J5005&lt;/strong&gt;, &lt;strong&gt;8GB&lt;/strong&gt; Ram, mdadm &lt;strong&gt;RAID1 2x2Tb Seagate HDD&lt;/strong&gt; (подключены к &lt;strong&gt;SoC AHCI&lt;/strong&gt;), &lt;strong&gt;OCZ Vertex2 EX 100Gb SSD&lt;/strong&gt; Cache (подключен к &lt;strong&gt;ASMedia ASM1061&lt;/strong&gt;), &lt;strong&gt;transparent_hugepage&lt;/strong&gt; выключены. &lt;br/&gt;

&lt;strong&gt;FIO&lt;/strong&gt; под &lt;strong&gt;Windows Server 2008R2&lt;/strong&gt; скачанный отсюда: &lt;a href=&quot;https://bluestop.org/fio/&quot; class=&quot;urlextern&quot; title=&quot;https://bluestop.org/fio/&quot; rel=&quot;ugc nofollow&quot;&gt;https://bluestop.org/fio/&lt;/a&gt; у меня не заработал. Все время при запуске падал - &lt;strong&gt;fio.exe has stopped working&lt;/strong&gt;. &lt;br/&gt;

Очевидно, это проблемы со сборкой, потому что &lt;strong&gt;FIO&lt;/strong&gt; скачанный отсюда: &lt;a href=&quot;https://ci.appveyor.com/project/axboe/fio/build/job/1q9lno301yq74mxc/artifacts&quot; class=&quot;urlextern&quot; title=&quot;https://ci.appveyor.com/project/axboe/fio/build/job/1q9lno301yq74mxc/artifacts&quot; rel=&quot;ugc nofollow&quot;&gt;https://ci.appveyor.com/project/axboe/fio/build/job/1q9lno301yq74mxc/artifacts&lt;/a&gt; заработал без проблем. &lt;br/&gt;

Тесты запускались такими командами:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;fio.exe   --name=baseline --rw=randread --direct=1 --size=1g --iodepth=32 --blocksize=4096 --thread --ioengine=windowsaio --filename=E\:fiotest --name=hddBaseline --stonewall
fio.exe   --name=baseline --rw=randwrite --direct=1 --size=1g --iodepth=32 --blocksize=4096 --thread --ioengine=windowsaio --filename=E\:fiotest --name=hddBaseline --stonewall&lt;/pre&gt;

&lt;p&gt;
То есть тест блоками по &lt;strong&gt;4k&lt;/strong&gt;, случайные чтение и запись, глубина очереди 32, размер тестового файла - 1Gb, без кеширования на уровне Windows (direct=1). &lt;br/&gt;

Тесты запускались по три раза, чтобы тестовый файл попал в SSD-кеш.
&lt;/p&gt;
&lt;div class=&quot;table sectionedit7&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; LVM Cache/PM Cache/Format&lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Read, MiB/s &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; Write MiB/s&lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; Read IOPS avg, k &lt;/th&gt;&lt;th class=&quot;col4&quot;&gt; Write IOPS avg, k &lt;/th&gt;&lt;th class=&quot;col5&quot;&gt; CPU Read, % &lt;/th&gt;&lt;th class=&quot;col6&quot;&gt; CPU Write, % &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; WB/NC/qcow2              &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 133         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 100        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 34.0             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 25.6              &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 26          &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; WB/NC/raw                &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 127         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 104        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 32.5             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 26,6              &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 25          &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; WB/WB/qcow2              &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 158         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 107        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 40.5             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 27,4              &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0           &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; WB/WT/qcow2              &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 166         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 5.3        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 42.6             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 1.324             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0           &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 4            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; WB/WT/raw                &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 154         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 5.47       &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 39.5             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 1.335             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0           &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 3.5          &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; WB/WB/raw                &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 150         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 118        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 38.3             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 30.1              &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0           &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 23           &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; WT/WT/qcow2              &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 213         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 0.046      &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 54.5             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 0.011             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 21          &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; WT/WB/qcow2              &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 159         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 9.5        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 40.8             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 2.37              &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0           &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0.9          &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; WT/NC/qcow2              &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 128         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 0.612      &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 32.8             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 0.152             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 12.5        &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; WT/NC/raw                &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 121         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 0.832      &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 30.9             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 0.208             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0           &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; WT/WT/raw                &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 288         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 0.041      &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 73.7             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 0.010             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 56          &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; WT/WB/raw                &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 137         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 16.8       &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 35.1             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 4.303             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0           &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 3.3          &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; NC/WB/raw                &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 146         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 4.4        &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 37.3             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 1.099             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0           &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0.4          &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; NC/WT/raw                &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 148         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 0.0476     &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 37.8             &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 0.011             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0           &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; NC/NC/raw                &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 1.766       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 0.694      &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 0.441            &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 0.173             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0           &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0.33         &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; NC/NC/qcow2              &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 1.830       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 0.244      &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 0.457            &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 0.061             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0.86        &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; NC/WT/qcow2              &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 1.7         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 0.0465     &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 0.449            &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 0.011             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0           &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0            &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; NC/WB/qcow2              &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 3.578       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 4.889      &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 0.894            &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 1.222             &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 0           &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 0.47         &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;7548-9913&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 FIO&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435_fio&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;5963-9914&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;результаты_тестирования_fio&quot;&gt;Результаты тестирования fio&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Предсказуемо, стабильно высокие результаты при минимальной загрузке &lt;strong&gt;VCPU&lt;/strong&gt; показал вариант, когда включено кеширование на &lt;strong&gt;LVM&lt;/strong&gt; и &lt;strong&gt;Proxmox&lt;/strong&gt; в режимах &lt;strong&gt;WriteBack&lt;/strong&gt;. Его недостатком можно считать вероятность потери данных при выходе из строя &lt;strong&gt;SSD&lt;/strong&gt; или отключении питания.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Не сильно отстает конфигурация с кешированием только на &lt;strong&gt;SSD&lt;/strong&gt; в режиме &lt;strong&gt;WriteBack&lt;/strong&gt;. От выхода из строя &lt;strong&gt;SSD&lt;/strong&gt; можно защититься, использовав два накопителя в зеркальном массиве.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Разница между форматами &lt;strong&gt;qcow2&lt;/strong&gt; и &lt;strong&gt;raw&lt;/strong&gt; несущественна, при большей функциональности &lt;strong&gt;qcow2&lt;/strong&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 В режимах &lt;strong&gt;Writeback&lt;/strong&gt; на уровне &lt;strong&gt;proxmox&lt;/strong&gt; без кеширования на &lt;strong&gt;SSD&lt;/strong&gt; на уровне &lt;strong&gt;lvm&lt;/strong&gt;, скорость записи очень нестабильна. Она может быть как довольно высокой (3000-4000 IOPS), так и довольно низкой (500-1000 IOPS) и меняется произвольным образом.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Режимы кеширования &lt;strong&gt;ProxMox WriteThrough&lt;/strong&gt; - существенно ускоряют чтение (в 100 раз), но замедляют запись (в 5-20 раз) по сравнению с режимами без кеширования и &lt;strong&gt;writeback&lt;/strong&gt;.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Возможно, на данной системе можно добиться более высоких результатов, если подключить &lt;strong&gt;cache SSD&lt;/strong&gt; к &lt;strong&gt;SoC AHCI&lt;/strong&gt;. Вот тут есть тестирование производительности разных контроллеров: &lt;a href=&quot;http://www.thg.ru/storage/vliyaniye_kontrollera_na_skorost_ssd/print.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.thg.ru/storage/vliyaniye_kontrollera_na_skorost_ssd/print.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.thg.ru/storage/vliyaniye_kontrollera_na_skorost_ssd/print.html&lt;/a&gt; и &lt;strong&gt;ASMedia ASM1061&lt;/strong&gt; там далеко не лидер по производительности, а сам SSD по паспорту способен выдавать до &lt;strong&gt;70000 IOPS&lt;/strong&gt;. C &lt;strong&gt;PCI-E SSD&lt;/strong&gt; результаты должны быть еще интереснее.
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f fio&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b_\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f_fio&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;9915-12288&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;тестирование_с_помощью_crystaldiskmark_602_x64&quot;&gt;Тестирование с помощью CrystalDiskMark 6.0.2 x64&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Тестирование производилось на &lt;strong&gt;VM&lt;/strong&gt; - &lt;strong&gt;Windows Server 2008 R2&lt;/strong&gt;, 4GB mem, 2 cores. Для тестирования виртуальной машине добавлен отдельный пустой диск 32Gb.&lt;br/&gt;

В качестве &lt;strong&gt;SSD cache&lt;/strong&gt; выступал том LVM на &lt;strong&gt;SATA&lt;/strong&gt; диске &lt;strong&gt;OCZ Vertex V2 EX&lt;/strong&gt;. &lt;br/&gt;

Тест в &lt;strong&gt;Crystal Mark&lt;/strong&gt; запускался по 3 раза, чтобы данные успевали закешироваться. В таблице приведены данные после третьего замера.&lt;br/&gt;

Параметры &lt;strong&gt;CrystalMark&lt;/strong&gt; - 5, 1GiB. &lt;br/&gt;

&lt;strong&gt;Boot Time&lt;/strong&gt; - время загрузки &lt;strong&gt;ОС&lt;/strong&gt; от включения до появления приглашения &lt;strong&gt;Press Ctrl+Alt+Del&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
1 - lvm cache - On WriteBack, proxmox cache - no cache, qcow2 &lt;br/&gt;

2 - lvm cache - On WriteBack, proxmox cache - no cache, raw &lt;br/&gt;

3 - lvm cache - On WriteBack, proxmox cache - WriteBack, qcow2 . WARNING - Very High CPU Load while tests!!! Very Long test!!!&lt;br/&gt;

4 - lvm cache - On WriteBack, proxmox cache - WriteThrough, qcow2 WARNING - Very High CPU Load while tests!!! Very Long test!!!&lt;br/&gt;

5 - lvm cache - On WriteBack, proxmox cache - WriteThrough, raw WARNING - Very High CPU Load while tests!!! Very Long test!!!&lt;br/&gt;

6 - lvm cache - On WriteBack, proxmox cache - WriteBack, raw . WARNING - Very High CPU Load while tests!!! Very Long test!!!&lt;br/&gt;

&lt;/p&gt;
&lt;div class=&quot;table sectionedit10&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Disk Config&lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Seq Read Q32T1&lt;/th&gt;&lt;th class=&quot;col2 leftalign&quot;&gt; Seq Write Q32T1  &lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; 4KiB Q8T8 Read &lt;/th&gt;&lt;th class=&quot;col4&quot;&gt; 4KiB Q8T8 Write &lt;/th&gt;&lt;th class=&quot;col5&quot;&gt; 4KiB Q32T1 Read &lt;/th&gt;&lt;th class=&quot;col6&quot;&gt; 4KiB Q32T1 Write &lt;/th&gt;&lt;th class=&quot;col7&quot;&gt; 4KiB Q1T1 Read &lt;/th&gt;&lt;th class=&quot;col8&quot;&gt; 4KiB Q1T1 Write&lt;/th&gt;&lt;th class=&quot;col9&quot;&gt;Boot Time, sec&lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 1        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 217,1       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 105,3          &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 112,4        &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 84,32         &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 111,4         &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 78,72          &lt;/td&gt;&lt;td class=&quot;col7 leftalign&quot;&gt; 12,12        &lt;/td&gt;&lt;td class=&quot;col8 leftalign&quot;&gt; 21,75        &lt;/td&gt;&lt;td class=&quot;col9 leftalign&quot;&gt; 16   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 2        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 218,9       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 104,6          &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 112,7        &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 86,15         &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 111,8         &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 84,85          &lt;/td&gt;&lt;td class=&quot;col7 leftalign&quot;&gt; 11,87        &lt;/td&gt;&lt;td class=&quot;col8 leftalign&quot;&gt; 21,58        &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 3        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 2423        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 245,6          &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 329,0        &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 163,6         &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 285,6         &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 165,5          &lt;/td&gt;&lt;td class=&quot;col7 leftalign&quot;&gt; 39,83        &lt;/td&gt;&lt;td class=&quot;col8 leftalign&quot;&gt; 34,49        &lt;/td&gt;&lt;td class=&quot;col9 leftalign&quot;&gt; 16   &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 4        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 2494        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 84,31          &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 331,4        &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 6,4           &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 289,5         &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 5,5            &lt;/td&gt;&lt;td class=&quot;col7 leftalign&quot;&gt; 40,31        &lt;/td&gt;&lt;td class=&quot;col8 leftalign&quot;&gt; 4,0          &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 5        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 2566        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 90,61          &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 347,9        &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 6,67          &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 301,8         &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 5,86           &lt;/td&gt;&lt;td class=&quot;col7 leftalign&quot;&gt; 40,73        &lt;/td&gt;&lt;td class=&quot;col8 leftalign&quot;&gt; 4,2          &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; 6        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; 2457        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 210,9          &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt; 350,5        &lt;/td&gt;&lt;td class=&quot;col4 leftalign&quot;&gt; 161           &lt;/td&gt;&lt;td class=&quot;col5 leftalign&quot;&gt; 301,1         &lt;/td&gt;&lt;td class=&quot;col6 leftalign&quot;&gt; 173,5          &lt;/td&gt;&lt;td class=&quot;col7 leftalign&quot;&gt; 40,47        &lt;/td&gt;&lt;td class=&quot;col8 leftalign&quot;&gt; 35,9         &lt;/td&gt;&lt;td class=&quot;col9&quot;&gt;&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table1&amp;quot;,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;13801-14813&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e CrystalDiskMark 6.0.2 x64&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435_\u0441_\u043f\u043e\u043c\u043e\u0449\u044c\u044e_crystaldiskmark_602_x64&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;12289-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 07 Sep 2022 14:18:40 +0000</pubDate>
        </item>
        <item>
            <title>proxmox_storage_rebuild</title>
            <link>https://wiki.autosys.tk/proxmox/proxmox_storage_rebuild</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;было&quot;&gt;Было&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Диски HDD разбиты одиаково на три партиции (EFI, boot, data). &lt;br/&gt;

Разделы data - в зеркальном массиве &lt;strong&gt;mdadm&lt;/strong&gt;. На нем лежит два lvm - корень системы и lvm с данными под ZFS. &lt;br/&gt;

Диски SSD - по одному разделу, в зеркальном массиве mdadm, поверх массива - LVM, а lmv используются как swap, zfs ZIL и ZFS L2ARC. &lt;br/&gt;

Зеркальные массивы mdadm на 2-х дисках HDD и 2-х SSD. &lt;br/&gt;

На массивах - LVM. На LVM - ZFS.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0411\u044b\u043b\u043e&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0431\u044b\u043b\u043e&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-633&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;диски&quot;&gt;диски&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
sda, sdb - HDD &lt;br/&gt;

sdc, sdd - SSD
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0434\u0438\u0441\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u0438\u0441\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;634-689&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;mdsdtat&quot;&gt;mdsdtat&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;cat /proc/mdstat 
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md1 : active raid1 sda3[0] sdb3[1]
      1953250304 blocks [2/2] [UU]
      bitmap: 7/15 pages [28KB], 65536KB chunk

md2 : active raid1 sdd1[0] sdc1[1]
      97683584 blocks [2/2] [UU]
      
unused devices: &amp;lt;none&amp;gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;mdsdtat&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mdsdtat&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;690-1044&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;pvdisplay&quot;&gt;pvdisplay&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt; 
  --- Physical volume ---
  PV Name               /dev/md1
  VG Name               pve
  PV Size               &amp;lt;1.82 TiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              476867
  Free PE               0
  Allocated PE          476867
  PV UUID               rCzF98-PuUS-Meer-8Ger-vffN-vBXQ-kNciWH
   
  --- Physical volume ---
  PV Name               /dev/md2
  VG Name               pve
  PV Size               &amp;lt;93.16 GiB / not usable 2.12 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              23848
  Free PE               0
  Allocated PE          23848
  PV UUID               8d4I3j-p4UL-k8dq-bolM-pC8w-z21H-HoOZcv&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;pvdisplay&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pvdisplay&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1045-1819&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;lvdisplay_-m&quot;&gt;lvdisplay -m&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;  --- Logical volume ---
  LV Path                /dev/pve/swap
  LV Name                swap
  VG Name                pve
  LV UUID                dGxWuM-iYbO-QHLU-SILo-LVJa-2NMX-ZWf2fe
  LV Write Access        read/write
  LV Creation host, time proxmox, 2018-10-24 22:47:17 +0300
  LV Status              available
  # open                 0
  LV Size                32.00 GiB
  Current LE             8192
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
  --- Segments ---
  Logical extents 0 to 8191:
    Type                linear
    Physical volume     /dev/md1
    Physical extents    0 to 8191
   
   
  --- Logical volume ---
  LV Path                /dev/pve/root
  LV Name                root
  VG Name                pve
  LV UUID                a7G2ko-sOhu-iM4f-kYQb-2Y8M-u9J2-dlLEQX
  LV Write Access        read/write
  LV Creation host, time proxmox, 2018-10-24 22:47:17 +0300
  LV Status              available
  # open                 1
  LV Size                16.00 GiB
  Current LE             4096
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
   
  --- Segments ---
  Logical extents 0 to 4095:
    Type                linear
    Physical volume     /dev/md1
    Physical extents    8192 to 12287
   
   
  --- Logical volume ---
  LV Path                /dev/pve/swap-ssd
  LV Name                swap-ssd
  VG Name                pve
  LV UUID                oS0M42-tXl0-0Lal-SJva-6ejX-kucf-xyfuC0
  LV Write Access        read/write
  LV Creation host, time proxmox, 2019-02-16 01:00:38 +0300
  LV Status              available
  # open                 2
  LV Size                32.00 GiB
  Current LE             8192
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
   
  --- Segments ---
  Logical extents 0 to 8191:
    Type                linear
    Physical volume     /dev/md2
    Physical extents    0 to 8191
   
   
  --- Logical volume ---
  LV Path                /dev/pve/data-zfs-lvm
  LV Name                data-zfs-lvm
  VG Name                pve
  LV UUID                0MBZHE-D1q2-A4Bd-VZPy-RUgb-l8es-erxcyy
  LV Write Access        read/write
  LV Creation host, time proxmox, 2019-08-14 13:14:39 +0300
  LV Status              available
  # open                 1
  LV Size                1.77 TiB
  Current LE             464579
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3
   
  --- Segments ---
  Logical extents 0 to 464578:
    Type                linear
    Physical volume     /dev/md1
    Physical extents    12288 to 476866
   
   
  --- Logical volume ---
  LV Path                /dev/pve/zfs-zil
  LV Name                zfs-zil
  VG Name                pve
  LV UUID                kOW2k0-MhrC-97Fp-6kVf-qkdl-Jn35-3vXC6h
  LV Write Access        read/write
  LV Creation host, time proxmox, 2019-08-15 11:36:09 +0300
  LV Status              available
  # open                 1
  LV Size                8.00 GiB
  Current LE             2048
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4
   
  --- Segments ---
  Logical extents 0 to 2047:
    Type                linear
    Physical volume     /dev/md2
    Physical extents    8192 to 10239
   
   
  --- Logical volume ---
  LV Path                /dev/pve/zfs-l2arc
  LV Name                zfs-l2arc
  VG Name                pve
  LV UUID                waJkhg-nRfS-rqTg-tvQk-Zpt3-30gm-t6bqTG
  LV Write Access        read/write
  LV Creation host, time proxmox, 2019-08-15 11:36:54 +0300
  LV Status              available
  # open                 1
  LV Size                &amp;lt;53.16 GiB
  Current LE             13608
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:5
   
  --- Segments ---
  Logical extents 0 to 13607:
    Type                linear
    Physical volume     /dev/md2
    Physical extents    10240 to 23847&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;lvdisplay -m&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;lvdisplay_-m&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1820-6222&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;zfs&quot;&gt;ZFS&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;zpool status
  pool: pve-data
 state: ONLINE
  scan: scrub repaired 0B in 1 days 01:47:53 with 0 errors on Mon May 11 02:11:55 2020
config:

        NAME            STATE     READ WRITE CKSUM
        pve-data        ONLINE       0     0     0
          data-zfs-lvm  ONLINE       0     0     0
        logs
          zfs-zil       ONLINE       0     0     0
        cache
          zfs-l2arc     ONLINE       0     0     0

errors: No known data errors&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ZFS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zfs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;6223-6704&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit7&quot; id=&quot;стало&quot;&gt;Стало&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0442\u0430\u043b\u043e&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0442\u0430\u043b\u043e&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;6705-6729&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;диски1&quot;&gt;диски&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
На каждом HDD - четыре раздела:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 EFI
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 boot
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 root
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 data
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;
На каждом SSD три раздела:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 swap
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 ZIL
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 L2ARC
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0434\u0438\u0441\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u0438\u0441\u043a\u04381&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;6730-6912&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;mdadm&quot;&gt;mdadm&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Должны остаться два массива - первый &lt;strong&gt;root&lt;/strong&gt; на HDD под LVM, второй - swap на SSD без LVM.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;mdadm&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mdadm&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;6913-7068&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;lvm&quot;&gt;LVM&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Одинственный pv - mdadm массив на HDD под root.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;LVM&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;lvm&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;7069-7155&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;zfs1&quot;&gt;ZFS&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Все функции зеркалирования для данных переезжают на ZFS. &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ZFS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zfs1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;7156-7277&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit12&quot; id=&quot;что_делаем&quot;&gt;Что делаем&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Перенос будет происходить на живой системе. &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u043c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0447\u0442\u043e_\u0434\u0435\u043b\u0430\u0435\u043c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;7278-7395&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;ssd&quot;&gt;SSD&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Примерный порядок:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 отключаем весь функционал на SSD (swap, ZIL, L2ARC). &lt;pre class=&quot;code&quot;&gt;zpool remove pve-data /dev/pve/zfs-zil
zpool remove pve-data  /dev/pve/zfs-l2arc
swapoff -a&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 переразбиваем диски. Размер раздела под &lt;strong&gt;ZIL&lt;/strong&gt; - вычисляется по формуле &amp;#039;скорость записи на SSD&amp;#039; * &amp;#039;интервал сброса изменений на диск&amp;#039;. Дефолтный интервал сброса данных (commit interval) - 5 секунд. ТО есть в случае с SATA SSD размер ZIL должне быть 250MB/s * 5s = 1250 Mb. Получилось примерно так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Device        Start       End   Sectors  Size Type
/dev/sdd1      2048  67110911  67108864   32G Linux swap
/dev/sdd2  67110912  75499519   8388608    4G Linux filesystem
/dev/sdd3  75499520 195369421 119869902 57.2G Linux filesystem&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 создаем mdadm-массив, создаем на нем swap, прописываем в &lt;strong&gt;/etc/fstab&lt;/strong&gt; и включаем 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo mdadm --create /dev/md2 --level=1 --raid-devices=2 --metadata=0.90 /dev/sdc1 /dev/sdd1
sudo mkswap /dev/md2
swapon -a&lt;/pre&gt;

&lt;p&gt;
  
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Включаем обратно ZIL в зеркальном режиме 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo zpool add pve-data log mirror /dev/sdc2 /dev/sdd2&lt;/pre&gt;

&lt;p&gt;
 и L2ARC в обычном режиме (zfs не поддерживает cache в зеркальном режиме )
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo zpool add pve-data cache /dev/sdc3 /dev/sdd3&lt;/pre&gt;

&lt;p&gt;
.
&lt;/p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;SSD&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ssd&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;7396-8970&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;hdd&quot;&gt;HDD&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Примерный порядок:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 изымаем один из дисков из массива mdadm.&lt;pre class=&quot;code&quot;&gt;sudo mdadm /dev/md1 -r /dev/sda3&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 переразбиваем (количество разделов должно стать 4 - третий раздел должен разделиться на два - root и data).
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo sgdisk --zap-all /dev/sda
sudo sgdisk -n 1:2048:4095 /dev/sda
sudo sgdisk -t 1:EF02 /dev/sda
sudo sgdisk -n 2:4096:528383 /dev/sda
sudo sgdisk -t 2:EF00 /dev/sda
sudo sgdisk -n 3:528384:+16394MiB /dev/sda
sudo sgdisk -t 3:FD00 /dev/sda
sudo sgdisk -n 4:34103296:0 /dev/sda&lt;/pre&gt;

&lt;p&gt;
Было:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  
   2            4096          528383   256.0 MiB   EF00  
   3          528384      3907029134   1.8 TiB     FD00&lt;/pre&gt;

&lt;p&gt;
Стало:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048            4095   1024.0 KiB  EF02  
   2            4096          528383   256.0 MiB   EF00  
   3          528384        34103295   16.0 GiB    FD00  
   4        34103296      3907029134   1.8 TiB     8300&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 создаем на новом разделе &lt;strong&gt;root&lt;/strong&gt; зеркальный массив &lt;strong&gt;mdadm&lt;/strong&gt; из одного диска.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo mdadm --zero-superblock /dev/sda3
sudo mdadm --create /dev/md3 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda3 missing
sudo mdadm --detail --scan | sudo tee /etc/mdadm/mdadm.conf&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Добавляем новый зеркальный массив mdadm в Volume Group pve и перемещаем на него root lvm.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo pvcreate /dev/md3
sudo vgextend pve /dev/md3
sudo pvmove -n /dev/pve/root /dev/md1 /dev/md3
update-grub
update-initramfs -u&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 В существующий ZFS-pool подключаем новый data раздел в качестве зеркала.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo zpool attach pve-data /dev/pve/data-zfs-lvm /dev/sda4&lt;/pre&gt;

&lt;p&gt;
 и ждем синхронизации. Состояние синхронизации смотрим так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo zpool status&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Изымаем из ZFS-pool старое устрйоство (lvm)
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo zpool detach pve-data /dev/pve/data-zfs-lvm&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 В результате старый массив mdadm (на котором были lvm root и data) освободится и его можно будет остановить:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; sudo lvremove /dev/pve/data-zfs-lvm
sudo vgreduce pve /dev/md1
sudo pvremove /dev/md1
sudo mdadm --stop /dev/md1
sudo mdadm --zero-superblock /dev/sdb3&lt;/pre&gt;

&lt;p&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Перезбиваем второй диск на четыре раздела, подключаем третий раздел в mdadm-массив, а четвертый в - качестве mirror в zfs-pool:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo sgdisk -d 3 /dev/sdb
sudo sgdisk -n 3:528384:34103295 /dev/sdb
sudo partprobe /dev/sdb
sudo sgdisk  -t 3:FD00 /dev/sdb
sudo partprobe /dev/sdb
sudo sgdisk -n 4:34103296:0 /dev/sdb
sudo partprobe /dev/sdb&lt;/pre&gt;

&lt;p&gt;
Вот в этом месте надо бы перезагрузиться, поскольку есть сомнения, что таблица разделов хорошая. После ребута добавляем разделы в зеркала (mdadm и zfs)
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo zpool attach pve-data /dev/sda4 /dev/sdb4
sudo mdadm --add /dev/md3 /dev/sdb3&lt;/pre&gt;

&lt;p&gt;
ждем синхронизации
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo mdadm --detail --scan | sudo tee /etc/mdadm/mdadm.conf
update-grub
update-initramfs -u&lt;/pre&gt;

&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;
Всё. Тестировать на производительность не тестировал, но логично, что удаление двух промежуточных слоев абстракции (&lt;strong&gt;mdadm&lt;/strong&gt; и &lt;strong&gt;lvm&lt;/strong&gt;) из-под &lt;strong&gt;zfs pool&lt;/strong&gt; должно пойти на пользу. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;HDD&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hdd&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;8971-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 02 Jun 2020 09:44:56 +0000</pubDate>
        </item>
        <item>
            <title>qemu_guest_agent_installation_error</title>
            <link>https://wiki.autosys.tk/proxmox/qemu_guest_agent_installation_error</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;проблема&quot;&gt;Проблема&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
При установке &lt;strong&gt;Qemu Guest Agent&lt;/strong&gt; из комплекта &lt;a href=&quot;https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.160-1/virtio-win-0.1.160.iso&quot; class=&quot;urlextern&quot; title=&quot;https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.160-1/virtio-win-0.1.160.iso&quot; rel=&quot;ugc nofollow&quot;&gt;VirtIO версии 0.1.160&lt;/a&gt; на &lt;strong&gt;Windows Server 2016&lt;/strong&gt; инсталлятор сообщает, что не смог установиться:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.&lt;/pre&gt;

&lt;p&gt;
В логах:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Product: QEMU guest agent -- Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action RegisterCom, location: cmd.exe, command: /c &amp;quot;C:\Program Files\Qemu-ga\qemu-ga.exe&amp;quot; -s vss-install &lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-882&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;решение&quot;&gt;Решение&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Исследование показало. что он не ставился из-за того, чтобы ли отключены сервисы &lt;strong&gt;MSDTC - Distributed Transaction Coordinator&lt;/strong&gt; и &lt;strong&gt;VSS - Volume Shadow Copy&lt;/strong&gt; после их включения и запуска все поставилось и заработало.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;883-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 16 May 2019 12:14:55 +0000</pubDate>
        </item>
        <item>
            <title>reclaim_free_space_lvm_thin_volumes</title>
            <link>https://wiki.autosys.tk/proxmox/reclaim_free_space_lvm_thin_volumes</link>
            <description>
&lt;p&gt;
Вернуть свободное место LVM-Thin &lt;br/&gt;

&lt;a href=&quot;https://belug.de/howtos-using_trim_inside_virtual_machines.html&quot; class=&quot;urlextern&quot; title=&quot;https://belug.de/howtos-using_trim_inside_virtual_machines.html&quot; rel=&quot;ugc nofollow&quot;&gt;https://belug.de/howtos-using_trim_inside_virtual_machines.html&lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://forum.proxmox.com/threads/clear-unused-space-on-thin-lvm.32888/&quot; class=&quot;urlextern&quot; title=&quot;https://forum.proxmox.com/threads/clear-unused-space-on-thin-lvm.32888/&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.proxmox.com/threads/clear-unused-space-on-thin-lvm.32888/&lt;/a&gt; &lt;br/&gt;

&lt;/p&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 18 Sep 2019 14:24:42 +0000</pubDate>
        </item>
        <item>
            <title>setup_diskless_ubuntu_vm</title>
            <link>https://wiki.autosys.tk/proxmox/setup_diskless_ubuntu_vm</link>
            <description>
&lt;p&gt;
Задача - запустить на хосте &lt;strong&gt;Proxmox&lt;/strong&gt; виртуалку, которая загружалась бы по сети по &lt;strong&gt;NFS&lt;/strong&gt;. &lt;br/&gt;

У виртуалки будет два интерфейса - один для выхода в сеть и один для взаимодействия с сервером &lt;strong&gt;NFS&lt;/strong&gt;. &lt;br/&gt;

&lt;/p&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;настройка_контейнера_dhcp_nfs&quot;&gt;Настройка контейнера DHCP+NFS&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
На хосте &lt;strong&gt;Proxmox&lt;/strong&gt; создаем &lt;a href=&quot;https://wiki.autosys.tk/proxmox/nfs_server_inside_lxc_container&quot; class=&quot;wikilink1&quot; title=&quot;proxmox:nfs_server_inside_lxc_container&quot; data-wiki-id=&quot;proxmox:nfs_server_inside_lxc_container&quot;&gt;профиль для запуска внутри контейнера сервера NFS&lt;/a&gt;. &lt;br/&gt;

В конфигурации контейнера два сетевых интерфейса. Один смотрит во внешнюю сеть, а второй - исключительно для загрузки виртуалки (на нем будут работать сервисы &lt;strong&gt;NFS&lt;/strong&gt; и &lt;strong&gt;DHCP&lt;/strong&gt;).  &lt;br/&gt;

В данной конфигурации &lt;strong&gt;IP&lt;/strong&gt;-адрес контейнера - &lt;strong&gt;192.168.88.1&lt;/strong&gt;. Этот интерфейс смотрит на виртуальную машину. &lt;br/&gt;

Запускаем это контейнер и в нем настраиваем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo apt-get install isc-dhcp-server tftpd-hpa syslinux pxelinux nfs-kernel-server initramfs-tools&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 DHCP+NFS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430_dhcp_nfs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;342-1273&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;etcdhcpdhcpdconf&quot;&gt;/etc/dhcp/dhcpd.conf&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Настраиваем DHCP-зону в файлике &lt;strong&gt;/etc/dhcp/dhcpd.conf&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;option domain-name &amp;quot;autosys.tk&amp;quot;;
default-lease-time 600;
max-lease-time 7200;

allow booting;
allow bootp;

subnet 192.168.88.0 netmask 255.255.255.0 {
  range 192.168.88.100 192.168.88.254;
  option broadcast-address 192.168.88.255;
  filename &amp;quot;/pxelinux.0&amp;quot;;
}

host pxe_client {
  hardware ethernet 76:4B:48:28:D3:A4;
  fixed-address 192.168.88.100;
}&lt;/pre&gt;

&lt;p&gt;
Добавлять статичный адрес необходимо для того, чтобы у адаптера всегда был один IP-адрес. В противном случае - адаптер будет иметь два IP-адреса. Два адреса адаптер получает даже если интерфейс не сконфигурирован в &lt;strong&gt;netplan&lt;/strong&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\/etc\/dhcp\/dhcpd.conf&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;etcdhcpdhcpdconf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1274-2157&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;etcdefaultisc-dhcp-server&quot;&gt;/etc/default/isc-dhcp-server&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Указываем, что наш DHCP-сервер должен работать только на интерфейсе, который не смотри во внешнюю сеть:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;INTERFACESv4=&amp;quot;eth1&amp;quot;&lt;/pre&gt;

&lt;p&gt;
перезагружаем контейнер и смотрим, что все норм:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;service nfs-server status
service isc-dhcp-server status&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\/etc\/default\/isc-dhcp-server&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;etcdefaultisc-dhcp-server&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2158-2556&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;etcdefaulttftpd-hpa&quot;&gt;/etc/default/tftpd-hpa&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Настраиваем &lt;strong&gt;tftp&lt;/strong&gt;-сервер:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# /etc/default/tftpd-hpa
TFTP_USERNAME=&amp;quot;tftp&amp;quot;
TFTP_DIRECTORY=&amp;quot;/var/lib/tftpboot&amp;quot;
TFTP_ADDRESS=&amp;quot;:69&amp;quot;
TFTP_OPTIONS=&amp;quot;--secure&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Копируем нужные файлы:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cp /usr/lib/PXELINUX/pxelinux.0 /var/lib/tftpboot/
cp /var/lib/tftpboot/boot/isolinux/menu.c32 /var/lib/tftpboot/
mkdir -p /var/lib/tftpboot/boot
cp -r /usr/lib/syslinux/modules/bios /var/lib/tftpboot/boot/isolinux
mkdir /var/lib/tftpboot/pxelinux.cfg&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\/etc\/default\/tftpd-hpa&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;etcdefaulttftpd-hpa&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2557-3079&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit5&quot; id=&quot;настраиваем_сервер_nfs&quot;&gt;Настраиваем сервер NFS&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Создаем папку, в которой будет размещаться корневая директория нашей бездисковой виртуалки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mkdir /nfsroot&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440 NFS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c_\u0441\u0435\u0440\u0432\u0435\u0440_nfs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3080-3321&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;etcexports&quot;&gt;/etc/exports&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Прописываем экспорт этой директории в файлике &lt;strong&gt;/etc/exports&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/nfsroot             192.168.88.0/24(rw,no_root_squash,async,insecure)&lt;/pre&gt;

&lt;p&gt;
и применяем изменения
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;exportfs -rv&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\/etc\/exports&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;etcexports&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3322-3577&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit7&quot; id=&quot;готовим_систему_которая_будет_грузиться_с_nfs-шары&quot;&gt;Готовим систему, которая будет грузиться с NFS-шары&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Делаем обычную виртуальную машину и устанавливаем в ней нужный нам дистрибутив &lt;strong&gt;Linux&lt;/strong&gt;. В моем случае это будет &lt;strong&gt;Ubuntu-18.04 Server&lt;/strong&gt; + &lt;strong&gt;KDE&lt;/strong&gt;.&lt;br/&gt;

Для начала я установлю только голый &lt;strong&gt;Ubuntu-18.04 Server&lt;/strong&gt; и сделаю его бездисковым. После установки, внутри виртуалки выполняем:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo apt-get update
sudo apt-get upgrade
sudo apt-get -y purge cloud-init &amp;amp;&amp;amp; sudo rm -rf /etc/cloud
sudo apt-get -y install nfs-common&lt;/pre&gt;

&lt;p&gt;
Настраиваем и пересобираем &lt;strong&gt;initrd&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo cp /boot/vmlinuz-`uname -r` ~/
sudo sed -i &amp;#039;s/MODULES=.*$/MODULES=netboot/g&amp;#039; /etc/initramfs-tools/initramfs.conf
echo &amp;#039;virtio_net&amp;#039; &amp;gt;&amp;gt; /etc/initramfs-tools/modules
sudo mkinitramfs -o ~/initrd.img-`uname -r`  &lt;/pre&gt;

&lt;p&gt;
Копируем систему на &lt;strong&gt;NFS&lt;/strong&gt;-сервер:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo mount -t nfs -o nolock 192.168.88.1:/nfsroot /mnt
sudo cp -ax /. /mnt/.
sudo cp -ax /dev/. /mnt/dev/.
sudo cp -ax /boot/. /mnt/boot/.
sudo umount /mnt&lt;/pre&gt;

&lt;p&gt;
Для быстрой загрузки хорошо бы, чтобы первым интерфейсом был тот, с которого будет грузиться система.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0413\u043e\u0442\u043e\u0432\u0438\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0433\u0440\u0443\u0437\u0438\u0442\u044c\u0441\u044f \u0441 NFS-\u0448\u0430\u0440\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0433\u043e\u0442\u043e\u0432\u0438\u043c_\u0441\u0438\u0441\u0442\u0435\u043c\u0443_\u043a\u043e\u0442\u043e\u0440\u0430\u044f_\u0431\u0443\u0434\u0435\u0442_\u0433\u0440\u0443\u0437\u0438\u0442\u044c\u0441\u044f_\u0441_nfs-\u0448\u0430\u0440\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3578-4981&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit8&quot; id=&quot;настраиваем_параметры_загрузки_по_сети&quot;&gt;Настраиваем параметры загрузки по сети&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Возвращаемся в контейнер, который у нас &lt;strong&gt;NFS&lt;/strong&gt;-сервер и копируем ядро системы и &lt;strong&gt;initrd&lt;/strong&gt; в папку &lt;strong&gt;tftp&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo cp /nfsroot/boot/vmlinuz-4.15.0-45-generic /var/lib/tftpboot/
sudo cp /nfsroot/boot/initrd.img-4.15.0-45-generic /var/lib/tftpboot/&lt;/pre&gt;

&lt;p&gt;
В вашей системе версии наверное будут другие. &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u043e \u0441\u0435\u0442\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c_\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b_\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438_\u043f\u043e_\u0441\u0435\u0442\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4982-5473&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;varlibtftpbootpxelinuxcfgdefault&quot;&gt;/var/lib/tftpboot/pxelinux.cfg/default&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Создаем конфигурацию &lt;strong&gt;PXE&lt;/strong&gt;. Тут пишем актуальные имена файлов (ядра и &lt;strong&gt;initrd&lt;/strong&gt;), а также путь до корневой директории на &lt;strong&gt;NFS&lt;/strong&gt;-сервере:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;DEFAULT menu.c32
prompt 0
timeout 5

LABEL Ubuntu Linux 18.04
        menu default
        menu label Ubuntu Linux 18.04
        KERNEL vmlinuz-4.15.0-45-generic
        APPEND root=/dev/nfs initrd=initrd.img-4.15.0-45-generic nfsroot=192.168.88.1:/nfsroot ip=dhcp rw&lt;/pre&gt;

&lt;p&gt;
даем права на чтение папки &lt;strong&gt;/var/lib/tftpboot&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;chmod -R 777 /var/lib/tftpboot&lt;/pre&gt;

&lt;p&gt;
Рестартуем сервис &lt;strong&gt;tftpd-hpa&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;service tftpd-hpa restart&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\/var\/lib\/tftpboot\/pxelinux.cfg\/default&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;varlibtftpbootpxelinuxcfgdefault&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;5474-6222&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit10&quot; id=&quot;финальные_штрихи&quot;&gt;Финальные штрихи&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
В контейнере NFS-сервере в папке со скопированной системой поправляем &lt;strong&gt;/etc/fstab&lt;/strong&gt; :
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nano /nfsroot/etc/fstab&lt;/pre&gt;

&lt;p&gt;
Указываем, что в качестве корня нужно монтировать &lt;strong&gt;/dev/nfs&lt;/strong&gt; и отключаем &lt;strong&gt;swap&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/dev/nfs / ext4 defaults 0 0
#/swap.img      none    swap    sw      0       0&lt;/pre&gt;

&lt;p&gt;
Также нужно прописать сетевому интерфейсу, который используется для загрузки тип &lt;strong&gt;static&lt;/strong&gt;. Иначе система будет тупить при загрузке, пытаясь повторно сконфигурировать этот интерфейс. &lt;br/&gt;

Файлик &lt;strong&gt;/nfsroot/etc/netplan/50-cloud-init.yaml&lt;/strong&gt; приводим к такому виду:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;network:
    ethernets:
        ens18:
            addresses: []
            dhcp4: no
        ens19:
            addresses: [192.168.x.x/24]
            gateway4: 192.168.x.x
            nameservers:
              search: [domain.name]
              addresses: [192.168.x.x,192.168.x.x]
            dhcp4: no
            dhcp6: no
    version: 2&lt;/pre&gt;

&lt;p&gt;
Тут первый интерфейс &lt;strong&gt;ens18&lt;/strong&gt;, для доступа к корневой файловой системе имеет тип &lt;strong&gt;static&lt;/strong&gt; без адреса, а для выхода в сеть используется второй интерфейс &lt;strong&gt;ens19&lt;/strong&gt;, который получает статический адрес.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0424\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0448\u0442\u0440\u0438\u0445\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0444\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0435_\u0448\u0442\u0440\u0438\u0445\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;6223-7798&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;пробуем_загрузиться&quot;&gt;Пробуем загрузиться&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Выключаем виртуалку. Отсоединяаем от нее диск и выставляем загрузку по сети. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u0443\u0435\u043c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c\u0441\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u0443\u0435\u043c_\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c\u0441\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;7799-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 19 Sep 2019 10:11:01 +0000</pubDate>
        </item>
        <item>
            <title>setup_virtio_drivers_on_windows_core</title>
            <link>https://wiki.autosys.tk/proxmox/setup_virtio_drivers_on_windows_core</link>
            <description>
&lt;p&gt;
Для того, чтобы установить драйверы на &lt;strong&gt;Windows Server Core&lt;/strong&gt; можно воспользоваться утилитой &lt;strong&gt;pnputil&lt;/strong&gt;. &lt;br/&gt;

Смотрим какие девайсы без драйверов:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pnputil /enum-devices /problem&lt;/pre&gt;

&lt;p&gt;
Устанавливаем драйверы с помощью &lt;strong&gt;pnputil&lt;/strong&gt; (проверено на ISO &lt;strong&gt;virtio-win-0.1.190.iso&lt;/strong&gt;):
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pnputil /add-driver D:\Balloon\2k19\amd64\*.inf /install
pnputil /add-driver D:\NetKVM\2k19\amd64\*.inf /install
pnputil /add-driver D:\pvpanic\2k19\amd64\*.inf /install
pnputil /add-driver D:\qemufwcfg\2k19\amd64\*.inf /install
pnputil /add-driver D:\qemupciserial\2k19\amd64\*.inf /install
pnputil /add-driver D:\qxl\2k8R2\amd64\*.inf /install
pnputil /add-driver D:\qxldod\2k19\amd64\*.inf /install
pnputil /add-driver D:\smbus\2k8\amd64\*.inf /install
pnputil /add-driver D:\sriov\2k19\amd64\*.inf /install
pnputil /add-driver D:\viofs\2k19\amd64\*.inf /install
pnputil /add-driver D:\vioinput\2k19\amd64\*.inf /install
pnputil /add-driver D:\viorng\2k19\amd64\*.inf /install
pnputil /add-driver D:\vioscsi\2k19\amd64\*.inf /install
pnputil /add-driver D:\vioserial\2k19\amd64\*.inf /install
pnputil /add-driver D:\viostor\2k19\amd64\*.inf /install&lt;/pre&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 18 May 2021 10:47:03 +0000</pubDate>
        </item>
        <item>
            <title>slow_windows_vm_install_startup</title>
            <link>https://wiki.autosys.tk/proxmox/slow_windows_vm_install_startup</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;проблема&quot;&gt;Проблема&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
На хосте &lt;strong&gt;ProxMox 5.2.1&lt;/strong&gt; с небольшим количеством памяти (8Gb) есть виртуальные машины &lt;strong&gt;Windows&lt;/strong&gt; версий &lt;strong&gt;7&lt;/strong&gt;, &lt;strong&gt;Server 2008R2&lt;/strong&gt; и &lt;strong&gt;Server 2016&lt;/strong&gt;. При установке или запуске виртуалок наблюдаются сильные тормоза. Система устанавливается и загружается очень медленно (может стартовать по 15 минут). Многие сервисы не могут запуститься. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-589&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;причина&quot;&gt;Причина&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Судя по всему - причина в проблемах при выделении памяти.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u0438\u0447\u0438\u043d\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u0438\u0447\u0438\u043d\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;590-723&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;решение&quot;&gt;Решение&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
На хосте &lt;strong&gt;ProxMox 5.2.1&lt;/strong&gt; нужно выполнить такое:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;echo never &amp;gt; /sys/kernel/mm/transparent_hugepage/enabled
echo never &amp;gt; /sys/kernel/mm/transparent_hugepage/defrag&lt;/pre&gt;

&lt;p&gt;
Можно прямо на ходу. Выключать или перезагружать хост не требуется.  &lt;br/&gt;

Для виртуалки &lt;strong&gt;Windows Server 2008R2&lt;/strong&gt; время запуска уменьшилось с 10 минут до 16 секунд!!! &lt;br/&gt;

 Чтобы эти найстройки применялись после рестарта нужно сделать соответствующий файлик автозапуска для &lt;strong&gt;systemd&lt;/strong&gt; - &lt;strong&gt;/etc/systemd/system/disable-thp.service&lt;/strong&gt; с таким содержимым:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[Unit]
Description=Disable Transparent Huge Pages (THP)

[Service]
Type=simple
ExecStart=/bin/sh -c &amp;quot;echo &amp;#039;never&amp;#039; &amp;gt; /sys/kernel/mm/transparent_hugepage/enabled &amp;amp;&amp;amp; echo &amp;#039;never&amp;#039; &amp;gt; /sys/kernel/mm/transparent_hugepage/defrag&amp;quot;

[Install]
WantedBy=multi-user.target&lt;/pre&gt;

&lt;p&gt;
И затем включить и запустить получившийся “сервис”:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;systemctl daemon-reload
systemctl start disable-thp
systemctl enable disable-thp&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;724-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>small_home_proxmox_box</title>
            <link>https://wiki.autosys.tk/proxmox/small_home_proxmox_box</link>
            <description>
&lt;p&gt;
Вот конфигурация моего маленького домашнего &lt;strong&gt;ProxMox&lt;/strong&gt; хостика:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Asrock J5005-ITX MotherBoard
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;del&gt;8Gb DDR4 SODIMM Transcend JM2666HSB-8G RAM, 1Gx8, CL19, 1.2V&lt;/del&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 16Gb DDR4 SODIMM HyperX HX426S15IB2/16, 2666Mhz, CL15, 16 Chips
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 16Gb DDR4 SODIMM Patriot PSD416G21332s, PC4-17000, CL15, 1.2V, Double-sided, 16 chips.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Seagate ST32000641AS 2Tb, SATA. mdadm RAID1. 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 OCZ Vertex2 EX, SATA, 100 Gb SLC SSD.
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Silicon Power Slim S70 - SATA 120Gb SSD 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Cooler Master Elite 110A ITX Case
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 OImaster MR - 9100 PCI 2.5 inch SATA HDD / SSD Mobile Rack
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 DeepCool Explorer DE530, 530W Power Supply
&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;
Работает под управлением &lt;strong&gt;ProxMox 6.x&lt;/strong&gt;. &lt;br/&gt;

Система хранения - &lt;strong&gt;ZFS&lt;/strong&gt; (&lt;strong&gt;L2ARC&lt;/strong&gt; + &lt;strong&gt;ZIL&lt;/strong&gt; на SSD). VM images format - &lt;strong&gt;qcow2&lt;/strong&gt;. &lt;br/&gt;

Вот тут: &lt;a href=&quot;http://asrock.com/mb/Intel/J5005-ITX/index.asp#Memory&quot; class=&quot;urlextern&quot; title=&quot;http://asrock.com/mb/Intel/J5005-ITX/index.asp#Memory&quot; rel=&quot;ugc nofollow&quot;&gt;http://asrock.com/mb/Intel/J5005-ITX/index.asp#Memory&lt;/a&gt; есть сведения о совместимых модулях. Судя по всему, работают и 16-чиповые модули(&lt;strong&gt;Crucial MTA16ATF2G64HZ – 16GB&lt;/strong&gt;) и 8-чиповые (&lt;strong&gt;Crucial 16GB DDR4-2400 SODIMM CT16G4SFD824A&lt;/strong&gt;).
&lt;/p&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 29 Jun 2020 07:32:43 +0000</pubDate>
        </item>
        <item>
            <title>snapshot_rollback_failed</title>
            <link>https://wiki.autosys.tk/proxmox/snapshot_rollback_failed</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;проблема&quot;&gt;Проблема&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
На хосте &lt;strong&gt;Proxmox 5.2.1&lt;/strong&gt; есть виртуальная машина &lt;strong&gt;Windows Server 2016&lt;/strong&gt;. Диск машины единственный, в формате &lt;strong&gt;qcow2&lt;/strong&gt;. &lt;br/&gt;

На виртуалке установлен &lt;strong&gt;Qemu Agent&lt;/strong&gt;, разрешен &lt;strong&gt;Memory Balooning&lt;/strong&gt;. &lt;br/&gt;

После того, как был был сделан &lt;strong&gt;snapshot&lt;/strong&gt; с галочкой &lt;strong&gt;Include Memory&lt;/strong&gt;, виртуалка ушла в &lt;strong&gt;BSOD&lt;/strong&gt; с источником проблем - &lt;strong&gt;MEMORY MANAGEMENT&lt;/strong&gt;. &lt;br/&gt;

В результате - невозможно загрузиться.
&lt;strong&gt;Rollback&lt;/strong&gt; выполнить невозможно - &lt;strong&gt;proxmox&lt;/strong&gt;  сообщает:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;qemu-img: Could not open &amp;#039;/mnt/data/images/102/vm-102-disk-1.qcow2&amp;#039;: qcow2: Image is corrupt; cannot be opened read/write
TASK ERROR: command &amp;#039;/usr/bin/qemu-img snapshot -a before_xendesktop_update /mnt/data/images/102/vm-102-disk-1.qcow2&amp;#039; failed: exit code 1&lt;/pre&gt;

&lt;p&gt;
Также машина отказывется запускаться:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;kvm: -drive file=/mnt/data/images/102/vm-102-disk-1.qcow2,if=none,id=drive-virtio0,cache=writeback,format=qcow2,aio=threads,detect-zeroes=on: qcow2: Image is corrupt; cannot be opened read/write
TASK ERROR: start failed: command &amp;#039;/usr/bin/kvm -id 102 -name .......&amp;#039; failed: exit code 1&lt;/pre&gt;

&lt;p&gt;
Откатиться на более ранние снепшоты тоже не получается. &lt;br/&gt;

&lt;strong&gt;ProxMox Storage&lt;/strong&gt;, на котором лежит виртуальная машина, представляет собой раздел &lt;strong&gt;BTRFS&lt;/strong&gt;. В директории с файлами виртуальной машины тоже что-то непонятное. Файл диска &lt;strong&gt;vm-102-disk-1.qcow2&lt;/strong&gt; имеет размер &lt;strong&gt;80 Tb&lt;/strong&gt;, при том, что общий размер хранилища ~2Tb. Проверка с помощью
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;btrfs check --repair&lt;/pre&gt;

&lt;p&gt;
проблем не выявила и размер файла не изменился. &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1993&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;решение&quot;&gt;Решение&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Для того, чтобы восстановить доступ к диску, я смонтировал образ &lt;strong&gt;qcow2&lt;/strong&gt; и скопировать его содержимое в формат &lt;strong&gt;raw&lt;/strong&gt;.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo modprobe nbd
sudo qemu-nbd -r --connect=/dev/nbd0 /mnt/data/images/102/vm-102-disk-1.qcow2
sudo apt-get install safecopy
sudo safecopy --stage1 /dev/nbd0 /mnt/data/images/102/vm-102-disk-1.raw
sudo qemu-nbd --disconnect /dev/nbd0&lt;/pre&gt;

&lt;p&gt;
После этого, в конфигурации виртуальной машины я переписал путь к новому raw-диску. &lt;br/&gt;

Теперь система загружается в &lt;strong&gt;Repair Mode&lt;/strong&gt;, однако системного диска не видно. &lt;br/&gt;

После того, как диск был отсоединен и присоединен как SATA, &lt;strong&gt;Repair Mode&lt;/strong&gt; смог увидеть диск и выполнить &lt;strong&gt;Repairing Disk Errors&lt;/strong&gt;. &lt;br/&gt;

Спустя примерно пару часов(!) ошибки на диске были исправлены и Windows ушел в перезагрузку, однако так как тип диска сменился - все закончилось &lt;strong&gt;BSOD&lt;/strong&gt; - &lt;strong&gt;INACCESSIBLE_BOOT_DEVICE&lt;/strong&gt;. &lt;br/&gt;

В итоге, повреждения на диске оказались критичными для винды и загрузиться она не могла с &lt;strong&gt;BSOD&lt;/strong&gt; и ошибкой &lt;strong&gt;0xc000021a&lt;/strong&gt;, однако, файлы с диска достать было можно. Попытки восстановления системы штатными средствами с помощью 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sfc /scannow&lt;/pre&gt;

&lt;p&gt;
не помогли. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1994-3702&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;вывод&quot;&gt;Вывод&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Пользоваться механизмами снепшотов &lt;strong&gt;qcow2&lt;/strong&gt; следует с оторожностью. Вероятно, во избежание подобных ситуаций, виртуальную машину следует выключать перед созданием снепшота.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u044b\u0432\u043e\u0434&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u044b\u0432\u043e\u0434&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3703-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>stop-и-shutdown</title>
            <link>https://wiki.autosys.tk/proxmox/stop-%D0%B8-shutdown</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;чем_отличается_shutdown_от_stop_в_proxmox&quot;&gt;Чем отличается Shutdown от Stop в ProxMox&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Если контейнер запущен при помощи &lt;strong&gt;OpenVZ / LXC&lt;/strong&gt;, то &lt;strong&gt;“Shutdown”&lt;/strong&gt; даёт команду на завершение процессов и выжидает 2 минуты, чтобы процессы могли корректно завершиться. &lt;br/&gt;

&lt;strong&gt;“Stop”&lt;/strong&gt; завершает процессы контейнера принудительно без тайм-аута. &lt;br/&gt;

&lt;br/&gt;

Если виртуальной машине на базе KVM нажать &lt;strong&gt;“Shutdown”&lt;/strong&gt;, то &lt;strong&gt;ProxMox&lt;/strong&gt; посылает ей ACPI-команду “выключись” и терпеливо ждет когда гостевая система остановится. &lt;br/&gt;

&lt;strong&gt;“Stop”&lt;/strong&gt; без лишних вопросов завершает kvm-процесс. При этом гостевая машина выключается “некорректно” (с точки зрения ОС - ей внезапно вырубили питание).&lt;br/&gt;

&lt;br/&gt;

Так что лучше без особой нужды кнопкой &lt;strong&gt;“Stop”&lt;/strong&gt; не пользоваться, а давить на &lt;strong&gt;“Shutdown”&lt;/strong&gt;, когда требуется остановить виртуальную машину или контейнер.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 28 Mar 2019 09:09:55 +0000</pubDate>
        </item>
        <item>
            <title>suppress_you_do_not_have_a_valid_subscription_message</title>
            <link>https://wiki.autosys.tk/proxmox/suppress_you_do_not_have_a_valid_subscription_message</link>
            <description>
&lt;p&gt;
Я использую бесплатную версию &lt;strong&gt;ProxMox 5.3.8&lt;/strong&gt; и мне захотелось убрать сообщение
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options.&lt;/pre&gt;

&lt;p&gt;
которое появляется каждый раз при входе в web-интерфейс. &lt;br/&gt;

Оказалось, что единого метода для всех версий нет. Для &lt;strong&gt;ProxMox 5.3.8&lt;/strong&gt; нашлось такое решение:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo sed -i.bak &amp;#039;s/NotFound/Active/g&amp;#039; /usr/share/perl5/PVE/API2/Subscription.pm &amp;amp;&amp;amp; sudo systemctl restart pveproxy.service&lt;/pre&gt;

&lt;p&gt;
или еще вот: &lt;a href=&quot;https://gist.github.com/zentavr/f95194d99b7859a1de3d60c9c5a2e903&quot; class=&quot;urlextern&quot; title=&quot;https://gist.github.com/zentavr/f95194d99b7859a1de3d60c9c5a2e903&quot; rel=&quot;ugc nofollow&quot;&gt;https://gist.github.com/zentavr/f95194d99b7859a1de3d60c9c5a2e903&lt;/a&gt;
&lt;/p&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>turnkey-dokuwiki-active-directory2</title>
            <link>https://wiki.autosys.tk/proxmox/turnkey-dokuwiki-active-directory2</link>
            <description>
&lt;p&gt;
Сначала надо поставить модуль &lt;strong&gt;php&lt;/strong&gt; для аутентификации в &lt;strong&gt;ldap&lt;/strong&gt;:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get install php5-ldap&lt;/pre&gt;

&lt;p&gt;
Надо отредактировать два файла.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Первый - &lt;strong&gt;/etc/dokuwiki/local.protected.php&lt;/strong&gt;. Тут важно правильно закоментировать строки с выбором шифрования - &lt;strong&gt;SSL&lt;/strong&gt; или &lt;strong&gt;TLS&lt;/strong&gt;. &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;?php

  $conf[&amp;#039;useacl&amp;#039;]         = 1;
  $conf[&amp;#039;disableactions&amp;#039;] = &amp;#039;register&amp;#039;;
  $conf[&amp;#039;authtype&amp;#039;]       = &amp;#039;ad&amp;#039;;
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ad&amp;#039;][&amp;#039;account_suffix&amp;#039;]     = &amp;#039;@cot.local&amp;#039;;
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ad&amp;#039;][&amp;#039;base_dn&amp;#039;]            = &amp;#039;DC=cot,DC=local&amp;#039;;
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ad&amp;#039;][&amp;#039;domain_controllers&amp;#039;] = &amp;#039;dc1.cot.local&amp;#039;;

 $conf[&amp;#039;auth&amp;#039;][&amp;#039;ad&amp;#039;][&amp;#039;ad_username&amp;#039;]        = &amp;#039;domain_admin_login&amp;#039;;
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ad&amp;#039;][&amp;#039;ad_password&amp;#039;]        = &amp;#039;domain_admin_pass&amp;#039;;
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ad&amp;#039;][&amp;#039;sso&amp;#039;]                = 1;
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ad&amp;#039;][&amp;#039;real_primarygroup&amp;#039;]  = 1;
#  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ad&amp;#039;][&amp;#039;use_ssl&amp;#039;]            = 1;
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ad&amp;#039;][&amp;#039;use_tls&amp;#039;]            = 1;
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ad&amp;#039;][&amp;#039;debug&amp;#039;]              = 1;
  $conf[&amp;#039;auth&amp;#039;][&amp;#039;ad&amp;#039;][&amp;#039;recursive_groups&amp;#039;]   = 1;

$conf[&amp;#039;manager&amp;#039;]   = &amp;#039;@domain_group&amp;#039;;
$conf[&amp;#039;superuser&amp;#039;] = &amp;#039;@domain_group&amp;#039;;&lt;/pre&gt;

&lt;p&gt;
И второй - &lt;strong&gt;/usr/share/dokuwiki/inc/adLDAP.php&lt;/strong&gt; - надо заполнить значения параметров в разделе &lt;strong&gt;class adLDAP&lt;/strong&gt;. В реальном файле много каментов.&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;class adLDAP {

    protected $_account_suffix = &amp;quot;@cot.local&amp;quot;;
    protected $_base_dn = &amp;quot;DC=cot,DC=local&amp;quot;;
    protected $_domain_controllers = array (&amp;quot;dc1.cot.local&amp;quot;);
    protected $_ad_username=domain_admin_login;
    protected $_ad_password=domain_admin_pass;
    protected $_real_primarygroup=true;
    protected $_use_ssl=false;
    protected $_use_tls=false;&lt;/pre&gt;

&lt;p&gt;
Ошибки смотреть в файле &lt;strong&gt; /var/log/apache2/error.log&lt;/strong&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
После внесения изменений надо перезапустить вебсервер. В данном случае - &lt;strong&gt;apache&lt;/strong&gt;:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;service apache2 restart&lt;/pre&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>turnkey-linux-fileserver-включение-в-ad</title>
            <link>https://wiki.autosys.tk/proxmox/turnkey-linux-fileserver-%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-ad</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;присоединение_turnkey_linux_fileserver_к_домену_ad&quot;&gt;Присоединение Turnkey Linux Fileserver к домену AD&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 Turnkey Linux Fileserver \u043a \u0434\u043e\u043c\u0435\u043d\u0443 AD&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435_turnkey_linux_fileserver_\u043a_\u0434\u043e\u043c\u0435\u043d\u0443_ad&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-84&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;зависимости&quot;&gt;Зависимости&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get update &amp;amp;&amp;amp; apt-get install winbind krb5-user ntpdate samba-common-bin&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;85-212&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;конфигурационные_файлы&quot;&gt;Конфигурационные файлы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Регистр символов имеет значение!&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
/etc/hosts&lt;br/&gt;

 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;192.168.1.88    dc1.cot.local   dc1
192.168.1.53     torrentserver&lt;/pre&gt;

&lt;p&gt;
/etc/krb5.conf&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[logging]
 default = FILE:/var/log/kerberos/krb5libs.log
 kdc = FILE:/var/log/kerberos/krb5kdc.log
 admin_server = FILE:/var/log/kerberos/kadmind.log

[libdefaults]
ticket_lifetime = 24000
default_realm = COT.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
kdc_req_checksum_type = 2
checksum_type = 2
ccache_type = 1
forwardable = true
proxiable = true

[realms]
COT.LOCAL = {
 kdc = 192.168.1.88
 admin_server = 192.168.1.88
 default_domain = COT.LOCAL
}

[domain_realm]
.COT.LOCAL = COT.LOCAL

[pam]
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false

[login]
krb4_convert = false
krb4_get_tickets = false&lt;/pre&gt;

&lt;p&gt;
/etc/samba/smb.conf&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[global]
workgroup = COT
realm = COT.LOCAL
preferred master = no
security = ads
encrypt passwords = true
password server = 192.168.1.88
winbind separator = /
idmap uid = 10000-20000
idmap gid = 10000-20000
client use spnego = true
auth methods = winbind
winbind use default domain = yes
winbind uid = 10000-15000
winbind gid = 10000-15000
winbind enum users = yes
winbind enum groups = yes
netbios name = TORRENTSERVER
server string = Cottage File Server
dos charset = UTF-8
unix charset = UTF-8
display charset = UTF-8

 os level = 20
 passdb backend = tdbsam
 null passwords = yes
 admin users = root
 obey pam restrictions = yes
 pam password change = yes
 unix password sync = yes
 passwd program = /usr/bin/passwd %u
 passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

 add user script = /usr/sbin/useradd -m &amp;#039;%u&amp;#039; -g users -G users
 delete user script = /usr/sbin/userdel -r &amp;#039;%u&amp;#039;
 add group script = /usr/sbin/groupadd &amp;#039;%g&amp;#039;
 delete group script = /usr/sbin/groupdel &amp;#039;%g&amp;#039;
 add user to group script = /usr/sbin/usermod -G &amp;#039;%g&amp;#039; &amp;#039;%u&amp;#039;
 guest account = nobody
 
 map to guest = Bad Password

 syslog = 0
 log file = /var/log/samba/samba.log
 max log size = 1000
 wins support = yes
 dns proxy = no
 socket options = TCP_NODELAY
 panic action = /usr/share/samba/panic-action %d

[Distr]
        read list = nobody
        writeable = yes
        public = yes
        path = /mnt/distr/
        write list = Mike

[allstuff]
        read list = nobody
        writeable = yes
        public = yes
        path = /mnt/allstuff/
        write list = Mike&lt;/pre&gt;

&lt;p&gt;
 &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
/etc/nsswitch.conf&lt;br/&gt;

 first 3 lines are most important, other vary according to the system&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference&amp;#039; and `info&amp;#039; packages installed, try:
# `info libc &amp;quot;Name Service Switch&amp;quot;&amp;#039; for information about this file.
passwd:     compat winbind
shadow:     compat winbind
group:       compat winbind&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;&lt;/pre&gt;

&lt;p&gt;
/etc/pam.d/passwd&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;password    sufficient    pam_winbind.so
password    required     pam_unix.so

auth           include      system-auth
account      include      system-auth
password    include      system-auth
#
# The PAM configuration file for the Shadow `passwd&amp;#039; service
#

@include common-password&lt;/pre&gt;

&lt;p&gt;
/etc/pam.d/common-account&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;account required        pam_access.so
account sufficient      pam_winbind.so
account required        pam_unix.so

#
# /etc/pam.d/common-account - authorization settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authorization modules that define
# the central access policy for use on the system.  The default is to
# only deny service to users whose accounts are expired in /etc/shadow.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.
#

# here are the per-package modules (the &amp;quot;Primary&amp;quot; block)
account [success=2 new_authtok_reqd=done default=ignore]        pam_unix.so
account [success=1 new_authtok_reqd=done default=ignore]        pam_winbind.so
# here&amp;#039;s the fallback if no module succeeds
account requisite                       pam_deny.so
# prime the stack with a positive return value if there isn&amp;#039;t one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
account required                        pam_permit.so
# and here are more per-package modules (the &amp;quot;Additional&amp;quot; block)
# end of pam-auth-update config
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435_\u0444\u0430\u0439\u043b\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;213-5036&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;синхронизация_времени_с_ad&quot;&gt;Синхронизация времени с AD&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
kerberos is dependent on “the clock”&lt;br/&gt;

its recommended to sync with the active directory&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dpkg-reconfigure tzdata&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt; ntpdate ad.example.com&lt;/pre&gt;

&lt;p&gt;
gotcha: on win2ksrv the ntp server is disabled (use regedit)&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
System Key: &lt;a href=&quot;https://wiki.autosys.tk/proxmox/hkey_local_machine_system_currentcontrolset_services_w32time_parameters&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:hkey_local_machine_system_currentcontrolset_services_w32time_parameters&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:hkey_local_machine_system_currentcontrolset_services_w32time_parameters&quot;&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters&lt;/a&gt;&lt;br/&gt;

Value Name: LocalNTP&lt;br/&gt;

Data Type: REG_DWORD (DWORD Value)&lt;br/&gt;

Value Data: (0 = disabled, 1 = enabled)&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
tips:&lt;br/&gt;

 - timezones are calculated, including daylight saving&lt;br/&gt;

 - ntp is 123/udp&lt;br/&gt;

 - win2ksrv will deny NTP service if its clock hasn&amp;#039;t sync&amp;#039;ed with a&lt;br/&gt;

 NTP server in a while&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
 net (stop|start) w32time&lt;br/&gt;

 net time /setsntp:pool.ntp.org&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
 - ntpdate -d (debug)&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441 AD&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f_\u0432\u0440\u0435\u043c\u0435\u043d\u0438_\u0441_ad&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;5037-5792&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;перезапуск_служб&quot;&gt;Перезапуск служб&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Опытным путем установлено, что winbind надо запускать перед samba, хотя документация утверждает обратное.&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0441\u043b\u0443\u0436\u0431&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a_\u0441\u043b\u0443\u0436\u0431&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;5793-6021&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;аутентификация_kerberos&quot;&gt;Аутентификация kerberos&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;kinit Administrator@EXAMPLE.COM&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0410\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f kerberos&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f_kerberos&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;6022-6116&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;присоединение_к_домену&quot;&gt;Присоединение к домену&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;net ads join -U Administrator -S ad.example.com&lt;/pre&gt;

&lt;p&gt;
- its recommended to change the Administrator password on win2k after&lt;br/&gt;

 first joining (regenerates the kerberos settings or something, not&lt;br/&gt;

 sure…)&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043a \u0434\u043e\u043c\u0435\u043d\u0443&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435_\u043a_\u0434\u043e\u043c\u0435\u043d\u0443&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;6117-6388&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;автоматизируем_вход&quot;&gt;Автоматизируем вход&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Запускаем kutil. Она позволит создать keytab - файл, в котором будут храниться данные для входа.&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;gt; ktutil 
ktutil: addent -password -p username@ADS.IU.EDU -k 1 -e rc4-hmac
Password for username@ADS.IU.EDU: [enter your password] 
ktutil: addent -password -p username@ADS.IU.EDU -k 1 -e aes256-cts 
Password for username@ADS.IU.EDU: [enter your password] 
ktutil: wkt username.keytab 
ktutil: quit&lt;/pre&gt;

&lt;p&gt;
username.keytab - это имя файла, созданного в текущей директории, в котором хранятся данные для входа.&lt;br/&gt;

Сам вход:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;kinit -k -t username.keytab username@ADS.IU.EDU&lt;/pre&gt;

&lt;p&gt;
Чтобы все правильно работало в rc.local лучше всего дописать так:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/etc/init.d/winbind stop &amp;amp;&amp;amp; /etc/init.d/samba stop &amp;amp;&amp;amp; /etc/init.d/winbind start &amp;amp;&amp;amp; /etc/init.d/samba start &amp;amp;&amp;amp;
kinit -k -t username.keytab username@ADS.IU.EDU&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0432\u0445\u043e\u0434&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u0443\u0435\u043c_\u0432\u0445\u043e\u0434&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;6389-7460&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;проверка&quot;&gt;Проверка&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;# smbclient -k -L nas.example.com

# wbinfo -u

EXAMPLE+administrator
EXAMPLE+guest
EXAMPLE+tsinternetuser
EXAMPLE+iusr_ad
EXAMPLE+iwam_ad
EXAMPLE+krbtgt

# wbinfo -g
BUILTIN+administrators
BUILTIN+users
EXAMPLE+domain computers
EXAMPLE+domain controllers
EXAMPLE+schema admins
EXAMPLE+enterprise admins
EXAMPLE+cert publishers
EXAMPLE+domain admins
EXAMPLE+domain users
EXAMPLE+domain guests
EXAMPLE+group policy creator owners
EXAMPLE+dnsupdateproxy&lt;/pre&gt;

&lt;p&gt;
и контролируем его работу:&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
команда &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;wbinfo -p&lt;/pre&gt;

&lt;p&gt;
 &lt;br/&gt;

должна вернуть:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;#039;ping&amp;#039; to winbindd succeeded&lt;/pre&gt;

&lt;p&gt;
команда &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;wbinfo -t &lt;/pre&gt;

&lt;p&gt;
должна вернуть:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;checking the trust secret via RPC calls succeeded&lt;/pre&gt;

&lt;p&gt;
Если это не так, заглядываем в логи winbind и разбираемся в чем дело.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Еще сообщают вот что:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;основное:
1) net ads join -U administrator
2) kinit username@REALM
3) раз в пол часа cron должен запускаь скрипт с простой коммандой
# net ads join -U administrator%password
,как говорят это особенность реализации, иначе просто ресурсы на smb linux машине не будут доступны тем пользователям которым открыт доступ к шарам на ней.

/etc/crontab содержит -&amp;gt;
20 * * * * root /etc/samba/chk-ad.sh&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:15,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;7461-9019&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;добавление_пользователей_из_ad_в_локальные_группы&quot;&gt;Добавление пользователей из AD  в локальные группы&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
В разделе &lt;strong&gt;&lt;a href=&quot;https://wiki.autosys.tk/proxmox/global&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:global&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:global&quot;&gt;global&lt;/a&gt; в smb.conf&lt;/strong&gt; был указан параметр &lt;strong&gt;username map = /etc/samba/smbusers&lt;/strong&gt;. Данный параметр очень удобен, т.к. позволяет присоединить пользователей Windows к локальным пользователям UNIX. Например, можно назначить root&amp;#039;ом Вашего пользователя в домене и управлять всеми общими ресурсами с полными правами:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;root@samba:~# cat /etc/samba/smbusers
root = AD^domain_admin&lt;/pre&gt;

&lt;p&gt;
При внесении доменных пользователей в данный файл необходимо указывать полное имя в независимости от параметра winbind use default domain. Так же, возможно указать несколько пользователей или доменную группу разделенные пробелами.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Для сопоставления доменных групп по-умолчанию (т.е. таких как &lt;strong&gt;Domain Admins&lt;/strong&gt;, &lt;strong&gt;Domain Users&lt;/strong&gt; и др, которые создаются в SAMBA автоматом, их еще можно просмотреть командой &lt;strong&gt;net groupmap list&lt;/strong&gt; или&lt;strong&gt; getent group&lt;/strong&gt;) и групп UNIX, необходимо выполнить:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;net groupmap add ntgroup=&amp;quot;COT.LOCAL/Users&amp;quot; unixgroup=users

# net groupmap modify ntgroup=&amp;quot;Domain_Group&amp;quot; unixgroup=namegroup&lt;/pre&gt;

&lt;p&gt;
Для сопоставления новых доменных групп и групп UNIX, необходимо выполнить:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;$ # добавление новой группы
$ net rpc group add &amp;quot;NewGroup&amp;quot;
$ # сопоставление групп
$ net groupmap modify ntgroup=&amp;quot;NewGroup&amp;quot; unixgroup=newunixG&lt;/pre&gt;

&lt;p&gt;
При этом, сопоставление сохраняется в одном из tdb файлов SAMBA.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Но! username map не работает, если в конфиге SAMBA на ресурс задан параметр &lt;strong&gt;valid users&lt;/strong&gt; и пользователь, указанный в файле &lt;strong&gt;username map&lt;/strong&gt; не входит в членов параметра &lt;strong&gt;valiud users&lt;/strong&gt;. Чтобы обойти эту проблему, необходимо указать параметр &lt;strong&gt;admin users&lt;/strong&gt;, который синтаксически аналогичен valid users, и определяет указанному пользователю работать с ресурсом в качестве пользователя root.&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0438\u0437 AD  \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0433\u0440\u0443\u043f\u043f\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435_\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439_\u0438\u0437_ad_\u0432_\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435_\u0433\u0440\u0443\u043f\u043f\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:21,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;9020-11760&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;раздача_прав_на_папки&quot;&gt;Раздача прав на папки.&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Есть два варианта раздачи прав - стандартная девятибитная rwx система UNIX и система принятая в Windows - &lt;abbr title=&quot;Access Control List&quot;&gt;ACL&lt;/abbr&gt;.&lt;br/&gt;

Для использования &lt;abbr title=&quot;Access Control List&quot;&gt;ACL&lt;/abbr&gt; файловую систему надо монтировать с параметром acl.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Для того чтобы с &lt;abbr title=&quot;Access Control List&quot;&gt;ACL&lt;/abbr&gt; все работало правильно делаем так:&lt;br/&gt;

Добавляем группу в список доступа (названия групп смотрим в wbinfo -g):&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;setfacl -m g:&amp;#039;пользователи домена&amp;#039;:rw /var/lib/vz/shared/files/exchange/&lt;/pre&gt;

&lt;p&gt;
даем группе права:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;setfacl -m group::rx /var/lib/vz/shared/files/exchange/&lt;/pre&gt;

&lt;p&gt;
Если дать права только &lt;strong&gt;group::r&lt;/strong&gt;, то не будет читаться каталог. Поэтому надо давать &lt;strong&gt;group::rx&lt;/strong&gt;&lt;br/&gt;

 Сбросить все права &lt;abbr title=&quot;Access Control List&quot;&gt;ACL&lt;/abbr&gt; можно командой &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;setfacl --remove-all /var/lib/vz/shared/files/exchange/&lt;/pre&gt;

&lt;p&gt;
Для работы с поддиректориями и вложенными файлами надо использовать ключ -R, но указывать его надо перед -m&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Например, настраиваем чтобы в папку &lt;strong&gt;/var/lib/vz/shared/files/exchange/&lt;/strong&gt; могли писать все, но не могли читать, а для пользователей владельцев папок сделаем разрешения и на чтение:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;setfacl -R --remove-all /var/lib/vz/shared/files/exchange/ &amp;amp;&amp;amp;
setfacl -R -m g:&amp;#039;пользователи домена&amp;#039;:wx /var/lib/vz/shared/files/exchange/ &amp;amp;&amp;amp;
setfacl -R -m group::wx /var/lib/vz/shared/files/exchange/ &amp;amp;&amp;amp;&lt;/pre&gt;

&lt;p&gt;
Права по-умолчанию применяемые к вновь создаваемым файлам:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;setfacl -R -m default:user:van:rwx /var/lib/vz/shared/files/exchange/van/&lt;/pre&gt;

&lt;p&gt;
Дальше даем конкретным пользователям права:&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
setfacl -R -m user:van:rwx /var/lib/vz/shared/files/exchange/van/&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Тут все просто. Раздавайте себе права на уровне Юникса, но прописывайте сразу доменных юзеров и группы. Например,&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;chown FC\JackSoft DiskK
chown :FC\Domain Admins ForAdmins&lt;/pre&gt;

&lt;p&gt;
и т.д.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Или с использованием &lt;abbr title=&quot;Access Control List&quot;&gt;ACL&lt;/abbr&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Для групп&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; setfacl  -m  g:&amp;quot;domain users&amp;quot;:r-x /c/install&lt;/pre&gt;

&lt;p&gt;
Для пользователей&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;   setfacl  -m  u:&amp;quot;admin&amp;quot;:rwx /c/install&lt;/pre&gt;

&lt;p&gt;
Да и еще, у тебя включены директивы наследования не забудь про них&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0430\u0437\u0434\u0430\u0447\u0430 \u043f\u0440\u0430\u0432 \u043d\u0430 \u043f\u0430\u043f\u043a\u0438.&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0430\u0437\u0434\u0430\u0447\u0430_\u043f\u0440\u0430\u0432_\u043d\u0430_\u043f\u0430\u043f\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:24,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;11761-14604&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;вход_доменных_пользователей_в_linux&quot;&gt;Вход доменных пользователей в linux&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
ЧТобы можно было менять права на папки из проводника Windows надо чтобы пользователи домена логинились в линукс.&lt;br/&gt;

Для этого:&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
 &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0412\u0445\u043e\u0434 \u0434\u043e\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 linux&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0432\u0445\u043e\u0434_\u0434\u043e\u043c\u0435\u043d\u043d\u044b\u0445_\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439_\u0432_linux&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:32,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;14605-14905&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit13&quot; id=&quot;файлetcpamdcommon-account&quot;&gt;Файл  /etc/pam.d/common-account&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;account sufficient pam_winbind.so
account required pam_unix.so&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0424\u0430\u0439\u043b  \/etc\/pam.d\/common-account&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0444\u0430\u0439\u043betcpamdcommon-account&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:32,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;14906-15025&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit14&quot; id=&quot;файлetcpamdcommon-auth&quot;&gt;Файл  /etc/pam.d/common-auth&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;auth sufficient pam_winbind.so
auth required pam_unix.so use_first_pass&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0424\u0430\u0439\u043b  \/etc\/pam.d\/common-auth&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0444\u0430\u0439\u043betcpamdcommon-auth&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:33,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;15026-15150&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit15&quot; id=&quot;файлetcpamdcommon-session&quot;&gt;Файл  /etc/pam.d/common-session&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session sufficient pam_winbind.so
session required pam_unix.so&lt;/pre&gt;

&lt;p&gt;
Для того чтобы работали права доступа из Windows и можно было менять права на папки из проводника  надо раздел, на котором лежит шара монтировать с с опцией acl&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0424\u0430\u0439\u043b  \/etc\/pam.d\/common-session&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0444\u0430\u0439\u043betcpamdcommon-session&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:34,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;15151-15616&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit16&quot; id=&quot;пример_файлаetcfstab&quot;&gt;пример файла /etc/fstab&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;# &amp;lt;file system&amp;gt; &amp;lt;mount point&amp;gt; &amp;lt;type&amp;gt; &amp;lt;options&amp;gt; &amp;lt;dump&amp;gt; &amp;lt;pass&amp;gt;
/dev/pve/root / ext3 errors=remount-ro 0 1

/dev/pve/data /var/lib/vz ext3 defaults,acl 0 1

/dev/md0 /boot ext3 defaults 0 1
/dev/pve/swap none swap sw 0 0
proc /proc proc defaults 0 0&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u043f\u0440\u0438\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \/etc\/fstab&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u0438\u043c\u0435\u0440_\u0444\u0430\u0439\u043b\u0430etcfstab&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:35,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;15617-15920&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit17&quot; id=&quot;русские_символы_в_именах&quot;&gt;Русские символы в именах&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для того чтобы работали русские символы в именах нужно правильно прописать ресурсы в файле /etc/samba/smbd.conf. У меня получалось правильно прописывать так:&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Устанавливал локаль RU.UTF-8 с помощью:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dpkg-reconfigure locales&lt;/pre&gt;

&lt;p&gt;
 Потом в свойствах сесии putty тоже устанавливал Window→Translation→UTF-8&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Потом оформлял файл в блокноте и потом просто в nano - копировать-вставить… Nano почему-то не работает с UTF-8… Говорят надо перекомпилить…&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Или просто расшаривал /etc/samba/ и Блокнотом правил smbd.conf  - блокнот делает все идеально :) &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0443\u0441\u0441\u043a\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0432 \u0438\u043c\u0435\u043d\u0430\u0445&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0443\u0441\u0441\u043a\u0438\u0435_\u0441\u0438\u043c\u0432\u043e\u043b\u044b_\u0432_\u0438\u043c\u0435\u043d\u0430\u0445&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:36,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;15921-16883&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit18&quot; id=&quot;пользователи_из_active_directory_в_ajaxplorer&quot;&gt;Пользователи из Active Directory в ajaxplorer&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Для того чтобы увидеть пользователей из Active Directory в ajaxplorer есть плагин auth.ldap.&lt;br/&gt;

Сначала надо установить поддержку LDAP для php:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get install php5-ldap&lt;/pre&gt;

&lt;p&gt;
ПОтом редактируем файл с настройками плагинов:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nano /var/www/ajaxplorer/plugins/auth.ldap/class.ldapAuthDriver.php&lt;/pre&gt;

&lt;p&gt;
Раздел &lt;strong&gt;“AUTH_DRIVER”&lt;/strong&gt; целиком комментируем и заменяем на:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;quot;AUTH_DRIVER&amp;quot; =&amp;gt; array(
        &amp;quot;NAME&amp;quot; =&amp;gt; &amp;quot;multi&amp;quot;,
        &amp;quot;OPTIONS&amp;quot; =&amp;gt; array(
                &amp;quot;MODE&amp;quot;=&amp;gt; &amp;quot;MASTER_SLAVE&amp;quot;,
                &amp;quot;MASTER_DRIVER&amp;quot; =&amp;gt; &amp;quot;ldap&amp;quot;,
                &amp;quot;SLAVE_DRIVER&amp;quot; =&amp;gt; &amp;quot;serial&amp;quot;,
                &amp;quot;USER_BASE_DRIVER1&amp;quot; =&amp;gt; &amp;quot;ldap&amp;quot;,
                &amp;quot;USER_BASE_DRIVER2&amp;quot; =&amp;gt; &amp;quot;serial&amp;quot;,
                &amp;quot;TRANSMIT_CLEAR_PASS&amp;quot; =&amp;gt; true,
                &amp;quot;USER_ID_SEPARATOR&amp;quot; =&amp;gt; &amp;quot;_-_&amp;quot;,
                        &amp;quot;DRIVERS&amp;quot; =&amp;gt; array(
                                &amp;quot;serial&amp;quot; =&amp;gt; array(
                                        &amp;quot;LABEL&amp;quot; =&amp;gt; &amp;quot;Local&amp;quot;,
                                        &amp;quot;NAME&amp;quot; =&amp;gt; &amp;quot;serial&amp;quot;,
                                        &amp;quot;OPTIONS&amp;quot; =&amp;gt; array(
                                                &amp;quot;LOGIN_REDIRECT&amp;quot; =&amp;gt; false,
                                                &amp;quot;USERS_FILEPATH&amp;quot; =&amp;gt; &amp;quot;AJXP_DATA_PATH/plugins/auth.serial/users.ser&amp;quot;,
                                                &amp;quot;AUTOCREATE_AJXPUSER&amp;quot; =&amp;gt; true,
                                                &amp;quot;TRANSMIT_CLEAR_PASS&amp;quot; =&amp;gt; true,
                                        ),
                                ),
/*configure:
&amp;quot;ip&amp;quot;&amp;#039;: the ip or 1.2.com (domain name)
&amp;quot;userorganisationalunit&amp;quot;: the OU that you have your users in (will automaticly read sub OU&amp;#039;s)
&amp;quot;admin&amp;quot;: the admin&amp;#039;s name
&amp;quot;adminou&amp;quot;: the OU of your admin (yes CN is correct infront of it)
&amp;quot;adminpassword&amp;quot;: your admins password

you may remove all &amp;quot;&amp;quot;
*/
                                &amp;quot;ldap&amp;quot; =&amp;gt; array(
                                        &amp;quot;LABEL&amp;quot; =&amp;gt; &amp;quot;BLUESLATE&amp;quot;,
                                        &amp;quot;NAME&amp;quot; =&amp;gt; &amp;quot;ldap&amp;quot;,
                                        &amp;quot;OPTIONS&amp;quot; =&amp;gt; array(
                                                &amp;quot;LDAP_URL&amp;quot; =&amp;gt; &amp;#039;ldap://&amp;quot;ip&amp;quot;&amp;#039;,
                                                &amp;quot;LDAP_PORT&amp;quot; =&amp;gt; &amp;#039;389&amp;#039;,
                                                &amp;quot;LDAP_USERATTR&amp;quot; =&amp;gt; &amp;#039;sAmAccountName&amp;#039;,
                                                &amp;quot;LDAP_DN&amp;quot; =&amp;gt; &amp;#039;OU=&amp;quot;userorganisationalunit&amp;quot;,DC=&amp;quot;yourdomain&amp;quot;,DC=&amp;quot;com&amp;quot;&amp;#039;,
                                                &amp;quot;LDAP_FILTER&amp;quot; =&amp;gt; &amp;#039;objectClass=user&amp;#039;,
                                                &amp;quot;LDAP_USER&amp;quot; =&amp;gt; &amp;#039;CN=&amp;quot;admin&amp;quot;,OU=&amp;quot;adminou&amp;quot;,DC=&amp;quot;yourdomain&amp;quot;,DC=&amp;quot;com&amp;quot;&amp;#039;,
                                                &amp;quot;LDAP_PASSWORD&amp;quot; =&amp;gt; &amp;#039;&amp;quot;adminpassword&amp;quot;&amp;#039;,
                                                &amp;quot;LOGIN_REDIRECT&amp;quot; =&amp;gt; false,
                                                &amp;quot;AUTOCREATE_AJXPUSER&amp;quot; =&amp;gt; true,
                                                &amp;quot;TRANSMIT_CLEAR_PASS&amp;quot; =&amp;gt; true,
                                        ),
                                ),
                        ),
                ),
        ),&lt;/pre&gt;

&lt;p&gt;
Тут задаются параметры:&lt;br/&gt;

“ip”&amp;#039;: адрес контроллера домена (не обязательно IP)&lt;br/&gt;

“userorganisationalunit”: подразделение (OU) в котором находятся импортируемые пользователи&lt;br/&gt;

“admin”: логин админа&lt;br/&gt;

“adminou”: OU админа (указание CN обязательно)&lt;br/&gt;

“adminpassword”: пароль админа&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Кавычки бывает нужно убрать, но не обязательно.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Узнать так называемые Distinguished Names можно в на машине с Windows запросом:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dsquery user&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u0438\u0437 Active Directory \u0432 ajaxplorer&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438_\u0438\u0437_active_directory_\u0432_ajaxplorer&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:37,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;16884-20822&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit19&quot; id=&quot;квотирование_диска&quot;&gt;Квотирование диска.&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Квоты раздаются на уровне ОС FreeBSD в файле /etc/fstab:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b none swap sw 0 0
/dev/ad0s1a / ufs rw 1 1
/dev/ad0s1f /home ufs rw,userquota,groupquota
/dev/ad0s1e /usr ufs rw 2 2
/dev/ad0s1d /var ufs rw 2 2
/dev/acd0 /cdrom cd9660 ro,noauto 0 0
/dev/ad2s1d /home/mounted/diskq ufs rw,userquota,groupquota
/dev/ad2s1e /home/mounted/diskx ufs rw,userquota,groupquota&lt;/pre&gt;

&lt;p&gt;
проверяем работает ли квота:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;quota -v&lt;/pre&gt;

&lt;p&gt;
, а уже потом создаются/меняются для группы и ли пользователя:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;edquota FC\JackSoft
man edquota&lt;/pre&gt;

&lt;p&gt;
редактируем тектстовый файл и записываем его.&lt;br/&gt;

Все квота изменена.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
P.S. Установленная система так работает уже пол-года. Скорость файлового сервера на Юниксе на порядок выше чем тот же сервак на Винде. Дело стоит заморочек с переносом. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u0432\u043e\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0438\u0441\u043a\u0430.&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u0432\u043e\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435_\u0434\u0438\u0441\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:41,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;20823-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>unknown_device_acpi_qemuvgid</title>
            <link>https://wiki.autosys.tk/proxmox/unknown_device_acpi_qemuvgid</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;неизвестное_устройство_в_win7win2008&quot;&gt;Неизвестное устройство в Win7/Win2008&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
После установки все устройств в виртуальных машинах &lt;strong&gt;Windows 7&lt;/strong&gt; и &lt;strong&gt;Windows 2008R2&lt;/strong&gt; остается одно неизвестное устройство без драйвера с &lt;strong&gt;Hardware ID - ACPI\QEMUVGID&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432 Win7\/Win2008&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435_\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e_\u0432_win7win2008&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-337&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;что_это&quot;&gt;Что это?&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Это устройство необходимо для генерации идентификатора виртуальной машины, а для правильной работы этого устройства нужно установить вот что: &lt;a href=&quot;https://support.microsoft.com/en-us/help/3071740/hyper-v-integration-components-update-for-windows-virtual-machines-tha&quot; class=&quot;urlextern&quot; title=&quot;https://support.microsoft.com/en-us/help/3071740/hyper-v-integration-components-update-for-windows-virtual-machines-tha&quot; rel=&quot;ugc nofollow&quot;&gt;https://support.microsoft.com/en-us/help/3071740/hyper-v-integration-components-update-for-windows-virtual-machines-tha&lt;/a&gt; &lt;br/&gt;

Для &lt;strong&gt;Win7_x64/Win2008_R2&lt;/strong&gt; - скачал к себе: &lt;a href=&quot;https://wiki.autosys.tk/_media/proxmox/windows6.x-hypervintegrationservices-x64.cab&quot; class=&quot;media mediafile mf_cab&quot; title=&quot;proxmox:windows6.x-hypervintegrationservices-x64.cab (683.6 KB)&quot;&gt;windows6.x-hypervintegrationservices-x64.cab&lt;/a&gt; &lt;br/&gt;

Установить вот так:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Dism /online /Add-Package /PackagePath:C:\packages\package.cab&lt;/pre&gt;

&lt;p&gt;
В результате установится драйвер.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0427\u0442\u043e \u044d\u0442\u043e?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0447\u0442\u043e_\u044d\u0442\u043e&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;338-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 14 Nov 2019 06:25:44 +0000</pubDate>
        </item>
        <item>
            <title>vnc-в-контейнере-openvz</title>
            <link>https://wiki.autosys.tk/proxmox/vnc-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B5-openvz</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;проверено_на_debian_60_openvz_template&quot;&gt;Проверено на Debian 6.0 OpenVZ template&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Устанавливаем пакеты:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get install xserver-xorg-core vnc4server kde icewm-experimental xdm&lt;/pre&gt;

&lt;p&gt;
Затем выполняем:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;echo &amp;#039;:0 /usr/bin/Xvnc /usr/bin/Xvnc -geometry 1024x768 -depth 24&amp;#039; /usr/X11R6/lib/X11/xdm/Xservers&lt;/pre&gt;

&lt;p&gt;
Перезапускаем xdm&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/etc/init.d/xdm restart&lt;/pre&gt;

&lt;p&gt;
Запускаем vncserver&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;vncserver&lt;/pre&gt;

&lt;p&gt;
При первом запуске VNC попросит пароль. Его надо задать.&lt;br/&gt;

Теперь подключаемся с помощью VNC Viewer к vnc так: &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
192.168.1.69:1&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Для того чтобы vnc запускался автоматом в &lt;strong&gt;/etc/rc.local&lt;/strong&gt; добавляем:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;su -l $USER -c &amp;quot;vncserver :0&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Вместо $USER надо написать имя пользователя, от имени которого будет запускаться VNC. &lt;br/&gt;

 &lt;br/&gt;

Соотвественно подключаться нужно так:&lt;br/&gt;

192.168.1.69:0&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Все.&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e \u043d\u0430 Debian 6.0 OpenVZ template&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e_\u043d\u0430_debian_60_openvz_template&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1088&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;ubuntu_и_gnome&quot;&gt;Ubuntu и Gnome&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Обновляем списки пакетов и ставим ubuntu-desktop, gdm и vncserver:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get update &amp;amp;&amp;amp; apt-get install ubuntu-desktop gdm vnc4server&lt;/pre&gt;

&lt;p&gt;
В процессе установки он спросит про клавиатурные раскладки и про менеджер окон - &lt;strong&gt;gdm&lt;/strong&gt; или &lt;strong&gt;lightdm&lt;/strong&gt;&lt;br/&gt;

В зависимости от того что выбрано запускаем &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;service gdm start&lt;/pre&gt;

&lt;p&gt;
или&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;service lightdm start&lt;/pre&gt;

&lt;p&gt;
Затем запускаем сам vncserver. При первом запуске он попросит задать пароль.&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;vncserver :1 -geometry 1024x768 -depth 16 -pixelformat rgb565&lt;/pre&gt;

&lt;p&gt;
Отредактируем файл&lt;strong&gt; ~/.vnc/xstartup&lt;/strong&gt;&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;nano ~/.vnc/xstartup&lt;/pre&gt;

&lt;p&gt;
В самый конец допишем строку &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;gnome-session &amp;amp;&lt;/pre&gt;

&lt;p&gt;
Для автоматического старта vncserver после каждой перезагрузки добавим в &lt;strong&gt;/etc/rc.local&lt;/strong&gt; перед &lt;strong&gt;exit 0&lt;/strong&gt; строку:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;su -l $USER -c &amp;quot;vncserver :1 -geometry 1024x768 -depth 16 -pixelformat rgb565&amp;quot;&lt;/pre&gt;

&lt;p&gt;
Вместо &lt;strong&gt;$USER&lt;/strong&gt; надо написать имя пользователя, от имени которого будет запускаться &lt;strong&gt;VNC&lt;/strong&gt;. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Все.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Ubuntu \u0438 Gnome&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ubuntu_\u0438_gnome&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1089-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>windows10_windows2016_restart_boot_loop_stuck_on_proxmox_splashscreen</title>
            <link>https://wiki.autosys.tk/proxmox/windows10_windows2016_restart_boot_loop_stuck_on_proxmox_splashscreen</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;проблема&quot;&gt;Проблема&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
В наличии имеются виртуальные машины &lt;strong&gt;Windows 10&lt;/strong&gt; и &lt;strong&gt;Windows Server 2016&lt;/strong&gt; на хосте &lt;strong&gt;Proxmox 5.2.1&lt;/strong&gt;. &lt;br/&gt;

Машины нормально загружаются и работают. &lt;br/&gt;

При попытке программной перезагрузки машины (например, в результате установки обновлений) работа ОС нормально завершается, но загрузиться она не может - зацикливается на заставке &lt;strong&gt;proxmox&lt;/strong&gt;. &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-606&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;решение&quot;&gt;Решение&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
В моем случае - у виртуальных машин тип процессора был выставлен &lt;strong&gt;host&lt;/strong&gt; и именно это мешало им нормально работать. &lt;br/&gt;

После замены в параметрах виртуалок типа CPU на дефолтный - &lt;strong&gt;kvm64&lt;/strong&gt;, всё заработало корректно. &lt;br/&gt;

Эта проблема связана с особенностями поведения некоторых (судя по всему не всех) &lt;strong&gt;CPU Intel&lt;/strong&gt;. На &lt;a href=&quot;https://forum.proxmox.com/threads/issues-with-windows-10-vm.42435/&quot; class=&quot;urlextern&quot; title=&quot;https://forum.proxmox.com/threads/issues-with-windows-10-vm.42435/&quot; rel=&quot;ugc nofollow&quot;&gt; форуме proxmox &lt;/a&gt; эта проблема описана. &lt;br/&gt;

У меня процессор - &lt;strong&gt;Intel(R) Pentium(R) Silver J5005 CPU @ 1.50GHz&lt;/strong&gt;. &lt;br/&gt;

Нужно отметить, что виртуальные машины &lt;strong&gt;Windows 7/Windows 2008R2&lt;/strong&gt; с этой проблемой не сталкиваются.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0440\u0435\u0448\u0435\u043d\u0438\u0435&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;607-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>windows_activation_using_bios_slic</title>
            <link>https://wiki.autosys.tk/proxmox/windows_activation_using_bios_slic</link>
            <description>
&lt;p&gt;
We used this: &lt;a href=&quot;https://forum.proxmox.com/threads/q-win10pro-vm-guest-install-bios-activation-key.47873/post-225013&quot; class=&quot;urlextern&quot; title=&quot;https://forum.proxmox.com/threads/q-win10pro-vm-guest-install-bios-activation-key.47873/post-225013&quot; rel=&quot;ugc nofollow&quot;&gt;https://forum.proxmox.com/threads/q-win10pro-vm-guest-install-bios-activation-key.47873/post-225013&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Активировать виртуальные машины Windows можно с помощью легитимных SLIC-таблиц, выдраных с рабочих физических машин (или скачаных в интернете).&lt;br/&gt;

Чтобы выдрать легитимные SLIC-таблицы:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
cat /sys/firmware/acpi/tables/SLIC&amp;gt; slic_table
dmidecode | grep -A8 &amp;#039;System Information&amp;#039;
&lt;/pre&gt;

&lt;p&gt;
И дальше помещаем полученную информацию в конфигурационный файл виртуалки:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;args: -acpitable file=/path/to/slic_table
smbios1: uuid=&amp;lt;UUID&amp;gt;,manufacturer=&amp;lt;manufacturer&amp;gt;,product=&amp;lt;prodcut&amp;gt;,serial=&amp;lt;serial&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Коллекцию сликов можно найти тут: &lt;a href=&quot;https://forums.mydigitallife.net/threads/oa-2-x-slic-oemcert-collection.5952/&quot; class=&quot;urlextern&quot; title=&quot;https://forums.mydigitallife.net/threads/oa-2-x-slic-oemcert-collection.5952/&quot; rel=&quot;ugc nofollow&quot;&gt;https://forums.mydigitallife.net/threads/oa-2-x-slic-oemcert-collection.5952/&lt;/a&gt; &lt;a href=&quot;https://forums.mydigitallife.net/threads/oa-2-x-slic-oemcert-collection.5952/page-53#post-514521&quot; class=&quot;urlextern&quot; title=&quot;https://forums.mydigitallife.net/threads/oa-2-x-slic-oemcert-collection.5952/page-53#post-514521&quot; rel=&quot;ugc nofollow&quot;&gt;ссылка на пост с архивом&lt;/a&gt; &lt;br/&gt;

Например. Я сделал виртуалку с Windows Server 2019 и хочу его активировать этим способом. &lt;br/&gt;

Я скачиваю архив со сликами, выбираю какой-то слик подходящей версии, например - &lt;strong&gt;DELL/2.5/&lt;/strong&gt;, копирую оттуда файлик и прописываю в конфиг следующее:
&lt;/p&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 17 May 2021 13:38:42 +0000</pubDate>
        </item>
        <item>
            <title>где-лежат-фаилы-конфигурации-виртуальных-машин</title>
            <link>https://wiki.autosys.tk/proxmox/%D0%B3%D0%B4%D0%B5-%D0%BB%D0%B5%D0%B6%D0%B0%D1%82-%D1%84%D0%B0%D0%B8%D0%BB%D1%8B-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D0%B8-%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;proxmox_5x_и_6x&quot;&gt;ProxMox 5.x и 6.x&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
В &lt;strong&gt;ProxMox 5&lt;/strong&gt; и &lt;strong&gt;6&lt;/strong&gt; файлы конфигурации контейнеров переехали в &lt;strong&gt;/etc/pve/lxc&lt;/strong&gt;. &lt;br/&gt;

А файлы конфигураций виртуальных машин в &lt;strong&gt;ProxMox 5&lt;/strong&gt; лежат в директории &lt;strong&gt;/etc/pve/qemu-server/&lt;/strong&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ProxMox 5.x \u0438 6.x&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;proxmox_5x_\u0438_6x&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-314&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;proxmox_2x&quot;&gt;Proxmox 2.x&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Файлы конфигураций машин qemu лежат в папке:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/etc/pve/nodes/proxmox/qemu-server/&lt;/pre&gt;

&lt;p&gt;
Файлы конфигураций контейнеров OpenVZ лежат в папке:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; /etc/vz/conf/&lt;/pre&gt;

&lt;p&gt;
В этих папках лежат файлы &lt;strong&gt;*.conf&lt;/strong&gt;, а в файлах лежат все параметры виртуальных машин.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Proxmox 2.x&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;proxmox_2x&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;315-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 12 Sep 2019 11:44:22 +0000</pubDate>
        </item>
        <item>
            <title>извлечение-фаилов-из-бекапов-tar-lzo</title>
            <link>https://wiki.autosys.tk/proxmox/%D0%B8%D0%B7%D0%B2%D0%BB%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%84%D0%B0%D0%B8%D0%BB%D0%BE%D0%B2-%D0%B8%D0%B7-%D0%B1%D0%B5%D0%BA%D0%B0%D0%BF%D0%BE%D0%B2-tar-lzo</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;извлечение_файлов_из_архивов_tarlzo&quot;&gt;Извлечение файлов из архивов tar.lzo&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;strong&gt;lzo&lt;/strong&gt; - это экономичный многопоточный алгоритм, который позволяет практически “на лету” сжимать/распаковывать данные с минимальным расходом памяти даже на небыстрых машинах. Поэтому он применяется в системах компрессии на уровне файловой (BTRFS) системы, а также для создания бекапов/снепшотов в среде &lt;strong&gt;proxmox&lt;/strong&gt;.&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 tar.lzo&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435_\u0444\u0430\u0439\u043b\u043e\u0432_\u0438\u0437_\u0430\u0440\u0445\u0438\u0432\u043e\u0432_tarlzo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-639&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;просмотреть_список_файлов_в_архиве_tarlzo&quot;&gt;Просмотреть список файлов в архиве .tar.lzo&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;lzop -d -c archive.tar.lzo | tar tf -&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0430\u0440\u0445\u0438\u0432\u0435 .tar.lzo&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c_\u0441\u043f\u0438\u0441\u043e\u043a_\u0444\u0430\u0439\u043b\u043e\u0432_\u0432_\u0430\u0440\u0445\u0438\u0432\u0435_tarlzo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;640-765&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;извлечь_все_файлы_из_архива_tarlzo&quot;&gt;Извлечь все файлы из архива .tar.lzo&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;lzop -d -c archive.tar.lzo | tar xvf -&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0437\u0432\u043b\u0435\u0447\u044c \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u0430 .tar.lzo&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0437\u0432\u043b\u0435\u0447\u044c_\u0432\u0441\u0435_\u0444\u0430\u0439\u043b\u044b_\u0438\u0437_\u0430\u0440\u0445\u0438\u0432\u0430_tarlzo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;766-878&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;извлечь_один_файл_из_архива_tarlzo&quot;&gt;Извлечь один файл из архива .tar.lzo&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;lzop -d -c archive.tar.lzo | tar xvf - myfile1 dir2/myfile2&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0418\u0437\u0432\u043b\u0435\u0447\u044c \u043e\u0434\u0438\u043d \u0444\u0430\u0439\u043b \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u0430 .tar.lzo&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0438\u0437\u0432\u043b\u0435\u0447\u044c_\u043e\u0434\u0438\u043d_\u0444\u0430\u0439\u043b_\u0438\u0437_\u0430\u0440\u0445\u0438\u0432\u0430_tarlzo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;879-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 21 Mar 2019 07:55:00 +0000</pubDate>
        </item>
        <item>
            <title>как-убить-машину-которая-не-хочет-выключаться</title>
            <link>https://wiki.autosys.tk/proxmox/%D0%BA%D0%B0%D0%BA-%D1%83%D0%B1%D0%B8%D1%82%D1%8C-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%83-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D0%B0%D1%8F-%D0%BD%D0%B5-%D1%85%D0%BE%D1%87%D0%B5%D1%82-%D0%B2%D1%8B%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D1%82%D1%8C%D1%81%D1%8F</link>
            <description>
&lt;p&gt;
Как принудительно выключить виртуальную машину, которая не хочет выключаться&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
1. Определите PID процесса виртуалки:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ps aux | grep &amp;quot;/usr/bin/kvm -id VMID&amp;quot;&lt;/pre&gt;

&lt;p&gt;
2. Завершите процесс:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;kill -9 PID&lt;/pre&gt;

&lt;p&gt;
3. Запустить машину снова можно командой:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;qm start VMID&lt;/pre&gt;

&lt;p&gt;
4. Убедитесь, что вы теперь можете остановить машину из web-интерфейса или CLI: &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;qm stop VMID     &lt;/pre&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>монтирование-ресурсов-windows-в-контеинер-openvz</title>
            <link>https://wiki.autosys.tk/proxmox/%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%BE%D0%B2-windows-%D0%B2-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B8%D0%BD%D0%B5%D1%80-openvz</link>
            <description>
&lt;p&gt;
Для того чтобы смонтировать расшареную папку Windows в контейнер OpenVZ надо смонтировать папку в файловую систему ноды, и потом пробросить в контейнер (bind).&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
МОнтируем папку на ноде:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get update &amp;amp;&amp;amp; apt-get install smbclient smbfs&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;mount -t cifs -o username=username,password=userpassword //192.168.1.1/share /mnt/shared/&lt;/pre&gt;

&lt;p&gt;
или даже добавляем в &lt;strong&gt;fstab&lt;/strong&gt;&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;//192.168.1.1/ftp /mnt/shared/ftp cifs credentials=/root/.smbclient,iocharset=utf8,file_mode=0666,dir_mode=0777,_netdev 0 0&lt;/pre&gt;

&lt;p&gt;
Для прописываем имя и пароль для доступа к  создаем файл &lt;br/&gt;

&lt;strong&gt;/root/.smbclient&lt;/strong&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
В нем пишем имя пользователя и пароль, которые имеют доступ к шаре:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;username=user
password=userpassword&lt;/pre&gt;

&lt;p&gt;
Биндим папку в контейнер:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;CTID=777
 
cat &amp;lt;&amp;lt; EOF &amp;gt; /etc/vz/conf/${CTID}.mount
#!/bin/bash
. /etc/vz/vz.conf
. ${VE_CONFFILE}
SRC=/mnt/disk
DST=/mnt/disk
if [ ! -e ${VE_ROOT}${DST} ]; then mkdir -p ${VE_ROOT}${DST}; fi
mount -n -t simfs ${SRC} ${VE_ROOT}${DST} -o ${SRC}
EOF
 
chmod +x /etc/vz/conf/${CTID}.mount&lt;/pre&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>настроика-backup</title>
            <link>https://wiki.autosys.tk/proxmox/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D0%BA%D0%B0-backup</link>
            <description>
&lt;p&gt;
Приведенная тут информация актуальна для &lt;strong&gt;Proxmox 2.x&lt;/strong&gt;. На более новых не проверял.&lt;br/&gt;

&lt;br/&gt;

Зависания при бекапе на &lt;strong&gt;NFS&lt;/strong&gt; могут быть связаны с ошибками в ядре &lt;strong&gt;Linux&lt;/strong&gt;. Сообщают, что в ядре &lt;strong&gt;2.6.32&lt;/strong&gt; ошибка есть, а в ядре &lt;strong&gt;2.6.33&lt;/strong&gt; она пофиксена. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
В любом случае - все настройки бекапа  &lt;strong&gt;proxmox&lt;/strong&gt; хранятся в файле &lt;strong&gt;/etc/vzdump.conf&lt;/strong&gt;. &lt;br/&gt;

Для улучшения ситуации с быстродействием во время бекапа можно ограничить предельную скорость. За это отвечает параметр &lt;strong&gt;bwlimit&lt;/strong&gt;. Он выражается в килобайтах в секунду.&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;bwlimit: 5000&lt;/pre&gt;

&lt;p&gt;
И вообще: &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;man vzdump&lt;/pre&gt;

&lt;p&gt;
&lt;a href=&quot;http://forum.proxmox.com/archive/index.php/t-2649.html&quot; class=&quot;urlextern&quot; title=&quot;http://forum.proxmox.com/archive/index.php/t-2649.html&quot; rel=&quot;ugc nofollow&quot;&gt;http://forum.proxmox.com/archive/index.php/t-2649.html&lt;/a&gt;
&lt;/p&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 28 May 2019 08:38:21 +0000</pubDate>
        </item>
        <item>
            <title>настроика-программного-raid-на-хосте-proxmox</title>
            <link>https://wiki.autosys.tk/proxmox/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE-raid-%D0%BD%D0%B0-%D1%85%D0%BE%D1%81%D1%82%D0%B5-proxmox</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;mdadm_software_raid_proxmox_5&quot;&gt;mdadm software RAID ProxMox 5&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Задача - сделать на хосте &lt;strong&gt;Proxmox 5.2.1&lt;/strong&gt; зеркальный &lt;strong&gt;mdadm RAID&lt;/strong&gt;. &lt;br/&gt;

Хост - машина с загрузкой только через &lt;strong&gt;EFI&lt;/strong&gt;. &lt;br/&gt;

&lt;br/&gt;

Предполагаем, что на первый диск &lt;strong&gt;/dev/sda&lt;/strong&gt; у нас установлен &lt;strong&gt;ProxMox&lt;/strong&gt;. Он может даже иметь виртуальные машины на борту. &lt;br/&gt;

В итоге, в массиве &lt;strong&gt;RAID1&lt;/strong&gt; у нас будут только корень, своп и данные. Два раздела с загрузчиками &lt;strong&gt;Legacy BIOS&lt;/strong&gt; и &lt;strong&gt;EFI&lt;/strong&gt; будут вне массивов, однако это не страшно - содержимое этих разделов практически не меняется и обоих дисках эти разделы будут идентичны. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Устанавливаем компоненты:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get update
apt-get install mdadm initramfs-tools screen&lt;/pre&gt;

&lt;p&gt;
Переносим разметку на второй диск.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sfdisk -d /dev/sda | sfdisk --force /dev/sdb&lt;/pre&gt;

&lt;p&gt;
Назначаем разделу номер 3 тип &lt;strong&gt;Linux RAID&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;echo -e &amp;quot;\nt\n3\n29\nw\nx&amp;quot; | fdisk /dev/sdb&lt;/pre&gt;

&lt;p&gt;
Чистим и стартуем массивы:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mdadm --zero-superblock /dev/sdb3
yes|mdadm --create /dev/md0 --level=1 --raid-devices=2 --metadata=0.90 /dev/sdb3 missing&lt;/pre&gt;

&lt;p&gt;
Дальше нам предстоят длительные операции и, если мы не работаем на физической консоли, то, на всякий случай, запустим &lt;strong&gt;screen&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;screen&lt;/pre&gt;

&lt;p&gt;
Создаем &lt;strong&gt;Physycal Volume&lt;/strong&gt; на &lt;strong&gt;/dev/md0&lt;/strong&gt;, расширяем имеющуюся &lt;strong&gt;Volume Group&lt;/strong&gt; новым томом, перемещаем данные с &lt;strong&gt;/dev/sda3&lt;/strong&gt; и изымаем &lt;strong&gt;/dev/sda3&lt;/strong&gt; из &lt;strong&gt;Volume Group&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pvcreate /dev/md0
vgextend pve /dev/md0
pvmove /dev/sda3 /dev/md0
vgreduce pve /dev/sda3&lt;/pre&gt;

&lt;p&gt;
Чистим и добавляем &lt;strong&gt;/dev/sda3&lt;/strong&gt; в массив:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pvremove /dev/sda3
echo -e &amp;quot;\nt\n3\n29\nw\nx&amp;quot; | fdisk /dev/sda
mdadm --add /dev/md0 /dev/sda3&lt;/pre&gt;

&lt;p&gt;
Сохраняем конфигурацию &lt;strong&gt;mdadm&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mdadm --detail --scan &amp;gt;&amp;gt; /etc/mdadm/mdadm.conf&lt;/pre&gt;

&lt;p&gt;
Добавляем модули &lt;strong&gt;RAID&lt;/strong&gt; в &lt;strong&gt;GRUB&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;echo &amp;#039;&amp;#039; &amp;gt;&amp;gt; /etc/default/grub
echo &amp;#039;# RAID&amp;#039; &amp;gt;&amp;gt; /etc/default/grub
echo &amp;#039;GRUB_PRELOAD_MODULES=&amp;quot;part_gpt mdraid09 mdraid1x lvm&amp;quot;&amp;#039; &amp;gt;&amp;gt; /etc/default/grub&lt;/pre&gt;

&lt;p&gt;
Обновляем &lt;strong&gt;GRUB&lt;/strong&gt; и &lt;strong&gt;initrmfs&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;update-grub
update-initramfs -u&lt;/pre&gt;

&lt;p&gt;
Ставим GRUB
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mkdir /mnt/efi-boot
mount /dev/sda2 /mnt/efi-boot
grub-install /dev/sda
grub-install --target x86_64-efi --efi-directory /mnt/efi-boot&lt;/pre&gt;

&lt;p&gt;
Копируем разделы &lt;strong&gt;1&lt;/strong&gt; и &lt;strong&gt;2&lt;/strong&gt; с &lt;strong&gt;/dev/sda&lt;/strong&gt; на &lt;strong&gt;/dev/sdb&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dd if=/dev/sda1 of=/dev/sdb1
dd if=/dev/sda2 of=/dev/sdb2&lt;/pre&gt;

&lt;p&gt;
В результате, при загрузке с любого из дисков система будет работать идентично, а данные будут в зеркале. &lt;br/&gt;

&lt;br/&gt;

Теперь нужно дождаться синхронизации массива и перезагрузиться.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cat /proc/mdstat&lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>переещд-виртуальнои-машины-с-физического-хоста-или- ...</title>
            <link>https://wiki.autosys.tk/proxmox/%D0%BF%D0%B5%D1%80%D0%B5%D0%B5%D1%89%D0%B4-%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B8-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%8B-%D1%81-%D1%84%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE-%D1%85%D0%BE%D1%81%D1%82%D0%B0-%D0%B8%D0%BB%D0%B8-%D0%B8%D0%B7-%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B3%D0%BE-%D0%B3%D0%B8%D0%BF%D0%B5%D1%80%D0%B2%D0%B8%D0%B7%D0%BE%D1%80%D0%B0</link>
            <description>
&lt;p&gt;
Важно!&lt;br/&gt;

При загрузке русской версии винды, невозможно переключить язык ввода в окне входа в консоли web-интерфейса proxmox, поэтому нужно перед переездом в русской версии вин заводить админа с русским именем и паролем из пробелов и цифр или русских букв&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Переключение работает, при подключени с помощью tigerVNC&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
ЧТо нужно сделать для переезда:&lt;br/&gt;

1. Загрузить переезжающую виртуальную машину с Linux Rescue CD&lt;br/&gt;

2. Оживить сеть в загруженном Linux Rescue CD&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up &lt;/pre&gt;

&lt;p&gt;
или DHCP&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dhcpcd eth0&lt;/pre&gt;

&lt;p&gt;
3. Теперь можно копировать данные с диска переносимой машины непосредственно на хост proxmox:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;dd if=/dev/sda | ssh root@proxmox dd of=/var/lib/vz/images/vmid/diskname.raw&lt;/pre&gt;

&lt;p&gt;
4. Файл /var/lib/vz/images/vmid/diskname.raw - это файл диска виртуалки в формате raw. Теперь создаем виртуалку с диском минимального размера (1гб) и заменем её диск только что скопированным файлом. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Ниже приведен англоязычный оригинал и некоторые дополнения. Приведенный метод подходит и для WIndows и для Linux. Я так переносил, например, Kerio Control 7.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
How to migrate directly from a Windows physical machine to a VM raw file using SSH&lt;br/&gt;

assumptions:&lt;br/&gt;

 * you have a physical machine in which you imported the mergeide.reg, as shown on top of this page&lt;br/&gt;

 * the physical machine has disk device /dev/sda (read this with “fdisk -l”, and look for “hda” or “sda” or similar, NOT dm- or other…)&lt;br/&gt;

 * you have already created a virtual machine with a raw type, file-based disk and not running.&lt;br/&gt;

 * the VM has VMid 101 (read this from the VM list in the web interface)&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
download SystemRescueCD ( &lt;a href=&quot;http://www.sysresccd.org&quot; class=&quot;urlextern&quot; title=&quot;http://www.sysresccd.org&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.sysresccd.org&lt;/a&gt; ), burn it and reboot the physical machine with it in the cd tray.&lt;br/&gt;

At its bash prompt, give eth0 an ip, or use dhcp:&lt;br/&gt;

To assign ip:&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
ifconfig eth0 192.168.1.10 netmask 255.255.255.0 up  (use ip on same subnet as proxmox server)&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
To use DHCP:&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
dhcpcd eth0&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
To start the image process on the physical machine:&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
dd if=/dev/sda | ssh root@proxmox dd of=/var/lib/vz/images/vmid/diskname.raw&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Change the root@proxmox to root@yourproxmoxip and change the vmid/diskname to the VMid number and the name you want to call the disk. I.E. VMid 101 and disk called vm-101-disk-1.raw would be:&lt;br/&gt;

dd if=/dev/sda | ssh root@proxmox dd of=/var/lib/vz/images/101/vm-101-disk-1.raw&lt;br/&gt;

Once this completes you can assign this disk file to your VM on the Proxmox interface.&lt;br/&gt;

Tested a 8GB physical server over gigabit network and was running in about 10 minutes.&lt;br/&gt;

How to migrate directly from a Windows physical machine to a VM logical volume using NETCAT&lt;br/&gt;

assumptions:&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
 you have a physical machine in which you imported the mergeide.reg, as shown on top of this page&lt;br/&gt;

 the physical machine has disk device /dev/sda (read this with “fdisk -l”, and look for “hda” or “sda” or similar, NOT dm- or other…)&lt;br/&gt;

 you have already created a virtual machine with a disk on LVM, larger in size than the physical machine one (at least 1Gb more), STOPPED, do NOT start it during this procedure!&lt;br/&gt;

 the VM has VMid 103 (read this from the VM list in the web interface)&lt;br/&gt;

 the LVM VG is named SHARED-VG (read this with: “vgdisplay -s”)&lt;br/&gt;

 so the LV partition is /dev/SHARED-VG/vm-103-disk-1 (read this with: “lvdisplay |grep LV|grep 103”)&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
download SystemRescueCD ( &lt;a href=&quot;http://www.sysresccd.org&quot; class=&quot;urlextern&quot; title=&quot;http://www.sysresccd.org&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.sysresccd.org&lt;/a&gt; ), burn it and reboot the physical machine with it in the cd tray.&lt;br/&gt;

At its bash prompt, give eth0 an ip, coherent with the network of one proxmox server (in the following example: 10.0.0.27):&lt;br/&gt;

ifconfig eth0 10.0.0.17 netmask 255.255.255.0 up&lt;br/&gt;

then assign root user a password, so you can log in via ssh:&lt;br/&gt;

passwd&lt;br/&gt;

log in via ssh on both the physical machine and the proxmox server, then on the proxmox server, give the command:&lt;br/&gt;

date; netcat -w30 -vvnlp 3333 | gzip -dc &amp;gt; /dev/SHARED-VG/vm-103-disk-1; date&lt;br/&gt;

and on the physical machine give the command:&lt;br/&gt;

dd if=/dev/sda | gzip -c | nc -w30 -vvn 10.0.0.27 3333&lt;br/&gt;

You have to start the second command WITHIN 30 seconds from the first one (the -w30…)!&lt;br/&gt;

This way, the proxmox machine is waiting for a stream of bytes on tcp port 3333, then gunzip it and redirects on the vm virtual disk.&lt;br/&gt;

The physical machine outputs its ENTIRE hd as a stream of bytes, gzip it and pass it via netcat to the proxmox server.&lt;br/&gt;

The 2 date commands are useful to have a trace of when this process starts and ends.&lt;br/&gt;

Tested migrating a 75gb hd in about 90 minutes on a 100mbit lan. VM started and worked as expected, after recognizing at first boot the new ide controllers.&lt;br/&gt;

How to migrate from a physical machine to a VM, on a smaller partition&lt;br/&gt;

While it&amp;#039;s quite easy to “clone” a partition to another (real or virtual) of the same or bigger size, it&amp;#039;s not so simple to do the same if the destination partition is smaller than the original one. This is possible, fortunately, and at least a proved method follows, but you have to take care of some preconditions:&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
 since you want to clone to a smaller partition, we will operate at the filesystem level, copying all the files from the source filesystem to the destination one.&lt;br/&gt;

 so, we have to make sure that the destination partition has enough room to get all the files, at least, with better some free space left there.&lt;br/&gt;

 the cloning is not possible directly, i.e disk-to-disk, but we have to “save” the source partition, and then “restore” it on the destination one.&lt;br/&gt;

 we have to be sure that the tools used know very well how to copy files on the filesystems involved, including symlinks, hardlinks, filesystem specific attributes, and so on.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
main tool: fsarchiver&lt;br/&gt;

One free tool you can use for this is &lt;a href=&quot;https://wiki.autosys.tk/proxmox/fsarchiver&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:fsarchiver&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:fsarchiver&quot;&gt;fsarchiver&lt;/a&gt;, which «is a system tool that allows you to save the contents of a file-system to a compressed archive file. The file-system can be restored on a partition which has a different size and it can be restored on a different file-system. Unlike tar/dar, FSArchiver also creates the file-system when it extracts the data to partitions. Everything is checksummed in the archive in order to protect the data. If the archive is corrupt, you just loose the current file, not the whole archive. Fsarchiver is released under the &lt;abbr title=&quot;GNU General Public License&quot;&gt;GPL&lt;/abbr&gt;-v2 license. It&amp;#039;s still under heavy development so it must not be used on critical data.», So, you&amp;#039;ve been warned. Latest fsarchiver should be in the latest &lt;a href=&quot;https://wiki.autosys.tk/proxmox/systemrescuecd&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:systemrescuecd&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:systemrescuecd&quot;&gt;SystemRescueCD&lt;/a&gt;, although you can obtain it on your favourite recent distribution.&lt;br/&gt;

Cloning NTFS, be sure to use either version 0.6.10 or a patched previous version, because there was a bug that caused errors with NTFS junctions (something like linux symlinks).&lt;br/&gt;

mergeide&lt;br/&gt;

As other said, install mergeide.reg on the physical Windows machine (see Microsoft KB article for details) to provide support for the natively supported IDE controllers in Windows. Without this, cloned XP booting failed for me.&lt;br/&gt;

running fsarchiver from ubuntu livecd&lt;br/&gt;

I used a Ubuntu 10.04 LiveCD, where I installed the package 0.6.8-1ubuntu0.1 from the universe repository: this repository is disabled by default, you have to enable it before, doing:&lt;br/&gt;

#sudo nano /etc/apt/sources.lst&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
then, after uncommenting universe lines, installing it:&lt;br/&gt;

#sudo apt-get update&lt;br/&gt;

#sudo apt-get install fsarchiver&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
once installed, confirm the version is right typing&lt;br/&gt;

# sudo aptitude show fsarchiver&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
it shoud be at least “0.6.10”, or “0.6.8-1ubuntu0.1” (pathced from 0.6.9 and 0.6.10), particularly if you are cloning NTFS filesystems.&lt;br/&gt;

then run&lt;br/&gt;

#sudo fsarchiver probe simple&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
that will report your disks/partitions current layout in a simple, understandable way, like:&lt;br/&gt;

ubuntu@ubuntu:~$ sudo fsarchiver probe simple&lt;br/&gt;

&lt;a href=&quot;https://wiki.autosys.tk/proxmox/disk&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:disk&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:disk&quot;&gt;======DISK======&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/name&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:name&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:name&quot;&gt;=============NAME==============&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/size&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:size&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:size&quot;&gt;====SIZE====&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/maj&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:maj&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:maj&quot;&gt;MAJ&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/min&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:min&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:min&quot;&gt;MIN&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://wiki.autosys.tk/proxmox/vda&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:vda&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:vda&quot;&gt;vda&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/red_hat_virtio_scsi_device&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:red_hat_virtio_scsi_device&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:red_hat_virtio_scsi_device&quot;&gt;RED HAT VIRTIO SCSI DEVICE&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/15.00_gb&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:15.00_gb&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:15.00_gb&quot;&gt;15.00 GB&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/8&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:8&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:8&quot;&gt;8&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/0&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:0&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:0&quot;&gt;0&lt;/a&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.autosys.tk/proxmox/device&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:device&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:device&quot;&gt;=====DEVICE=====&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/filesys&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:filesys&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:filesys&quot;&gt;==FILESYS==&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/label&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:label&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:label&quot;&gt;======LABEL======&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/size&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:size&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:size&quot;&gt;====SIZE====&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/maj&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:maj&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:maj&quot;&gt;MAJ&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/min&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:min&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:min&quot;&gt;MIN&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://wiki.autosys.tk/proxmox/loop0&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:loop0&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:loop0&quot;&gt;loop0&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/squashfs&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:squashfs&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:squashfs&quot;&gt;squashfs&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/unknown&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:unknown&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:unknown&quot;&gt;&amp;lt;unknown&amp;gt;&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/671.85_mb&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:671.85_mb&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:671.85_mb&quot;&gt;671.85 MB&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/7&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:7&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:7&quot;&gt;7&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/0&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:0&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:0&quot;&gt;0&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://wiki.autosys.tk/proxmox/vda1&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:vda1&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:vda1&quot;&gt;vda1&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/ntfs&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:ntfs&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:ntfs&quot;&gt;ntfs&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/system&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:system&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:system&quot;&gt;System&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/15.00_gb&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:15.00_gb&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:15.00_gb&quot;&gt;15.00 GB&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/8&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:8&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:8&quot;&gt;8&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/1&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:1&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:1&quot;&gt;1&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://wiki.autosys.tk/proxmox/ramzswap0&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:ramzswap0&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:ramzswap0&quot;&gt;ramzswap0&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/swap&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:swap&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:swap&quot;&gt;swap&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/unknown&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:unknown&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:unknown&quot;&gt;&amp;lt;unknown&amp;gt;&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/248.47_mb&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:248.47_mb&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:248.47_mb&quot;&gt;248.47 MB&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/251&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:251&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:251&quot;&gt;251&lt;/a&gt; &lt;a href=&quot;https://wiki.autosys.tk/proxmox/0&quot; class=&quot;wikilink2&quot; title=&quot;proxmox:0&quot; rel=&quot;nofollow&quot; data-wiki-id=&quot;proxmox:0&quot;&gt;0&lt;/a&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
then, you have to provide a folder to save the partition “backup”, which will be quite large (fsarchiver has several compression level, but just to be sure have enough free space there to accomodate all the uncompressed file…) if you need to reach a “tmpfolder” windows share, you have to install the smbfs package before (standard repositories), so that then you can&lt;br/&gt;

#sudo mkdir /mnt/tmpfolder&lt;br/&gt;

#sudo mount -t smbfs //windows/tmpfolder /mnt/tmpfolder -o user=username&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
giving a suitable password when asked.&lt;br/&gt;

backup the partition&lt;br/&gt;

then,you have to perform the “backup”, BE CAREFUL the first path is the backup file to save, the second the source partition, do not invert&lt;br/&gt;

I used:&lt;br/&gt;

#sudo fsarchiver savefs -v -o /mnt/tmpfolder/physical.fsa /dev/sda1&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
then (if no errors reported) mounted the same LiveCD in a kvm vm with a 15GB virtual empty disk (virtio), so /dev/vda. After installing smbfs and fsarchiver in the same way, i&amp;#039;ve run Gparted (installed on the LiveCD) and created a empty ntfs partition there, /dev/vda1.&lt;br/&gt;

restore the partition&lt;br/&gt;

Then, I run&lt;br/&gt;

Note: i use here /dev/vda1 while the original was /dev/sda1, and id=0 because i restore the first partition in the physical.fsa (yes, it may store more than one) as /dev/vda1&lt;br/&gt;

#sudo fsarchiver restfs -v /mnt/tmpfolder/physical.fsa id=0,dest=/dev/vda1&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
check if there are no restore errors. It was quite quick and just worked. Well, no, the first times i tried a few and in the end it worked :-^&lt;br/&gt;

successful cases&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
 I successfully cloned an Windows XP professional machine from a physical 40GB (used 12GB) partition to a virtual (kvm) 15GB one, stored on pve LVM. The archive file was around 7GB. (i had just 2 hardlink restore errors, but in the log were reported on non critical files, although i would prefer 0 errors…)&lt;br/&gt;

 I successfully cloned an Windows 2003 AD controller machine from a physical 250GB (used 5GB) partition to a virtual (kvm) 15GB one, stored on pve LVM. The archive file was around 3,4GB. (i had just 0 restore errors of any kind)&lt;br/&gt;

 Cloned a physical ubuntu 9.04 desktop from a 32 raid5 disk to a virtual kvm 12 disk. Just had to reinstall grub to make it boot inside kvm. No errors.&lt;br/&gt;

&lt;/p&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>переименование-контеинера-openvz</title>
            <link>https://wiki.autosys.tk/proxmox/%D0%BF%D0%B5%D1%80%D0%B5%D0%B8%D0%BC%D0%B5%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B8%D0%BD%D0%B5%D1%80%D0%B0-openvz</link>
            <description>
&lt;p&gt;
Для того, чтобы переименовать контейнер OpenVZ достаточно на ноде запустить команду: &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;vzctl set XXX --hostname newname --save&lt;/pre&gt;

&lt;p&gt;
Где XXX - это ID контейнера, а newname - новое имя.
&lt;/p&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>подключение-к-vm-proxmox-с-помощью-внешнего-клиента-vnc</title>
            <link>https://wiki.autosys.tk/proxmox/%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BA-vm-proxmox-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B5%D0%B3%D0%BE-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D0%B0-vnc</link>
            <description>
&lt;p&gt;
&lt;a href=&quot;https://pve.proxmox.com/wiki/VNC_Client_Access&quot; class=&quot;urlextern&quot; title=&quot;https://pve.proxmox.com/wiki/VNC_Client_Access&quot; rel=&quot;ugc nofollow&quot;&gt;https://pve.proxmox.com/wiki/VNC_Client_Access&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Все что написано тут может не работать с текущей версией Proxmox 5.x
&lt;/p&gt;

&lt;p&gt;
Для того чтобы можно было подключаться к консолям виртуалок не только из web-интерфейса надо сделать вот что:&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
1. Установить хосте &lt;strong&gt;proxmox&lt;/strong&gt; openbsd-inetd:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;aptitude install openbsd-inetd&lt;/pre&gt;

&lt;p&gt;
2. Получаем список машин:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;qm list

root@homenet-home10 /etc # qm list
     VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID       
      101 freenas              stopped    1024              32.00 0         
      102 debpbx               running    512                0.00 573304    
      105 winxp                stopped    512               15.01 0         
     7012 ltsp-ldap-openfire-KVM running    512                9.00 495870    
     7016 fbc16-kvm            running    512                8.00 462697    
     7159 win7                 stopped    2048               0.00 0         
    27014 ltsp-term-KVM        stopped    512                0.00 0      &lt;/pre&gt;

&lt;p&gt;
3. Редактируем &lt;strong&gt;/etc/inetd.conf&lt;/strong&gt; и добавляем туда порты для каждой машины, которую мы хотим видеть не только из web-интерфейса:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;port                                                 kvm
59055 stream tcp nowait root /usr/sbin/qm qm vncproxy 105
59058 stream tcp nowait root /usr/sbin/qm qm vncproxy 7159&lt;/pre&gt;

&lt;p&gt;
4. Перезапускаем &lt;strong&gt;openbsd-inetd&lt;/strong&gt;&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/etc/init.d/openbsd-inetd restart&lt;/pre&gt;

&lt;p&gt;
5. Проверяем что получилось:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;telnet home10 59058   # home10 - это имя сервера proxmox

Trying 192.168.1.10...
Connected to home10.fantinibakery.com.
Escape character is &amp;#039;^]&amp;#039;.
RFB 003.008&lt;/pre&gt;

&lt;p&gt;
Для того чтобы выйти нажимаем &lt;strong&gt;Ctrl+]&lt;/strong&gt; и затем вводим &lt;strong&gt;exit&lt;/strong&gt;.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
6.  На момент написания заметки нормально работал только один клиент - это &lt;strong&gt;tigervnc&lt;/strong&gt;. (Клиент должен поддерживать &lt;strong&gt;TLS vencrypt&lt;/strong&gt;)&lt;br/&gt;

Для подключения надо указывать имя клиента в формате: &lt;strong&gt;root@pam&lt;/strong&gt;.&lt;br/&gt;

&lt;/p&gt;

&lt;h2 class=&quot;sectionedit1&quot; id=&quot;подключение_к_консолям_vnc_со_старыми_клиентами_не_поддерживающими_tls_vencrypt_а_поддерживающими_только_и_plain_auth_vnc_20&quot;&gt;Подключение к консолям VNC со старыми клиентами не поддерживающими TLS vencrypt, а поддерживающими только и plain auth (VNC 2.0)&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Без пароля консоль не рекомендуется! Но если надо, то вот:&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
1. Создайте машину и запоните её &lt;strong&gt;KVM ID&lt;/strong&gt; (номер  - 100, 101 и т.д)&lt;br/&gt;

2. В консоли сервера отредактируйте файл:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; nano /etc/pve/local/qemu-server/(KVM ID).conf&lt;/pre&gt;

&lt;p&gt;
4. В самом конце дописать следующее:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;args: -vnc 0.0.0.0:100&lt;/pre&gt;

&lt;p&gt;
Эта строка заставляет &lt;strong&gt;KVM&lt;/strong&gt; создать &lt;strong&gt;VNC&lt;/strong&gt;-консоль на адресе &lt;strong&gt;0.0.0.0&lt;/strong&gt; и порту &lt;strong&gt;5900&lt;/strong&gt; + номер порта. В данном случае -  на порту &lt;strong&gt;5900+100 = 6000&lt;/strong&gt;.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Теперь запускаем наш любимый клиент и подключаемся к порту &lt;strong&gt;6000&lt;/strong&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Для того чтобы задать пароль - ставим его через запятую после адреса:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;args: -vnc 0.0.0.0:100,password &lt;/pre&gt;

&lt;p&gt;
7. Для контейнеров &lt;strong&gt;openvz&lt;/strong&gt; надо использовать &lt;strong&gt;vncterm&lt;/strong&gt;.&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;vncterm [VNCOPTS] [-c command [ARGS]]

#example:
vncterm -c vzctl enter VMID

vncterm -rfbport 5900 -passwdfile FILE -timeout 20 -c vzctl enter 104&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a \u043a\u043e\u043d\u0441\u043e\u043b\u044f\u043c VNC \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c\u0438 TLS vencrypt, \u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0438 plain auth (VNC 2.0)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435_\u043a_\u043a\u043e\u043d\u0441\u043e\u043b\u044f\u043c_vnc_\u0441\u043e_\u0441\u0442\u0430\u0440\u044b\u043c\u0438_\u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438_\u043d\u0435_\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c\u0438_tls_vencrypt_\u0430_\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c\u0438_\u0442\u043e\u043b\u044c\u043a\u043e_\u0438_plain_auth_vnc_20&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;2385-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 14 May 2019 14:36:57 +0000</pubDate>
        </item>
        <item>
            <title>способ-создать-vmbr-на-хосте-proxmox-без-перезагрузки-сис ...</title>
            <link>https://wiki.autosys.tk/proxmox/%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D1%82%D1%8C-vmbr-%D0%BD%D0%B0-%D1%85%D0%BE%D1%81%D1%82%D0%B5-proxmox-%D0%B1%D0%B5%D0%B7-%D0%BF%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;создание_bridge-интерфейса_без_перезагрузки_хоста_proxmox&quot;&gt;Создание bridge-интерфейса без перезагрузки хоста proxmox&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;vconfig add eth1 2
ifconfig eth1.2 up
brctl addbr vmbr2
brctl addif vmbr2 eth1.2&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;/etc/network/interfaces&lt;/strong&gt;
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;auto vmbr2
iface vmbr2 inet manual
bridge_ports eth1.2
bridge_stp off
bridge_fd 0&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;ifconfig vmbr2 up&lt;/pre&gt;

&lt;p&gt;
Проверка состояния:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;cat /proc/net/vlan/config
cat /proc/net/vlan/eth1.2     &lt;/pre&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>установка-rdp-vnc-шлюза-guacomole-под-ubuntu-12</title>
            <link>https://wiki.autosys.tk/proxmox/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-rdp-vnc-%D1%88%D0%BB%D1%8E%D0%B7%D0%B0-guacomole-%D0%BF%D0%BE%D0%B4-ubuntu-12</link>
            <description>
&lt;p&gt;
Guacamole - это HTTP шлюз для подключения к RDP и VNC консолям. Оно работает.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
У Guacamole наконец-то появились стабильные сборки :) &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get update &amp;amp;&amp;amp; apt-get install apache2 php5 libapache2-mod-php5 tomcat6 libcairo2 libpng12-0 libvncserver0 libfreerdp1 libfreerdp-plugins-standard&lt;/pre&gt;

&lt;p&gt;
Скачаваем отсюда:&lt;br/&gt;

&lt;a href=&quot;http://guac-dev.org/&quot; class=&quot;urlextern&quot; title=&quot;http://guac-dev.org/&quot; rel=&quot;ugc nofollow&quot;&gt;http://guac-dev.org/&lt;/a&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://downloads.sourceforge.net/project/guacamole/current/binary/ubuntu-12.04-i386/guacamole-0.7.0-ubuntu-12.04-i386.tar.gz&quot; class=&quot;urlextern&quot; title=&quot;http://downloads.sourceforge.net/project/guacamole/current/binary/ubuntu-12.04-i386/guacamole-0.7.0-ubuntu-12.04-i386.tar.gz&quot; rel=&quot;ugc nofollow&quot;&gt;http://downloads.sourceforge.net/project/guacamole/current/binary/ubuntu-12.04-i386/guacamole-0.7.0-ubuntu-12.04-i386.tar.gz&lt;/a&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://sourceforge.net/projects/guacamole/files/current/binary/ubuntu-12.04-i386/guacamole-0.6.4-ubuntu-12.04-i386.tar.gz&quot; class=&quot;urlextern&quot; title=&quot;http://sourceforge.net/projects/guacamole/files/current/binary/ubuntu-12.04-i386/guacamole-0.6.4-ubuntu-12.04-i386.tar.gz&quot; rel=&quot;ugc nofollow&quot;&gt;http://sourceforge.net/projects/guacamole/files/current/binary/ubuntu-12.04-i386/guacamole-0.6.4-ubuntu-12.04-i386.tar.gz&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;http://sourceforge.net/projects/guacamole/files/current/binary/ubuntu-12.04-amd64/guacamole-0.6.4-ubuntu-12.04-amd64.tar.gz&quot; class=&quot;urlextern&quot; title=&quot;http://sourceforge.net/projects/guacamole/files/current/binary/ubuntu-12.04-amd64/guacamole-0.6.4-ubuntu-12.04-amd64.tar.gz&quot; rel=&quot;ugc nofollow&quot;&gt;http://sourceforge.net/projects/guacamole/files/current/binary/ubuntu-12.04-amd64/guacamole-0.6.4-ubuntu-12.04-amd64.tar.gz&lt;/a&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Распаковываем и ставим все:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;tar -xvf guacamole-0.6.4-ubuntu-12.04-i386.tar.gz
cd guacamole-0.6.4-ubuntu-12.04-i386
dpkg -i ./*&lt;/pre&gt;

&lt;p&gt;
Внимательно следим, чтобы не было ошибок к конце!&lt;br/&gt;

Все… Оно запустилось…&lt;br/&gt;

Логи Вываливаются в файл&lt;strong&gt; /var/log/syslog &lt;/strong&gt;и в папку&lt;strong&gt; /var/log/tomcat6/&lt;/strong&gt; &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Если вдруг в &lt;strong&gt; /var/log/syslog &lt;/strong&gt; написано что &lt;br/&gt;

&lt;strong&gt;Could not write PID file&lt;/strong&gt;&lt;br/&gt;

то делаем так:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mkdir /var/run/guacd
chown guacd:guacd /var/run/guacd
service guacd restart&lt;/pre&gt;

&lt;h2 class=&quot;sectionedit1&quot; id=&quot;настройка&quot;&gt;Настройка&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;nano /etc/guacamole/user-mapping.xml&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;VNC Plugin Parameters
&amp;lt;protocol&amp;gt;vnc&amp;lt;/protocol&amp;gt; 

hostname
port
password
read-only
swap-red-blue
encodings

RDP Plugin Parameters

&amp;lt;protocol&amp;gt;rdp&amp;lt;/protocol&amp;gt;

hostname #- обязательный
port  #- обязательный
domain
username 
password
initial-program
color-depth
width 	
height &lt;/pre&gt;

&lt;p&gt;
Если надо несколько соединений для одного пользователя, то есть тег &amp;lt;connection&amp;gt;&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;  &amp;lt;authorize
            username=&amp;quot;username&amp;quot;
            password=&amp;quot;pass&amp;quot;
            &amp;gt;
 &amp;lt;connection name=&amp;quot;rdpserver&amp;quot;&amp;gt;
        &amp;lt;protocol&amp;gt;rdp&amp;lt;/protocol&amp;gt;
        &amp;lt;param name=&amp;quot;hostname&amp;quot;&amp;gt;rdpserver&amp;lt;/param&amp;gt;
        &amp;lt;param name=&amp;quot;port&amp;quot;&amp;gt;3389&amp;lt;/param&amp;gt;
        &amp;lt;param name=&amp;quot;domain&amp;quot;&amp;gt;DOMAIN&amp;lt;/param&amp;gt;
        &amp;lt;param name=&amp;quot;username&amp;quot;&amp;gt;Username&amp;lt;/param&amp;gt;
&amp;lt;/connection&amp;gt;
&amp;lt;connection name=&amp;quot;Debian with wine&amp;quot;&amp;gt;
        &amp;lt;protocol&amp;gt;vnc&amp;lt;/protocol&amp;gt;
        &amp;lt;param name=&amp;quot;hostname&amp;quot;&amp;gt;vnchost&amp;lt;/param&amp;gt;
        &amp;lt;param name=&amp;quot;port&amp;quot;&amp;gt;5900&amp;lt;/param&amp;gt;
        &amp;lt;param name=&amp;quot;password&amp;quot;&amp;gt;vncpassword&amp;lt;/param&amp;gt;
&amp;lt;/connection&amp;gt;
&amp;lt;/authorize&amp;gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1455-2582&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;запуск_под_конкретного_юзера&quot;&gt;Запуск под конкретного юзера&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;http://&amp;lt;server&amp;gt;:8080/guacamole/?username=USER&amp;amp;password=PASS&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0417\u0430\u043f\u0443\u0441\u043a \u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u044e\u0437\u0435\u0440\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0437\u0430\u043f\u0443\u0441\u043a_\u043f\u043e\u0434_\u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e_\u044e\u0437\u0435\u0440\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;2583-2720&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;guacamole_через_nginx_reverse_proxy&quot;&gt;Guacamole через nginx reverse proxy&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Проксирование через nginx работает при таких вот настройках location:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;location /guacamole/ {
proxy_buffering off;
proxy_pass http://192.168.1.46:8080/guacamole/;
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Guacamole \u0447\u0435\u0440\u0435\u0437 nginx reverse proxy&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;guacamole_\u0447\u0435\u0440\u0435\u0437_nginx_reverse_proxy&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:7,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2721-2999&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;аутентификация_ldap&quot;&gt;Аутентификация LDAP&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0410\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f LDAP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f_ldap&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3000-3045&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;компиляция_и_установка_guacamole-auth-ldap&quot;&gt;Компиляция и установка guacamole-auth-ldap&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;apt-get update
apt-get install maven git default-jdk
git clone git://guacamole.git.sourceforge.net/gitroot/guacamole/guacamole-auth-ldap/
cd guacamole-auth-ldap/
mvn package&lt;/pre&gt;

&lt;p&gt;
В результате в папке &lt;strong&gt;./target&lt;/strong&gt; должен быть файл &lt;strong&gt;guacamole-auth-ldap-0.5.0.jar&lt;/strong&gt; . Этот файл надо скопировать в папку с библиотеками, указанную в файле &lt;strong&gt;/etc/guacamole/guacamole.properties&lt;/strong&gt;. &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;mkdir /var/lib/guacamole/lib/
cp ./target/guacamole-auth-ldap-0.5.0.jar /var/lib/guacamole/lib/&lt;/pre&gt;

&lt;p&gt;
Если эта папка не задана, то её надо задать с помощью свойства “lib-directory”.&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;lib-directory: /var/lib/guacamole/lib&lt;/pre&gt;

&lt;p&gt;
Не рекомендуется складывать библиотеки guacamole в папку &lt;strong&gt;/var/lib/tomcat6&lt;/strong&gt;. При установке guacamole &lt;strong&gt;.war&lt;/strong&gt; файл попадает в папку &lt;strong&gt;/var/lib/guacamole&lt;/strong&gt; , а библиотеки .jar рекомендуется хранить в папке &lt;strong&gt;/var/lib/guacamole/lib&lt;/strong&gt;. &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 guacamole-auth-ldap&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f_\u0438_\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430_guacamole-auth-ldap&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3046-4238&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;настройка_guacamole-auth-ldap&quot;&gt;Настройка guacamole-auth-ldap&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Для того чтобы пользователи аутентифицировались в домене, в каталог LDAP надо добавить соответствующий класс объектов “guacConfig”.&lt;br/&gt;

В папке doc, пакета guacamole-auth-ldap лежат файлы &lt;strong&gt;exampleConfigGroup.ldif  guacConfigGroup.ldif  guacConfigGroup.schema&lt;/strong&gt;, в которых описаны объекты, необходимые для аутентификации пользователей. &lt;br/&gt;

Для создания объектов в схеме предусмотрены файлы guacConfigGroup.ldif и guacConfigGroup.schema.&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;root@rdp:~/guacamole-auth-ldap/doc# cat guacConfigGroup.ldif
dn: cn=guacConfig,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: guacConfig
olcAttributeTypes: {0}( 1.3.6.4822.112 NAME &amp;#039;protocol&amp;#039; SYNTAX 1.3.6.1.4.1.1466
 .115.121.1.15 )
olcAttributeTypes: {1}( 1.3.6.4822.113 NAME &amp;#039;parameter&amp;#039; SYNTAX 1.3.6.1.4.1.146
 6.115.121.1.15 )
olcObjectClasses: {0}( 1.3.6.4822.212 NAME &amp;#039;guacConfig&amp;#039; DESC &amp;#039;Guacamole config
 uration&amp;#039; AUXILIARY MUST protocol MAY parameter )&lt;/pre&gt;
&lt;pre class=&quot;code&quot;&gt;root@rdp:~/guacamole-auth-ldap/doc# cat guacConfigGroup.schema

attributetype ( 1.3.6.4822.112 NAME &amp;#039;guacConfigProtocol&amp;#039;
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

attributetype ( 1.3.6.4822.113 NAME &amp;#039;guacConfigParameter&amp;#039;
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )

objectClass ( 1.3.6.4822.212 NAME &amp;#039;guacConfigGroup&amp;#039;
    DESC &amp;#039;Guacamole configuration group&amp;#039;
    SUP groupofnames
    MUST protocol
    MAY parameter )&lt;/pre&gt;

&lt;p&gt;
А пример конфигурации соединения приведен в файле exampleConfigGroup.ldif, который содержит наименование протокола и параметров:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;~/guacamole-auth-ldap/doc# cat exampleConfigGroup.ldif

dn: cn=Example Config,dc=guac-dev,dc=org
objectClass: guacConfigGroup
cn: Example Config
protocol: vnc
parameter: hostname=localhost
parameter: port=5900
parameter: password=secret
member: cn=user1,dc=example,dc=com
member: cn=user2,dc=example,dc=com&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 guacamole-auth-ldap&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430_guacamole-auth-ldap&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:11,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;4239-6414&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;добавление_информации_из_файлов_ldif_на_контроллере_домена_ad&quot;&gt;Добавление информации из файлов *.ldif на контроллере домена AD&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438\u0437 \u0444\u0430\u0439\u043b\u043e\u0432 *.ldif \u043d\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u0434\u043e\u043c\u0435\u043d\u0430 AD&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435_\u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438_\u0438\u0437_\u0444\u0430\u0439\u043b\u043e\u0432_ldif_\u043d\u0430_\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435_\u0434\u043e\u043c\u0435\u043d\u0430_ad&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:14,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;6415-6538&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;конфигурированиеetcguacamoleguacamoleproperties&quot;&gt;Конфигурирование &amp;#039;&amp;#039;&amp;#039;/etc/guacamole/guacamole.properties&amp;#039;&amp;#039;&amp;#039;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;# Use LDAP authentication
auth-provider: net.sourceforge.guacamole.net.auth.ldap.LDAPAuthenticationProvider

# Configuration for LDAP connection
ldap-hostname:           LDAP_SERVER_HOSTNAME
ldap-port:               389

# The attribute which uniquely identifies users
ldap-username-attribute: uid

# The base DN which, when appended to the user identifier attribute,
# produces the full DN of the user being authenticated.
ldap-user-base-dn:       ou=people,dc=example,dc=net

# The base DN within which all guacConfig objects can be found.
ldap-config-base-dn:     dc=example,dc=net&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 &amp;#039;&amp;#039;&amp;#039;\/etc\/guacamole\/guacamole.properties&amp;#039;&amp;#039;&amp;#039;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435etcguacamoleguacamoleproperties&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:14,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;6539-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>установка-останавливается-с-ошибкои-command-chroot-target-dpkg-f ...</title>
            <link>https://wiki.autosys.tk/proxmox/%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D0%B0%D0%B2%D0%BB%D0%B8%D0%B2%D0%B0%D0%B5%D1%82%D1%81%D1%8F-%D1%81-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%BE%D0%B8-command-chroot-target-dpkg-force-confold-configure-a-failed</link>
            <description>
&lt;p&gt;
&lt;strong&gt;Проблема&lt;/strong&gt; - Иногда установка proxmox останавливается с ошибкой:&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;command &amp;#039;chroot /target dpkg --force-confold --configure -a&amp;#039; failed with the exit code 1 at /usr/bin/proxinstall line...&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;Причина&lt;/strong&gt; - некорректное имя хоста, указанное при установке! Имя хоста должно быть FQDN типа &lt;strong&gt;proxmox.domain.com&lt;/strong&gt;&lt;br/&gt;

Ошибка может возникать, если имя хоста имеет вид &lt;strong&gt;000.proxmox.domain.com&lt;/strong&gt; или &lt;strong&gt;proxmox3.1&lt;/strong&gt;
&lt;/p&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 11 Feb 2019 09:13:28 +0000</pubDate>
        </item>
        <item>
            <title>что-делать-если-proxmox-говорит-что-машина-locked</title>
            <link>https://wiki.autosys.tk/proxmox/%D1%87%D1%82%D0%BE-%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C-%D0%B5%D1%81%D0%BB%D0%B8-proxmox-%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B8%D1%82-%D1%87%D1%82%D0%BE-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0-locked</link>
            <description>
&lt;p&gt;
Если вы запустили backup, он завершился (или вы его заершили принудительно) и после этого proxmox говорит что VM locked и нихочет ничего с ней делать&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# qm unlock &amp;lt;vmid&amp;gt;&lt;/pre&gt;

&lt;p&gt;
Для контейнеров есть утилита &lt;strong&gt;pct&lt;/strong&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;pct unlock &amp;lt;ctid&amp;gt;&lt;/pre&gt;

&lt;p&gt;
За дополнительной информацией сюда - &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;man qm&lt;/pre&gt;

&lt;p&gt;
или
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;man pct&lt;/pre&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 06 Aug 2019 12:33:18 +0000</pubDate>
        </item>
    </channel>
</rss>
