共计 3183 个字符,预计需要花费 8 分钟才能阅读完成。
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 测试需要如下环境:
- 1 台物理服务器或个人电脑 (可以是桌面电脑,笔记本电脑) 或能支持 KVM 虚拟化的虚拟机。最少配置为 2 core, 4G 内存,24G 可用空间;如果需要进一步测试 Charmed Openstack 或 Charmed kurberntes, 则通常需要能支持 3 - 5 台虚拟机,则配置至少为 16G 内存,100G 可用空间。
- 个人电脑或服务器支持 Ubuntu 18.04.4 Server 或 Desktop;可查看是否有相应 Ubuntu 认证(https://certification.ubuntu.com/)。
- Internet 访问,直接或通过 proxy; proxy 时的额外设置及方法请参考扩展及附录的 3.3 节。
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 http://releases.ubuntu.com/18.04.4/ubuntu-18.04.4-desktop-amd64.iso
$ sudo dd if=ubuntu-18.04.4-desktop-amd64.iso of=/dev/sdc bs=1M
$ wget -nd -c http://cdimage.ubuntu.com/releases/18.04.4/release/ubuntu-18.04.4-server-amd64.iso
$ 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 的安装程序,其过程及设置都相当简单及直接,如果需要详细指导及说明可参考
- https://ubuntu.com/tutorials/tutorial-install-ubuntu-desktop
- https://ubuntu.com/tutorials/tutorial-install-ubuntu-server-1604
系统安装完成及重启之后,如果你能够登录,打开命令行终端,也能 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 管理介面
设置 iptables 端口转发,以访问 MAAS web 管理介面,如果使用的是 Ubuntu 桌面测试,则不需要这步,因为本机浏览器可直接从本地 192.168.10.1 这个地址访问 192.168.10.10MAAS 服务器。如果是 Ubuntu Server 环境,则网络上的其它桌面电脑能常不能直接访问到 MAAS IP(路由原因),则通过端口转发功能来访问 MAAS 是最为便利的。
2.2.5 MAAS 管理帐号
以下方法在 maas-server 容器中创建 MAAS 管理帐户:
root@maas-server:~# maas-region createadmin
Username: root
Password:
Again:
Email: root@maas-server.maas
Import SSH keys [] (lp:user-id or gh:user-id):
root@maas-server:~#
2.2.7 MAAS web 管理介面登录及初始配置
浏览器访问 MAAS web 管理介面:
- http://test1-host-ip:5240/(端口转发)
- http://maas-server-ip:5240/ (ubuntu 桌面及非端口转发)
完成上述操作会将会看到如下截图:
下一篇我们将继续介绍 MAAS 管理界面登陆及初始化配置相关内容。见 https://www.linuxidc.com/Linux/2020-04/162954.htm . 如果您有任何关于 MAAS 相关的问题,欢迎与我们联系。
*本教程由Canonical 云架构师 Zhanglei Mao 所撰写。
更多 Ubuntu 相关信息见Ubuntu 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=2
: