Как установить proxmox на windows 10

В этой статье я покажу тонкости установки Windows 10 в среде виртуализации от ProxMox. Основное внимание будет уделено Virtio драйверам

В этой статье я покажу тонкости установки Windows 10 в среде виртуализации от ProxMox. Основное внимание будет уделено Virtio драйверам.

Создание виртуальной машины

Про ProxMox VE я уже писал:

  • Что такое Proxmox VE?
  • Установка Proxmox VE 6.3

Для того чтобы создать новую виртуальную машины для Windows 10, заходим в Web-интерфейс управления ProxMox VE и нажимаем кнопку “Create VM“:

ProxMox VE. Создание виртуальной машины. Нажимаем Create VM

ProxMox VE. Создание виртуальной машины. Нажимаем Create VM

Во-первых придумаем имя для виртуальной машины:

ProxMox VE. Придумываем имя для виртуальной машины

ProxMox VE. Придумываем имя для виртуальной машины

Выберем хранилище на котором лежит нужный образ (iso). Затем выбираем сам образ. Меняем тип гостевой ОС и её подтип:

ProxMox VE. Настройка гостевой ОС

ProxMox VE. Настройка гостевой ОС

Настроим систему, а именно поставим галочку Qemu Agent (дальше нужно будет установить агента в ОС). А для контролера выбирайте VirtIO SCSI, хотя он и так используется по умолчанию:

ProxMox VE. Настройка системы

ProxMox VE. Настройка системы

А потом настроим жёсткий диск для виртуальном машины – я использую SCSI (по умолчанию используется IDE). А также нужно выбрать хранилище для жесткого диска и его размер:

ProxMox VE. Настройка жесткого диска

ProxMox VE. Настройка жесткого диска

Настроим процессор для виртуальной машины (укажите количество виртуальных ядер):

ProxMox VE. Настройка жесткого диска

ProxMox VE. Настройка жесткого диска

Выделим необходимое количество оперативной памяти:

ProxMox VE. Настройка RAM

ProxMox VE. Настройка RAM

Настроим сетевую карту, я снова использую VirtIO устройство:

ProxMox VE. Настройка сетевой карты

ProxMox VE. Настройка сетевой карты

В итоге, после всех настроек, нажмём кнопку “Finish“:

ProxMox VE. Заканчиваем создание виртуальной машины

ProxMox VE. Заканчиваем создание виртуальной машины

После того, как мы создали виртуальную машину, добавим ей ещё один привод (CD/DVD Drive). Его будем использовать для того, чтобы подключить ещё один образа с VirtIO драйверами:

ProxMox VE. Создаём дополнительный привод

ProxMox VE. Создаём дополнительный привод

И подключим в новый привод образ с VirtIO драйверами:

ProxMox VE. Подключаем образ с VirtIO драйверами

ProxMox VE. Подключаем образ с VirtIO драйверами

Если у вас ещё нет образа с VirtIO драйверами, то вы можете скачать их от сюда.

А также, почитать про VirtIO драйверы можно в wiki от ProxMox – здесь.

Прежде чем двигаться дальше посмотрим ещё раз на виртуальное оборудование нашей виртуальной машины:

ProxMox VE. Виртуальное оборудование для Windows

ProxMox VE. Виртуальное оборудование для Windows

Установка гостевой ОС

Чтобы запустить виртуальную машину, нажмите кнопку “Start“. Затем, чтобы открыть консоль, нажмите кнопку “Console“:

ProxMox VE. Запуск виртуальной машины

ProxMox VE. Запуск виртуальной машины

Начнётся процесс установки Windows 10:

Старт установки Windows 10

Старт установки Windows 10

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

Не виден жесткий диск для установки Windows 10, так как нет Virtio драйверов

Не виден жесткий диск для установки Windows 10, так как нет Virtio драйверов

Нажимаем кнопку “Загрузить“:

Загрузка драйверов Virtio

Загрузка драйверов Virtio

На диске с VirtIO драйверами ищем каталог /amd64/w10/:

Поиск драйвера для Virtio SCSI

Поиск драйвера для Virtio SCSI

И устанавливаем найденный драйвер:

Установка драйвера для VirtIO SCSI

Установка драйвера для VirtIO SCSI

После установки диск в системе должен определиться:

После загрузки драйвера диск виден

После загрузки драйвера диск виден

Дальше на найденный диск устанавливаем систему как обычно.

После установки, когда система начнет первоначальную настройку, нажимаем кнопку “У меня нет Интернета“. Это необходимо, так как драйвер VirtIO для сетевого интерфейса мы сможем установить только после первоначальной настройки:

Так как в системе ещё нет драйвера VirtIO для сетевой карты, нажимаем "У меня нет Интернета"

Так как в системе ещё нет драйвера VirtIO для сетевой карты, нажимаем “У меня нет Интернета”

Установка дополнительных VirtIO драйверов

После установки системы, для многих виртуальных устройств не будет найдено драйверов. Чтобы это исправить запускаем “Диспетчер устройств“:

Windows 10. Запуск оснастки "Диспетчер устройств"

Windows 10. Запуск оснастки “Диспетчер устройств”

Видим неизвестные устройства:

Windows 10. Неизвестные устройства, которым нужны драйвера

Windows 10. Неизвестные устройства, которым нужны драйвера

Нужно для каждого такого устройства установить драйвер с образа диска для VirtIO драйверов. Для этого нажимаем правой кнопкой мышки по устройству и выбираем “Обновить драйвер“:

Обновление драйвера в Диспетчере устройств

Обновление драйвера в Диспетчере устройств

Затем выбираем пункт меню “Выполнить поиск драйверов на этом компьютере“:

Обновление драйвера в Диспетчере устройств

Обновление драйвера в Диспетчере устройств

Дальше нажимаем кнопку “Обзор“:

Обновление драйвера в Диспетчере устройств

Обновление драйвера в Диспетчере устройств

И указываем диск с VirtIO драйверами:

Обновление драйвера в Диспетчере устройств

Обновление драйвера в Диспетчере устройств

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

Таким образом устанавливаете все остальные драйвера:

Сетевой адаптер
COM порт
Balloon устройство

И в самом конце установим VirtIO Агента с этого же образа диска. Для этого на диске ищем каталог guest-agent а в нем запускаем установщик:

Установщик Qemu Агента

Установщик Qemu Агента

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

  • настроить сеть;
  • изменить имя компьютера или ввести систему в домен;
  • обновить систему;
  • установить дополнительное ПО;
  • и другое.

Итог

В этой статье я показал что в среде виртуализации ProxMox используется специальное VirtIO оборудование и для его использования в Windows нужно устанавливать специальные VirtIO драйвера. Дополнительно в систему можно установить агента (Qemu-guest-agent), чтобы гипервизор получал некоторые сведенья о гостевой системе, например ip-адреса.

Ну а в Linux поддержка VirtIO оборудования уже встроена в ядро. Хотя агента всё-таки придется установить, например таким способом:

# apt-get install qemu-guest-agent
Или
#yum install qemu-guest-agent

Спасибо за внимание!

Сводка

Установка Windows 10 на ProxMox VE 6

Имя статьи

Установка Windows 10 на ProxMox VE 6

Описание

В этой статье я покажу тонкости установки Windows 10 в среде виртуализации от ProxMox. Основное внимание будет уделено Virtio драйверам

Introduction

This is a set of best practices to follow when installing a Windows 10 guest on a Proxmox VE server 6.x. Right now it’s a work in progress.

Install

Prepare

To obtain a good level of performance, we will install the Windows VirtIO Drivers during the Windows installation.

  • Create a new VM, select «Microsoft Windows 10/2016/2019» as Guest OS and enable the «Qemu Agent» in the System tab. Continue and mount your Windows 10 ISO in the CDROM drive
  • For your virtual hard disk select «SCSI» as bus with «VirtIO SCSI» as controller. Set «Write back» as cache option for best performance (the «No cache» default is safer, but slower) and tick «Discard» to optimally use disk space (TRIM).
  • Configure your memory settings as needed, continue and set «VirtIO (paravirtualized)» as network device, finish your VM creation.
  • For the VirtIO drivers, upload the driver ISO (use the stable VirtIO ISO, download it from here) to your storage, create a new CDROM drive (use «Add -> CD/DVD drive» in the hardware tab) with Bus «IDE» and number 0. Load the Virtio Drivers ISO in the new virtual CDROM drive.
  • Now your ready to start the VM, just follow the Windows installer.

Launch Windows install

  • After starting your VM launch the noVNC console
  • Follow the installer steps until you reach the installation type selection where you need to select «Custom (advanced)»
  • Now click «Load driver» to install the VirtIO drivers for hard disk and the network.
    • Hard disk: Browse to the CD drive where you mounted the VirtIO driver and select folder «vioscsiw10amd64» and confirm. Select the «Red Hat VirtIO SCSI pass-through controller» and click next to install it. Now you should see your drive.
    • Network: Repeat the steps from above (click again «Load driver», etc.) and select the folder «NetKVMw10amd64», confirm it and select «Redhat VirtIO Ethernet Adapter» and click next.
    • Memory Ballooning: Again, repeat the steps but this time select the «Balloonw10amd64» folder, then the «VirtIO Balloon Driver» and install it by clicking next. With these three drivers you should be good covered to run a fast virtualized Windows 10 system.
  • Choose the drive and continue the Windows installer steps.

HINT: There is a video showing the process for a Windows Server 2016 installation which is the same as for Windows 10.

Install Guest Agent and Services

Guest Agent

If you enabled the Qemu Agent option for the VM the mouse pointer will probably be off after the first boot.

To remedy this install the «Qemu Guest Agent». The installer is located on the driver CD under guest-agentqemu-ga-x86_64.msi.

Drivers and Services

VirtIO guest tools installer

The easiest way to install missing drivers and services is to use the provided MSI installer. It is available on the driver CD since version «virtio-win-0.1.173-2».

Run the «virtio-win-gt-x64.msi» file located directly on the CD. If you do not plan to use SPICE you can deselect the «Qxl» and «Spice» features. Restart the VM after the installer is done.

After all this the RAM usage and IP configuration should be shown correctly in the summary page of the VM.

For more information and configuration about ballooning, see Dynamic Memory Management

Check for missing drivers

See also: Paravirtualized Block Drivers for Windows

Unknown device in device manager

Make sure to include subfolders

Go to the Device Manager to see if there are any drivers missing.
For any unknown device:

  • Right click an select «Update driver».
  • Select «Browse my computer for driver software».
  • Select the Driver CD. Make sure that «Include subfolders» is checked.
  • Once a driver has been found you might be prompted with a security warning asking if you «Would like to install this device software». Click «Install».

Further information

Disk-Image Format: raw vs qcow2

Raw file format provides slightly better performance while qcow2 offers advanced features such as copy on write and Live_Snapshots.
Since V2.3, qcow2 is the default format.

VirtIO drivers

Make it really easy: Build your ISO with drivers already included:
Windows guests — build ISOs including VirtIO drivers

Latest iso with VirtIO drivers :
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/

See also

Windows 2012 guest best practices

Windows 8 guest best practices

Обновлено Обновлено: 25.05.2022
Опубликовано Опубликовано: 30.01.2020

Используемые термины: Proxmox VE, Linux.

В данной инструкции мы пошагово разберем способы установки Proxmox VE, базовую настройку и создание виртуальной машины. Proxmox основан на Debian — поэтому установку будем выполнять на данный дистрибутив Linux. В данной инструкции работа ведется на Proxmox версии 6.

Системные требования
Установка Proxmox
    Из готового образа
    Установка на Debian
    Проверка установки
Базовая настройка
    Как загрузить ISO-образ
    Создание сетей
        Bridge
        NAT
        Сеть между виртуалками
Создание виртуальной машины
Настройка виртуальной машины
    Базовые настройки
    Добавление диска
    Добавление сетевого адаптера
    Установка гостевого агента
Удаление виртуальной машины
Тюнинг Proxmox
    Предупреждения об отсутствии подписки
    Правильный сертификат
Создание нового пользователя
Ubuntu и CentOS

Системные требования

Требования разделены на минимальные и рекомендованные:

  Минимальные Рекомендованные
Процессор 64bit с поддержкой технологии виртуализации Intel VT или AMD-V
Память 1 Гб 2 Гб для системы + для виртуальных машин.
Дополнительно, если используется хранилище Ceph или ZFS, 1 Гб на наждый ТБ данных.
Накопитель HDD SSD или NVMe
Сеть Сетевой адаптер Минимум, 2 сетевых адаптера на 10 Гбит/сек.

Поддержка виртуализации Intel VT или AMD-V может быть отключена на материнской плате. Для проверки заходим в БИОС — находим раздел настройки процессора (как правило, в пункте меню Advanced) — проверяем, что технология виртуализации (Intel VT, AMD-V, Virtualization Technology, VMX) включена (Enabled). Если мы хотим протестировать платформу и устанавливаем ее на виртуальную машину, то в ее настройках включаем поддержку технологии виртуализации. Например, в VMware ESX 6 в настройке виртуальной машины на вкладке Virtual Hardware раскрываем CPU и ставим галочку Expose hardware assisted virtualization to the guest OS:

Включение виртуализации для виртуальной машины в VMware ESX 6

Установка

Есть два варианта установки Proxmox VE — использовать готовый образ или установка на Debian. Мы рассмотрим оба.

Установка готового образа ISO

1. Переходим на страницу загрузки Proxmox официального сайта. Загружаем дистрибутив, например, Proxmox VE 6.1:

Загрузка дистрибутива Proxmox

2. Если установка выполняется на виртуальную машину, монтируем образ. Если нет — создаем установочную флешку, например, с помощью WinSetupFromUsb или загрузочный диск с помощью InfraRecorder.

3. Загружаем сервер с установочного ISO — мы увидим окно приветствия Proxmox — выбираем пункт меню Install Proxmox VE:

Welcome to Proxmox VE

4. Принимаем лицензионное соглашения, кликнув по I agree.

5. Выбираем диск, на который будет установлена система:

Выбираем диск, на который будет установлен Proxmox

* при необходимости, кликаем по Options и задаем настройки файловой системы и размера раздела.

6. Пишем страну, временную зону, язык раскладки клавиатуры по умолчанию:

Пишем страну, временную зону, язык раскладки клавиатуры по умолчанию

7. Вводим дважды пароль, который будет использоваться для пользователя root:

Новый пароль для root

8. Прописываем сетевые настройки:

Сетевые настройки Proxmox

* где:

  • Management Interface: сетевой интерфейс для управления сервером виртуальных машин.
  • Hostname (FQDN): имя хоста для сервера.
  • IP Address: IP-адрес нашего сервера.
  • Netmask: маска подсети для сервера.
  • Gateway: шлюз по умолчанию.
  • DNS Server: сервер DNS.

9. В окне «Summary» проверяем введенные данные и кликаем по Install. Начнется процесс установки, который займет не более 10 минут.

10. После установки мы должны увидеть «Installation Successful» — перезагружаем сервер, кликнув по кнопке Reboot.

После переходим к проверке установки.

Установка на Debian

Если мы решили установить Proxmox на уже установленный Debian, выполняем следующую инструкцию.

При установке среды виртуализации меняется ядро Linux. Это может привести к потери работоспособности уже установленных сервисов. Таким образом, установку Proxmox следует выполнять на чистый сервер, а не тот, который уже используется для каких-либо задач.

1. Имя сервера должно разрешаться по его IP-адресу. Для этого либо добавляем А-запись в DNS, либо настраиваем на сервере файл hosts:

nano /etc/hosts

… и добавляем:

192.168.1.55 proxmox.dmosk.local   proxmox

* где 192.168.1.55 — IP-адрес нашего сервера; proxmox — имя сервера; dmosk.local — наш домен, если используется.

2. Добавляем репозитории, которые будем устанавливать для установки  Proxmox PE и дополнительных компонентов:

nano /etc/apt/sources.list

deb http://mirror.yandex.ru/debian/ buster main non-free contrib
deb-src http://mirror.yandex.ru/debian/ buster main non-free contrib
deb http://download.proxmox.com/debian/pve buster pve-no-subscription

Чтобы мы могли работать с репозиторием proxmox добавляем в систему цифровую подпись:

wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg

Обновляем список пакетов:

apt-get update

3. Устанавливаем Proxmox PE и компоненты:

apt-get install proxmox-ve open-iscsi

* где proxmox-ve — собственно, сам гипервизор; open-iscsi — iSCSI-клиент для подключения iSCSI-target-ов.

4. Перезагружаем сервер:

systemctl reboot

Проверка установки

В браузере открываем панель управления системой виртуализации по адресу https://<IP-адрес сервера>:8006. В открывшемся окне выбираем язык, вводим логин и пароль от пользователя root:

Входим в панель управления Proxmox

Должно открыться окно управления.

Начальная настройка

Чтобы начать использовать Proxmox и создать первую виртуальную машину, внесем небольшие настройки и подготовим гипервизор к работе.

1. Загрузка образов

Кликаем по Датацентр — и дважды по storage:

Открываем хранилище Proxmox

* мы можем создать отдельное хранилище для образов ISO. Для этого переходим в раздел ДатацентрХранилищеСоздатьКаталог.

Переходим в раздел Содержимое и кликаем по Загрузить:

Кликаем по Загрузить в Proxmox

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

2. Создание сети для виртуальных машин

Мы рассмотрим примеры создания 2-х режимов сети — Bridge и NAT.

Независимо от способа установки Proxmox, необходимо подключиться к хосту по SSH и установить пакет ifupdown2 командой:

apt-get install ifupdown2

* ifupdown2 — утилита для конфигурации сетевого интерфейса (по сути, аналог ifupdown, написанный на языке Python).

… в противном случае, при попытке применить сетевые настройки мы получим ошибку you need ifupdown2 to reload networking (500).

Bridge

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

Работать с режимом Bridge нужно очень осторожно. Любое неправильное действие и удаленный доступ к серверу будет потерян. Если работы ведутся на удаленном сервере, рекомендуется сначала потренироваться на какой-нибудь локальной машине.

Также стоит отметить, что при установке PVE из установочного ISO-образа, один Bridge уже будет создан.

Для создания бриджа в панели управления кликаем по нашему серверу Proxmox — переходим в раздел СистемаСеть — обратите внимание, чтобы в системе не было bridge-интерфейсов:

Переход к созданию сетевого интерфейса в Proxmox

… иначе, создавать его не обязательно.

Открываем настройки сетевого интерфейса, через который будет работать наш мост и удаляем шлюз:

Удаляем шлюз из настроек сетевого адаптера

* если мы не сделаем этого, то при настройке Bridge мы получим ошибку Parameter verification failed. (400). gateway: Default gateway already exists on interface ‘ens160’.

Нажимаем Создать и выбираем Linux Bridge:

Создание нового Bridge интерфейса

В открывшемся окне заполняем поля IPv4/CIDR, Шлюз (IPv4), Порты сетевого моста:

Создание нового Bridge интерфейса

* в данном примере мы задаем IP-адрес, на котором будет работать Proxmox (чтобы ничего не перепутать, можно задать IP-адрес физического интерфейса, который будет задействован под Bridge); маска указывается в нотации CIDR и в нашем примере это 24 или 255.255.255.0; в качестве физического интерфейса наш bridge будет использовать ens160.

… нажимаем Создать

Кликаем по Apply Configuration, чтобы применить сетевые настройки:

Создание нового Bridge интерфейса

Подтверждаем действия.

NAT

Данный режим сети активно применяется в случае аренды сервера, где количество IP-адресов лимитировано. В данном случае, все виртуальные машины будут находисться за NAT, в качестве которого выступает сам Proxmox.

Сам интерфейс мы делаем из панели управления. Но чтобы виртуальные машины могли выходить в Интернет через сеть NAT, необходимо на самом хосте включить редирект и маскарадинг.

Создание нового bridge-интерфеса

Итак, кликаем по нашему серверу Proxmox — переходим в раздел СистемаСеть — нажимаем Создать и выбираем Linux Bridge:

Создание нового Bridge интерфейса для NAT

Оставляем имя vmbr1 или пишем любое другое, прописываем IP-адрес с маской сети, в которой будут находиться серверы за NAT:

Настройки при создании Bridge интерфейса для NAT

Нажимаем Создать. Применяем настройки:

Применяем сетевые настройки

Сеть настроена.

Настройка ядра и брандмауэра

Подключаемся к серверу по SSH. Открываем на редактирование файл настройки ядра:

nano /etc/sysctl.d/99-sysctl.conf

… и добавляем разрешение на редирект:

net.ipv4.ip_forward=1

После применяем настройки:

sysctl -p /etc/sysctl.d/99-sysctl.conf

Добавляем правило в брандмауэр:

iptables -t nat -A POSTROUTING -s ‘192.168.122.0/24’ -o vmbr0 -j MASQUERADE

* в данном примере мы создали правило для маскарадинга всех пакетов из подсети 192.168.122.0/24 и для исходящего интерфейса vmbr0. Обратите внимание, что если у нас будет другая подсеть и исходящий интерфейс для сети Интернет, то нужно будет задать другие значения.

Ставим утилиту для сохранения правил iptables:

apt-get install iptables-persistent

… и сохраняем правила в процессе установки или командой:

netfilter-persistent save

Наш NAT настроен.

Сеть между виртуалками

Данная сеть — частный случай NAT без выхода в Интернет. Мы должны создать бридж с отдельной подсетью без шлюза. При добавлении виртуальным машинам данного сетевого адаптера мы сможем настроить их взаимодействие по внутренней сети.

Создаем бридж, как делали это ранее:

Создание нового Bridge интерфейса для внутреннего трафика

Настраиваем новый интерфейс — задаем имя или оставляем тот, что предложит система, а также указываем IP-адрес:

Создание нового Bridge интерфейса для внутреннего трафика

Создаем интерфейс. Готово — при создании или редактировании виртуалок, мы можем указывать с качестве интерфейса созданный бридж (в данном примере, vmbr2) для изоляции их в отдельную подсеть 192.168.150.0/24.

Создание виртуальной машины

Базовая настройка закончена — можно опробовать наш гипервизор в деле. 

В правой верхней части панели управления кликаем по Создать VM:

Кликаем по Создать VM

В открывшемся окне снизу сразу ставим галочку Расширенный:

Ставим галочку расширенный

Задаем имя виртуальной машине и ставим галочку Запуск при загрузке (если хотим, чтобы виртуалка запускалась автоматически с сервером PVE):

Задаем имя и включаем запуск виртуальной машины при запуске сервера PVE

* в данном примере мы задали имя FS. При желании, также можно изменить VM ID, но он проставляется автоматически и имеет правильное значение.

Выбираем загруженный нами ISO-образ, с которого будем ставить операционную систему, задаем тип гостевой операционной системы и ее версию:

Выбираем образ, с которого должна загрузиться виртуалка

* в данном примере мы будем устанавливать Linux Ubuntu. Среди списка операционных систем также доступны Microsoft Windows, Solaris и Other.

На вкладке Система можно оставить все значения по умолчанию:

Системные настройки можно не трогать

* в некоторых случаях, необходимо выбрать другую видеокарту (при установке систем с GUI), а также особый вариант БИОС.

Задаем размер жесткого диска:

Задаем размер для жесткого диска

* 16 Гб для Ubuntu достаточно, однако, для наших задач расчет должен быть индивидуальным для каждой создаваемой виртуальной машины.

Мы можем задать количество процессоров и ядер:

Задаем количество процессоров и ядер для ВМ

* в данном примере мы создаем виртуалку с 2 процессорами, каждый из который с 2 ядрами, итого, 4. Для ненагруженных систем можно оставить значение по умолчанию.

Выделяем память:

Укажем объем оперативной памяти

* наша Ubuntu будет работать с 2 Гб оперативной памяти.

Выбираем созданный нами бридж — либо для получения прямого адреса из сети, либо для NAT:

Выбираем сетевой адаптер, через который будет работать сеть виртуальной машины

* в данном примере, мы указали vmbr0 для подключения к сети напрямую.

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

Разрешив запуск машины после ее создания

… и нажимаем Готово. Ждем окончания процесса и переходим к консоли:

Подключаемся к консоли сервера

Мы должны увидеть загрузку с ISO-образа.

Настройка виртуальной машины

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

Полезные настройки

Для начала, переходим к виртуальной машине — Параметры:

Переходим к параметрам виртуальной машины

На мой взгляд, чаще всего могут понадобиться следующие настройки:

  • Имя — имя виртуальной машины.
  • Запуск при загрузке — для серверов данный параметр должен быть активирован.
  • Порядок загрузки — позволяет определить, с какого устройства должна запуститься виртуалка в первую очередь.

Для изменения параметра, просто кликаем по нему дважды, меняем значение и нажимаем OK.

Добавление дискового накопителя

Переходим в подраздел Оборудование — кликаем по Добавить и выбираем Жесткий диск:

Добавляем жесткий диск

В открывшемся окне задаем размер диска и нажимаем OK.

Для увеличения размера имеющегося диска устанавливаем на него курсов и кликаем по Изменить размер диска:

Увеличиваем размер диска

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

Добавление сетевого адаптера

Переходим в подраздел Оборудование — кликаем по Добавить и выбираем Сетевое устройство:

Добавляем сетевой адаптер

Как при создании ВМ, выбираем тип сетевого адаптера (бридж или нат) и нажимаем Добавить.

Установка гостевого агента

Обязательная процедура для повышения производительности и возможностей работы с виртуальной машиной. Настройка выполняется как на гипервизоре, так и в самой виртуальной машине. Рассмотрим пример установки агента на базе системы Linux.

В гипервизоре переходим в Параметры, находим пункт QEMU Guest Agent и кликаем по нему:

Кликаем по пункту QEMU Guest Agent

Ставим галочку Use QEMU Guest Agent и нажимаем OK:

Включаем гостевого агента для виртуальной машины

Для применения настройки нужно выключить и включить виртуальную машину.

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

а) DEB-based:

apt install qemu-guest-agent

б) RPM-based:

yum install qemu-guest-agent

Установка завершена.

Для запуска сервиса выполняем:

systemctl enable qemu-guest-agent —now

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

Подробнее процесс описан на странице https://pve.proxmox.com/wiki/Qemu-guest-agent.

Удаление виртуальной машины

Для удаления виртуальной машины, сначала ее отключаем — это можно сделать из операционной системы или из панели управления, нажав на стрелку вниз рядом с ВыключитьОстановка:

Выключаем виртуальную машину

После кликаем по ДополнительноУдалить:

Удаление виртуальной машины

В открывшемся окне мы должны подтвердить свои намерения удалить виртуальную машину, вписав ее идентификатор:

Добавляем сетевой адаптер

* если мы поставим галочку Purge, то виртуальная машина будет удалена полностью вместе с виртуальным диском.

Кликаем по Удалить — готово.

Тюнинг сервера PVE

Внесем несколько изменений, которые сделают работу с Proxmox VE удобнее.

Отключение предупреждения об отсутствии подписки

Каждый раз при заходе в панель управления мы будем видеть такое предупреждение:

Предупреждение об отсутствии подписки

Оно говорит нам о том, что мы используем бесплатную версию программного продукта. Чтобы сообщение нас не беспокоило, выполним 2 действия:

  1. Отключим платный репозиторий для получения пакетов proxmox.
  2. Отредактируем файл js для отключения данного сообщения.

И так, в SSH открываем на редактирование репозиторий proxmox:

nano /etc/apt/sources.list.d/pve-enterprise.list

Приводим его к виду:

#deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise
deb http://download.proxmox.com/debian/pve stretch pve-no-subscription

* мы закомментировали репозиторий pve-enterprise и добавили pve-no-subscription.
* при большом желании, можно удалить файл репозитория с именем pve-enterprise.list и создать новый — кому как будет удобнее.

После обновим список пакетов:

apt-get update

Последнее — редактируем файл /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js:

sed -i «s/getNoSubKeyHtml:/getNoSubKeyHtml_:/» /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

* данной командой мы находим getNoSubKeyHtml в файле /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js и меняем на getNoSubKeyHtml_.

Закрываем окно браузера с Proxmox, если оно было открыто и запускаем его снова. Входим в систему — сообщение не должно появиться.

Сертификаты

Сервер PVE устанавливается с самоподписанным сертификатом. Это означает, что при подключении к панели управления мы будем видеть предупреждение от системы безопасности. Чтобы браузер принимал сертификат, он должен соответствовать следующим требованиям:

  • Быть выдан доверенным центром сертификации или зарегистрированным в вашей локальной сети, например, локальный AD CS.
  • Быть для доменного имени, по которому мы заходим в панель управления.
  • Иметь актуальные даты начала действия и окончания.

При этом, мы не должны заходить в панель управления по IP-адресу — в противном случае, независимо от сертификата, мы все-равно, получим предупреждение.

И так, сам сертификат можно купить, запросить бесплатно у Let’s Encrypt или создать с использованием локального центра сертификации, например, по данной инструкции. Получив сертификат, открываем панель управления PVE и переходим к серверу — СистемаСертификаты — кликаем по Загрузить пользовательский сертификат:

Переходим к загрузке сертификатов

В открывшемся окне заполняем поля для закрытого и открытого ключей:

Загружаем ключи

… и нажимаем Загрузить. Система предупредит, что загрузится с новым сертификатом — необходимо закрыть вкладку в браузере и открыть консоль управления снова. Если сертификат загружен правильный, мы не увидим предупреждения.

Создание нового пользователя

При установке PVE создается пользователь root. Рассмотрим процесс добавления еще одного через командную строку.

Подключаемся по SSH или открываем консоль из панели управления. Создаем пользователя в системе:

useradd user

* где user — имя создаваемого пользователя.

После создаем нового пользователя в Proxmox:

pveum useradd user@pam

* в данном примере мы создали пользователя user в области pam.

Задаем пароль:

pveum passwd user@pam

Задаем роль для созданного пользователя, например, административную:

pveum aclmod / -user user@pam -role Administrator

* весь список ролей можно посмотреть в панели администрирования в разделе ДатацентрРазрешенияРоли.

Ubuntu и CentOS

Возможно, кому-то захочется установить Proxmox именно на Ubuntu или CentOS. К сожалению, разработчики остановились на Debian. Возможно, есть неофициальные обходные пути установки Proxmox на другие дистрибутивы Linux, однако такой путь не является приемлемым для продуктивной среды. Для настройка виртуализации на Ubuntu и CentOS предлагаю инструкции:

1. Установка и настройка KVM на CentOS 7

2. Настройка KVM на Ubuntu Server

В этом статье мы покажем, как развернуть виртуальную машину и устанавливать на нее Windows 10/11 на гипервизоре Proxmox Virtual Environment.

Сначала вам нужно:

  • Скачать Windows Media Creation Tool (https://www.microsoft.com/en-us/software-download/windows10) и создать ISO файл с установочным образом Windows;
  • Также скачайте ISO образ с драйверами VirtIO для WIndows (https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso). Это набор паравиртуализированных драйверов для KVM/Linux, который обеспечит более высокую производительность виртуальных устройств, чем встроенные эмулированные драйвера

Загрузите оба iso файла в хранилище PVE.

загрузить установочный ISO образ Windows в хранилище ProxMox

Теперь нужно создать новую виртуальную машину Proxmox для развертывания гостевой Windows.

  1. Откройте веб интерфейс управления Proxmox VE (WAC) и нажмите кнопку Create VM;
  2. Укажите имя ВМ;
  3. Затем перейдите на вкладку OS и ваш установочный ISO образ Windows 10, который вы загрузили ранее. Proxmox должен автоматически определить тип ОС в образе и указать тип гостевой ОС виртуальной машины (Microsoft Windows version 10/2016/2019); создать виртуальную машину Windows 10 в Proxmox VE
  4. Перейдите на вкладку System и включите опцию Qemu Agent и выберите тип контроллера дисков VirtIO SCSI; VirtIO SCSI в Proxmox
  5. Затем перейдите на кладку Hard Disk и настройте параметры диска виртуальной машины (Bus/Device: SCSI (по умолчанию используется IDE), Storage: выберите хранилище ProxMox где будет хранится виртуальный диск, укажите размер виртуального диска (не менее 25 Гб). Здесь можно выбрать один из двух типов виртуальный дисков raw (лучшая производительностью) или qcow2 (расширенный функционал и поддержка снапшотов). Также вы можете пробросить физический диск или USB флешку в виртуальную машину Proxmox VE. Здесь можно включить опцию кэширования Write back ->Discard. Это увеличит быстродействие, но есть некоторые риски потери данных;
  6. На вкладке CPU и Memory укажите количество ядер виртуальной машины вы хотите выделить (не менее 2 vCPu типа kvm64) и размер оперативной памяти (не менее 2Гб); настройка vcpu и рамера памяти
  7. Перейдите на вкладку network. Выберите тип виртуальной карты VirtIO (paravirtualized) вместо Intel E1000. Отключите опцию Firewall, если вы будете использовать встроенный Windows Defender Firewall в гостевой ОС; настройка сети для виртуальной машины proxmox
  8. Проверьте настройки и нажмите Finish чтобы создать ВМ;
  9. После того, как вы создали новую виртуальную машину в Proxmox для Windows, откройте ее настройки и добавьте еще один CD/DVD привод. Подключите в него ISO файл с VirtIO драйверами;
  10. Запустите ВМ, нажав Start. Нажмите кнопку Console чтобы открыть экран виртуальной машины;
  11. Установка Windows должна запуститься автоматически;
  12. Windows Setup не сможет найти диски вашей ВМ. Поэтому вам нужно загрузить VirtIO драйвера контроллера;
  13. Нажмите кнопку Load Driver и укажите путь к каталогу amd64w10 на диске с драйверами VirtIO; загрузка драйвера VirtIO
  14. Установите драйвер Red Hat VirtIO SCSI pass-throught controller (NetKVMw10amd6vioscsi.inf);
  15. После установки драйвера установщик Windows увидит ваш диск, и вы сможете продолжить установку;
  16. После окончания установки Windows 10 в виртуальную машину, нужно установить драйвера VirtIO для сетевой карты и других устройств. Для этого откройте диспетчер устройств Windows (devmgmt.msc). Найдите в списке неизвестные устройства. Щелкните по устройству и выберите Update Driver -> Browse my computer for driver software и укажите путь к диску с драйверами VirtIO. Вам нужно установить как минимум следующие драйвера Redhat VirtIO Ethernet Adapter (NetKVMw10amd64), VirtIO Balloon Driver (Balloonw10amd64) Подробнее это описано в статье Установка драйверов KVM VirtIO в виртуальной машине Windows; установка драйверов VirtIO в виртуальной машине windows
  17. После установки всех драйверов установите VirtIO Агент (guest-agentquemu-ga-x86_64.msi) quemu-ga
  18. Запустите установку virtio-win-gt-x64.msi из корня диска. Укажите драйвера и службы, которые нужно установить дополнительно.

На этом настройка виртуальной машины Windows 10 на Proxmox закончена. Вы можете продолжить настройку параметров Windows в гостевой ОС (имя компьютера, параметры сетевого подключения, установить необходимые программы, добавить в домен Active Directory и т.д.)

PVE-base-000.pngProxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом на базе Debian, использующая в качестве гипервизора KVM для виртуальных машин и LXC для контейнеров. Это позволяет запускать в виртуальной среде Linux-системы без потери производительности и остальные, поддерживаемые KVM ОС с минимальными потерями. Кроме того, Proxmox VE позволяет создавать высокодоступные конфигурации с несколькими серверами и распределенными системами хранения.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Получить Proxmox VE можно на официальном сайте, сейчас доступна новая версия 6.0, которую мы и будем устанавливать. Да, это действительно open-source и это бесплатно, корпоративная подписка предоставляет доступ к закрытому репозиторию Proxmox VE Enterprise, который содержит стабильные обновления ПО и обновления безопасности, а также техническую помощь и поддержку. Никаких ограничений функциональности, если вы откажетесь от подписки, нет.

Для установки используется собственный инсталлятор и весь процесс предельно прост, от вас потребуется указать конфигурацию дисковой подсистемы:

PVE-base-001.pngА также пароль суперпользователя, настройки сети, страну и часовой пояс. Потом останется только откинуться в кресле и немного подождать, пока система установится на ваш компьютер. По завершении процесса установки вас встретит приглашение входа в систему, над которым будет указан адрес, который следует набрать в браузере для доступа к консоли управления.

Но не будем спешить. Прежде всего отключим корпоративный репозиторий, на который у нас все равно нет подписки, и подключим вместо него некоммерческий репозиторий Proxmox. Для отключения просто удалим файл репозитория из источников apt:

rm -f /etc/apt/sources.list.d/pve-enterprise.list

Затем создадим свой список:

touch /etc/apt/sources.list.d/pve-no-subscription.list

В который внесем следующие строки:

deb http://download.proxmox.com/debian/pve buster pve-no-subscription

Теперь можно переходить к консоли управления, откроем браузер и наберем предложенный адрес, консоль управления продуктами Proxmox работает на порту 8006, что следует помнить.

PVE-base-003.pngСтруктура Proxmox VE иерархична, высший уровень составляет Датацентр, здесь есть настройки, применяемые сразу ко всем узлам, например, управление пользователями или хранилищами, настройки резервного копирования и т.д.

PVE-base-004.pngСледующий уровень — настройки узла, здесь доступна подробная статистика и большое количество настроек, которые относятся именно к этому серверу. Мы не будем останавливаться на них подробно, для администратора с достаточным уровнем подготовки разобраться с ними не составит труда.

Но есть и «сложности перевода», так в разделе Обновления, нас ждут две одинаковые кнопки Обновить.

PVE-base-005.pngВ английской версии это были Update и Upgrade, а вот здесь перевели как перевели. Первая из них запускает обновление списка пакетов, а вторая запускает само обновление, открывая в отдельном окне консоль сервера.

PVE-base-006.pngЕсли вам нужно просто попасть в консоль сервера, можно нажать кнопку Оболочка и перед вами в отдельном окне браузера откроется noVNC-сессия, при этом не требуется ни Flash, ни Java, что позволяет подключаться как к серверу, так и к виртуальным машинам с любого устройства, был бы браузер.

Перед тем, как создавать виртуальные машины и контейнеры, обратимся к Хранилищам, по умолчанию создается два хранилища: local и local-lvm.

PVE-base-007.pngПервое предназначено для хранения ISO-образов и шаблонов контейнеров, а во втором хранятся сами виртуальные машины. Поэтому перед тем, как создать виртуальную машину или контейнер, нам нужно загрузить в хранилище нужный образ диска или шаблон. С образами все просто, нажимаем кнопку Загрузить и указываем нужный нам ISO-образ.

Для получения шаблонов следует нажать кнопку Шаблоны и мы попадем в официальное хранилище шаблонов, здесь мы может сразу загрузить шаблон другого продукта Proxmox — Mail Gateway или шаблоны стандартных Linux-систем.

PVE-base-008.pngПрокрутив ниже, мы обнаружим шаблоны предварительно настроенных систем практически на все случаи жизни. Использовать их, либо настраивать все самостоятельно — решать вам, в ряде случаев такие шаблоны способны хорошо сэкономить время, особенно при развертывании большого количества однотипных систем.

PVE-base-009.pngЧтобы загрузить выбранный шаблон достаточно нажать кнопку Загрузка внизу окна.

Для создания виртуальной машины нажмем Создать VM. На первом экране укажем имя виртуальной машины:

PVE-base-010.pngЗатем укажем тип и версию гостевой ОС и подключим нужный образ из хранилища.

PVE-base-011.png

После чего, последовательно перемещаясь по пунктам следует настроить все остальные параметры виртуалки, особых сложностей это составить не должно. Но создав виртуальную машину не спешите ее запускать. Прежде всего перейдем в раздел Оборудование. Здесь можно не только настроить уже подключенное оборудование, но и добавить новое. В отличие от Hyper-V, Proxmoх позволяет пробрасывать внутрь виртуальных машин USB-устройства, что может быть полезным, если вам нужно работать с ключами защиты или USB-токенами.

PVE-base-012.pngТакже не забудьте заглянуть в Параметры, где стоит включить Запуск при загрузке и Агент QEMU. И если с первым пунктом все понятно, то Агент позволяет управлять системой со стороны гипервизора, без него вы, например, не сможете сделать резервную копию без остановки работы машины.

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

PVE-base-014.pngПока идет установка системы создадим еще новый контейнер, для этого следует нажать кнопку Создать CT в правом верхнем углу консоли управления. В качестве контейнеров могут быть только Linux-системы, на первом экране укажите имя контейнера и задайте пароль root или загрузите публичный SSH-ключ.

PVE-base-015.pngЗатем укажите шаблон и следующими шагами сконфигурируйте виртуальное железо.

PVE-base-016.pngДоступных настроек у контейнеров гораздо меньше, зато они гораздо более экономно расходуют ресурсы.

PVE-base-017.pngОбратите внимание, что запущенный контейнер с Debian 10 потребляет всего лишь 55,46 МБ оперативной памяти.

PVE-base-018.pngТем временем, пока мы создавали контейнер, должна была установиться наша виртуальная машина. После установки ВМ потребуется установить в нее QEMU-агента для полноценного взаимодействия с гипервизором. Для Linux систем все просто, на deb-based системах достаточно выполнить:

apt install qemu-guest-agent

Для других дистрибутивов следует установить пакет qemu-guest-agent штатным пакетным менеджером.

С Windows все несколько сложнее, прежде всего скачаем и поместим в хранилище Proxmox ISO-образ с virtIO драйверами. Получить его можно со страницы Fedora Project. Затем подключим скачанный образ к виртуальной машине.

PVE-base-019.pngПри включенном QEMU-агенте мы увидим три неустановленных устройства.

PVE-base-020.pngНачнем с последнего, для Драйвера прерываний кнопок HID перейдем в выбор из списка уже установленных драйверов и укажем драйвер Универсальной шины.

PVE-base-021.pngДля двух оставшихся выполним поиск драйверов на смонтированном диске и устанавливаем драйвер VirtIO Serial Driver, который отвечает за работу QEMU-агента:

PVE-base-022.pngИ VirtIO Balloon Driver, который отвечает за динамическое управление памятью. При работающем QEMU-агенте внизу окошка со сведениями о виртуальной машине вы увидите ее IP-адрес, в противном случае там будет сообщение, что QEMU-агент не установлен.

PVE-base-023.pngТакже вы можете теперь включить для виртуальной машины динамическую память, для этого установите флаг Раздувание памяти и укажите минимальный размер оперативки, с которой начнет работу виртуалка:

PVE-base-024.pngНо придерживайтесь при этом разумных пределов, так вы можете столкнуться с невозможностью запустить современные версии Windows если укажете минимальный размер памяти менее 1 ГБ.

Еще одна важная функция, которая доступна в Proxmox VE — это резервное копирование. Существует хорошая практика — хранить резервные копии за пределами хоста. Поэтому подключим к Proxmox сетевое хранилище, для этого перейдем в Датацентр — Хранилище. Выбор здесь достаточно богатый: iSCSI, NFS, CIFS и прочее.

PVE-base-025.pngВ нашем случае мы подключим CIFS (SMB) хранилище.

PVE-base-026.pngУкажите имя хранилища, в нашем случае backup, его IP-адрес или FQDN-имя, доступные ресурсы будут просканированы автоматически и вам останется только выбрать их из списка, в поле Содержимое укажите Резервная копия , а также не забудьте указать максимальное количество резервных копий в хранилище.

Затем перейдем в раздел Резервная копия и создадим новый сценарий резервного копирования:

PVE-base-027.pngОсобых сложностей там нет, выбираете нужные виртуальные машины или контейнеры и задаете расписание копирования. После чего вам только останется проверить, что резервные копии действительно создаются.

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Пошаговая установка Windows Server на гипервизор Proxmox с использованием VirtIO Drivers на примере Windows Server 2022

Подготовка к установке

Скачиваем Windows нужной версии, это может быть любой Windows от XP до Server 2022

Скачиваем ISO VirtIO Drivers — https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers#Using_the_ISO

Если не нашли — прямая ссылка https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

Закидываем в Proxmox через кнопку Загрузить

Подготовка к установке

Выбираем «Создать VM»
Даем название и VM ID, который уникальный в пределах гипервизора или его кластера. Рекомендую использовать осмысленные номера, например привязанные к IP (если они не планируются меняться)
Выбираем хранилище, где лежит ISO образ и выбираем тип гостевой ОС
Включаем агента QEMU и проверяем, что выбран SCSI контроллер
Обязательно выбираем устройство SCSI вместо IDE

Всегда выбирайте SCSI диск, он самый быстрый из всех. IDE упирается в 40Мб/сек, SATA в 600Мб/сек, а SCSI может выжать всю скорость дисковой системы сервера. Для Linux серверов всегда выбирается VirtIO Block, как полностью совместимый и самый быстрый.

Выставляем количество ядер. Количество сокетов имеет значение для индивидуальных установок для оптимизации использования ядер.
Выставляем количество оперативной памяти
Выставляем модель сетевой карты VirtIO, которая будет максимально эффективно работать.
Нажимаем «Готово» для создания VM
Открываем свойства VM и добавляем CD/DVD дисковод
Где выбираем IDE и ISO образ с VirtIO

Установка

Запускаем VM
Нажимаем любую кнопку для начала установки
Дожидаемся окна установки
И начинаем установку
Ключа у нас, естественно, для таких тестовых стендов нет
Ставим с «возможностью рабочего стола». Standard нам хватит.
Принимаем условия соглашения
Выбираем «Другое: установка только операционной системы»
И тут система не видит жесткий диск. Нужно указать драйвер с примонтированного VirtIO диска. Жмем загрузить.
Находим папку с драйвером
D:vioscsi2k22amd64
Выбираем драйвер
Создаем диск, со всем соглашаемся и жмем далее
Начинается установка Windows Server
Дожидаемся настройки параметров, указываем пароль и нажимаем готово
Отправляем CTRL+ALT+DELETE для авторизации
И входим в систему
Открываем VirtIO дисковод и запускаем virtio-win-guest-tools
Со всем соглашаемся и все устанавливаем
Ставим все, что есть
После установки появится сетевой интерфейс
В оборудовании VM удаляем CD/DVD дисководы и выключаем-включаем виртуальную машину.

На чтение 21 мин Просмотров 21.5к. Опубликовано 12.10.2019
Обновлено 04.02.2023

Приветствую вас дорогие читатели на второй части цикла статей про домашний сервер!

Список цикла статей:

  1. Домашний Сервер: Часть 1 – Предисловие, аппаратная и софтовая начинка
  2. Домашний Сервер: Часть 2 – Установка системы виртуализации Proxmox (вы тут)
  3. Домашний Сервер: Часть 3 – Внутренний DNS сервис на BIND9 или свои доменные имена в локальной сети
  4. Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
  5. Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE

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

Логично задать вопрос: «А это бесплатное ПО?»
Да, это действительно бесплатное Open Source ПО, хотя есть корпоративная подписка.
Корпоративная подписка предоставляет доступ к закрытому репозиторию Proxmox VE Enterprise, который содержит более частые стабильные обновления ПО и обновления безопасности, а также техническую поддержку.
Если не использовать подписку никаких ограничений по функциональности не будет! И это по настоящему здорово!

Ну что, приступим к установке Proxmox Virtual Environment — далее PVE!
Установку я производил сначала на 2 SSD объемом по 256 Гб каждый. Другие 4 HDD я добавлял позже. Именно в таком ключе и предлагаю двигаться далее.

Содержание

  1. Подготовка Flash инсталлятора с образом системы
  2. Установка Proxmox VE на сервер
  3. Настройка Proxmox VE после установки
  4. Настраиваем репозиторий для обновлений
  5. Убираем всплывающее окно о подписке
  6. Настраиваем базовую отправку уведомлений на почту
  7. Подключение четырех дисков как ZFS массив RAID-5 (raidz1)
  8. Изменение размера ARC кэша
  9. Добавление L2ARC и ZIL(SLOG) с помощью отдельного NVME SSD накопителя
  10. Заключение
  11. UPD: 03.02.2023
  12. UPD: 10.11.2019
  13. UPD: 20.11.2019

Подготовка Flash инсталлятора с образом системы

Для скачивания образа системы необходимо перейти на официальный сайт www.proxmox.com и скачать необходимую версию. Особых отличий в заливке или установке не будет.
На момент написания статьи доступны версии 6 и 5.4
Берем какую либо флешку и пишем ISO образ на неё с помощью специальных программ. Их много (Rufus, balenaEtcher и др.).
Я предпочитаю balenaEtcher. Там все просто до безобразия. Запустили, выбрали образ, убедились, что выбрана нужная флешка и нажали запись. Подождали и вытащили флешку.
Есть Portable версия.

gost-proxmox-flash-1
balenaEtcher

Подключаем флешку к серверу и продолжаем уже через монитор или IPMI/BMC интерфейс.

IPMI/BMC интерфейс для управления сервером по сети

Что такое IPMI?
Выдержка из Wikipedia:
IPMI (от англ. Intelligent Platform Management Interface) — интеллектуальный интерфейс управления платформой, предназначенный для автономного мониторинга и управления функциями, встроенными непосредственно в аппаратное и микропрограммное обеспечения серверных платформ. Ключевые характеристики IPMI — мониторинг, восстановление функций управления, журналирование и инвентаризация, которые доступны независимо от процессора, BIOS’a и операционной системы. Функции управления платформой могут быть доступны, даже если система находится в выключенном состоянии.

 Что такое BMC?
Это «мозг» IPMI, отдельный микроконтроллер. BMC (Baseboard Management Controller). Через него как раз и происходит удаленное управление сервером. По сути, BMC ― это отдельный компьютер со своим программным обеспечением и сетевым интерфейсом, который распаивают на материнской плате или подключают как плату расширения по шине PCI management bus. В моем случае она уже есть на материнской плате.

 На практике это выглядит так:

gost-proxmox-ipmi-1
Страница входа через обычный браузер
gost-proxmox-ipmi-2
Одна из страниц настройки

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

Установка Proxmox VE на сервер

Для демонстрации буду использовать версию 5.4-1, как более близкую к своей 5.3-11, хоть она и поновей, но существенных изменений там нет.
Все изображения спрятаны под спойлеры для вашего удобства!

После загрузки мы увидим такое окно…

gost-proxmox-install-1
Начало установки Proxmox VE

Ожидаем окончания загрузки системы установки…

Соглашаемся с лицензионным соглашением…

gost-proxmox-install-2
Соглашаемся с лицензионным соглашением

Переходим к настройке места для установки…

Указываем страну, временную зону, а раскладку не трогаем…

gost-proxmox-install-7
Указываем страну, временную зону, а раскладку не трогаем

Указываем пароль и наш email для оповещений…

gost-proxmox-install-8
Указываем пароль и наш email для оповещений

Настраиваем сеть…

Тут хочется остановиться более подробно.

gost-proxmox-install-9
Настройка сети
  1. Учтите сразу, у Proxmox сеть указывается вручную. Я несколько раз пробовал настраивать DHCP-Client для него, но почему-то он его не очень любит. Потому биндинг адреса в DHCP-Lease особого смысла не имеет, разве только, чтобы понимать какой девайс на нем сидит.
    Hostname (FQDN): рекомендую задавать осмысленно с учетом того, какое доменное имя планируете использовать. Это необходимо для следующей статьи по DNS. Вы же планируете заходить по доменному имени, а не по IP адресу, правда? 🙂
    Я задал свой pve1.gregory-gost.ru и по такому URL теперь захожу на WEB интерфейс Proxmox. Подумайте заранее!
  2. Я указал в DNS IP контейнера в котором у меня работает DNS служба, но вам для начала необходимо указать свои стандартные DNS. Иначе PVE не будет иметь нормального выхода в интернет. Часто совпадает с Gateway.

Проверяем финальные данные…

gost-proxmox-install-10
Проверяем финальные данные

Дожидаемся окончания процесса установки…

gost-proxmox-install-11
Дожидаемся окончания процесса установки

Проводим финальную перезагрузку…

gost-proxmox-install-12
Проводим финальную перезагрузку

И наконец, после непродолжительных процедур нам позволено войти в систему.

gost-proxmox-install-13
После установки видим строку приглашения и информирующий баннер

Как можно наблюдать нам вежливо сообщили о том, по какому адресу и порту работает WEB интерфейс PVE:

https://192.168.88.5:8006

Давайте зайдем и посмотрим, что там!

Обратите особое внимание на адрес по которому работает WEB интерфейс PVE!
Как можно не сразу заметить используется защищенный протокол https вместо http. Автоматического перенаправления в системе не предусмотрено! Будьте внимательны!

Настройка Proxmox VE после установки

После ввода в браузере нужного адреса перед нами предстает WEB интерфейс PVE

gost-proxmox-configure-1
Окно входа в PVE

Логин для входа: root
Пароль тот, который вы указали при установке.

Далее я не буду производить обзор всей системы т.к. это еще не на одну статью. Знающие администраторы разберутся в ней без труда.
Система поддерживает Русский язык, который вы можете выбрать при входе.
Дополню только минимальными настройками для начала и покажу, как скачать шаблон для LXC контейнера. В следующей статье нам это пригодится.

Настраиваем репозиторий для обновлений

Перво наперво откроем консоль нашего сервера

gost-proxmox-configure-2
Путь до консоли самого сервера

Нас попросят ввести логин и пароль, вводим те же данные, которые вводили для входа в WEB.

Открываем Enterprise репозиторий…

nano /etc/apt/sources.list.d/pve-enterprise.list

и комментируем его (добавляем решетку в начало строки)

#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise

Создаем отдельный лист для репозитория без подписки

touch /etc/apt/sources.list.d/pve-no-subscription.list

Открываем его

nano /etc/apt/sources.list.d/pve-no-subscription.list

И добавляем в него репозиторий

# proxmox no subscriptions repo
deb http://download.proxmox.com/debian/pve stretch pve-no-subscription

Если вы устанавливаете Proxmox другой версии, то версия базовой ОС Debian может отличаться от stretch. В этом случае вам необходимо указать аналогичный тому, что есть в pve-enterprise.list.
Также узнать имя дистрибутива можно командой:
cat /etc/*-release | grep VERSION_CODENAME
Ответ будет примерно такой:
VERSION_CODENAME=stretch
К примеру уже 6-я версия PVE – buster а не stretch
А 7-я версия PVE – bullseye

Для обновления списков подаем команду

apt update

Если вы хотите сразу проапгрейдить систему, то:

apt update && apt dist-upgrade -y
reboot

Убираем всплывающее окно о подписке

После входа вы могли заметить сообщение о подписке, которое со временем может надоесть.
В принципе его можно оставить если оно вам не мешает. А для тех кому мешает необходимо сделать следующее:

Сохраняем резервную копию файла:

cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak

Подаем команду:

sed -i "s/getNoSubKeyHtml:/getNoSubKeyHtml_:/" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

Команда заменяет нужную переменную getNoSubKeyHtml: на ошибочную getNoSubKeyHtml_: и окно более нам не мешает.

Все просто 🙂

Работает только для PVE версий выше 5.1
Для более старых необходим другой метод, который вы можете найти на просторах интернета.

Настраиваем базовую отправку уведомлений на почту

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

За этот функционал в PVE отвечает сервис Postfix, его и будем настраивать.
Для примера я буду использовать придуманный почтовый адрес: ggost@yandex.ru. Вы конечно используете свой!

Будем отправлять сообщения от почтового ящика зарегистрированного на Yandex. Для Gmail отличий особых не будет.

Проверяем установлена ли библиотека libsasl2-modules

apt install libsasl2-modules

Делаем бекап основного файла конфигурации

cp /etc/postfix/main.cf /etc/postfix/main.cf.bak

Вносим правки в файл. Я привел его к такому виду:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version
myhostname = pve1.gregory-gost.ru
default_transport = smtp
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost = [smtp.yandex.ru]:587
mynetworks = 127.0.0.0/8
inet_interfaces = loopback-only
recipient_delimiter = +
header_checks = pcre:/etc/postfix/rewrite_subject
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relayhost.hash
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_auth.hash
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_generic_maps = hash:/etc/postfix/generic

Создаем хеш файл авторизации для доступа к почтовому ящику

echo [smtp.yandex.ru]:587 ggost@yandex.ru:yourpassword > /etc/postfix/sasl_auth.hash

Создаем хеш файл sender_relayhost (он гарантирует, что мы всегда используем свой почтовый ящик в качестве отправителя)

echo ggost@yandex.ru [smtp.yandex.ru]:587 > /etc/postfix/sender_relayhost.hash

И скобки [] обязательны!

У Яндекса есть проблема, а именно для успешной отправки письма, Яндекс требует, чтобы адрес отправителя в письме совпадал с адресом для авторизации на сервере.
Если это не будет сделано, то мы получим ошибку во время отправки — Sender address rejected: not owned by auth user
Чтобы этого избежать мы добавили в конфиг файл /etc/postfix/main.cf пункт smtp_generic_maps = hash:/etc/postfix/generic
Происходит это потому, что отправка системных сообщений идет от локального пользователя root.
Имя отправителя в письме у меня такое — root@pve1.gregory-gost.ru
В данном случае pve1.gregory-gost.ru это локальное имя сервера. Мы его заменим на учетную запись Яндекса.

Откройте файл блокнотом

nano /etc/postfix/generic

Добавьте в файл generic одну строку:

root@pve1.gregory-gost.ru ggost@yandex.ru

Шифруем файлы с помощью postmap

postmap /etc/postfix/sender_relayhost.hash
postmap /etc/postfix/sasl_auth.hash
postmap /etc/postfix/generic

Устанавливаем уровень доступа 0600 на файлы sasl_auth

chmod 0600 /etc/postfix/sasl_auth.*

Дополнительно я ввел формирование специального заголовка для темы. За это отвечает параметр

header_checks = pcre:/etc/postfix/rewrite_subject

Давайте создадим этот файл:

nano /etc/postfix/rewrite_subject

Добавляем в него такую строку:

/^Subject: (.*)$/ REPLACE Subject: [PVE1]: $1

Это регулярное выражение, которое меняет заголовок письма, начинающийся с Subject. Оно добавляет в начало темы имя сервера с двоеточием — [PVE1]:
Вы можете добавлять свой вариант. А $1 это исходное содержание темы, которое будет без изменений оставлено далее, после добавки.

Но для того, чтобы это работало, просто создать файл и поправить конфиг мало. Необходимо доустановить специальную библиотеку postfix-pcre
Вы ведь помните, как выглядит строка с этой настройкой: pcre:/etc/postfix/rewrite_subject
Давайте поставим нужный сервис:

apt install postfix-pcre

Перезапускаем Postfix

service postfix restart

или

systemctl restart postfix.service

Пробуем отправить тестовое сообщение адресату:

echo "Test mail from proxmox" | mail -s test my-email@gmail.com

Проверяйте почту 😉

gost-proxmox-configure-3
Итоговый вид полученного письма на Gmail через Yandex

Проверка работы Postfix:

cat /var/log/mail.log | grep postfix

Подключение четырех дисков как ZFS массив RAID-5 (raidz1)

Не забудем и про дополнительные четыре диска, которые в моем случае будут использоваться для хранения медиа файлов (фильмы, сериалы и др.)

И да, я знаю про специфику работы с RAID-5 и что к нему есть много вопросов, я решил пойти именно таким путем, вы же можете использовать свои знания и выбрать то, что кажется вам наиболее правильным. Но у ZFS RAID-5 есть одно преимущество, он восстановит потерянные данные, хоть и не целиком. А т.к. у меня там медиа данные, их можно без особого труда скачать снова. Это выгодно отличает его от обычного RAID-5. В итоге я потеряю файл/часть файла, но не потеряю весь массив данных.

Для начала проверим, видны ли они в системе, в этом нам поможет команда lsblk:

root@pve1:~# lsblk

В ответ мы увидим, что-то такое…

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   236G  0 disk 
├─sda1   8:1    0  1007K  0 part 
├─sda2   8:2    0   512M  0 part 
└─sda3   8:3    0 235.5G  0 part 
sdb      8:16   0   236G  0 disk 
├─sdb1   8:17   0  1007K  0 part 
├─sdb2   8:18   0   512M  0 part 
└─sdb3   8:19   0 235.5G  0 part 
sdc      8:32   0   2.7T  0 disk 
sdd      8:48   0   2.7T  0 disk 
sde      8:64   0   2.7T  0 disk 
sdf      8:80   0   2.7T  0 disk

Активные диски уже используются и на них можно наблюдать уже логические разделы, это два SSD диска: sda и sdb

А вот sdc, sdd, sde и sdf пока не задействованы, давайте это исправим!

Проверим созданный нами ранее RAID-1 из двух SSD

zpool list

Ответ

NAME     SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
rpool    234G  8.07G   226G         -     0%     0%  1.00x  ONLINE  -

Создадим RAID-5 из нужных нам дисков. Массив назовем rpoolz и пропишем полные пути к дискам (через /dev):

zpool create -f -o ashift=12 rpoolz raidz1 /dev/sdc /dev/sdd /dev/sde /dev/sdf

Не путайте с raidz2, это немного другое.

Проверяем более детально:

root@pve1:~# zpool list -v
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
rpool   234G   8.07G   226G         -     0%     0%  1.00x  ONLINE  -
  mirror   234G   8.07G   226G         -     0%     0%
    sda3      -      -      -         -      -      -
    sdb3      -      -      -         -      -      -
rpoolz   10.9T   2.14T   8.73T         -     0%     0%  1.00x  ONLINE  -
  raidz1   10.9T   2.14T   8.73T         -     0%     0%
    sdc      -      -      -         -      -      -
    sdd      -      -      -         -      -      -
    sde      -      -      -         -      -      -
    sdf      -      -      -         -      -      -

Папка массива в файловой системе доступна по пути, который мы прописали при создании: /rpoolz

В целом этого будет достаточно, но есть еще один момент, это вопрос «Как подключить данный массив как папку для хранения данных?»

Для начала необходимо отправиться в раздел Datacenter -> Storage
Например я добавил папку, куда сохраняю Backup архивы.

gost-proxmox-configure-4
Добавляем папку для Backup архивов
gost-proxmox-configure-5
Заполняем параметры для папки

Тут нужно заполнить ID — это имя директории, Directory — это путь в файловой системе к нужной папке. Выбрать тип хранимых данных. При добавлении типа VZDump backup file появится дополнительная настройка, где нудно указать количество хранимых Backup архивов для каждой виртуальной машины. (Настройка архивации виртуальных машин выполняется отдельно!)

Подключение папки массива в контейнерах LXC будем рассматривать уже в отдельных статьях.

Изменение размера ARC кэша

Преимуществом и одновременно недостатком ZFS перед другими файловыми системами (хотя ZFS это не только файловая система) является её непомерное потребление оперативной памяти.
Этому способствует специальный функционал ZFS, а именно ARC(Adjustable Replacement Cache — кэш адаптивной замены) — это очень быстрый кэш, расположенный в оперативной памяти сервера (ОЗУ/DDR). Фактически все наиболее частые запросы и последние запросы на чтение, могут быть обслужены прямо из физической оперативной памяти. А как мы знаем оперативная память очень быстрая, не говоря уже про сравнение с обычными медленными HDD.
В большей степени в OpenZFS используется реализация запатентованного IBM adaptive replacement cache с некоторыми изменениями.

По умолчанию нашему серверу доступно 50% оперативной памяти хоста. Многовато вам не кажется? Особенно для домашнего использования, когда на компактных серверах всего-то от 8 до 16 Гб доступно. Ну или 32Гб.
У нас же будут еще контейнеры, виртуалки и бог его знает что еще, для чего оперативная память гораздо нужнее.

Соответственно мы можем уменьшить этот размер до приемлемого, от 4 до 6 Гб в моем случае.
Вы можете выбрать для себя свою психологическую планку, исходя из доступного вам, или оставить как есть, если вас устраивает, что ZFS для себя заберет (а она обязательно заберет) 50% оперативки.

Из рекомендаций Proxmox: 2Гб для хоста и далее по 1Гб на 1Тб данных хранилища (грабеж)
Если исходить из этих рекомендаций, у меня 4HDD по 3Тб, 2Гб на хост и 12Гб на хранилище, итого 14Гб из 16Гб доступных для ZFS. Что простите? Для контейнеров останется всего 2Гб … это шутка да?

Тем не менее я решил выделить до 6Гб для ZFS и оставить 10Гб для контейнеров и хоста.

Давайте установим лимиты. Делается это через конфигурирование.

nano /etc/modprobe.d/zfs.conf
options zfs zfs_arc_min=4294967296
options zfs zfs_arc_max=6442450944

Формула для расчёта: Кол-во гигабайт умноженное на 1024*1024*1024
6Гб = 6*1024*1024*1024 = 6442450944

Далее нам нужно обновить initramfs

update-initramfs -u -k all

Дожидаемся обновления и обязательно необходимо перезагрузить хост! Изменения применяться после перезагрузки. Сразу увидите уменьшенное потребление памяти.

Добавление L2ARC и ZIL(SLOG) с помощью отдельного NVME SSD накопителя

Итак. Размер потребляемой памяти для ZFS мы уменьшили, но при этом увеличили возможное кол-во обращений к медленным HDD для операций чтения. Но в действительности это еще не все прелести ZFS!

У ZFS есть еще одна возможность, от которой было бы глупо отказываться, особенно, когда у вас в материнской плате есть разъем для M.2 NVME накопителя.

M.2 NVME разъем в материнской плате Asus P10S-I

Представляю вам L2ARC(Layer 2 Adaptive Replacement Cache) — он же кэш адаптивной замены второго уровня. По сути это тот же ARC только уже не в оперативной памяти, а на SSD. SSD конечно не такие быстрые как оперативная память, но гораздо быстрее обычных HDD.
1700 Мб/сек на чтение в NVME SSD против средних 200-250 Мб/сек для малообъемных HDD (до 6Тб)
Данный кэш сбрасывается при перезагрузке, как и кэш в оперативной памяти т.е. поведение ARC и L2ARC абсолютно идентичное.

Image showing the triangular setup of data storage, with RAM occupying the top third of the triangle, the L2ARC and the ZIL occupying the middle third of the triangle, and pooled disk occupying the bottom third of the triangle.
Архитектура возможных способов организации хранилища ZFS

Что касательно ZIL(ZFS Intent Log) — это механизм ведения журнала, в котором все данные для записи сохраняются, а затем сбрасываются как транзакционная запись. По функциям аналогичен журналу для журналируемых файловых систем, таких как ext3 или ext4. Обычно хранится на диске.
Т.к. данный функционал касается только записи, то лучше всего, чтобы это был SSD оптимизированный для записи, желательно SLC с алгоритмами выравнивания износа(wear-leveling algorithms). Также рекомендуют ставить ZIL в зеркало(RAID-1).
В моем случае нет еще одного M.2 разъема для подключения отдельного SSD и свободных SATA разъемов, поэтому попробуем использовать тот же SSD.

Взял для себя модель попроще, но от надежного производителя: Samsung PM991 128 ГБ M.2 MZALQ128HBHQ-000L2 (PCI-E 3.0, TLC 3D NAND)
L2ARC естественно буду применять для пула из обычных дисков т.к. системный пул и так на базе SSD, для него добавлять L2ARC не буду.

После установки нужно проверить определился ли диск. Все операции проводим естественно на хосте.

lsblk -a | grep nvme
nvme0n1     259:0    0 119.2G  0 disk

Нужно разделить SSD на разделы. Для этого будем использовать утилиту parted. Если не установлена, то ставим через APT.
ВАЖНО! Диск должен быть с GPT таблицей разделов. Перевести диск в этот формат возможно из интерфейса самого Proxmox -> Pve -> Disks

Выделим 4Гб для ZIL и все остальное под L2ARC (1Мб в начале оставил не размеченным)

parted /dev/nvme0n1 mkpart primary zfs 1 4G mkpart primary zfs 4G 100%

Проверяем

ls -l /dev/disk/by-id/ | grep nvme
lrwxrwxrwx 1 root root 13 Feb  3 21:12 nvme-SAMSUNG_MZALQ128HBHQ-000L2_S4UNNX0R196876 -> ../../nvme0n1
lrwxrwxrwx 1 root root 15 Feb  3 21:14 nvme-SAMSUNG_MZALQ128HBHQ-000L2_S4UNNX0R196876-part1 -> ../../nvme0n1p1
lrwxrwxrwx 1 root root 15 Feb  3 21:15 nvme-SAMSUNG_MZALQ128HBHQ-000L2_S4UNNX0R196876-part2 -> ../../nvme0n1p2

Некоторые материнские платы не будут последовательно представлять диски ядру Linux при перезагрузке. Таким образом, диск, идентифицированный как /dev/sda при одной загрузке, может быть /dev/sdb при следующей. Для основного пула, в котором хранятся ваши данные, это не проблема, поскольку ZFS может реконструировать VDEV на основе геометрии метаданных. Однако для ваших устройств L2ARC и SLOG таких метаданных не существует.

Добавляем ZIL к существующему пулу

zpool add <pool_name> log nvme-SAMSUNG_MZALQ128HBHQ-000L2_S4UNNX0R196876-part1

Добавляем L2ARC кэш к существующему пулу

zpool add <pool_name> cache nvme-SAMSUNG_MZALQ128HBHQ-000L2_S4UNNX0R196876-part2

Проверяем

zpool status -v
logs
          nvme-SAMSUNG_MZALQ128HBHQ-000L2_S4UNNX0R196876-part1  ONLINE       0     0     0
        cache
          nvme-SAMSUNG_MZALQ128HBHQ-000L2_S4UNNX0R196876-part2  ONLINE       0     0     0

Через некоторое время можем проверить как используется ZIL и L2ARC в пуле

zpool iostat -v
logs                                                        -      -      -      -      -      -
  nvme-SAMSUNG_MZALQ128HBHQ-000L2_S4UNNX0R196876-part1   372K  3.50G      0      4      0  33.1K
cache                                                       -      -      -      -      -      -
  nvme-SAMSUNG_MZALQ128HBHQ-000L2_S4UNNX0R196876-part2   184M   115G      0      0      6  5.16K

Также вы можете задавать кэш и лог прямо при создании пула

zpool create -f -o ashift=12 <pool_name> raidz1 <device1> <device2> <device3> <device4> cache <cache_device> log <log_device>

Заключение

Ну вот мы и разобрались с базовой(и не только) установкой и подготовкой системы виртуализации Proxmox.
Как видно, ничего сложного в этом нет. Достаточно обычных знаний по работе с Linux системами. Для тех из вас, кто только начинает разбираться полагаю данный материал будет не плохим стартом!
Надеюсь данная статья оказалась для вас полезной. Возможно у кого-то уже используется данная система и вы не прочь поделиться с читателями своими мыслями, в этом случае прошу в комментарии 🙂

Ну а дальше… дальше будем ставить контейнеры и виртуалки с сервисами, продолжим с доменных имен в локальной сети с помощью DNS. Следите за обновлениями!

  1. DNS — доменные имена в локальной сети вместо IP адресов. Домашний Сервер: Часть 3 – Внутренний DNS сервис на BIND9 или свои доменные имена в локальной сети
  2. Torrent Transmission — качалка торрентов. Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
  3. Plex Mediaserver — домашний медиа сервер. Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE
  4. The Dude — мониторинг девайсов в домашней сети.
  5. Домашний IoT.
  6. IP телефония.

Делитесь в комментариях, чем пользуетесь вы для организации подобной системы. Готовый NAS, альтернативные системы виртуализации? В общем пишите 🙂

Благодарю за ваше время!
Всего хорошего на просторах Интернета 😉

UPD: 03.02.2023

В статью добавлена информация по:

  • изменению размера ARC кэша
  • использованию NVME SSD для L2ARC кэша и ZIL (логов записи)

UPD: 10.11.2019

Добавлен блок с подключением дополнительных дисков, как массива RAID-5

UPD: 20.11.2019

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

Выразить благодарность автору

Если Вам не безразлична судьба блога или Вы просто хотите отблагодарить Автора за его труд, смело переходите на страницу Поддержки, там описана вся информация, по тому, как это сделать. Заранее благодарен вам за данную инициативу!

Понравилась статья? Поделить с друзьями:
  • Как установить realtek pcie gbe family controller для windows 10
  • Как установить p cad 2006 на windows 7
  • Как установить prototype на windows 10
  • Как установить realtek high definition audio driver на windows 10
  • Как установить overwolf на windows 11