ubuntu集群管理

  • Post author:
  • Post category:其他


背景

最近三周的时间,一直在做一套ubuntu集群管理的东西。之前一直在尝试各个组件,现在准备集成起来,所以先将思路整理一下。

目标

在一个集群中,有一个中心控制的master节点,以及若干台client节点。需要做到以下几点:

  1. 分工:所有的client节点构成一个集群,进行计算。master节点给client节点提供服务。用户通过master节点可以很方便地管理所有的client。
  2. 网络:master节点有两个网卡,因此做成一个网关,client节点通过master节点上网。
  3. 系统安装:所有client节点的操作系统是通过无交互的网络安装完成的。master节点可以控制安装系统的类型和版本,以及安装的软件。
  4. 启动脚本:client节点安装操作系统之后,每次重启会去master节点上获取一个启动脚本并执行。也就是说,master节点可以控制client的启动。
  5. 账号管理:master节点提供NIS服务,所有client节点的账号管理是由master节点来统一完成的。同时,通过NFS,所有的client的/home目录是挂载在master服务器上,所以所有的client节点是共享一个完全一样的/home目录
  6. 网络启动:可以支持网络开机

工具

  1. MAAS: ubuntu提供的一种集群管理工具,可以控制集群的系统安装。所有的操作可以通过网页完成
  2. NIS: Network Information Server,linux下的一种网络账号管理工具,可以为集群中的机器提供账号服务
  3. NFS: Network File System, 网络文件系统,可以将远端的目录挂在在本地目录下
  4. WOL: wake on lan, 网络唤醒,可以支持网络开机
  5. iptables: 用来配置网关,为内网机器提供上网服务
  6. isc-dhcp-server: dhcp服务器,提供内网的地址分配,DNS服务器,以及为网络安装提供支持
  7. squid-deb-proxy: 网络代理,Maas自动安装,需要配置,为网络安装提供支持

总体思路

首先,配置所有client的BIOS,使得其支持网络开机,PXE网络安装。

然后,在master节点上安装Maas,然后配置管理账号,下载安装镜像,配置preseed文件

然后,修改master节点配置,成为内网的网关;配置dhcp服务器,提供dhcp服务,dns服务器地址以及router地址;修改proxy配置,为内网提供代理

然后,在master节点上配置Apache2,(其他服务器也行),提供开机启动脚本和安装程序配置下载的功能

然后,在master上配置好NIS和NFS,

然后,启动系统内部的所有机器,自动安装系统,安装所需软件,结束之前从master节点下载相关程序的配置文件。

具体步骤

1. BIOS

bios这一关比较纠结,如果运气好可以很快配置完成;如果运气不好会卡很久。各个主板都不尽相同,所以配置的方法也就都不一样。但基本都需要注意下面两条

  1. APM:高级电源管理,需要打开


    PCIE唤醒




    这一选项,提供网卡唤醒的硬件条件
  2. 内置设备中的


    LAN controller和PXE



版权声明:本文为u010846789原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。