Сценарии
В этом разделе описывается, как конвертировать формат большого файла образа на сервере Linux, а затем быстро импортировать его в облачную платформу. Рекомендуется использовать EulerOS ECS для конвертации форматов файлов образов и генерации bitmap-файлов.
В Linux рекомендуется использовать qemu-img-hw для конвертации форматов образов.
Требования
- Файл образа был первоначально сконфигурирован согласно указаниям в Таблица 2 на основе ОС в файле образа.
- Вы создали ECS с EulerOS в консоли управления и привязали EIP к ECS.
- OBS Бакет был создан в консоли управления.
Процедура
- Загрузите файл образа.
- Если файл образа загружен с ПК Linux, запустите scp команда.
Например, загрузить image01.qcow2 в /usr/ директорию ECS, выполните следующую команду:
scp /var/image01.qcow2 root@ xxx.xxx.xx.xxx :/usr/
xxx.xxx.xx.xxx указывает на EIP, привязанный к ECS.
- Если файл образа загружается с компьютера Windows PC, используйте инструмент передачи файлов, например WinSCP, чтобы загрузить файл образа.
- Если файл образа загружен с ПК Linux, запустите scp команда.
- Получите инструмент конвертации образа ( qemu-img-hw.zip ) и инструмент создания bitmap‑файлов ( createMF.zip ), загрузите их на ECS и разархивируйте пакеты.
Таблица 1 Пакеты инструментов Пакет инструмента
Как получить
qemu-img-hw.zip
createMF.zip
- Использовать qemu-img-hw для конвертации формата образа.
- Перейдите в каталог, где qemu-img-hw хранится, например, /usr/qemu-img-hw .
cd /usr/qemu-img-hw
- Выполните следующую команду, чтобы создать qemu-img-hw исполняемый:
chmod +x qemu-img-hw
- Выполнить qemu-img-hw для преобразования формата файла образа в ZVHD2 (рекомендовано) или RAW.
Формат команды:
./qemu-img-hw convert -p -O Target_image_format Source_image_file Target_image_file
Например, выполните следующую команду для преобразования image01.qcow2 файл в image01.zvhd2 файл:
./qemu-img-hw конвертировать -p -O zvhd2 image01.qcow2 image01.zvhd2
- Если файл образа преобразован в формат ZVHD2, перейдите к 5.
- Если файл образа преобразован в формат RAW, перейдите к 4.
- Перейдите в каталог, где qemu-img-hw хранится, например, /usr/qemu-img-hw .
- Используйте CreateMF.jar для генерации bitmap‑файла.
- Убедитесь, что JDK установлен на ECS.
Выполните следующие команды, чтобы проверить, установлен ли JDK:
source /etc/profile
java -version
Если отображается версия Java, JDK установлен.
- Выполните следующую команду, чтобы перейти в каталог, где CreateMF.jar сохраняется:
cd /usr/ createMF
- Выполните следующую команду для создания bitmap‑файла:
java -jar CreateMF.jar /Original RAW file path/Generated .mf file path
Пример:
java -jar CreateMF.jar image01.raw image01.mf
Caution- Сгенерированный .mf bitmap‑файл должен иметь то же имя, что и RAW‑образ. Например, если имя образа image01.raw , имя сгенерированного bitmap‑файла image01.mf .
- Убедитесь, что JDK установлен на ECS.
- Используйте s3cmd загрузить файл(ы) в OBS бакет.
- Установить s3cmd на ECS.
Если s3cmd установлен, пропустите этот шаг.
- Выполните следующую команду для установки setuptools:
yum установить python-setuptools
- Выполните следующую команду для установки wget:
yum установить wget
- Выполните следующие команды для получения s3cmd программный пакет:
wget https://github.com/s3tools/s3cmd/archive/master.zip
mv master.zip s3cmd-master.zip
- Выполните следующие команды для установки s3cmd :
unzip s3cmd-master.zip
cd s3cmd-master
python setup.py install
- Выполните следующую команду для установки setuptools:
- Настройте s3cmd .
Выполните следующую команду для настройки s3cmd :
s3cmd --configureAccess Key: Enter an AK.Secret Key: Enter an SK.Default Region: Enter the region where the bucket is located.S3 Endpoint: Refer to the OBS endpoint.DNS-style bucket+hostname:port template for accessing a bucket: Enter a server address with a bucket name, for example, mybucket.obs.myclouds.com.Encryption password: Press Enter.Path to GPG program: Press Enter.Use HTTPS protocol: Specifies whether to use HTTPS. The value can be Yes or No.HTTP Proxy server name: Specifies the proxy address used to connect the cloud from an external network. (If you do not need it, press Enter.)HTTP Proxy server port: Specifies the proxy port used to connect to the cloud from an external network (If you do not need it, press Enter.)Test access with supplied credentials? y(If "Success. Your access key and secret key worked fine :-)" is displayed, the connection is successful.)Save settings? y (Specifies whether to save the configurations. If you enter y, the configuration will be saved.)NoteКонфигурации будут сохранены в /root/.s3cfg . Если вы хотите изменить эти конфигурации, выполните s3cmd --configure команда для настройки параметров или запуска vi .s3cfg команда для редактирования .s3cfg файл.
- Выполните следующую команду для загрузки файла образа ZVHD2 (или RAW‑образа и его bitmap‑файла) в OBS бакет.
s3cmd put image01.zvhd2 s3:// mybucket /
CautionФайл bitmap .mf должен находиться в том же OBS бакете, что и RAW‑образ.
- Установить s3cmd на ECS.
- Зарегистрировать частный образ.
Вы можете зарегистрировать частный образ, используя преобразованный файл ZVHD2 или RAW в консоли или через API.
Метод 1: Зарегистрировать частный образ в консоли.
- Откройте консоль IMS.
- Войдите в консоль управления.
- Под Вычисления , нажмите Image Management Service .
Консоль IMS отображена.
- В правом верхнем углу нажмите Создать образ .
- В Тип образа и источник области, выберите Импортировать образ для Тип а затем выберите Образ системного диска или Образ диска с данными для Тип образа .
- Выберите бакет, в котором хранится файл образа ZVHD2 или RAW, а затем выберите файл образа.
- Выберите Включить Fast Create , а затем выберите следующее предложение Подготовка файла образа .
- Установите параметры согласно подсказкам.
Подробную информацию о параметрах см Регистрация файла образа в качестве частного образа.
Caution- ОС должна совпадать с ОС в файле образа.
- Объём системного диска должен быть больше, чем указано в файле образа.
Выполните следующую команду, чтобы проверить объём системного диска в файле образа:
qemu-img-hw info test.zvhd2
Метод 2: Регистрация частного образа с помощью API.
API — POST /v2/cloudimages/quickimport/action.
Подробную информацию о том, как вызывать этот API, смотрите в "Importing an Image File Quickly" Image Management Service API Reference.
- Откройте консоль IMS.
Приложение 1: Общие команды qemu-img-hw
- Преобразование форматов образов: qemu-img-hw convert -p -O Target_image_format Source_image__file Target_image_file
Параметры описаны следующим образом:
-p : указывает прогресс конвертации.
Часть, следующая -O (которые должны быть в верхнем регистре) состоит из формата целевого образа, исходного файла образа и целевого файла образа.
Например, выполните следующую команду для конвертации файла образа QCOW2 в файл ZVHD2:
qemu-img-hw конвертировать -p -O zvhd2 test.qcow2 test.zvhd2
- Запрос информации о файле образа: qemu-img-hw info Исходный файл образа
Пример команды qemu-img-hw info test.zvhd2 .
- Просмотр справочной информации: qemu-img-hw -help
Приложение 2: Частые ошибки при работе qemu-img-hw
- Симптом:
Следующая информация отображается при запуске qemu-img-hw команда:
./qemu-img-hw: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./qemu-img-hw)Решение:
Запустите strings /lib64/libc.so.6 | grep glibc команда для проверки версии glibc. Если версия слишком ранняя, установите последнюю версию. Запустите следующие команды последовательно:
wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
wget http://ftp.gnu.org/gnu/glibc/glibc-ports-2.15.tar.gz
tar -xvf glibc-2.15.tar.gz
tar -xvf glibc-ports-2.15.tar.gz
mv glibc-ports-2.15 glibc-2.15/ports
mkdir glibc-build-2.15
cd glibc-build-2.15
../glibc-2.15/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
NoteЕсли configure: ошибка: приемлемый компилятор C не найден в $PATH отображается, запустите yum -y install gcc команду.
make
make install
- Симптом:
Следующая информация отображается, когда вы запускаете qemu-img-hw команда:
./qemu-img-hw: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directoryРешение: запустите yum install libaio команду сначала.
- Симптом:
Следующая информация отображается, когда вы запускаете qemu-img-hw команда:
./qemu-img-hu: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directoryРешение: Запустите openssl version чтобы проверить, является ли версия OpenSSL новее 1.0. Если да, установите OpenSSL 1.0.
Запустите следующие команды, чтобы установить OpenSSL 1.0:
wget https://github.com/openssl/openssl/releases/download/OpenSSL_1_0_2k/openssl-1.0.2k.tar.gz
tar -xvf openssl-1.0.2k.tar.gz
cd openssl-1.0.2k
./config -d shared --prefix=/tmp/openssl (пользовательский каталог установки)
make
make install
cp /tmp/openssl/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.10
Удалить /usr/lib64/libcrypto.so.10 файл, если он вам больше не нужен.
- Сценарии
- Требования
- Процедура
- Приложение 1: Общие qemu-img-hw Команды
- Приложение 2: Общие Ошибки При Выполнении qemu-img-hw