增加地域(可选)

在部署云的过程中将云资源按地域组织起来是是一个可选的步骤。关于地域的描述,可以参阅 “关于地域”.

第一个地域:默认地域

如果你没有执行任何操作来定义地域, 那么云环境中所有的资源域都会组织到一个默认的地域里. 这个地域的ID是1。当然,你可以通过CloudStack的WEB UI来编辑此默认地域的名称和URL网址。

增加一个地域

通过下面的步骤来添加除默认地域外的第二个地域.

  1. 每一个地域都有专属的CloudStack实例。因此,当你要部署一个新的地域时,首先要做的就是在一个或多个节点上安装管理节点服务器。在按照安装指南安装此节点的数据库时,需要在命令行上加上参数 -r <region_id> 。默认的地域的region ID为1,故而第一个新增地域的region ID应该为2.

    1. # cloudstack-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> -e <encryption_type> -m <management_server_key> -k <database_key> -r <region_id>
  2. 在安装过程结束后, 管理服务器应该是运行状态. 请确保管理服务器安装完成并正确运行.

  3. 现在,开始在 CloudStack内加入一个新的地域。

    1. 以系统管理员身份登陆CloudStack的第一个地域(登陆:8080/client)

    2. 在左边的导航栏中,点击区域(为文档翻译中地域的概念,英文为region,下同)

    3. 点击增加地域,在弹出的对话框里,输入以下字段:

      • ID–唯一标识号,这个ID与安装管理服务器过程中,设置数据库时的数字相同;例如ID为2。

      • 名称–为新的地域提供一个描述性名称。

      • 端点–可以登录到新地域中管理服务器的URL。端点的格式为:8080/client。

  4. 现在,执行一次相同的操作,在地域2中加入默认地域1.

  5. 将帐号,用户,域信息数据表从地域1的数据库拷贝到地域2数据库中。

    接下来的操作,你需要确保已设置好MYSQL数据库的root用户密码,这也是CloudStack推荐的操作。

    1. 首先,运行这个命令拷贝数据库的内容:

      1. # mysqldump -u root -p<mysql_password> -h <region1_db_host> cloud account user domain > region1.sql
    2. 然后,运行这条命令将数据放入地域2的MYSQL数据库:

      1. # mysql -u root -p<mysql_password> -h <region2_db_host> cloud < region1.sql
  6. 删除项目帐户. 在地域2的数据库中运行如下命令:

    1. # mysql> delete from account where type = 5;
  7. 设置默认区域为空白(NULL):

    1. # mysql> update account set default_zone_id = null;
  8. 重新启动地域2中的管理节点服务。

增加第三个或是更多的地域

增加第三个或是更多地域的操作与增加第二个地域的操作类似,但是,你必须重复这几个特定的操作步骤:

  1. 在每个额外的地域中安装CloudStack管理节点,并在安装数据库时为其设置不同的地域ID(region ID)。

    1. cloudstack-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> -e <encryption_type> -m <management_server_key> -k <database_key> -r <region_id>
  2. 一旦新地域的CloudStack管理服务器处于运行状态,在CloudStack WEB UI中使用添加地域按钮增加新的地域。以下以新增地域3作为示例:

    1. 以系统管理员身份登陆第一个地域的CloudStack(登陆URL::8080/client),在增加地域时,输入地域ID ,名称,端点:8080/client。

    2. 以系统管理员身份登陆第二个地域的CloudStack(登陆URL::8080/client),在增加地域时,输入地域的ID,名称,端点:8080/client。

  3. 在新的地域里,也同样增加所有的已存在的域域,例如,如果新地域是第三个CLOUDSTACK地域,刚需要其WEB UI里增加前两个地域信息:

    1. 以系统管理员身份登陆CLOUDSTACK(登陆URL::8080/client)。

    2. 在增加地域的选择里,输入地域1的ID,名称,端口(1,region 1,:8080/client)

    3. 在增加地域的选择里,输入地域2的ID,名称,端口(2,region 2,:8080/client)

  4. 将帐号,用户,域信息数据表从已存在的地域的数据库拷贝到新的地域里。

    接下来的操作,你需要确保已设置好MYSQL数据库的root用户密码,这也是CloudStack推荐的操作。

    1. 首先,运行这个命令拷贝数据库的内容:

      1. # mysqldump -u root -p<mysql_password> -h <region1_db_host> cloud account user domain > region1.sql
    2. 然后,运行这个命令将数据库的内容放到新的地域数据库当中去(如地域3):

      1. # mysql -u root -p<mysql_password> -h <region3_db_host> cloud < region1.sql
  5. 在地域3上运行这些命令,以便删除项目管理帐号:

    1. mysql> delete from account where type = 5;
  6. 设置默认区域为空白(NULL):

    1. mysql> update account set default_zone_id = null;
  7. 在新地域里重启CLOUDSTACK管理节点的服务。

删除一个地域

登陆到CLOUDSTACK的WEB UI,点击区域导航栏,选择你想删除的地域,然后,删除。例如,如果你想删除地域3:

  1. 登陆::8080/client。

  2. 在左边的导航栏中,点击区域(为文档翻译中地域的概念,英文为region,下同)

  3. 选择你想删除的区域。

  4. 点击删除区域按钮。

  5. 在地域2里重复这些步骤::8080/client。