Ubuntu集群-使用MAAS开始裸机安装

岁酱吖の 提交于 2019-11-27 05:31:15

这里介绍在Ubuntu中使用MAAS(https://maas.io/)安装裸机的9个步骤。

MAAS可以将操作系统镜像通过网络启动(PXE)的方式主动部署到多个空的物理机上,实现集群装机的第一步。

  • 说明:
    • MAAS是用于物理机初始安装和管理的系统,由Canonical提供。
    • 如果只使用Ubuntu,MAAS是免费的。
    • 如果需要支持其他操作系统,则需要付费购买其扩展包支持服务。

1、设置硬件

你需要一个运行MAAS的服务器,以及至少一个支持 BMC管理的服务器节点。建议 MAAS server 位于提供 DHCP 和 DNS服务的网络上。

  • 注:
    • 无论是MAAS服务器还是节点机都可以通过虚拟机来模拟,我使用Virtualbox(需要安装扩展包)运行成功。
    • 在VirtualBox中创建虚拟机,类型选择Linux/Ubuntu 64bit,将网络设置为“网卡桥接”。
    • 所有节点应处于一个网段,MAAS的对应子网的DHCP应予启用。

2、安装 Ubuntu Server

Download Ubuntu Server 18.04 LTS,制作启动盘,安装系统。然后如下一步的方法安装MAAS server。

3、安装 MAAS

sudo apt update
sudo apt install maas

4、创建admin账户

 命令如下:

sudo maas init

账户名输入admin(也可以是其他,请牢记)。

登录MAAS UI,通过 http://localhost:5240/MAAS/。

5、完成第一次用户配置

按照屏幕指示,完成 MAAS的首次配置。我建议保持缺省值不变,除非确有必要进行修改。

结束后,将会配置如下的设置参数:

  • Region name (MAAS name)
  • Ubuntu archive, Ubuntu extra architectures
  • Ubuntu images
  • SSH keys (for currently logged in user)

6、启用 DHCP

到选项卡 “Subnets” ,选择VLAN中当前所用的,将开启DHCP。选中 “Take action” 按钮,选择 “Provide DHCP”。

  • 设置 Rack controller,将管理 DHCP。
  • 选择subnet,将创建 DHCP 动态范围。
  • 填写dynamic range详细信息。

7、创建ssh key

MAAS在安装服务器节点时,会将存储的key注入到节点中,以后从MAAS controller上可以直接登录到machine中(账号Ubuntu,无密码)。

创建key:

ssh-keygen -t rsa -b 2048

然后 vi ~/.ssh/id_rsa.pub 拷贝进去。如果里面已经有内容,可以直接拷贝下来。

  • 重要
    • 点击账户名(上面的方法为admin),将上面的key内容import到ssh key中。
    • 这个操作需要在deploy节点之前进行。

8、列出和部署servers

到Images选项卡里,选择需要部署的镜像,MAAS将会自动启动下载。将会需要较长的时间。

等MAAS下载完系统镜像,就准备好部署 machines了。

  1. 使用VirtualBox创建虚拟机,设为网络启动,把其它启动方式关闭,网络设为“网卡桥接”。
  2. 其它物理机设为网络启动(PXE boot),把其它启动方式关闭。
  3. 启动后在MAAS中machines选项卡可以看到,状态为New。
  4. 如果machines 没有 IPMI based BMC, proceed to edit them and enter their BMC details
  5. 选择 machines ,选择“Take action”为 “Commission”。
  6. 当machines 状态变为 “Ready”,然后再次执行 “deploy”,可以选择安装的操作系统版本。

9、登录到节点服务器

上面的操作结束后,从maas controller机器使用 ssh node_IP_address 登录到节点。

  • 用户名为 ubuntu,免密。

然后可以使用Ansible可以集中地控制多个节点,批量地执行ssh命令。

参考

    技术文档

    标签
    易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
    该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!