Содержание страницы
- Установка
- Выбор файловой системы для основной операционной системы Proxmox
- Подключаем репозиторий для обновления Proxmox
- Установка компонентов для HPE Gen 8, 9
- Установка компонентов для HPE Gen 10
- Ограничение в ресурсах ZFS
- Отказаться от LVM-Thin на системном диске
- Удаляем LVM-Thin
- Fiber Channel и iSCSI
- Proxmox Standalone Storage
- Proxmox Cluster Storage
- Варианты создания кластерной файловой системы
- Возможные проблемы
Установка
- Standalone — одиночная инсталляция, где хранилище виртуальных машин доступно одному гипервизору
- Cluster — кластерная инсталляция, где хранилище виртуальных машин доступно нескольким гипервизорам
Выбор файловой системы для основной операционной системы Proxmox
Определимся с установкой
- Если у нас общее хранилище для системы и виртуальных машин, сервер имеет аппаратный RAID и только 2 диска то собираем RAID1 (зеркало из 2 дисков под систему, хранилище ISO и VM)
- NVME SSD, U2/U3 NVME SSD и SAS SSD диски имеет смысл ext4 или LVM
- SATA SSD диски имеет смысл ZFS с кешем 2-4Гб для ускорения операций ввода вывода
- Если у нас общее хранилище для системы и виртуальных машин, сервер имеет аппаратный RAID и более 4 дисков одного типа и объема то собираем RAID10 для высоких нагрузок, RAID5 для менее нагруженных VM
- имеет смысл ext4 для обычных VM c тонкой и толстой подготовкой, LVM для дисков где нужно 100% резервирование диска, исключаем фрагментацию на уровне гипервизора
- ZFS не имеет большого смысла, прирост не значительный, — RAID контроллер фактически выполняет теже операции
- Если у нас раздельное хранилище для системы и виртуальных машин, сервер имеет аппаратный RAID и более 4 дисков одного типа и объема то собираем RAID1 для системы из 2 дисков, и RAID10 для высоких нагрузок, RAID5 для менее нагруженных VM для хранилища VM
- имеет смысл ext4 для обычных VM c тонкой и толстой подготовкой, LVM для дисков где нужно 100% резервирование диска, исключаем фрагментацию на уровне гипервизора
- ZFS может дать прирост, но не значительный, тк RAID контроллер фактически выполняет теже операции
- Если у нас раздельное хранилище для системы и виртуальных машин, сервер не имеет аппаратного RAID
- имеет смысл ZFS вне зависимости от дисков он даст максимальную производительность, обязательно требуется ограничить кеширования для ZFS, важно учитывать будущие нагрузки и потребление памяти
Файл подкачки не используется, потому как будет замедлять работу сервера в случае нехватки памяти. Помимо этого для ZFS он вреден. Контролируйте и планируйте расход оперативной памяти
Подключаем репозиторий для обновления Proxmox
nano /etc/apt/sources.list.d/pve-no-subscription.list
# Proxmox VE pve-no-subscription repository provided by proxmox.com # NOT recommended for production use
# Proxmox 8 #deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription
# Proxmox 9
#deb http://download.proxmox.com/debian/pve trixie pve-no-subscription
nano /etc/apt/sources.list.d/pve-enterprise.list
# Proxmox 8
#deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise
# Proxmox 9
#deb https://enterprise.proxmox.com/debian/pve trixie pve-enterprise
nano /etc/apt/sources.list.d/ceph.list
# Proxmox 8
#deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise
# Proxmox 9
#deb https://enterprise.proxmox.com/debian/ceph-quincy trixie enterprise
Выполняем обновление
apt update && apt upgrade -y && apt autoremove -y
Установка компонентов для HPE Gen 8, 9
wget https://downloads.linux.hpe.com/SDR/repo/mcp/Debian/pool/non-free/hp-ams_2.6.2-2551.13_amd64.deb dpkg -i hp-ams_2.6.2-2551.13_amd64.deb
Установка компонентов для HPE Gen 10
wget https://downloads.linux.hpe.com/sdr/repo/mcp/Debian/pool/non-free/amsd_3.6.0-1867-debian12_amd64.deb
dpkg -i amsd_3.6.0-1867-debian12_amd64.deb
Ограничение в ресурсах ZFS
Проверяем сколько выделяется оперативной памяти
cat /sys/module/zfs/parameters/zfs_arc_min cat /sys/module/zfs/parameters/zfs_arc_max
Меняем настройки выделения оперативной памяти для нужд ZFS
nano /etc/modprobe.d/zfs.conf
# MIN 2Gb options zfs zfs_arc_min=2147483648 # MAX 4Gb options zfs zfs_arc_max=4294967296
Обновляем загрузчик и перезагружаем ноду
update-initramfs -u -k all pve-efiboot-tool refresh reboot
Смотрим отчет ZFS Subsystem Report
arc_summary -s arc #ZFS Subsystem Report Thu Nov 21 07:40:25 2024 #Linux 6.8.12-2-pve 2.2.6-pve1 #Machine: pve-01 (x86_64) 2.2.6-pve1 #ARC status: HEALTHY # Memory throttle count: 0 # ARC size (current): 93.7 % 3.7 GiB # Target size (adaptive): 100.0 % 4.0 GiB # Min size (hard limit): 50.0 % 2.0 GiB # Max size (high water): 2:1 4.0 GiB
Отказаться от LVM-Thin на системном диске
Относится только если вы выбрали файловую систему LVM
Удаляем LVM-Thin
- Через web интерфейс
- Идем в пункт меню расположенный в меню ноды Datacenter->PVE->Disks->LVM-Thin
- Выбираем диск data
- Наживаем в правом углу More и выбираем Destroy
- Подтверждаем pve/data
- Удаляем через консоль
lvdisplay
lvremove /dev/pve/data
При необходимости можно удалить SWAP
swapoff -a
lvremove /dev/pve/swap
nano /etc/fstab
Расширение раздела /pve/root
lvextend -l +100%FREE /dev/pve/root
resize2fs /dev/pve/root
Fiber Channel и iSCSI
Настраиваем многоцелевой доступ MPIO
Подробнее о том как настроить описано тут на примере HPE MSA и HPE 3Par
Proxmox Standalone Storage
Если будет только один гипервизор, то предпочитаю использовать ext4, легко можно расширить дисковое пространство и ext4 относительно надёжная файловая система.
Proxmox Cluster Storage
Монтируем хранилище как папку через web интерфейс для установки Standalone
После подключения LUN, необходимо создать файлововую систему и смонтировать в директорию в нашем случае это /data/vms
- Идем в пункт меню расположенный в меню датацентра Datacenter->Storage
- Сверху слева жмем Add
- ID — Видимое имя VMStorage
- Directory — путь к используемой директории /data/vms
- Content — Disk image, Container
После подключения LUN, ненужно создавать файловую систему. Но можно создать LVM.sgdisk -N 1 /dev/dm-2 pvcreate --metadatasize 250k -y -ff /dev/dm-2 vgcreate vms /dev/dm-2
- Идем в пункт меню расположенный в меню датацентра Datacenter->Storage
- Сверху слева жмем Add
- ID — Видимое имя VMStorage
- Необходим включённый пункт Shared
Варианты создания кластерной файловой системы
Кластерная файловая система ocfs2
apt-get install ocfs2-tools o2cb
register-cluster VMBocfs2
nano /etc/ocfs2/cluster.conf
cluster:
node_count = 3
name = VMBocfs2
node: ip_port = 7777
ip_address = 192.168.100.11
number = 0
name = pve02
cluster = VMBocfs2
node: ip_port = 7777
ip_address = 192.168.100.12
number = 0
name = pve02
cluster = VMBocfs2
node: ip_port = 7777
ip_address = 192.168.100.13
number = 0
name = pve02
cluster = VMBocfs2
dpkg-reconfigure ocfs2-tools
# # This is a configuration file for automatic startup of the O2CB # driver. It is generated by running 'dpkg-reconfigure ocfs2-tools'. # Please use that method to modify this file. # # O2CB_ENABLED: 'true' means to load the driver on boot. O2CB_ENABLED=true # O2CB_BOOTCLUSTER: If not empty, the name of a cluster to start. O2CB_BOOTCLUSTER=VMBocfs2 # O2CB_HEARTBEAT_THRESHOLD: Iterations before a node is considered dead. O2CB_HEARTBEAT_THRESHOLD=32 # O2CB_IDLE_TIMEOUT_MS: Time in ms before a network connection is considered dead. O2CB_IDLE_TIMEOUT_MS=32000 # O2CB_KEEPALIVE_DELAY_MS: Max. time in ms before a keepalive packet is sent. O2CB_KEEPALIVE_DELAY_MS=3000 # O2CB_RECONNECT_DELAY_MS: Min. time in ms between connection attempts. O2CB_RECONNECT_DELAY_MS=3000
service oc2b status service ocfs2 status Создаем файловую систему ocfs2 mkfs.ocfs2 -L «vmbackup» -N 4 /dev/mapper/vmb -F nano /etc/fstab
# backup /dev/mapper/vmb /mnt/backup ocfs2 _netdev,nointr 0 0
Проверяем монтирование
mkdir -p /mnt/backup systemctl daemon-reload mount -a
—
Возможные проблемы
DMAR: ERROR: DMA PTE for vPFN
решение при установке Proxmox VE 8+
Во время загрузки установщика на экране появилось сообщение: «DMAR: ERROR: DMA PTE for vPFN …».
Система всё равно загрузилась, но эти ошибки связаны с Intel VT-d (IOMMU) .
Реализация VT-d в его BIOS/прошивке неполная/некорректная, что приводит к проблемам с современными ядрами Linux.
Исправление, которое мне помогло
- Загрузите установщик Proxmox с USB-накопителя.
- На первом загрузочном экране выделите «Установить Proxmox VE» .
- Нажмите e для редактирования.
- В строке, начинающейся с: «linux /boot/linux26 root=… quiet» добавляю «intel_iommu=off»
- Нажмите F10 (или Ctrl+X) для загрузки.
Это позволило мне установить Proxmox без ошибок DMAR.
Сделать его постоянным после установки
Отредактируйте конфигурацию GRUB «nano /etc/default/grub» и измените строку: «GRUB_CMDLINE_LINUX_DEFAULT=»quiet»» на «GRUB_CMDLINE_LINUX_DEFAULT=»quiet intel_iommu=off»».
Затем обновите GRUB:
update-grub или
proxmox-boot-tool refresh
Дополнительная информация