Proxmox VE Administration Guide
Одним из основных преимуществ хранения виртуальных машин в общем хранилище является возможность оперативной миграции работающих машин без простоев, поскольку все узлы в кластере имеют прямой доступ к образам дисков виртуальных машин. Нет необходимости копировать данные образа виртуальной машины, поэтому динамическая миграция в этом случае выполняется очень быстро.
Библиотека хранения (пакет libpve-storage-perl) использует гибкую систему плагинов для обеспечения общего интерфейса для всех типов хранения. Она может быть адаптирована для включения дополнительных типов хранения в будущем.
Хранилище Proxmox VE
- Типы хранилищ
- Конфигурация хранилища
- Тома
- Использование интерфейса командной строки
- Directory Backend
- NFS Backend
- CIFS Backend
- GlusterFS Backend
- Local ZFS Pool Backend
- LVM Backend
- LVM thin Backend
- Open-iSCSI initiator
- User Mode iSCSI Backend
- Ceph RADOS Block Devices (RBD)
- Ceph Filesystem (CephFS)
Одним из основных преимуществ хранения виртуальных машин в общем хранилище является возможность оперативной миграции работающих машин без простоев, поскольку все узлы в кластере имеют прямой доступ к образам дисков виртуальных машин. Нет необходимости копировать данные образа виртуальной машины, поэтому динамическая миграция в этом случае выполняется очень быстро.
Библиотека хранения (пакет libpve-storage-perl) использует гибкую систему плагинов для обеспечения общего интерфейса для всех типов хранения. Она может быть адаптирована для включения дополнительных типов хранения в будущем.
Типы хранилищ
Существует в основном два различных класса типов хранилищ:
- Хранилище файлового уровня
- Технологии хранения на уровне файлов позволяют получить доступ к полнофункциональной файловой системе (POSIX). Они в целом более гибкие, чем любое хранилище уровня блока (см. ниже), и позволяют хранить контент любого типа. ZFS, вероятно, самая продвинутая система, и она имеет полную поддержку снимков и клонов.
- Хранилище блочного уровня
- Позволяет хранить большие необработанные образы. Обычно невозможно хранить другие файлы (ISO, резервные копии, ..) на таком типе хранилища. Большинство современных реализаций блочных хранилищ поддерживают моментальные снимки и клоны. RADOS и GlusterFS с распределенной системой хранения, реплицируют данные на различные узлы.
Описание PVE тип Уровень Shared Создание снимков Стабильный ZFS (local) zfspool file нет да да Directory dir file нет нет1 да NFS nfs file да нет1 да CIFS cifs file да нет1 да glusterfs glusterfs file да нет1 да cephfs cephfs file да да да LVM lvm block нет2 нет да LVM-thin lvmthin block нет да да iSCSI/kernel iscsi block да нет да iSCSI/libiscsi iscsidirect block да нет да Ceph/RBD rbd block да да да ZFS over iSCSI zfs block да да да
2: Можно использовать LVM поверх хранилища iSCSI. Таким образом, вы получаете общее хранилище LVM.Тонкая Настройка
Ряд хранилищ, и образы QEMU в формате qcow2 , поддерживает динамическое выделение памяти. При активированной тонкой настройке в хранилище будут записаны только те блоки, которые фактически используются гостевой системой.
Скажем, например, вы создаете виртуальную машину с жестким диском 32 ГБ, и после установки операционной системы гостевой системы корневая файловая система виртуальной машины содержит 3 ГБ данных. В этом случае только 3 ГБ записываются в хранилище, даже если гостевая виртуальная машина видит жесткий диск 32 ГБ. Таким образом, тонкая настройка позволяет создавать образы дисков, которые больше, чем доступные в настоящее время блоки хранения. Можно создавать большие образы дисков для виртуальных машин, а при необходимости добавлять дополнительные диски в хранилище без изменения размера файловых систем виртуальных машин.
Все типы хранилищ, которые имеют функцию “моментальные снимки”, также поддерживают тонкую настройку.
- Осторожно!
- Если хранилище заполнено, все гости, использующие Тома в этом хранилище, получают ошибки ввода-вывода. Это может привести к несогласованности файловой системы и повреждению данных. Поэтому рекомендуется избегать чрезмерного использования тонкой настройки ресурсов в вашем хранилище или внимательно следить за свободным пространством, чтобы избежать таких ситуаций.
Конфигурация хранилища
Все связанные с Proxmox VE конфигурации хранилища хранятся в одном текстовом файле по адресу/etc/pve/storage.cfg
Поскольку этот файл находится в папке/etc/pve/
, он автоматически распределяется по всем узлам кластера. Таким образом, все узлы имеют одинаковую конфигурацию хранилища. Совместное использование конфигурации хранилища имеет смысл для общего хранилища, поскольку одно и то же «общее» хранилище доступно со всех узлов. Но это также полезно для локальных типов хранения. В этом случае такое локальное хранилище доступно на всех узлах, но оно физически отличается и может иметь совершенно разное содержимое.Пулы Хранения
Каждый пул хранения имеет <type> и однозначно идентифицируется по его <storage_id>.
Конфигурация пула выглядит следующим образом:
Строкой <Тип>: <storage_id> начинается определение пула, затем следует список свойств. Большинство свойств требуют значения, но некоторые имеют разумные значения по умолчанию. В этом случае вы можете опустить значение.<type>: <STORAGE_ID> <property> <value> <property> <value> ...
Чтобы быть более конкретным, взгляните на конфигурацию хранилища по умолчанию после установки. Он содержит один специальный локальный пул хранения с именем local, который ссылается на каталог/var/lib/vz
и всегда доступен. Программа установки Proxmox VE создает дополнительные записи хранилища в зависимости от типа хранилища, выбранного во время установки.
Конфигурация хранилища по умолчанию (/etc/pve/storage.cfg
)Общие свойства хранилищ
Некоторые свойства хранилищ являются общими для различных типов хранения.- nodes
- Список имен узлов кластера, где это хранилище может использоваться / доступно. Это свойство можно использовать для ограничения доступа к хранилищу для определенного набора узлов.
- content
- Хранилище может поддерживать несколько типов содержимого, например образы виртуальных дисков, образы cdrom iso, шаблоны контейнеров или корневые каталоги контейнеров. Не все типы хранения поддерживают все типы содержимого. Можно установить это свойство, чтобы выбрать, для чего используется это хранилище.
- images
- Образы виртуальных машин KVM-Qemu.
- rootdir
- Разрешить хранить данные контейнеров.
- vztmpl
- Шаблоны контейнеров.
- backup
- Файлы резервных копий (vzdump).
- iso
- ISO-образы
- snippets
- Сниппет файлы, например guest hook скрипты
- shared
- Отметить хранилище как общее.
- disable
- Этот флаг можно использовать для полного отключения хранилища.
- maxfiles
- Максимальное количество резервных копий файлов на виртуальную машину. Используйте 0 для неограниченного.
- format
- Формат образа по умолчанию (raw|qcow2|vmdk)
- Внимание!
- Не рекомендуется использовать один и тот же пул хранения для разных кластеров Proxmox VE. Некоторые операции хранения требуют эксклюзивного доступа к хранилищу, поэтому требуется надлежащая блокировка. Хотя это реализовано в кластере, оно не работает между различными кластерами.
Тома
Мы используем специальную нотацию для обращения к данным хранилища. При выделении данных из пула хранения он возвращает такой идентификатор Тома. Том идентифицируется символом <STORAGE_ID>, за которым следует имя Тома, зависящее от типа хранилища, разделенное двоеточием. Допустимый <VOLUME_ID> выглядит так:
Чтобы получить путь к файловой системе для <VOLUME_ID>, используйте:local:230/example-image.raw local:iso/debian-501-amd64-netinst.iso local:vztmpl/debian-5.0-joomla_1.5.9-1_i386.tar.gz iscsi-storage:0.0.2.scsi-14f504e46494c4500494b5042546d2d646744372d31616d61
pvesm путь <VOLUME_ID>
Владелец тома
Существует отношение собственности для томов типа образ. Каждый такой Том принадлежит виртуальной машине или контейнеру. Например, том local:230/example-image.raw принадлежит VM 230. Большинство серверных систем хранения данных кодирует эту информацию о владельце в имя Тома.
При удалении виртуальной машины или контейнера система также удаляет все связанные Тома, принадлежащие этой виртуальной машине или контейнеру.
Использование интерфейса командной строки
Рекомендуется ознакомиться с концепцией пулов хранения и идентификаторов томов, но в реальной жизни вы не обязаны выполнять какие-либо из этих низкоуровневых операций в командной строке. Обычно выделение и удаление томов выполняется средствами управления виртуальными машинами и контейнерами.
Тем не менее, существует инструмент командной строки под названием pvesm (“Proxmox VE Storage Manager”), который способен выполнять общие задачи управления хранилищем.Примеры
Добавление пулов хранения
Отключить пулы храненияpvesm add <TYPE> <STORAGE_ID > <OPTIONS> pvesm add dir <STORAGE_ID> --path <PATH> pvesm add nfs <STORAGE_ID> --path <PATH> --server <SERVER> --export <EXPORT> pvesm add lvm <STORAGE_ID> --vgname <VGNAME> pvesm add iscsi <STORAGE_ID> --portal <HOST[:PORT]> --target <TARGET>
Включение пулов храненияpvesm set <STORAGE_ID> --disable 1
Изменение/настройка параметров хранилищаpvesm set <STORAGE_ID> --disable 0
Удаление пула хранения.pvesm set <STORAGE_ID> <OPTIONS> pvesm set <STORAGE_ID> --shared 1 pvesm set local --format qcow2 pvesm set <STORAGE_ID> --content iso
Это не удаляет никаких данных, а также не отключает и не размонтирует ничего. Просто удаляется конфигурация хранилища.
Выделение томовpvesm remove <STORAGE_ID>
Выделите том 4G в локальном хранилище. Имя генерируется автоматически, если вы передаете пустую строку в качестве <name>pvesm alloc <STORAGE_ID> <VMID > <name> <size> [--format <raw|qcow2>]
Очистить томаpvesm alloc local <VMID> '' 4G
pvesm free <VOLUME_ID>
- Внимание!
- Это действительно уничтожает все данные Тома.
Список статусов хранилищ
Список содержимого хранилищаpvesm status
Список томов, выделенных VMIDpvesm list <STORAGE_ID> [--vmid <VMID>]
Список iso образовpvesm list <STORAGE_ID> --vmid <VMID>
Список шаблонов контейнеровpvesm list <STORAGE_ID> --iso
Показать путь к файловой системе для Томаpvesm list <STORAGE_ID> --vztmpl
pvesm path <VOLUME_ID>
- Файловая система кластера Proxmox
- Оглавление
- Directory Backend
Александр, спасибо огромное за труды по переводу!! Ждал именно эту главу потому как наиболее мне сейчас нужная из оставшихся (ну кроме разве что главы про резервное копирование и восстановление - та вообще особо необходимая). Ещё раз благодарю за упорство и постоянство!
ОтветитьУдалитьНу это только начало главы
Удалить