教程

OpenStack附加配置

OpenStack 环境(该环境由 Controller 节点和 Compute 节点组成)搭建完成后,需要添加以下配置,配置好后,SuperMap iManager 才能运行在此云计算平台上。

安装附加部件

若您的OpenStack 环境没有安装 Ceilometer 和 Nova quotas 部件,则需要安装 Ceilometer 和 Nova quotas 部件,其他部件按需安装。

创建租户和用户

访问OpenStack的管理界面(http://IP/horizon/),在Identity选项卡上,点击“项目”,进入项目管理页面,在该页面点击“创建项目”按钮,填写项目的相关信息,则可以为SuperMap iManager创建租户,项目名即为“租户名称”。

例如下图中创建的租户,在创建的工项目名为“iManager”,则在 OpenStack 平台下,管理员创建GIS环境,如“创建GIS服务器”时,“租户名称”均填写为“iManager”。

createproject

在Identity选项卡上,选择“用户”,进入用户管理页面,在该页面点击“创建用户”按钮,填写用户的相关信息,则可以为SuperMap iManager创建登录云计算平台的登录账号。在“创建用户”对话框里,用户名、电子邮件、密码是由您填写的,主项目应选择为您上述步骤所创建的租户名;Role应选择为admin。

例如由下图中创建的用户,在OpenStack平台下,填写的“登录用户”和“登录密码”应为图中对应的“用户名”和“密码”,在登录http://server/horizon/的账户也为该“用户名”和“密码”。注意这里要选择主项目,默认是不指定的,如果用户不指定在iManager可能会出现获取不到网络信息等错误。

createusers

配置网络

OpenStack提供多种网络类型,包括Vlan,GRE,flat等,这里以Flat为例。首先新建一个Flat类型,启用DHCP的网络,若您的OpenStack环境上面有这样的网络,则可以不用新建网络,只需要进行第二步创建子网。

创建网络

依次点击管理员->系统->网络->创建网络,然后填写网络信息。

SuperMap iManager 在进行虚拟化平台管理时,“网络名称”则选为您填写的网络名,如下图中,您应该选择“iCloudNet”。

createnetwork

其中,项目应选择您上述所创建的项目;网络管理类型选择Flat;物理网络使用默认名,如果您的物理网络名不是默认名,则需根据实际情况填写。

创建子网

进入您创建的网络的详细信息页面,为该网络创建子网。IP网段需要根据网络规划进行设置,需要启用DHCP,然后设置 SuperMap iManager 使用的 IP 段。

下面以创建192.168.125.0/24 段为例进行说明。

点击“创建子网”按钮,填写子网的名字、IP段、网关。

createsubnet

填写好“子网”信息后,点击 “下一步”,填写 “子网详情”的信息,如 IP 段、DNS 服务器。

createsubnetdetail

此处要勾选 “激活 DHCP”,这样才会启用 DHCP。

此处填写的 IP 段,是为 SuperMap iManager 创建虚拟机所用。

在SuperMap iManager 里进行 IP 配置时,配置的 IP 资源应包含在此处填写的 IP 段内。

浮动IP

OpenStack中有固定IP和浮动IP,固定IP被分发到创建的实例不再改变,浮动IP是一些可以和实例动态绑定和释放的IP地址。在SuperMapiManager可以初始化时选择是否使用浮动ip,初始化完成后可以在虚拟平台管理下对是否使用浮动ip选项进行修改。

注意:
如果想要在SuperMap iManager 使用浮动ip功能,在安装时OpenStack时,应以Self-service networks方式部署网络模块。

配置负载延迟及动态伸缩

修改监控间隔时间

修改OpenStack 所有节点(所有的 Controller 和 Compute 节点)的 /etc/ceilometer/pipeline.yaml 文件,将所有监控项的间隔时间(interval的值)修改为20.

fixpieline

注意:
OpenStack 环境的所有节点均要进行修改,pipeline.yaml文件里面的所有 interval 值都要修改为20.

添加参数

为OpenStack 所有节点(所有的 Controller 和 Compute 节点) /etc/ceilometer/ceilometer.conf 文件,添加参数 bandwidth_update_interval = 20.

fixceilometer

重启服务

所有的 Controller 节点需重启以下服务:

service ceilometer-api restart
service ceilometer-agent-central restart
service ceilometer-collector restart

所有的 Computer 节点需重启以下服务:

service ceilometer-agent-compute restart

restartservice

注意:
重启服务时,会有上图中的提示,若没有,则表明某些配置没有配置好,需根据实际报错提示进行配置。

导入 GIS 镜像

为了使 iManager 能够成功创建 GIS 环境,需要把 GIS 环境的镜像文件导入到云计算平台,在在镜像的导入过程中,“镜像类型”的选择应与导入的镜像文件的文件类型一致。具体的导入过程见以下过程:

  • 访问OpenStack 的管理界面(http://IP/horizon/),在 Admin 选项卡上,点击 “System”,然后再点击 “Images”,进入镜像管理页面,点击 “Create Image” 按钮,进入镜像添加页面,
  • 在“CreateAnImage”对话框中,填写你导入的镜像的相关信息。“Name”是必填项,填写后,在iManager中的进行模板关联时,“关联模板名称”则会选择此处填写的“Name”值。“Description”是可选项,在iManager中进行模板管理时,“模板列表”中“模板描述”会显示此处填写的“Description”值,若没有填写则没有值。
  • 如果镜像文件在本地,则在“Image Source”中选择本地的文件;如果非本地文件,则在“Image Location”中填写远程访问的地址和文件名,如http://example.com/image.vmdk
  • 在选择“Format”时,所选择的类型应该与镜像文件的类型一致,例如下图中,导入的GIS应用服务器(SuperMapiServer)的镜像文件的文件类型为“.vmdk”,则在“SelectFomat”时应该选择“VMDK”。若“SetectFomat”选择的类型没有如导入的镜像文件的文件类型一致,则会导致iManager在创建该 GIS 环境时没法成功创建。
  • “Architecture” 可以不填写;“Minimum Disk”和“Minimum RAM”根据实际需要填写,也可以不填写;“Public” 与 “Protected” 根据实际情况进行选择,也可以都不选。

importgistemplate

设置安全&访问

为了使我们能够正常访问在 OpenStack 平台上面创建的虚拟机,则需要设置安全&访问,即对入口和出口网络均需要添加 TCP 规则和 ICMP 规则,共四条规则。

在安全&访问选项下的安全组内,修改默认安全组,即在默认安全组内添加TCP规则和ICMP规则,步骤为Project > Compute > Access > Security > SecurityGroups > default > ManagerRules > AddRule,在AddRule对话框中进行添加。

下面分别对这两个规则进行讲解:

添加 TCP 规则

为 TCP 协议添加入口方向的规则,具体配置如下:

在添加规则(AddRule)对话框中,规则(Rule)请选择为“定制TCP规则(CustomTCPRule)”;方向(Direction)请选择为“入口(Ingress)”;打开端口(OpenPort)请选择为“端口范围(PortRange)”;起始端口号(From Port)请填写提示中的最小端口号,如填写“1”;终止端口号(To Port)请填写提示中的最大端口号,如“ 65535”;远程(Remote)和CIDR为默认值。填写好所有选项后,点击“添加(Add)”按钮,如下图所示:

addtcprule

同理,为 TCP 协议添加出口方向的规则时,方向(Direction)请选择为“出口(Egress)”,其余选项的配置可入口的内容相同。

添加 ICMP 规则

为 ICMP 协议添加入口方向的规则,具体配置如下:

在添加规则(AddRule)对话框中,规则(Rule)请选择为“定制ICMP规则(CustomICMPRule)”;方向(Direction)请选择为“入口(Ingress)”;类型(Type)请填写为“1”;编码(Code)请填写为“1”;远程(Remote)和CIDR为默认值。

填写好所有选项后,点击“添加(Add)”按钮,如下图所示:

addicmrule

同理,为 ICMP 协议添加出口方向的规则时,方向(Direction)请选择为“出口(Egress)”,其余选项的配置可入口的内容相同。

问题及解决方法

  1. 如在创建实例过程中出现 no vaild host was found 错误,怎么办?

    答:可以按照以下三步进行检查:

    • 应先检查实例是否过多,导致计算节点没有空间。
    • 在 OpenStack 环境中检查系统信息中 nova-compute 的状态,如果是 down,很大程度上是网络不同,则对 Compute 节点进行冷启动(关机状态下,通过电源键启动)即可。
    • 检查网络配置中自己添加的网络,检查端口中 compute:dhcp 的状态与 admin status 是否为 down,如果 admin status 为 down,可通过编辑端口设置为 up,等一段时间,如果 status 还是 down,可以删除网络重新建网络;如果 admin status 为 up ,status 为 down,可以重新建网络。
  2. GIS 环境在创建过程中,若在任务管理页面显示该任务执行失败,且有“IP* * * *不可用。请检查网络配置信息后,再重试”这样的提示,怎么处理?

    答:出现这样的报错,首先可能是因为网络配置信息不正确;其次可能因为不能够从 DNSmasq 获取IP地址,出现这样的情况,最简单的方法是关掉机器上所有的 DNSmasq 进程,并重新启动 nova-work。

    具体操作步骤如下:

    • 第一步:检查网络配置信息和虚拟平台的配置信息,确定网络可用后,点击该任务对应的“重试”按钮。重试后,若该任务执行成功,则可以不用进行以下步骤。
    • 第二步:检查了网络配置信息并“重试”后,还是有这样的提示,则需要对 OpenStack 的 Controller 节点(DNSmasq所在机器)进行配置。配置方法是,在 Controller 节点(DNSmasq所在机器),执行“killall dnsmasq” 和 “service neutron-dhcp-agent restart”。
    • 第三步:重启 Controller 节点后,在iManager 的任务管理页面,点击该任务对应的“重试”按钮。