Тома OpenStack являются устройствами постоянного хранения при блочном доступе, которые могут быть присоединены и отсоединены к экземплярам, однако могут быть присоединены только к одному экземпляру одновременно. По аналогии с внешним жестким диском они на практике не являются совместно используемым хранилищем тем же образом, как это делают сетевая файловая система или хранилище объектов. Они оставляют операционной системе экземпляра выбор: помещать файловую систему на блочное устройство и монтировать его - или нет.
По аналогии с другими съемными дисковыми технологиями, важно, чтобы операционная система не пыталась использовать диск перед его удалением. В экземплярах Linux процесс обычно включает размонтирование всех файловых систем, смонтированных с тома. Служба тома OpenStack не может сообщить является ли удаление томов безопасным, поэтому она выполняет то, о чем ее просят. Если пользователь просит службу томов отсоединить тома от экземпляра во время записи на них, вы можете ожидать некоторый уровень разрушений файловой системы одновременно со сбоем в любом процессе экземпляра, который использует данное устройство.
Не существует ничего специфичного для OpenStack в понимании шагов, необходимых операционной системе экземпляра для доступа к блочному устройству: потенциально необходимое форматирование устройства перед его первым использованием и предосторожности при его удалении. Вот что действительно специфично, так это процесс создания нового тома, а также присоединение и отключение его от экземпляров. Все эти операции могут быть выполнены на странице Volumes инструментальной панели (Dashboard) или с использованием клиента командной строки.
Для добавления новых томов вам потребуется только имя и размер тома в гигабайтах. Либо поместите их в веб-форму create volume (создать том), либо с помощью командной строки:
$ cinder create --display-name test-volume 10
Данная команда создает том объемом 10ГБ с названием test-volume
.
Чтобы вывести список томов и экземпляров, к которым они присоединены, если присоединение выполнялось:
$ cinder list +------------+---------+--------------------+------+-------------+-------------+ | ID | Status | Display Name | Size | Volume Type | Attached to | +------------+---------+--------------------+------+-------------+-------------+ | 0821...19f | active | test-volume | 10 | None | | +------------+---------+--------------------+------+-------------+-------------+
Служба блочных хранилищ также позволяет создавать моментальные снимки томов. Помните, что это моментальные снимки выполняются именно на блочном уровне, который является чувствительным к согласованности при сбоях, так что лучше, если том не подключен к экземпляру при создании моментального снимка и, если он все-таки присоединен: лучше будет, если том не будет использоваться экземпляром к которому он присоединен. Если том интенсивно используется, то моментальный снимок может иметь не согласованную файловую систему. На самом деле, по умолчанию служба тома не выполняет создание моментального снимка присоединенного к экземпляру тома, хотя это и может быть выполнено принудительно. Для получения моментального снимка тома либо выберите на странице тома (volume) инструментальной панели Create Snapshot (Создать снимок) в столбце действия (action), следующем за именем тома, или выполните в командной строке:
usage: cinder snapshot-create [--force <True|False>] [--display-name <display-name>] [--display-description <display-description>] <volume-id> Add a new snapshot. Positional arguments: <volume-id> ID of the volume to snapshot Optional arguments: --force <True|False> Optional flag to indicate whether to snapshot a volume even if its attached to an instance. (Default=False) --display-name <display-name> Optional snapshot name. (Default=None) --display-description <display-description> Optional snapshot description. (Default=None)
Перевод на русский язык:
Добавить новый снимок. Позиционные аргументы: <volume-id> ID тома для моментального снимка Дополнительные аргументы: --force <True|False> опциональный флаг, указывающий на необходимость создания моментального снимка тома, даже если он подключен к экземпляру (по умолчанию =False). --display-name <display-name> опциональное имя моментального снимка (по умолчанию =None). --display-description <display-description> опциональное описание моментального снимка (по умолчанию =None).
Замечание | |
---|---|
Для дополнительной информации об обновлении томов блочных хранилищ (например, изменение размера или перемещение), обратитесь к Руководству по OpenStack конечного пользователяё. |
Если пользователь пытается создать объем и сразу переходит в состояние ошибки, лучшим способ для устранения проблемы является вычленение из файла журналов cinder утилитой grep строк, содержащих UUID тома. Сначала проверьте файлы журналов в контроллере облака, а затем попробуйте на узле хранилища, на котором выполнялась попытка создания тома:
# grep 903b85d0-bacc-4855-a261-10843fc2d65b /var/log/cinder/*.log