首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SoftLayer API:将服务器迁移到新Xen

SoftLayer API:将服务器迁移到新Xen
EN

Stack Overflow用户
提问于 2017-03-28 08:45:30
回答 2查看 252关注 0票数 0

我们收到了一份关于计划迁移到新的管理程序的通知,提到我们可以在SL Portal或通过API进行这种迁移。

问:如何通过API调用迁移服务器:

  • 休息
  • slcli调用-api方法

我们收到通知:

IBM正在为所有位置的VSI (Virtual实例)扩展“热修补”功能。热修补允许IBM Bluemix Virtual团队将许多软件和安全修补程序应用到虚拟机主机上,而不会因为主机重新启动而中断客户端工作负载。 为了提供灵活性,客户端将能够在迁移窗口之前通过API或UI进行自我迁移,如下所示: 要自我迁移您的虚拟服务器,请转到“设备列表”,该列表可以在Control顶部的“设备”下找到,并选择"Actions“。“迁移主机”应该是可选择的(取决于容量)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-28 13:16:51

使用rest,您可以使用此请求:

代码语言:javascript
运行
复制
https://$USERNAME:$APIKEY@api.softlayer.com/rest/v3/SoftLayer_Virtual_Guest/$VSIID/migrate

Note: replace $USERNAM , $APIKEY and $VSIID

问候

票数 1
EN

Stack Overflow用户

发布于 2017-09-18 11:59:38

这就是我们用来逐个迁移VM的脚本。

您可以使用这个命令slcli virtual list --columns id,hostname,pendingMigrationFlag | grep True列出可迁移的VM,实际的迁移可以用这个slcli call-api Virtual_Guest migrate "--id=$VSID"完成。

代码语言:javascript
运行
复制
#!/bin/bash

TYPE=${1:-server}

while :; do
  VSID=`slcli virtual list --columns id,hostname,pendingMigrationFlag | grep "$TYPE" | grep True | head -1 | cut -d ' ' -f1`;
  if [[ -n "$VSID" ]]; then
    echo "Next item to migrate: $VSID"
    slcli vs detail "$VSID"
    slcli call-api Virtual_Guest migrate "--id=$VSID"
    if [[ "$?" -eq "0" ]]; then
      echo "Waiting for the migration to complete..."
      while :; do
        sleep 5
        STATE=`slcli vs detail "$VSID" | grep active_transaction | awk '{print $2}'`
        if [ "$STATE" = "NULL" ]; then
          echo "Migration finished"
          break
        else
          echo "Current state: $STATE"
        fi
      done
    fi
  else
    echo "No vs found to migrate"
    break
  fi
done
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43064768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档