1. 介绍
在openstack 中提供裸金属服务的项目是ironic, 它可以作为一个单独的服务使用,也可以与openstack 其他服务(例如:keystone, nova, neutron, glance, swift)集成在一起使用。在为裸机正确配置了计算和网络服务后,可以通过计算服务的API配置裸机和虚拟机,但是,由于物理服务器和交换机硬件的不同特性,实例操作集受到限制,例如,不能在裸机实例上执行实时迁移。
2. 为什么需要裸机
以下是在云环境进行裸机(物理服务器)配置的一些用例:
高性能计算集群
需要访问无法虚拟化的硬件设备的计算任务
数据库主机(一些数据库在hypervisor中运行不佳)
单租户,专用硬件以提高性能,安全性,可靠性和其他需求
快速部署云基础架构
3. 裸金属服务的关键技术
PXE, 它是由Intel和Microsoft开发的Wired for Management(WfM)规范的一部分。PXE使系统的BIOS和网络接口卡(NIC)可以代替磁盘从网络引导计算机。引导程序是系统将OS加载到本地内存中以便由处理器执行的过程。这种允许系统通过网络引导的功能简化了管理员的服务器部署和服务器管理。
DHCP, 它是在Internet协议(IP)网络上使用的标准化网络协议,用于动态分配网络配置参数,例如接口和服务的IP地址。BIOS使用PXE,使用DHCP为网络接口获取IP地址,并找到存储网络引导程序(NBP)的服务器。
NBP, 它等效于GRUB(GRand Unified Bootloader) 或LILO (LInux LOader) -传统上用于本地引导的加载器。像硬盘驱动器环境中的引导程序一样,NBP负责将操作系统内核加载到内存中,以便可以通过网络引导操作系统。
TFTP, 它是一种简单的文件传输协议,通常用于在本地环境中的计算机之间自动传输配置文件或启动文件。在PXE环境中,TFTP用于使用来自DHCP服务器的信息通过网络下载NBP。
IPMI,它是系统管理员使用的标准化计算机系统接口,用于计算机系统的带外管理和对其操作的监视。它是一种仅通过与硬件而非操作系统的网络连接来管理可能无响应或断电的系统的方法。
4. 安装支持裸金属的openstack 环境
以CentOS 7为例,使用packstack 安装S版openstack:
yum install centos-release-openstack-stein -y
安装 openstack-packstack:
yum install openstack-packstack -y
使用packstack生成answer文件, 并制定neutron使用openvswitch, os-ironic-install=y选项表示安装ironic相关服务:
packstack --gen-answer-file=answer.txt --os-neutron-ml2-mechanism-drivers=openvswitch --os-neutron-l2-agent=openvswitch --os-ironic-install=y
安装openstack, 使用上面生成的answer文件
packstack --answer-file answer.txt
一般等待半个小时左右即可安装完成,具体视网络情况而定,待安装好之后检查 /etc/nova/nova.conf 里面的 compute_driver, 指定os-ironic-install=y之后这里的值为ironic.IronicDriver. 登录安装好的openstack 管理员界面,在[管理员]-[系统]中会有[裸金属Ironic配置向导]。
5. 安装配置DHCP服务
在openstack裸金属环境中使用DHCP服务,有两种方式进行安装,一种是使用neutron创建网络并开启dhcp服务,另一种是独立安装dhcp服务,独立安装使用一下命令:
yum install dhcp -y
安装好之后修改配置文件:
vim /etc/dhcp/dhcpd.conf
修改 option domain-name-servers 8.8.8.8, 4.4.4.4;以及subnet 配置,然后重启dhcp服务。