在 Microsoft Azure 中安装 Red Hat CloudForms

Red Hat CloudForms 4.1

如何在 Microsoft Azure 云环境中安装和配置 CloudForms Management Engine Appliance

CloudForms 文档 团队

摘要

本指南提供了 CloudForms Management Engine 工具的安装和配置说明。所涉及信息和过程都是和 CloudForms Management Engine 管理员相关的。

1. 安装 Red Hat CloudForms

只需要几步就可以快速安装并配置 Red Hat CloudForms。从红帽客户门户网站中将 Red Hat CloudForms 作为虚拟机映象模板下载后,按照以下安装流程操作即可将 Red Hat CloudForms 工具上传至 Microsoft Azure。

重要

在安装 Red Hat CloudForms 工具后,必须为 Red Hat CloudForms 配置数据库。详情请参考第 2.3 节 “配置 Red Hat CloudForms 的数据库”

1.1. 获取 Red Hat CloudForms 工具

  1. 访问 access.redhat.com,并用您的客户帐号登录红帽客户门户网站。
  2. 点击菜单条中的 下载
  3. 点击 A-Z 将产品下载按字母排序。
  4. 点击 Red Hat CloudForms下载最新版本 进入产品下载页面。
  5. 从安装程序和映像列表中选择为 Microsoft Azure 下载链接指定的 Red Hat CloudForms 工具。

1.2. 将 Red Hat CloudForms Appliance 上传至 Microsoft Azure

要将 Red Hat CloudForms 工具文件上传至 Microsoft Azure,必须满足以下要求:

  • 为每个 VHD 映象准备约 2 GB 空间;为 Red Hat CloudForms 工具准备 40+ GB 空间。
  • 有 Azure 门户网站的管理员权限。
  • 提供上传时间,具体要看您使用的是什么基础架构。
注意

这些是写入时的步骤。有关详情,请参看 Azure 文档。

下面这篇文章中的步骤适用于 Windows 机器,但大多数步骤可在 Windows 和 Linux 系统间通用。

可使用以下两种方法将工具上传至 Azure 环境。红帽建议使用 PowerShell(AzureRm 模块)方法。

  • 使用 Azure PowerShell 脚本
  • 使用 Azure 命令行界面(Azure CLI)

1.2.1. 使用 Azure Powershell 脚本上传 Red Hat CloudForms Appliance

注意

确定 Azure 资源管理器 cmdlets 可用。请查看《Azure 资源管理器 Cmdlets》 中的《安装 cmdlets》 一节。

  1. 使用 cmdlet 登录 Azure 资源管理器

    ## Customize for Your Environment
    $SubscriptionName = "my subscription"
    
    Login-AzureRmAccount
    Select-AzureRmSubscription -SubscriptionName $SubscriptionName

    出现提示符后,请输入您的 Azure 门户网站用户名和密码。

  2. 将 VHD 文件上传至存储帐户。如以下示例脚本所示,您首先要使用门户帐户用户界面或者 Powershell 生成 资源组 。另外,请事先创建 "BlobDestinationContainer" 中定义的存储容器。

    Example Script:
    
    ## Customize for Your Environment
    $SubscriptionName = "my subscription"
    
    $ResourceGroupName = "test"
    $StorageAccountName = "test"
    
    $BlobNameSource = "cfme-test.vhd"
    $BlobSourceContainer = "templates"
    $LocalImagePath = "C:\tmp\$BlobNameSource"
    
    ##
    
    # Upload VHD to a "templates" directory. You can pass a few arguments, such as `NumberOfUploaderThreads 8`. The default number of uploader threads is `8`. See https://msdn.microsoft.com/en-us/library/mt603554.aspx
    
    Add-AzureRmVhd -ResourceGroupName $ResourceGroupName -Destination https://$StorageAccountName.blob.core.windows.net/$BlobSourceContainer/$BlobNameSource -LocalFilePath $LocalImagePath -NumberOfUploaderThreads 8
  3. 创建虚拟机。然后定义 VM 和 VHD 名称,系统/部署名称和大小。接下来要为您的环境设定适当的存储、网络和配置选项。

    Example Script:
    
    ## Customize for Your Environment
    
    $BlobNameDest = "cfme-test.vhd"
    $BlobDestinationContainer = "vhds"
    $VMName = "cfme-test"
    $DeploySize= "Standard_A3"
    $vmUserName = "user1"
    
    $InterfaceName = "test-nic"
    $VNetName = "test-vnet"
    $PublicIPName = "test-public-ip"
    
    $SSHKey = <your ssh public key>
    
    ##
    
    $StorageAccount = Get-AzureRmStorageAccount -ResourceGroup $ResourceGroupName -Name $StorageAccountName
    
    $SourceImageUri = "https://$StorageAccountName.blob.core.windows.net/templates/$BlobNameSource"
    $Location = $StorageAccount.Location
    $OSDiskName = $VMName
    
    # Network
    $Subnet1Name = "default"
    $VNetAddressPrefix = "10.1.0.0/16"
    $VNetSubnetAddressPrefix = "10.1.0.0/24"
    $PIp = New-AzureRmPublicIpAddress -Name $PublicIPName -ResourceGroupName $ResourceGroupName -Location $Location -AllocationMethod Dynamic -Force
    $SubnetConfig = New-AzureRmVirtualNetworkSubnetConfig -Name $Subnet1Name -AddressPrefix $VNetSubnetAddressPrefix
    $VNet = New-AzureRmVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName -Location $Location -AddressPrefix $VNetAddressPrefix -Subnet $SubnetConfig -Force
    $Interface = New-AzureRmNetworkInterface -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PIp.Id -Force
    
    # Specify the VM Name and Size
    $VirtualMachine = New-AzureRmVMConfig -VMName $VMName -VMSize $DeploySize
    
    # Add User
    $cred = Get-Credential -UserName $VMUserName -Message "Setting user credential - use blank password"
    $VirtualMachine = Set-AzureRmVMOperatingSystem -VM $VirtualMachine -Linux -ComputerName $VMName -Credential $cred
    
    # Add NIC
    $VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $Interface.Id
    
    # Add Disk
    $OSDiskUri = $StorageAccount.PrimaryEndpoints.Blob.ToString() + $BlobDestinationContainer + "/" + $BlobNameDest
    
    $VirtualMachine = Set-AzureRmVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -CreateOption fromImage -SourceImageUri $SourceImageUri -Linux
    
    # Set SSH key
    Add-AzureRmVMSshPublicKey -VM $VirtualMachine -Path “/home/$VMUserName/.ssh/authorized_keys” -KeyData $SSHKey
    
    # Create the VM
    New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VirtualMachine

1.2.2. 使用 Azure 命令后界面上传 Red Hat CloudForms Appliance

虽然建议使用 PowerShell 方法,您也可以使用 CLI 方法将该工具上传到 Azure 环境。有关使用 Azure 命令行界面(Azure CLI)创建和管理 Azure 资源的步骤,请查看 https://azure.microsoft.com/en-us/documentation/articles/xplat-cli-azure-resource-manager/

2. 配置 Red Hat CloudForms

虽然 Red Hat CloudForms 已预先配置,可以立即集成到您的环境里,但您也可以根据需要修改其配置。

2.1. 修改配置设置

  1. 使用 SSH 密钥登录该工具。
  2. 输入 sudo appliance_console 命令。此时会显示 Red Hat CloudForms 工具概述页面。
  3. Enter 手动配置设置。
  4. 选择您要修改的项目编号,然后按 Enter。此时会显示您可以选择的选项。
  5. 按照提示进行修改。
  6. 如适用则按 Enter 接受设置。
注意

在不活动超过 5 分钟后,Red Hat CloudForms 工具控制台会自动登出。

2.2. 高级配置设置

可使用以下选项进行工具的高级配置:

  • 通过 设置 DHCP 网络配置 使用 DHCP 获取您的 Red Hat CloudForms 应用的 IP 地址和网络配置。应用初始是配置为使用过桥网络的 DHCP 客户端。
  • 如果在 Red Hat CloudForms 工具中使用的具体 IP 地址和网络设置,则可以使用 设置静态网络配置
  • 使用 测试网络连接 功能检查名称解析是否正常工作。
  • 使用 设置主机名 功能指定 Red Hat CloudForms 工具的主机名。

    重要

    智能状态分析正常运行要求 Red Hat CloudForms 工具拥有有效的全限定主机名。

  • 使用 设置时区、日期和时间 功能配置 Red Hat CloudForms 工具的时区、日期和时间。
  • 使用 根据备份恢复数据库 功能从之前的备份恢复 VMDB 数据库。
  • 使用 设置数据库区域 功能创建用来进行 VMDB 复制的区域。
  • 使用 配置数据库 功能配置 VMDB 数据库。在第一次安装和运行后请使用这个选项配置数据库。
  • 使用 扩大临时存储 功能添加临时存储空间。该工具格式化附加到工具中的未分区磁盘,并将其挂载至 /var/www/miq_tmp。该工具使用这个临时存储目录执行某些映像下载功能。
  • 使用 配置外部认证 (httpd) 体内通过 IPA 服务器配置验证。
  • 使用 生成自定义加密密钥 功能重新生成用于加密明文密码的密钥。
  • 使用 通过 SCAP 配置强化该工具 功能,在该功能工具中应用安全内容自动化协议 (SCAP) 标准。您可以在 /var/www/miq/lib/appliance_console/config/scap_rules.yml 文件中查看这些 SCAP 规则。
  • 使用 停止服务器进程 功能停止所有服务器进程。您可能需要在性能维护后再进行此操作。
  • 使用 启动服务器进程 功能启动服务器。您可能需要在性能维护后再进行此操作。
  • 使用 重启工具 功能重启 Red Hat CloudForms。您可以重启应用并清除日志,或者只是重启应用。
  • 使用 关闭工具 功能关闭工具并退出所有进程。
  • 使用 概述信息 功能返回 Red Hat CloudForms 工具网络概述页面。
  • 使用 退出 功能离开 Red Hat CloudForms工具控制台。

2.3. 配置 Red Hat CloudForms 的数据库

Red Hat CloudForms 使用数据库保存其管理的云环境的有关信息。在使用该工具管理您的云架构前,必须为其配置一个数据库。Red Hat CloudForms 提供以下两个数据库配置选项:

  • 配置内部 PostgreSQL 数据库
  • 配置外部 PostgreSQL 数据库

2.3.1. 配置内部数据库

重要

在安装内部数据库前,请在容纳应用的基础架构中添加一个磁盘。关于如何添加磁盘的说明,请参考您的基础架构专有的存储文档。因为当虚拟机在运行时通常不能添加存储磁盘,Red Hat 推荐在启动应用之前添加磁盘。Red Hat CloudForms 只支持在空白磁盘上安装内部 VMDB。如果磁盘不是空白的,安装将会失败。

  1. 启动该工具并打开终端控制台
  2. 使用 SSH 密钥登录该工具。
  3. 输入 sudo appliance_console 命令。此时会显示 Red Hat CloudForms 工具概述页面。
  4. Enter 手动配置设置。
  5. 从菜单中选择 8) 配置数据库
  6. 此时会提示您创建或获取加密密钥。

    • 如果这是第一个 Red Hat CloudForms 工具,请选择 1) 创建密钥
    • 如果这不是第一个 Red Hat CloudForms 工具,请选择 2) 获取密钥,以便从远程主机获取密钥。多区部署中的所有 Red Hat CloudForms 工具都必须使用相同的密钥。
  7. 选择 1) 内部 作为数据库的位置。
  8. 选择数据库的磁盘。例如:

    1)  /dev/vdb: 20480
    
    Choose disk:

    输入 1 选择 /dev/vdb 作为数据库的位置。

  9. 看到提示符后,输入唯一三位数区域 ID 创建一个新区域。随着部署的增大,将来可添加更多区域,以便管理多个工具。

    重要

    创建新的区会破坏所选数据库上现有的所有数据。

  10. 提示时确认配置。

Red Hat CloudForms 配置内部数据库。

2.3.2. 配置外部数据库。

根据您的设置,可选择将该工具配置为使用外部 PostgreSQL 数据库。例如:我们在单一区域中只有一个数据库。但可将该区域分割成多个区域,每个区域提供具体的功能,比如数据库、用户界面、其他报告。在这些区域中的这个工具必须配置为使用外部数据库。

注:Red Hat CloudForms 数据库使用的 postgresql.conf 文件要求专门的设置方可正常运行。例如,为了改进系统支持,就必须正确收回表空间、控制台会话超时、并格式化 PostgreSQL 服务器日志。基于有这些要求,红帽建议:外部 Red Hat CloudForms 数据库采用由 Red Hat CloudForms 工具使用,基于标准文件的 postgresql.conf 文件。

确保让 postgresql.conf 中的设置适合您的系统。例如,根据容纳 PostgreSQL 实例的外部系统中可用的实际存储数量自定义 shared_buffers 设置。此外,可能需要修改 max_connections 设置,具体要看预期连接到 PostgreSQL 实例的工具数量。

注意
  • Red Hat CloudForms 4.x 要求使用 PostgreSQL version 9.4。
  • 因为 postgresql.conf 文件控制单个 PostgreSQL 实例管理的所有数据库的操作,请不要将 Red Hat CloudForms 数据库和单个 PostgreSQL 实例中的其他数据库类型混合。
  1. 启动该工具并打开终端控制台
  2. 使用 SSH 密钥登录该工具。
  3. 输入 sudo appliance_console 命令。此时会显示 Red Hat CloudForms 工具概述页面。
  4. Enter 手动配置设置。
  5. 从菜单中选择 8) 配置数据库
  6. 提示创建或获取安全密钥。

    • 如果这是第一个 Red Hat CloudForms 工具,请选择创建密钥选项。
    • 如果这不是第一个 Red Hat CloudForms 工具,请选择 从第一个 Red Hat CloudForms 工具提取密钥的选项。多区部署中的所有 Red Hat CloudForms 工具都必须使用相同的密钥。
  7. 选择 2) 外部 作为数据库位置。
  8. 出现提示时输入数据库主机名或 IP 地址。
  9. 输入数据库名称或默认留空(vmdb_production)。
  10. 输入数据库名称或默认留空(root)。
  11. 输入所选数据库用户的密码。
  12. 提示时确认配置。

然后,Red Hat CloudForms 会配置外部数据库。

2.4. 为 Red Hat CloudForms 配置 Worker Appliance

可以使用多个工具以增加横向扩展,同时根据角色分配任务。依次配置工具处理一个或多个角色的工作,同时工具内的辅助程序继续完成为期配置的任务。您可以在终端内配置辅助程序工具。以下步骤为您演示了如何在包含由数据库配置的区域的工具中加入辅助程序工具。

  1. 启动工具并打开终端控制台
  2. 使用 SSH 密钥登录该工具。
  3. 输入 sudo appliance_console 命令。此时会显示 Red Hat CloudForms 工具概述页面。
  4. Enter 手动配置设置。
  5. 从菜单中选择 8) 配置数据库
  6. 此时会提示您创建或提取安全密钥。请选择 从第一个 Red Hat CloudForms 工具提取密钥的选项。多区部署中的所有 Red Hat CloudForms 工具都必须使用相同的密钥。
  7. 选择 2) 外部 作为数据库位置。
  8. 出现提示时输入数据库主机名或 IP 地址。
  9. 输入数据库名称或默认留空(vmdb_production)。
  10. 输入数据库名称或默认留空(root)。
  11. 输入所选数据库用户密码。
  12. 提示时确认配置。