裸金属从卷启动

目录

 

裸金属从卷启动

裸机信息

Ipxe配置

创建iscsi启动镜像

创建卷


裸金属从卷启动

官网链接:https://docs.openstack.org/ironic/rocky/admin/boot-from-volume.html

 

裸机信息

设置存储接口
openstack baremetal node set $NODE_UUID --storage-interface cinder
设置裸机iscsi_boot为true
openstack baremetal node set $NODE_UUID  --property capabilities=iscsi_boot:True
[root@controller ~]# ironic node-show BM2
The "ironic" CLI is deprecated and will be removed in the S* release. Please use the "openstack baremetal" CLI instead.
+------------------------+--------------------------------------------------------------------------+
| Property               | Value                                                                    |
+------------------------+--------------------------------------------------------------------------+
| bios_interface         | no-bios                                                                  |
| boot_interface         | pxe                                                                      |
| chassis_uuid           | None                                                                     |
| clean_step             | {}                                                                       |
| conductor_group        |                                                                          |
| console_enabled        | False                                                                    |
| console_interface      | no-console                                                               |
| created_at             | 2019-10-14T12:22:45+00:00                                                |
| deploy_interface       | iscsi                                                                    |
| deploy_step            | {}                                                                       |
| driver                 | ipmi                                                                     |
| driver_info            | {u'ipmi_port': 6231, u'ipmi_username': u'admin', u'deploy_kernel':       |
|                        | u'2fc86082-7815-456c-9096-d6647d8483c9', u'ipmi_address':                |
|                        | u'172.27.127.84', u'deploy_ramdisk': u'b186b144-33e7-4089-a33f-          |
|                        | 7075fb7cb7cc', u'ipmi_password': u'******', u'provisioning_network': u   |
|                        | 'f85ac9fe-d11c-442c-9ad6-019ad3d3d91d', u'cleaning_network': u'f85ac9fe- |
|                        | d11c-442c-9ad6-019ad3d3d91d'}                                            |
| driver_internal_info   | {u'agent_url': u'http://172.27.127.174:9999', u'deploy_steps': None,     |
|                        | u'agent_version': u'3.7.0.dev13'}                                        |
| extra                  | {}                                                                       |
| fault                  | None                                                                     |
| inspect_interface      | inspector                                                                |
| inspection_finished_at | None                                                                     |
| inspection_started_at  | None                                                                     |
| instance_info          | {}                                                                       |
| instance_uuid          | None                                                                     |
| maintenance            | False                                                                    |
| maintenance_reason     | None                                                                     |
| management_interface   | ipmitool                                                                 |
| name                   | BM2                                                                      |
| network_interface      | flat                                                                     |
| power_interface        | ipmitool                                                                 |
| power_state            | power off                                                                |
| properties             | {u'memory_mb': 4096, u'local_gb': 8, u'cpus': 1, u'capabilities':        |
|                        | u'iscsi_boot:True'}                                                      |
| provision_state        | manageable                                                               |
| provision_updated_at   | 2019-10-15T05:40:07+00:00                                                |
| raid_config            | {}                                                                       |
| raid_interface         | agent                                                                    |
| rescue_interface       | no-rescue                                                                |
| reservation            | None                                                                     |
| resource_class         | BAREMETAL_TEST                                                           |
| storage_interface      | cinder                                                                   |
| target_power_state     | None                                                                     |
| target_provision_state | None                                                                     |
| target_raid_config     | {u'logical_disks': [{u'size_gb': 1000, u'raid_level': u'6'}]}            |
| traits                 | []                                                                       |
| updated_at             | 2019-10-21T07:36:50+00:00                                                |
| uuid                   | 052f694c-c781-419e-8832-070ff5232908                                     |
| vendor_interface       | ipmitool                                                                 |
+------------------------+--------------------------------------------------------------------------+

创建卷连接器
openstack baremetal volume connector create --node $NODE_UUID --type iqn --connector-id iqn.2017-08.org.openstack.$NODE_UUID

[root@controller ~]# openstack baremetal volume connector list
+--------------------------------------+--------------------------------------+------+----------------------------------------------------------------+
| UUID                                 | Node UUID                            | Type | Connector ID                                                   |
+--------------------------------------+--------------------------------------+------+----------------------------------------------------------------+
| 1187a426-cedf-4271-8d43-9c55aae29228 | a76d2e94-1632-49d8-9b63-0ab929f82ed8 | iqn  | iqn.2017-08.org.openstack.a76d2e94-1632-49d8-9b63-0ab929f82ed8 |
+--------------------------------------+--------------------------------------+------+----------------------------------------------------------------+

Ipxe配置

sudo mkdir -p /tftpboot
sudo mkdir -p /httpboot
sudo chown -R ironic /tftpboot
sudo chown -R ironic /httpboot
把http目录链接到httpboot,修改用户所属组
rm -rf /httpboot/
ln -s /var/www/html/ /httpboot
chown -R ironic:ironic /var/www/html/

echo 'r ^([^/]) /tftpboot/\1' > /tftpboot/map-file
echo 'r ^(/tftpboot/) /tftpboot/\2' >> /tftpboot/map-file

yum install ipxe-bootimgs

cp /usr/share/ipxe/{undionly.kpxe,ipxe.efi} /tftpboot
修改ironic.conf配置文件
vi /etc/ironic/ironic.conf
[pxe]
tftp_root=/tftpboot
tftp_server=$host_ip
ipxe_enabled=True
[deploy]
http_root=/httpboot
http_url=http://$host_ip
[pxe]
pxe_bootfile_name=undionly.kpxe
pxe_config_template=$pybasedir/drivers/modules/ipxe_config.template
uefi_pxe_bootfile_name=ipxe.efi
uefi_pxe_config_template=$pybasedir/drivers/modules/ipxe_config.template
重启服务
systemctl restart openstack-ironic-conductor

创建iscsi启动镜像

安装镜像制作工具
pip install diskimage-builder
创建基础镜像
export IMAGE_NAME=centos
export DIB_DEV_USER_USERNAME=devuser
export DIB_DEV_USER_PASSWORD=123456
export DIB_DEV_USER_PWDLESS_SUDO=Yes
export DIB_CLOUD_INIT_DATASOURCES="ConfigDrive, OpenStack"
BIOS启动镜像
disk-image-create centos7 vm devuser cloud-init-datasources dhcp-all-interfaces iscsi-boot  dracut-regenerate -o dev_image
生成镜像文件
ll
drwxr-xr-x   3 root root         27 Feb 27 08:25 dev_image.d
-rw-r--r--   1 root root  651034624 Feb 27 08:27 dev_image.qcow2
一开始创建DIB代码有BUG,在安装dracut-regenerate时会中断,修改代码,社区已合并
vim /usr/lib/python2.7/site-packages/diskimage_builder/elements/iscsi-boot/extra-data.d/50-check-dracut-regenerate
#!/bin/bash

if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then
    set -x
fi
set -eu
set -o pipefail

if [[ $DISTRO_NAME = "centos7" ]]; then
    eval declare -A image_elements=($(get_image_element_array))
    if [[ ! "${image_elements[@]}" =~ "dracut-regenerate" ]]; then
        echo "The dracut-regenerate element is required!"
        exit 1
    fi

fi

disk-image-create centos7 vm devuser cloud-init-datasources dhcp-all-interfaces iscsi-boot  dracut-regenerate block-device-efi -o $IMAGE_NAME
block-device-efi是以UEFI启动


上传镜像到glance
openstack image create "boot_volume" --file disk-image.qcow2 --disk-format qcow2 --container-format bare   --public

创建卷

将上传的镜像创建为镜像卷

创建实例

创建实例以卷启动

卷起成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值