Ubuntu MAAS (Metal as a Service)可将你的物理服务器转化成云资源,实现物理服务器的自助申请,即取即用, 远程访问。MAAS提供API, CLI及WEB图形管理介面,方便地实现物理服器的操作系统自动部署,网卡绑定,VLAN,网络IP地圵管理,磁盘及文件系统高级配置(soft raid, lvm, bcache)等。
1. 测试目标及环境要求MAAS不仅内置Ubuntu, CentOS映像, 也有相应工具支持RHEL, Windows, ESXI的映像制作。在Ubutnu的Charmed OpenStack, Charmed Kubernetes, 大数据, AI and ML等通过Juju部署及管理的解决方案中,如果涉及物理裸机,则MAAS为必需及基础组成部份。MAAS在物理服务器环境中的安装及测试通常需要一台机器当作MAAS服务器, 另外一台或多台服务器当作被管理机,不仅需要单独的网段用于DHCP及PXE,MAAS还需要通过BMC/ipmi的电源管理实现自动开关电源。MAAS在Charmed OpenStack中的典型网络构架如下:
如果在没有相应物理服务器及网络资源的情况下,如何在单台物理服务器或个人电脑上来安装及测试MAAS,为这个blog的目标。单机MAAS测试需要如下环境:
2. MAAS安装测试过程及方法以下为单机安装及测试Ubuntu MAAS过程及方法
安装Ubuntu Server或Ubuntu Desktop
启用lxd容器虚拟机及安装MAAS服务器
配署MAAS KVM POD及虚拟机自动供给
OS部署及机器管理
以下为本文测试环境的主机名及网络IP分配
2.1 安装Ubuntu Server或Ubuntu桌面安装Ubuntu通常需要下载iso, 用iso制作DVD-ROM或可启动U盘, 根据你现有环境的不同下载制作方法差别很大,比较方便的是你已有Linux环境也会使用终端命令。在现有的Linux环境下,以下方法下载及制作相应的启动U盘:
注意:在你的环境中U盘设备不一定为/dev/sdc,可以通过sudo fdisk -l从列出的磁盘分区及大小上判断,另外现有U盘内容会被全部覆盖。
$ wget -nd -c $ sudo dd if=ubuntu-18.04.4-desktop-amd64.iso of=/dev/sdc bs=1M $ wget -nd -c $ sudo dd if=/ubuntu-18.04.4-server-amd64.iso of=/dev/sdc bs=1M如果需要在Windows或Mac OS环境下制作DVD-ROM或启动U盘, 请参考如下网页中的指导https://ubuntu.com/tutorials?topic=desktop
如果是服务器,通常可以通过BMC管理启动远程控制台来直接加载iso到虚拟光驱来启动安装,具体参考服务器厂家文档及指导。
一亘启动了Ubuntu Desktop/Server的安装程序,其过程及设置都相当简单及直接,如果需要详细指导及说明可参考
系统安装完成及重启之后,如果你能够登录,打开命令行终端,也能sudo切换到root权限,这个机器能访问internet, 则可以继续下面MAAS的安装及测试步骤。
2.2 启用LXD容器虚拟机及安装MAAS服务器Ubuntu LXD是基于容器技术的操作系统虚拟化技术,提供了和虚拟机一样的用户使用体验,包含完整的系统启动程序,系统日志,网络及远程ssh登录。也俱有容器的密度及速度优势,没有自已的内核而是共享及使用主机内核。另外Ubuntu已提供了各种常用的预制映像,创建LXD容器机时直接从相应映像仓库下载。
MAAS通常及推荐直接安装及运行在主机Ubuntu Server操作系统上, 但对于Ubuntu桌面环境, 由于网络通常使用更为动态及智能的管理方法,所以在LXD虚拟机中安装及测试最为合适。另外选用LXD可以省去KVM配置及虚机安装或导入过程,一亘MAAS工作之后,你就可以使用MAAS自动编排KVM虚拟及自动部署OS。
2.2.1 LXD初始化LXD初始化让你配置LXD服务及LXD容器所使用存储,网络,IP地址等。如下默认配置适于大多数情况,例子中命今行或输出之后的#…为解释及说明,它们不是命令输入或命令运行的输出。
注意: 红色加亮部份为你输入及注意的部份,以下相同。
2.2.2 创建LXD容器机并安装MAAS 2.2.3 LXD网络及MAAS IP配置MAAS通常使用自带的DHCP服务来实现PXE网络启动,所以需要禁用LXD服务中的DHCP服务。同时配置maas-server为静态IP。
2.2.4 设置iptables端口转发访问MAAS管理介面