华为云用户手册

  • 统一镜像列表 ModelArts提供了ARM+Ascend规格的统一镜像,包括MindSpore、PyTorch。适用于开发环境,模型训练,服务部署,请参考统一镜像列表。表1、表2所示镜像仅发布在西南-贵阳一区域。 表1 MindSpore 预置镜像 适配芯片 适用范围 mindspore_2.2.0-cann_7.0.1-py_3.9-euler_2.10.7-aarch64-snt9b Ascend snt9b Notebook、训练、推理部署 mindspore_2.1.0-cann_6.3.2-py_3.7-euler_2.10.7-aarch64-snt9b Ascend snt9b Notebook、训练、推理部署 mindspore_2.2.10-cann_7.0.0-py_3.9-hce_2.0.2312-aarch64-snt9b Ascend snt9b Notebook、训练、推理部署 表2 PyTorch 预置镜像 适配芯片 适用范围 pytorch_1.11.0-cann_6.3.2-py_3.7-euler_2.10.7-aarch64-snt9b Ascend snt9b Notebook、训练、推理部署 pytorch_2.1.0-cann_7.0.0-py_3.9-hce_2.0.2312-aarch64-snt9b Ascend snt9b Notebook、训练、推理部署 pytorch_1.11.0-cann_7.0.0-py_3.9-hce_2.0.2312-aarch64-snt9b Ascend snt9b Notebook、训练、推理部署
  • 自定义python包中如果引用model目录下的文件,文件路径怎么写 如果容器中的文件实际路径不清楚,可以使用Python获取当前文件路径的方法获取。 os.getcwd() #获取文件当前工作目录路径(绝对路径) os.path.realpath(__ file __) #获得文件所在的路径(绝对路径) 也可在搜索引擎寻找其他获取文件路径的方式,使用获取到的路径进行文件读写。 父主题: 编写训练代码
  • 解决方法 手动安装vscode-server。 获取VS Code的commitID 下载相应版本vscode-server压缩包,请根据开发环境cpu架构选择arm版本或x86版本。 替换下面链接中${commitID}为步骤1 获取VS Code的commitID中commitID。 arm版本,下载vscode-server-linux-arm64.tar.gz https://update.code.visualstudio.com/commit:${commitID}/server-linux-arm64/stable x86版本,下载vscode-server-linux-x64.tar.gz https://update.code.visualstudio.com/commit:${commitID}/server-linux-x64/stable 进入远程环境。 打开VS Code中的Terminal。 在VS Code的Terminal中执行如下命令,连接到远端开发环境。 ssh -tt -o StrictHostKeyChecking=no -i ${IdentityFile} ${User}@${HostName} -p ${Port} 参数说明: - IdentityFile:本地密钥路径 - User:用户名,例如:ma-user - HostName:IP地址 - Port:端口号 手动安装vscode-server。 在VS Code的Terminal中执行如下命令,清空残留的vscode-server,注意替换命令中${commitID}为步骤1 获取VS Code的commitID中commitID。 rm -rf /home/ma-user/.vscode-server/bin/${commitID}/* mkdir -p /home/ma-user/.vscode-server/bin/${commitID} 上传vscode-server压缩包到开发环境。执行如下命令: exit scp -i xxx.pem -P 31205 本地vscode-server压缩包路径 ma-user@xxx:/home/ma-user/.vscode-server/bin ssh -tt -o StrictHostKeyChecking=no -i ${IdentityFile} ${User}@${HostName} -p ${Port} 参数说明: - IdentityFile:本地密钥路径 - User:用户名,例如:ma-user - HostName:IP地址 - Port:端口号 以arm版本为例,将vscode-server压缩包解压至$HOME/.vscode-server/bin文件夹,注意替换命令中${commitID}为步骤1 获取VS Code的commitID中commitID。 cd /home/ma-user/.vscode-server/bin tar -zxf vscode-server-linux-arm64.tar.gz mv vscode-server-linux-arm64/* ${commitID} 重新远程连接。
  • Jupyter可以安装插件吗? Jupyter可以安装插件。 目前jupyter插件多数采用wheel包的形式发布,一次性完成前后端插件的安装,安装时注意使用jupyter服务依赖的环境“/modelarts/authoring/notebook-conda/bin/pip”进行安装,不要使用默认的anaconda(kernel依赖的python环境)的pip进行安装。 使用命令jupyter labextension list --app-dir=/home/ma-user/.lab/console查询 前端插件安装目录为:/home/ma-user/.local/share/jupyter/labextensions 后端插件代码安装目录:/home/ma-user/.local/lib/python3.7/site-packages 配置文件目录:/home/ma-user/.jupyter/ 后端插件使用jupyter server extension list命令查询。 父主题: CodeLab
  • 对象存储服务 的关系 ModelArts使用对象存储服务(Object Storage Service,简称OBS)存储数据和模型,实现安全、高可靠和低成本的存储需求。OBS的更多信息请参见《对象存储服务控制台指南》。 表1 ModelArts各环节与OBS的关系 功能 子任务 ModelArts与OBS的关系 自动学习 数据标注 ModelArts标注的数据存储在OBS中。 自动训练 训练作业结束后,其生成的模型存储在OBS中。 部署上线 ModelArts将存储在OBS中的模型部署上线为在线服务。 AI全流程开发 数据管理 数据集存储在OBS中。 数据集的标注信息存储在OBS中。 支持从OBS中导入数据。 开发环境 Notebook实例中的数据或代码文件存储在OBS中。 训练模型 训练作业使用的数据集存储在OBS中。 训练作业的运行脚本存储在OBS中。 训练作业输出的模型存储在指定的OBS中。 训练作业的过程日志存储在指定的OBS中。 AI应用管理 训练作业结束后,其生成的模型存储在OBS中,创建AI应用时,从OBS中导入已有的模型文件。 部署上线 将存储在OBS中的模型部署上线。 全局配置 - 获取访问授权(使用委托或访问密钥授权),以便ModelArts可以使用OBS存储数据、创建Notebook等操作。
  • 在Terminal中安装 例如,通过terminal在“TensorFlow-1.8”的环境中使用pip安装Shapely。 打开一个Notebook实例,进入到Launcher界面。 在“Other”区域下,选择“Terminal”,新建一个terminal文件。 在代码输入栏输入以下命令,获取当前环境的kernel,并激活需要安装依赖的python环境。 cat /home/ma-user/README source /home/ma-user/anaconda3/bin/activate TensorFlow-1.8 如果需要在其他python环境里安装,请将命令中“TensorFlow-1.8”替换为其他引擎。 图1 激活环境 在代码输入栏输入以下命令安装Shapely。 pip install Shapely
  • 如何安装C++的依赖库? 在训练作业的过程中,会使用到第三方库。以C++为例,请参考如下操作步骤进行安装: 将源码下载至本地并上传到OBS。使用OBS客户端上传文件的操作请参见上传文件。 将上传到OBS的源码使用Moxing复制到开发环境Notebook中。 以下为使用EVS挂载的开发环境,将数据复制至notebook中的代码示例: import moxing as mox mox.file.make_dirs('/home/ma-user/work/data') mox.file.copy_parallel('obs://bucket-name/data', '/home/ma-user/work/data') 在Jupyter页面的“Files”页签下,单击“New”,打开“Terminal”。执行如下命令进入目标路径,确认源码已下载,即“data”文件是否存在。 cd /home/ma-user/work ls 在“Terminal”环境进行编译,具体编译方式请您根据业务需求进行。 将编译结果使用Moxing复制至OBS中 。代码示例如下: import moxing as mox mox.file.make_dirs('/home/ma-user/work/data') mox.file.copy_parallel('/home/ma-user/work/data', 'obs://bucket-name/file) 在训练时,将OBS中的编译结果使用Moxing复制到容器中使用。代码示例如下: import moxing as mox mox.file.make_dirs('/cache/data') mox.file.copy_parallel('obs://bucket-name/data', '/cache/data') 父主题: 编写训练代码
  • 解决方法 若当前环境未安装OpenSSH,请下载并安装OpenSSH。 当通过“可选功能”未能成功安装时,请手动下载OpenSSH安装包,然后执行以下步骤: 下载zip包并解压放入“C:\Windows\System32”。 以管理员身份打开CMD,在“C:\Windows\System32\OpenSSH-xx”目录下,执行以下命令: powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 添加环境变量:将“C:\Program Files\OpenSSH-xx”(路径中包含ssh可执行exe文件)添加到环境系统变量中。 重新打开CMD,并执行ssh,结果如下图即说明安装成功,如果还未装成功则执行5和6。 OpenSSH默认端口为22端口,开启防火墙22端口号,在CMD执行以下命令: netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22 启动OpenSSH服务,在CMD执行以下命令: Start-Service sshd 若OpenSSH未安装在默认路径下,打开命令面板(Windows: Ctrl+Shift+P,macOS:Cmd+Shift+P), 搜索“Open settings”。 然后将remote.SSH.path属性添加到settings.json中,例如:"remote.SSH.path": "本地OpenSSH的安装路径"
  • 多节点训练TensorFlow框架ps节点作为server会一直挂着,ModelArts是怎么判定训练任务结束?如何知道是哪个节点是worker呢? TensorFlow框架分布式训练的情况下,会启动ps与worker任务组,worker任务组为关键任务组,会以worker任务组的进程退出码,判断训练作业是否结束。 通过task name判断的哪个节点是worker。下发的训练作业是一个volcano job,里边会有两个task:一个是ps、一个是worker。两个task的启动命令不同,会自动生成超参--task_name,ps的--task_name=ps,worker的 --task_name=worker。 父主题: 功能咨询
  • VS Code中设置远端默认安装的插件 在VS Code的配置文件settings.json中添加remote.SSH.defaultExtensions参数,如自动安装Python和Maven插件,可配置如下。 "remote.SSH.defaultExtensions": [ "ms-python.python", "vscjava.vscode-maven" ], 其中,插件名称可以单击VS Code的某个插件后获取,如下所示。 父主题: VS Code使用技巧
  • ModelArts开发环境使用权限的自定义策略样例 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "modelarts:notebook:list", "modelarts:notebook:create" , "modelarts:notebook:get" , "modelarts:notebook:update" , "modelarts:notebook:delete" , "modelarts:notebook:action" , "modelarts:notebook:access" ] } ] }
  • ModelArts依赖的OBS权限自定义策略样例 如下示例为ModelArts依赖OBS服务的最小化权限项,包含OBS桶和OBS对象的权限。授予示例中的权限您可以通过ModelArts正常访问OBS不受限制。 { "Version": "1.1", "Statement": [ { "Action": [ "obs:bucket:ListAllMybuckets", "obs:bucket:HeadBucket", "obs:bucket:ListBucket", "obs:bucket:GetBucketLocation", "obs:object:GetObject", "obs:object:GetObjectVersion", "obs:object:PutObject", "obs:object:DeleteObject", "obs:object:DeleteObjectVersion", "obs:object:ListMultipartUploadParts", "obs:object:AbortMultipartUpload", "obs:object:GetObjectAcl", "obs:object:GetObjectVersionAcl", "obs:bucket:PutBucketAcl", "obs:object:PutObjectAcl" ], "Effect": "Allow" } ] }
  • 提交训练作业报错“Invalid OBS path” 当运行训练作业时,出现“Invalid OBS path”错误。 图1 训练作业报错 该问题可以通过以下方法排查: 如果是首次使用ModelArts的新用户,需要登录ModelArts管理控制台,在全局配置页面完成访问授权配置,推荐使用委托授权的方式。完成全局配置后,再次提交作业即可。 请排查所填写的Data Path in OBS是否存在,文件夹下是否有数据文件,如果没有,需要在OBS创建目录并上传训练数据到该目录。 父主题: PyCharm Toolkit使用
  • 什么是图像分类和物体检测? 图像分类是根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。简单的说就是识别一张图中是否是某类/状态/场景,适合图中主体相对单一的场景,将下图识别为汽车的图片。 图1 图像分类 物体检测是计算机视觉中的经典问题之一,其任务是用框去标出图像中物体的位置,并给出物体的类别。通常在一张图包含多个物体的情况下,定制识别出每个物体的位置、数量、名称,适合图片中有多个主体的场景,针对下图检测出图片包含树和汽车。 图2 物体检测 父主题: 功能咨询
  • 部署服务如何选择计算节点规格? 部署服务时,用户需要指定节点规格进行服务部署,界面目前显示的节点规格是ModelArts根据用户的AI应用和资源池的节点规格计算得到,用户可以选择ModelArts提供的规格,也可以使用自定义规格(公共资源池不支持)。 计算节点规格主要是根据用户AI应用实际需要的资源进行选择,如AI应用正常运行需要3U10G的资源,那么需要选择大于3U10G的计算节点规格。确保服务能够部署成功正常运行。 图1 选择计算节点规格 规格的使用注意事项如下: 1、权限控制 通用的计算节点规格是未做权限控制的,如modelarts.vm.cpu.2u,只要资源池有资源,就可以选择使用。ModelArts默认提供两个规格:CPU:modelarts.vm.cpu.2u和GPU:modelarts.vm.gpu.p4。 一些特殊的规格需要联系系统管理员增加权限。 2、公共资源池的规格无法选择 共享池的资源是有限的,显示置灰表示当前规格的资源已经被用完。请选择未置灰的规格,也可以创建自己的专属资源池。 3、自定义规格 只有在专属资源池部署服务时,支持自定义资源规格。公共资源池部署服务不支持。 图2 自定义规格 4、免费规格 只有公共资源池支持使用免费节点规格。免费规格有使用数量和使用时长的限制。目前仅在“华北-北京四”区域提供了免费规格。 父主题: 功能咨询
  • 解决方法 查看ModelArts创建的项目与创建的OBS桶是否在同一区域。 查看创建的OBS桶所在区域。 登录OBS管理控制台。 进入“对象存储”界面,可在桶列表的“桶名称”列查找,或在右上方的搜索框中输入已经创建的桶名称搜索,找到您创建的OBS桶。 在“区域”列可查看创建的OBS桶的所在区域,如图1所示。 图1 OBS桶所在区域 查看ModelArts所在区域。 登录ModelArts控制台,在控制台左上角可查看ModelArts所在区域。 比对您创建的OBS桶所在区域与ModelArts所在区域是否一致。务必保证OBS桶与ModelArts所在区域一致。 配置访问授权(全局配置) 登录ModelArts管理控制台,在左侧导航栏选择“全局配置”,进入“全局配置”页面。 单击“添加授权”,进入“访问授权”页面,根据参数说明进行配置。 图2 查看权限列表 然后勾选“我已经详细阅读并同意《ModelArts服务声明》”,单击“创建”,即完成委托配置。
  • 安装远端插件时不稳定,需尝试多次 方法一:离线包安装方式(推荐) 到VS Code插件官网vscode_marketplace搜索待安装的Python插件,Python插件路径。 单击进入Python插件的Version History页签后,下载该插件的离线安装包,如图所示。 图1 Python插件离线安装包 在本地VS Code环境中,将下载好的.vsix文件拖动到远端Notebook中。 右键单击该文件,选择Install Extension VSIX。 方法二:设置远端默认安装的插件 按照VS Code中设置远端默认安装的插件配置,即会在连接远端时自动安装,减少等待时间。 方法三:VS Code官网排查方式https://code.visualstudio.com/docs/remote/troubleshooting 小技巧(按需调整远端连接的相关参数): "remote.SSH.connectTimeout": 10, "remote.SSH.maxReconnectionAttempts": null, "remote.downloadExtensionsLocally": true, "remote.SSH.useLocalServer": false, "remote.SSH.localServerDownload": "always", 父主题: VS Code使用技巧
  • 问题现象 报错“Bad owner or permissions on C:\Users\Administrator/.ssh/config”或“Connection permission denied (publickey). Please make sure the key file is correctly selected and the file permission is correct. You can view the instance keypair information on ModelArts console.”
  • 解决方案 找到.ssh文件夹。一般位于“C:\Users”,例如“C:\Users\xxx”。 “C:\Users”目录下的文件名必须和Windows登录用户名完全一致。 右键单击.ssh文件夹,选择“属性”。然后单击“安全”页签。 单击“高级”,在弹出的高级安全设置界面单击“禁用继承”, 在弹出的“阻止继承”窗口单击“从此对象中删除所有继承的权限”。此时所有用户都将被删除。 添加所有者:在同一窗口中,单击“添加”,在弹出的新窗口中,单击“主体”后面的“选择主体”,弹出“选择用户,计算机,服务帐户或组”窗口,单击“高级”,输入用户名, 单击“立即查找”按钮,显示用户搜索结果列表。 选择您的用户帐户,然后单击“确定”(大约四个窗口)以关闭所有窗口。 图1 添加所有者 完成所有操作后,再次关闭并打开VS Code并尝试连接到远程SSH主机。备注:此时密钥需放到.ssh文件夹中。
  • 操作步骤 创建conda env。 在Notebook的Terminal中执行如下命令。其中,my-env是虚拟环境名称,用户可自定义。conda详细参数可参考conda官网。 conda create --quiet --yes -n my-env python=3.6.5 创建完成后,执行conda info --envs命令查看现有的虚拟环境列表,可以看到my-env虚拟环境: sh-4.4$conda info --envs # conda environments: # base * /home/ma-user/anaconda3 TensorFlow-2.1 /home/ma-user/anaconda3/envs/TensorFlow-2.1 my-env /home/ma-user/anaconda3/envs/my-env python-3.7.10 /home/ma-user/anaconda3/envs/python-3.7.10 /opt/conda/envs/my-env 执行如下命令 进入conda env。 source /home/ma-user/anaconda3/bin/activate /home/ma-user/anaconda3/envs/my-env 执行如下命令在my env里安装如下依赖包。 pip install jupyter pip install jupyter_core==5.3.0 pip install jupyter_client==8.2.0 pip install ipython==8.10.0 pip install ipykernel==6.23.1 执行下述命令添加虚拟环境为IPython Kernel。 其中--name的值可自定义。 python3 -m ipykernel install --user --name "my-py3-tensorflow-env" 执行完毕后,可以看到下述提示信息。 (my-env) sh-4.4$python3 -m ipykernel install --user --name "my-py3-tensorflow-env" Installed kernelspec my-py3-tensorflow-env in /home/ma-user/.local/share/jupyter/kernels/my-py3-tensorflow-env 自定义虚拟环境Kernel的环境变量。 执行cat /home/ma-user/.local/share/jupyter/kernels/my-py3-tensorflow-env/kernel.json,可以看到默认配置如下: { "argv": [ "/home/ma-user/anaconda3/envs/my-env/bin/python3", "-m", "ipykernel_launcher", "-f", "{connection_file}" ], "display_name": "my-py3-tensorflow-env", "language": "python" } 按需添加env字段的值,可参考下述配置。其中,PATH中增加了该虚拟环境python包所在路径: { "argv": [ "/home/ma-user/anaconda3/envs/my-env/bin/python3", "-m", "ipykernel_launcher", "-f", "{connection_file}" ], "display_name": "my-py3-tensorflow-env", "language": "python", "env": { "PATH": "/home/ma-user/anaconda3/envs/my-env/bin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/ma-user/modelarts/ma-cli/bin", "http_proxy": "http://proxy-notebook.modelarts-dev-proxy.com:8083", "https_proxy": "http://proxy-notebook.modelarts-dev-proxy.com:8083", "ftp_proxy": "http://proxy-notebook.modelarts-dev-proxy.com:8083", "HTTP_PROXY": "http://proxy-notebook.modelarts-dev-proxy.com:8083", "HTTPS_PROXY": "http://proxy-notebook.modelarts-dev-proxy.com:8083", "FTP_PROXY": "http://proxy-notebook.modelarts-dev-proxy.com:8083" } } 进入虚拟环境的IPython Kernel。 刷新JupyterLab页面,可以看到自定义的虚拟环境Kernel。如下所示: 单击my-py3-tensorflow-env图标,验证是否为当前环境,如下所示: 清理环境。 删除虚拟环境的IPython Kernel。 jupyter kernelspec uninstall my-py3-tensorflow-env 删除虚拟环境。 conda env remove -n my-env
  • AI Gallery的入口在哪里 控制台入口 登录ModelArts管理控制台。 在左侧导航栏中选择“AI Gallery”跳转到AI Gallery首页。 直接网址访问 旧版AI Gallery将下线,已不再更新,建议使用新版AI Gallery。 旧版AI Gallery地址:https://developer.huaweicloud.com/develop/aigallery/home.html 新版AI Gallery地址:https://pangu.huaweicloud.com/gallery/home.html 父主题: AI Gallery
  • Notebook实例出现“Server Connection Error”错误 在Terminal中执行命令时,出现错误如图1 报错信息截图所示,此问题可能由于CPU/GPU或显存等占满,可在JupyterLab界面下方查看内存使用情况,如图2所示。 此时Kernel会自动重启,存储在“/home/ma-user/work”目录下的数据会被保留,其他目录的数据均不会保留。 图1 报错信息截图 图2 查看内存使用情况 父主题: Notebook实例常见错误
  • 首次切换/故障切换和容灾演练操作后,登录弹性云服务器有哪些注意事项? 对于已安装Cloud-Init/Cloudbase-Init的云服务器,首次执行切换/故障切换操作,或者创建容灾演练后,系统第一次启动时会运行Cloud-Init/Cloudbase-Init,为云服务器重新注入初始化数据,影响生产站点服务器、容灾站点服务器和容灾演练服务器的登录密码或密钥。 对于未安装Cloud-Init/Cloudbase-Init的云服务器,首次执行切换/故障切换操作,或者创建容灾演练,不会改变生产站点服务器、容灾站点服务器和容灾演练服务器的登录密码或密钥。 如下示例以切换/故障切换为例进行说明,容灾演练服务器的登录约束请参照首次切换/故障切换后容灾站点服务器的场景: 假设生产站点服务器为A,容灾站点服务器为B,经过首次切换/故障切换操作后,生产站点和容灾站点服务器如表1所示。 表1 生产站点和容灾站点服务器 - 生产站点服务器 容灾站点服务器 切换/故障切换前 A B 首次切换/故障切换后 B A 此时,详细的登录约束如下: 【场景一】生产站点服务器A为Windows操作系统,且未安装Cloudbase-Init,在首次切换或者故障切换操作后: 如果设置密码方式登录云服务器,请使用云服务器A的密码登录生产站点服务器B或容灾站点服务器A。 如果设置密钥对方式登录云服务器,请使用云服务器A获取到的密码登录生产站点服务器B或容灾站点服务器A。 首次切换/故障切换完成后,后续再执行切换/故障切换操作,对于未安装Cloudbase-Init的云服务器,登录密码/密钥仍然保持不变。以表1为例: 使用云服务器A的密码登录生产站点服务器或容灾站点服务器。 【场景二】生产站点服务器A为Windows操作系统,且已安装Cloudbase-Init,在首次切换或者故障切换操作后: 如果设置密码方式登录云服务器,根据Cloudbase-Init是否已经启动存在差异: 在Cloudbase-Init未启动的情况下(一般是生产站点服务器开机后的3-5分钟内),仍然可以使用云服务器B的密码进行登录。 当Cloudbase-Init启动完成后,云服务器B在切换/故障切换前设置的密码失效。您需要通过“重置密码”操作,重置云服务器B的密码,并使用新密码进行登录。 如果设置密钥对方式登录云服务器,根据Cloudbase-Init是否已经启动存在差异: 在Cloudbase-Init未启动的情况下(一般是生产站点服务器开机后的3-5分钟内),仍然可以使用云服务器B获取到的密码进行登录。 当Cloudbase-Init启动完成后,云服务器B在切换/故障切换前获取到的密码失效。您需要通过“获取密码”操作,重新获取云服务器B的登录密码。 首次切换/故障切换完成后,后续再执行切换/故障切换操作,对于已安装Cloudbase-Init的云服务器,登录密码/密钥不再改变。以表1为例: 密码方式登录:使用首次切换/故障切换时,云服务器B“重置密码”操作后的新密码进行登录。 密钥对方式登录:使用首次切换/故障切换时,云服务器B通过“获取密码”操作后重新获取的密码进行登录。 【场景三】生产站点服务器A为Linux操作系统,在首次切换或者故障切换操作后: 如果设置密码方式登录云服务器,请使用云服务器A的密码登录生产站点服务器B或容灾站点服务器A。具体的: 切换或者故障切换前,如果云服务器A没有修改密码,则在切换或者故障切换后,使用创建云服务器A时设置的密码登录。 切换或者故障切换前,如果云服务器A修改了密码,则在切换或者故障切换后,使用云服务器A修改后的密码进行登录。 对于非CoreOS操作系统的弹性云服务器,首次切换/故障切换完成后,后续再执行切换/故障切换操作,登录密码不再改变。 对于CoreOS操作系统的弹性云服务器,首次切换或者故障切换后,后续再执行切换或故障切换操作,云服务器A的密码将被恢复为初始密码。因此,需使用创建云服务器A时设置的初始密码登录生产站点服务器A或容灾站点服务器B。 如果设置密钥对方式登录云服务器,请使用云服务器A的密钥对,采用SSH密钥方式登录生产站点服务器B或容灾站点服务器A。 父主题: 同步复制(只适用于存量经营)
  • 处理方法1:暂未执行切换/故障切换 对于暂未执行切换/故障切换操作的保护组,为保证开启容灾保护后,生产站点服务器与容灾站点服务器的hostname一致,您可以在首次执行切换/故障切换操作前,先在生产站点服务器内部修改cloudinit配置文件/etc/cloud/cloud.cfg,将“preserve_hostname: false”修改为“preserve_hostname: true”。 具体操作如下:
  • 什么是容灾? 容灾是一个范畴比较广泛的概念。广义上,容灾是一个系统工程,包括所有与业务连续性相关的内容。对于IT而言,容灾是提供一个能防止用户业务系统遭受各种灾难影响破坏的计算机系统。狭义的容灾是指建立两套或多套功能相同的IT系统,互相之间可以进行健康状态监视和功能切换,当主要站点因意外(如火灾、地震、城市供电中断等)停止工作时,整个应用系统可以利用辅助站点快速恢复,并继续工作。 容灾的主要目的是,当自然或人为的原因导致生产系统发生灾难时,能够尽可能地保证业务的连续性。 父主题: 公共问题
  • 容灾和备份的区别是什么? 容灾和备份具有以下区别: 容灾主要应对数据中心软硬件故障或重大自然灾害,生产站点和容灾站点之间通常会保持一定的安全距离,支持同城或异地;备份主要针对人为误操作、病毒感染、逻辑错误等因素,用于业务系统的数据恢复,数据备份一般在同一数据中心进行。 容灾系统不仅保护数据,更重要的目的在于保证业务的连续性;而数据备份系统只保护不同时间点版本数据的可恢复。一般首次备份为全量备份,所需的备份时间会比较长,而后续增量备份则在较短时间内就可完成。 容灾可实现低至秒级的RPO;备份可设置一天最多24个不同时间点的自动备份策略,后续可将数据恢复至不同的备份点。 故障情况下(例如地震、火灾、数据中心故障),容灾系统的切换时间一般为分钟级;而备份系统的恢复时间可能几小时到几十小时。 父主题: 公共问题
  • 资源包如何使用? 资源包类似手机的流量套餐包,单个资源包每个月包含744小时总可用时长,一个资源包可以给多个保护实例使用。例如,用户购买了一个包月资源包,创建了两个保护实例,则该资源包可以为两个保护实例各提供372小时的可用时间。 当用户购买了资源包后,系统会根据保护实例的个数和时长,默认优先从资源包扣除保护实例的总使用时长,当资源包内的可用时长使用完后,系统将以按需计费的方式进行计费。 包年资源包也是以月度为单位,资源包内的可用时长以月为周期进行重置。如果当月的可用时长未使用完将自动失效,如果当月的可用时长提前用完,该月其余时间只能按需计费,从下个月初恢复资源包计费,并以此类推。 建议按照保护实例数量购买相同数量的资源包。 父主题: 同步复制(只适用于存量经营)
  • 存储容灾有哪些功能? 存储容灾服务具有以下优势: 便捷的业务恢复方案 存储容灾服务提供集中的控制台,您可以通过管理控制台配置和管理服务器复制,执行切换和容灾演练等操作。 服务器复制 您可以创建从生产站点至容灾站点的复制。 按需复制 您可以将服务器按需复制至另一个可用区,免除您维护另一个数据中心的成本和复杂度。 不感知应用 运行在服务器上的任何应用都支持被复制。 RPO目标 存储容灾服务为云服务器提供异步复制,恢复点目标(RPO)为秒级。 RTO目标 恢复时间目标(RTO)为从生产站点发起切换或故障切换操作起,至容灾站点的服务器开始运行为止的一段时间,不包括手动操作DNS配置、安全组配置或执行客户脚本等任何时间,正常情况下,SDRS的RTO小于30分钟。 保持崩溃一致性 保证基于主机的异步复制,您容灾站点的数据与生产站点的数据保持崩溃一致性(存储容灾服务可以保证崩溃一致性,不能保证应用一致性)。 在不中断业务的情况下进行容灾演练 支持在线一键式容灾演练,通过容灾演练,模拟真实故障恢复场景,制定应急恢复预案,当真实故障发生时,通过预案快速恢复业务,提高业务连续性。 灵活的故障切换 生产站点发生故障时,可一键式执行切换操作,在容灾站点自动购买、部署、拉起云服务器,并挂载包含最新数据的容灾盘,仅需用户少量配置即可恢复业务。 高性价比:业务正常情况下,容灾端不启动云服务器,用户只需要支付少量的OBS服务费用以及容灾站点云硬盘费用即可。 部署简单:Agent在线安装,生产业务不中断,部署简单快捷。 父主题: 公共问题
  • 如果生产站点使用密钥方式登录,有哪些注意事项? 如果生产站点服务器为Windows服务器且设置为密钥方式登录,创建保护实例或者容灾演练时,请确保生产站点服务器使用的密钥对存在,否则会导致云平台无法创建容灾站点服务器和容灾演练服务器,从而导致创建保护实例或者容灾演练失败。 如果生产站点服务器为Linux服务器且设置为密钥方式登录,无论密钥对是否存在,都可以创建保护实例和进行容灾演练。但创建保护实例时创建的容灾站点服务器,以及容灾演练时创建的服务器,服务器详情均不显示密钥对信息,但可以使用生产站点服务器的密钥对登录创建的服务器。 父主题: 同步复制(只适用于存量经营)
  • 问题描述 生产站点服务器为SUSE操作系统,对该云服务器创建容灾演练后,发现容灾演练云服务器的网卡名称与生产站点服务器的网卡名称不一致。 示例: 操作系统为Novell SUSE Linux Enterprise Server 12 SP3 64bit的生产站点服务器,挂载有5张网卡。登录生产站点服务器,查询网卡名称为eth0~eth4,如图1所示。 图1 生产站点服务器网卡名称 创建容灾演练后,登录容灾演练端云服务器,查询网卡名称为eth5~eth9,如图2所示。 图2 容灾演练端云服务器网卡名称 SUSE操作系统的保护实例执行容灾演练后,生产站点与容灾演练端云服务器的网卡名称不一致。
共100000条