云服务器CVM

云服务器CVM

实例

镜像

云硬盘

网络与安全

云服务器CVM

  1. 您在使用云服务器时,可能碰到诸如登录云服务器、重装操作系统、调整配置、重置密码等问题。本文将介绍云服务器实例以及跟云服务器相关的产品使用过程中的常用操作,供您参考

实例

登录实例

登录 Linux 实例

操作场景

创建 Linux 实例后,您可以根据本地操作系统以及是否有公网 IP 来选择不同的登录方式连接并登录 CVM 实例。如下表所示:

本地操作系统实例有公网IP实例没有公网IP
Windows标准(WebShell) 登录方式(推荐)
远程登录软件登录(密码或密钥)
VNC 登录
Linux标准(WebShell) 登录方式(推荐)
Mac OS使用SSH登录(密码或密钥)

腾讯云推荐您使用标准登录方式(WebShell)。标准登录方式(Webshell)的优点如下:

  • 支持快捷键复制粘贴。
  • 支持鼠标滚屏。
  • 支持中文输入法。
  • 安全性高,每次登录需要输入密码或密钥。

前提条件

  • 已获取登录实例的管理员帐号。 对于不同类型的 Linux 实例,管理员帐号不同。如下表所示:
实例操作系统管理员帐号
SUSE/CentOS/Debianroot
UbuntuUbuntu
  • 已获取登录实例的密码或者密钥,且购买时选择自动生成密码。
    • 如果您选择密码登录,可以登录 腾讯云控制台,单击右上角的 ,进入“【腾讯云】请查收您新购买的云服务器”页面,该页面将包含云服务器登录管理员帐号及初始密码。如下图所示: 1
  • 如果您在购买实例时选择了自定义密码,则密码为您在购买云服务器实例时指定的密码。
  • 如果您选择密钥登录,需要先 创建密钥、下载私钥、绑定 Linux 云服务器。有关密钥操作的更多内容,请参阅 SSH 密钥
  • 已打开云服务器实例的22号端口。 您可以通过 检查网络连通性 检查22号端口是否放通。如果端口不通,您可以在 配置安全组 时设置端口的入站/出站规则。(备注:通过APICloud平台购买和创建的CVM默认开放22端口)
使用标准登录方式(WebShell)登录实例(推荐)
  1. WebShell 为腾讯云推荐的登录方式。无论您的本地系统为 WindowsLinux 或者 Mac OS,只要实例购买了公网 IP,都可以通过 WebShell 登录。通过 WebShell 方式登录需要开启 SSH 端口(默认为22)。

适用本地操作系统

  1. WindowLinux 或者 Mac OS

鉴权方式

  1. 密码或密钥

前提条件

  • 实例已购买公网 IP。
  • 已开启 SSH(22号)端口。您可以通过 配置安全组 确认是否开启22号端口。

操作步骤

  1. 登录 云服务器控制台
  2. 在实例列表中,选择需要登录的 Linux 云服务器,单击【登录】。如下图所示: 2
  3. 在弹出的【登录Linux实例】窗口,选择【标准登录方式】,单击【立即登录】。如下图所示: 3
  4. 在打开的 WebShell 登录页面,根据实际需求,选择【密码登录】或者【密钥登录】方式进行登录。如下图所示: 4 如果登录成功,WebShell 界面会出现 Socket connection established 提示。如下图所示: 5
远程登录软件登录(本地系统为 Windows)
  1. PuTTy 软件为例,介绍本地为 Windows 系统的电脑如何使用远程登录软件通过密码或者密钥登录 Linux 实例。

适用本地操作系统

  1. Windows

鉴权方式

  1. 密码或密钥
使用密码登录

操作步骤

  1. 安装 Windows 远程登录软件,即 PuTTy。 PuTTy 的获取方式:点此获取
  2. 打开 PuTTY 客户端,在 PuTTY Configuration 窗口中输入以下内容,并单击【Open】,创建一个新对话。如下图所示: 6
    • Host Name:云服务器的公网 IP(登录 云服务器控制台,可在列表页及详情页中获取主机公网 IP)。
    • Port:云服务器的端口,必须填22。(请确保云服务器22端口已开放,详见查看 安全组 及 网络 ACL)
    • Connect type:选择 “SSH ”。
  3. 在 PuTTY 会话窗口中,输入已获取的管理员帐号,按 Enter。
  4. 输入已获取的登录密码,按 Enter,即可完成登录。如下图所示: 7

注意 如果登录失败,请检查您的云服务器实例是否允许22端口的入流量。端口的查看请参考 安全组,若您的云服务器处于 私有网络 环境下,请同时查看相关子网的 网络 ACL

使用密钥登录

操作步骤

  1. 安装 Windows 远程登录软件,即 PuTTy。
  2. PuTTy 的获取方式:点此获取,分别下载 putty.exe 及 puttygen.exe 两个文件。 8
  3. 打开 puttygen.exe,单击【Load】。如下图所示: 9
  4. 在 key comment 中,输入密钥名和加密私钥的密码,单击【Save private key】。如下图所示: 10
  5. 在弹出的窗口中,选择您存放密钥的路径,并在文件名栏输入“密钥名.ppk”,单击【保存】。例如,将 david 私钥文件另存为 david.ppk 密钥文件。如下图所示: 11
  6. 打开 putty.exe ,进入【Auth】配置,单击【Browse】。如下图所示: 12
  7. 在弹出的窗口中,选择密钥的存储路径,单击【打开】。如下图所示: 13
  8. 切换至 Session 配置界面,配置服务器的 IP、端口,以及连接类型,单击【Save】。如下图所示: 14
    • Host Name (IP address):云服务器的公网 IP。登录 云服务器控制台,可在列表页及详情页中获取主机公网IP。
    • Port:云服务器的端口,必须填 22 。(请确保云服务器 22 端口已开放,详见查看 安全组 及 网络 ACL)。
    • Saved Sessions:填写会话名称,例如 test。
  9. 双击会话名称或者单击【Open】,发起登录请求。

注意 如果登录失败,请检查您的云服务器实例是否允许22端口的入流量。端口的查看请参考 安全组,若您的云服务器处于 私有网络 环境下,请同时查看相关子网的 网络 ACL

使用 SSH 登录(本地系统为 Linux/Mac OS)
  1. 介绍本地为 Linux/Mac OS 系统的电脑通过 SSH 登录 Linux 实例。

适用本地操作系统

  1. Linux Mac OS

鉴权方式

  1. 密码或密钥
使用密码登录

操作步骤

  1. Mac OS 用户请打开系统自带的终端(Terminal)并执行以下命令,Linux 用户请直接执行以下命令: ssh <username>@<hostname or IP address>
    • username 即为前提条件中获得的管理员帐号。
    • hostname or IP address 为您的 Linux 实例公网 IP 或 自定义域名。
  2. 执行以下命令,进行远程登录。 ssh -i <下载的与云服务器关联的私钥的绝对路径> <username>@<hostname or IP address>
    • username 即为前提条件中获得的管理员帐号。
    • hostname or IP address 为您的 Linux 实例公网 IP 或 自定义域名。 例如,执行 ssh -i "Mac/Downloads/shawn_qcloud_stable" ubuntu@119.xxx.xxx.xxx命令。
使用 VNC 远程登录实例(不推荐)
  1. VNC 登录是腾讯云为用户提供的一种通过 Web 浏览器远程连接云服务器的方式。在没有安装远程登录客户端或者客户端远程登录无法使用的情况下,用户可以通过 VNC 登录连接到云服务器,观察云服务器状态,并且可通过云服务器账户进行基本的云服务器管理操作。

适用本地操作系统

  1. WindowsLinux Mac OS 系统

使用限制

  1. 使用 VNC 登录暂时不支持复制粘贴功能、中文输入法以及文件的上传、下载。 要使用 VNC 登录,需要使用主流浏览器,例如 ChromeFirefoxIE 10及以上版本等。 该终端为独享,即同一时间只有一个用户可以使用 VNC 登录。

操作步骤

  1. 登录 云服务器控制台
  2. 在实例列表中,选择需要登录的 Linux 云服务器,单击【登录】。如下图所示: 15
  3. 在弹出的【登录Linux实例】窗口,选择【其它方式(VNC)】,单击【立即登录】。如下图所示: 16
  4. 在弹出的对话框中,输入用户名和密码登录,即可完成登录。

登录后续操作

当您成功登录云服务器后,您可以在腾讯云服务器上搭建个人站点,论坛或者使用其他操作,相关操作可参考:

登录 Windows 实例

操作场景

创建 Windows 实例后,您可以根据本地操作系统以及是否有公网 IP来选择不同的登录方式登录 Windows 实例。登录方式可以参考以下表格:

本地操作系统实例有公网IP实例没有公网IP
Windows使用 RDP 文件登录(推荐)
远程桌面登录
VNC 登录
Linux使用 RDP 文件登录(推荐)
Mac OS

前提条件

  • 已获取远程登录 Windows 实例需要使用实例的管理员账号和对应的密码。
    • Windows 实例的管理员账号统一为 Administrator。
    • 若您在购买实例时选择自动生成密码,您可以登录 腾讯云控制台,单击右上角的 ,进入“【腾讯云】请查收您新购买的云服务器”页面,查看初始密码。如下图所示: 17
    • 若您在购买实例时选择自定义密码,则密码为您在购买云服务器实例时指定的密码。如果您忘记密码,可以通过 重置实例密码 对密码进行重置。如下图所示: 18
  • 已开放云服务器3389号端口。您可以通过 检查网络连通性 检查3389号端口是否放通。如果端口不通,您可以在 配置安全组 时设置端口的入站/出站规则。
使用 RDP 文件登录(推荐)

适用本地操作系统

  1. WindowsLinux Mac OS

Windows 系统使用 RDP 登录

  1. 登录 云服务器控制台
  2. 在实例列表中,选择需要登录的 Windows 云服务器,单击【登录】。如下图所示: 19
  3. 在弹出的【登录Windows实例】窗口中,选择【使用 RDP 文件登录】,单击【下载 RDP 文件】到本地。 20
  4. 双击下载到本地的 RDP 文件,远程连接到 Windows 云服务器。
Linux 系统使用 RDP 登录

您需要安装相应的远程桌面连接程序,这里推荐使用 rdesktop 进行连接。有关 rdesktop 的更多内容,请参考 rdesktop官方说明

  1. 执行以下命令,检查系统是否已安装 rdesktop。
    rdesktop 若未安装,请 转到 github 下载最新安装包。也可以单击以下链接,直接下载 v1.8.3 版本: rdesktop-1.8.3.tar.gz rdesktop-1.8.3.zip 并在相应目录下执行以下命令解压和安装。

    1. tar xvzf rdesktop-<x.x.x>.tar.gz ##替换x.x.x为下载的版本号
    2. cd rdesktop-1.8.3
    3. ./configure
    4. make
    5. make install
  2. 执行以下命令,连接远程 Windows 实例。(请将示例中的参数改为您自己的参数)

    1. rdesktop -u Administrator -p <your-password> <hostname or IP address>
    • -u 连接用户名即 Administrator
    • -p 连接在您设置的登录密码。
    • <hostname or IP address>为您的 Windows 实例公网 IP 或自定义域名。
MacOS 系统使用 RDP 登录

以 Microsoft Remote Desktop for Mac 为例,介绍本地为 Mac OS 计算机时如何登录 Windows 实例。

  1. 下载 Microsoft Remote Desktop for Mac 。(该测试版本客户端由微软官方维护,我们推荐您优先使用该版本客户端。微软已于 2017 年取消其官网提供的下载链接,转而通过其子公司 HockeyApp 的页面进行 Beta 版本的发布)。 注意: 您也可以从 Mac App Store 下载 Microsoft 远程桌面客户端。该客户端不面向中国地区用户开放,您需要有其他地区 AppleID 账号才可下载。
  2. 打开客户端工具,单击【Add Deskop】。如下图所示: 21
  3. 在弹出的对话框中,输入 Windows 实例的公网 IP,并单击【Add】,添加远程桌面。如下图所示: 22
  4. 双击新添加的远程桌面图标,在新打开的界面中输入实例的管理员账号(默认为 Administrator)和对应的密码。如果您忘记密码,可以通过 重置实例密码 对密码进行重置。如下图所示: 23
使用远程桌面登录
  1. 除了 RDP 的登录方式之外,本地为 Windows 的用户还可以通过远程桌面登录云服务器实例。

适用本地操作系统

  1. Windows

操作步骤

  1. 在本地 Windows 机器上,单击【开始菜单】>【Run】,输入 mstsc 命令,即可打开远程桌面连接对话框。
  2. 在远程桌面连接对话框中,输入 Windows 服务器的公网 IP(登录 云服务器控制台 可查看云服务器的公网 IP),单击【连接】,如下图所示: 24
  3. 在新打开的界面中,输入实例的管理员账号和对应的密码,如下图所示: 25
  4. 单击【确定】,即可登录到 Windows 实例。
使用 VNC 远程登录实例(不推荐,当没有公网 IP 时使用)
  1. VNC 登录是腾讯云为用户提供的一种通过 Web 浏览器远程连接云服务器的方式。在没有安装远程登录客户端或者客户端远程登录无法使用的情况下,用户可以通过 VNC 登录连接到云服务器,观察云服务器状态,并且可通过云服务器账户进行基本的云服务器管理操作。

使用限制

  • 使用 VNC 登录暂时不支持复制粘贴功能、中文输入法以及文件的上传、下载。
  • 要使用 VNC 登录,需要使用主流浏览器,如 Chrome,Firefox 以及 IE 10 以上版本。
  • 该终端为独享,即同一时间只有一个用户可以使用 VNC 登录。

适用本地操作系统

  1. WindowsLinux Mac OS

操作步骤

  1. 登录 云服务器控制台
  2. 在实例列表中,选择需要登录的 Windows 云服务器,单击【登录】。如下图所示: 26
  3. 在弹出的 “登录Windows实例” 窗口中,选择【其他方式(VNC)】,单击【立即登录】。如下图所示: 27
  4. 在弹出的对话框中,输入用户名和密码登录,即可完成登录。

查看信息

查看实例信息

为了方便用户查看 CVM 实例信息,腾讯云提供如下三种查看的路径:

  • 在控制台 概览 页查看您账号下拥有的 CVM 实例总数,以及它们的运行状态;还有各个地域的资源数量与配额等信息。
  • 在控制台 云服务器列表 页查看某个地域下所有 CVM 实例的信息。
  • 在实例详情页上查看某个 CVM 实例的详细信息。

查看实例概览信息

概览 页中能查看的信息以及能进行的操作包括:

  • 云服务器状态,即云服务器总数,7天内到期的实例数量、回收站实例数量、正常的服务器数量。
  • 待续费云服务器列表,并可在该页面进行云服务器续费。
  • 资源数量与配额,可查看每个地域的按量计费云服务器、自定义镜像以及快照配额信息,并可在该页面申请配额。
  • 跨地域搜索云资源。

查看云服务器列表信息

云服务器列表 页中能查看的信息操作包括 ID/主机名、监控/状态、可用区、主机类型、配置、主 IP 地址、主机计费模式、网络计费模式以及所属项目。

可单击右上角的齿轮按钮,选择您想显示的列表详细信息。 28

查看实例详情信息

您可以进入实例详情页查看实例的详细信息。操作步骤如下:

  1. 登录 云服务器控制台
  2. 选择地域。
  3. 找到需要查看详情的实例,单击实例 ID,进入实例详情页面。
  4. 在实例详情页,您可以查看以下实例信息,包括主机信息、机器配置、系统镜像、SSH 密钥、弹性网卡、公网 IP、监控、健康检查、安全组等。 29

查看实例监控信息

操作场景

为了方便用户查看 CVM 实例监控信息,腾讯云提供如下两种查看的路径:

  • 在云监控控制台中查看某个 CVM 实例的监控信息。
  • 在云服务器控制台中的实例详情页上查看某个 CVM 实例的监控信息。

关于外网流量监控信息,您可进入 流量监控管理页面 进行查看。

操作步骤

在云监控控制台查看实例监控信息

  1. 登录 云服务器-基础监控 控制台。
  2. 选择待查看监控信息的实例所属地域。如下图所示: 30
  3. 单击实例 ID,进入该实例监控信息页面,即可查看 CVM 实例的 CPU、内存、内网带宽、外网带宽以及磁盘使用情况的监控信息。如下图所示: 31

在云服务器控制台查看实例监控信息

  1. 登录 云服务器控制台。
  2. 选择待查看监控信息的实例所属地域。
  3. 单击实例 ID,进入该实例详情页面页面。
  4. 选择【监控】页签,即可进入监控信息页面,查看 CVM 实例的 CPU、内存、内网带宽、外网带宽以及磁盘使用情况的监控信息。如下图所示: 32

修改实例名称

操作场景

  1. 为了方便用户在云服务器控制台上进行云服务器实例管理,可快速辨识出每台云服务器实例的名字,腾讯云支持给每台实例命名,并且可随时更改,立即生效。

操作步骤

修改单台实例名称

  1. 登录 云服务器控制台
  2. 在实例列表中,选择需要被修改实例名称的云服务器,单击右侧的【更多】>【实例设置】>【改名】。
  3. 在弹出的“改名”窗口中,输入新实例名称,单击【确定】即可。

修改多台实例名称

  1. 登录 云服务器控制台
  2. 在实例列表中,勾选需要被修改实例名称的多台云服务器,单击顶部的【更多操作】>【改名】。
  3. 在弹出的“改名”窗口中,输入新实例名称,单击【确定】即可。

注意 通过此方式修改的多台实例名称均相同。

重置实例密码

操作场景

  1. 如果您遗忘了密码,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在云服务器管理控制台上修改实例登录密码。

注意

  • 只有处于关机状态的实例才允许执行重置密码操作。
  • 对于正在运行的实例,在控制台上修改实例密码后,重置密码过程中会关闭服务器。为了避免数据丢失,请提前规划好操作时间,建议在业务低谷时操作,将影响降到最低。

操作步骤

重置单台实例密码

  1. 登录 云服务器控制台
  2. 在 “实例列表” 页面中,选择需要重置密码的云服务器行,单击【更多】>【密码/密钥】>【重置密码】。如下图所示: 33
  3. 在弹出的 “重置密码” 窗口中,根据实例状态的不同,重置密码操作会有一定差别,具体如下:
    • 如果需要重置密码的实例为 “运行中” 状态,执行以下操作: a. 选择 “用户名” 的类型,填写需要重置密码的用户名,以及对应的 “新密码” 和 “确认密码”,单击【下一步】。如下图所示: 34 b. 勾选 “同意强制关机”,单击【去调整】,完成重置。如下图所示: 35
      • 如果需要重置密码的实例为 “已关机” 状态,则选择 “用户名” 的类型,填写需要重置密码的用户名,以及对应的 “新密码” 和 “确认密码”,单击【确认重置】。如下图所示: 36

重置多台实例密码

  1. 登录 云服务器控制台
  2. 在 “实例列表” 页面中,勾选需要重置密码的云服务器,单击上方的【重置密码】。如下图所示: 37
  3. 在弹出的 “重置密码” 窗口中,根据实例状态的不同,重置密码操作会有一定差别,具体如下:
    • 如果需要重置密码的实例中含有 “运行中” 状态子机,执行以下操作: a. 选择 “用户名” 的类型,填写需要重置密码的用户名,以及对应的 “新密码” 和 “确认密码”,单击【下一步】。如下图所示: 38 b. 勾选 “同意强制关机”,单击【去调整】,完成重置。如下图所示: 39
    • 如果需要重置密码的实例全部为 “已关机” 状态,则选择 “用户名” 的类型,填写需要重置密码的用户名,以及对应的 “新密码” 和 “确认密码”,单击【确认重置】。如下图所示: 40

管理实例IP地址

获取内网 IP 地址和设置 DNS

获取实例的内网 IP 地址

使用控制台获取

  1. 登录 云服务器控制台
  2. 云服务器列表中列出了您名下的实例,鼠标移动到云服务器的内网 IP 后,出现复制按钮,单击即可复制内网 IP 。 41

使用实例元数据获取

  1. 登录云服务器实例。具体登录方法参考 登录 Linux 实例登录 Windows 实例
  2. 输入命令: curl http://metadata.tencentyun.com/meta-data/local-ipv4 返回值有类似如下结构,即可查看到内网 IP 地址: 42 有关更多信息,请参阅 查看实例元数据

设置内网 DNS

当网络解析出现错误时,用户可以手动进行内网 DNS 设置。设置方法如下:

Linux 系统

在云服务器上,通过编辑 /etc/resolv.conf 文件,修改云服务器 DNS 。 运行命令 ,根据 内网 DNS 列表中对应的不同地域编辑修改 DNS IP。 vi /etc/resolv.conf 43 Windows 系统

在云服务器上,打开【控制面板】>【网络和共享中心】>【更改适配器设备】,右键单击以太网【属性】,双击【Internet 协议版本4】,修改 DNS 服务器 IP 。 44

修改内网 IP 地址

您可以在控制台中直接修改私有网络中 CVM 实例的内网 IP,也可以通过更换 CVM 实例所属的子网来更改实例的内网 IP。关于更换子网的操作,请参考 更换实例子网

限制条件

  • 修改主网卡的主 IP 会导致关联的云服务器自动重启。
  • 辅助网卡无法修改主 IP 。
操作步骤
  1. 登录 云服务器控制台
  2. 选择地域。
  3. 找到需要查看详情的实例,单击实例 ID,进入实例详情页面。
  4. 在实例详情页,单击【弹性网卡】-【修改主 IP】。 45
  5. 在弹出来的修改主 IP 页面输入新的IP,然后单击【确定】,然后等待实例重启完毕即可生效。 46

注意:只能填入属于当前子网 CIDR 的内网 IP

获取公网 IP 地址

使用控制台获取

  1. 登录 云服务器控制台
  2. 云服务器列表中列出了您名下的实例,鼠标移动到云服务器的公网 IP 后,出现复制按钮,单击即可复制该 IP 地址。 47

注意: 公网 IP 地址通过 NAT 映射到内网 IP 地址。因此,如果在实例内部查看网络接口的属性(例如,通过 ifconfig (Linux) 或 ipconfig (Windows) 命令),则不会显示公网 IP 地址。要从实例内部确定实例的公网 IP 地址,可以参考 使用实例元数据获取公网 IP 地址 。

使用实例元数据获取

  1. 登录云服务器实例。具体登录方法参考 登录 Linux 实例 和 登录 Windows 实例
  2. 输入命令: curl http://metadata.tencentyun.com/meta-data/public-ipv4 返回值有类似如下结构,即可查看到公网 IP 地址: 48 有关更多信息,请参阅 查看实例元数据

更换公网 IP 地址

操作场景

本文档指导您如何更换公网 IP 地址。

注意事项

  • 单个账号单个地域不超过3次/天。
  • 单台实例仅允许更换1次公网 IP。
  • 更换后原公网 IP 将被释放。

操作步骤

  1. 登录 云服务器控制台
  2. 在“实例列表”中,选择待转换为弹性 IP的云服务器行,单击【更多】>【IP操作】>【更换公网IP】,如下图所示: 49
  3. 在弹出的“更换IP” 提示框中,单击【确认】,即可完成更换。

更换安全组

操作场景

安全组是一种有状态的包过滤虚拟防火墙,用于设置单台或多台云服务器的网络访问控制,是腾讯云提供的重要的网络安全隔离手段。创建 CVM 实例时必须要为实例配置安全组,腾讯云支持用户在创建 CVM 实例后更换实例所属的安全组。

注意:

如果您要将实例配置新的安全组,请先新建安全组,具体操作,请参考 创建安全组

前提条件

  1. 已登录 [云服务器控制台](https://console.cloud.tencent.com/cvm/index)。

操作步骤

更改已配置安全组

  1. 为了便于您对云服务器控制台的体验,配置安全组提供了以下两种配置入口,从实例列表或者云服务器管理界面配置。

从实例列表中配置安全组

  1. 在 “实例列表” 页面,选择需要一台重新分配至新的安全组的云服务器,单击【更多】>【安全组】>【配置安全组】。如下图所示: 50
  2. 在弹出的 “配置安全组” 窗口中,勾选新的安全组名称(可多选),单击【确定】,即可完成更换安全组的操作。

在云服务器管理页面中配置安全组

  1. 单击需要更换安全组的云服务器 ID/实例名,进入该云服务器管理页面。
  2. 单击右上方的【更多操作】>【配置安全组】。如下图所示: 51
  3. 在弹出的 “配置安全组” 窗口中,勾选新的安全组名称(可多选),单击【确定】。

更改已绑定安全组

  1. 单击需要绑定安全组的云服务器 ID/实例名,进入该云服务管理页面。
  2. 选择 “安全组” 页签,并在 “已绑定安全组” 栏中,单击【绑定】。 52
  3. 在弹出的 “配置安全组” 窗口中,勾选需要绑定的安全组,单击【确定】,即可完成绑定。如下图所示: 53

    按量计费实例转包年包月

操作场景

为了更加方便您使用云服务器,想将临时使用的按量付费云服务器实例长期稳定使用,我们开放云服务器按量付费实例转换成包年包月实例,您可以在 CVM 控制台及云 API 进行转换操作。 转换规则

我们在 CVM 控制台提供计费模式转换功能,具体规则如下:

  • 支持单个和批量按量实例转换成包年包月实例。
  • 按量转包月后,包年包月的实例无法转成按时计费的实例,请谨慎确认,以免造成成本浪费。
  • 按量计费实例转换包年包月时会产生一个新购订单,必须完成该订单的支付流程,计费方式的变更才能生效。若未支付或未成功支付,您的 订单中心 页面将会出现未完成订单。
  • 计费方式转换后,支付成功后,实例会即刻按照包年包月计费,新包年包月实例的起始时间为转换成功时间。
  • 若在未成功支付前,不可对该实例进行重复计费模式转换。
  • 若在未成功支付前,实例配置信息发生变化(如调整配置/重装系统/调整带宽/调整磁盘等),新购订单金额和实例不匹配,未支付订单会被禁止支付,您需要先在 订单中心 取消当前未支付订单,再执行新的转换操作。
  • 按量付费转包年包月功能只支持转换实例和磁盘的付费方式,转换之后带宽付费方式不变。

使用限制

  • 可用区包年包月剩余配额小于待转换的按量实例数量时不支持转换。可 提交工单 勾选 【云服务器购买配额提升申请】 进行配额提升。
  • 非按量计费实例不支持转换。
  • 实例网络计费模式为按带宽使用时长,暂时不支持转换,请期待功能升级。
  • 批量型实例 BC1、BS1 不支持转换。
  • 按量实例有未完成的转换单,不支持转换。
  • 按量实例设置了定时销毁,不支持转换,请先取消定时销毁再试。

操作步骤

  1. 登录 云服务器控制台
  2. 根据实际需求,选择不同的转换实例操作。
    • 转换单个实例:在右侧的操作栏中,单击【更多】>【实例设置】>【按量转包年包月】。如下图所示: 说明 您还可以勾选需要转换的实例,单击顶部的【更多操作】>【按量转包年包月】。 54
    • 转换多个实例:勾选所有需要转换的实例,单击顶部的【更多操作】>【按量转包年包月】。即可批量转换实例计费模式。不能操作的实例会显示原因。如下图所示: 55
  3. 在弹出的“按量计费转包年包月”窗口中,根据实际需求,设置续费时长以及是否自动续费。如下图所示: 56

    • 续费时长:选择转换为包年包月后的购买时长。如果是多个实例批量转换,只能设置相同的购买时长。
    • 自动续费:根据您的需求,选择自动续费。
  4. 勾选“已阅读并同意按量计费转包年包月规则”,单击【立即转换】。 若该实例无未完成的转换订单,将自动跳转至支付页面。如下图所示: 57

  5. 根据页面提示,完成支付,即完成转换操作。

常见问题

若您在转换过程中遇到问题,可参考 常见问题 > 计费类 > 计费模式 文档。

导出实例

操作场景

您可以在控制台中导出某地域的 CVM 实例列表,并且可自定义导出列表的字段。自定义导出字段最多勾选26个字段,当前支持导出的字段包括:ID、主机名、状态、地域、可用区、主机类型、操作系统、镜像 ID、CPU、内存、带宽、公网 IP、内网 IP、系统盘类型、系统盘大小、数据盘类型、数据盘大小、所属网络、所在子网、关联 VPC、创建时间、到期时间、主机计费模式、网络计费模式所属项目。

操作步骤

  1. 登录 云服务器控制台
  2. 选择地域。
  3. 单击实例列表右上方的 58 。如下图所示: 59
  4. 在弹出的“自定义导出字段”窗口中,勾选需要导出的字段,单击【确定】,即可导出。如下图所示: 说明 自定义导出字段最多勾选26个字段。 60

关机实例

用户需要停止实例服务,或者需要执行关机状态才能修改的配置时,可以关机实例。关机实例相当于本地计算机的关机操作。

概述

  • 关机准备:实例关机后将无法提供服务,因此在关机之前,请确保云服务器已暂停业务请求。
  • 关机操作方式:您可使用系统命令进行关机(如 Windows 系统下的关机 和 Linux 系统下的 shutdown 命令),也可使用腾讯云控制台进行关机。推荐在关机时打开控制台查看关机过程,以检视是否出现问题。
  • 关机过程:实例正常关闭,状态先变为关机中,关机完成后变更为已关机。若关机时间过长可能出现问题,可参见 关机相关 ,避免强行关机。
  • 数据存储:所有存储保持连接至实例状态,所有磁盘数据都被保留。内存中的数据将丢失。
  • 实例物理特性:关机实例不改变实例的物理特性。实例公网 IP、内网 IP 保持不变; 弹性公网 IP 维持绑定关系,但访问这些 IP 会得到错误响应(因为服务已中断); 基础网络互通 关系维持不变。
  • 负载均衡:如果关机实例属于 负载均衡实例的后端服务器集群 ,关机后无法继续提供服务。若配置了健康检查策略,则可自动屏蔽关机实例并不再向其转发请求;若没有配置健康检查策略,客户端可能会收到 502 错误返回。有关更多信息,请参阅 健康检查
  • 弹性伸缩:如果关机实例处于 弹性伸缩组 ,则 Auto Scaling 服务会将关机的实例标记为运行状况不佳,可能会将其移出弹性伸缩组并启动替换实例。有关更多信息,请参阅 弹性伸缩产品文档

通过控制台关机实例

  1. 登录 云服务器控制台
  2. 关机单个实例:勾选需要关机的实例,在列表顶部,单击【关机】按键。或在右侧操作栏中,单击【更多】-【云主机状态】-【关机】。
  3. 重启多个实例:勾选所有需要关机的实例,在列表顶部,单击【关机】按键。即可批量关机实例。不能关机的实例会显示原因。

修改已关机实例

只有在实例关机状态时,您才能修改以下实例属性:

重启实例

操作场景

重启操作是维护云服务器的一种常用方式,重启实例相当于本地计算机的重启操作系统操作。本文档指导您如何重启实例。

注意事项

  • 重启准备:重启期间实例将无法正常提供服务,因此在重启之前,请确保云服务器已暂停业务请求。
  • 重启操作方式:建议使用腾讯云提供的重启操作进行实例重启,而非在实例中运行重启命令(如 Windows 下的重新启动命令及 Linux 下的 Reboot 命令)。
  • 重启时间:一般来说重启操作后只需要几分钟时间。
  • 实例物理特性:重启实例不改变实例的物理特性。实例的公网 IP、内网 IP、存储的任何数据都不会改变。
  • 计费相关:重启实例不启动新的实例计费时间。

操作步骤

您可通过以下方式进行重启实例:

  1. 使用控制台重启实例
  2. 使用 API 重启实例

使用控制台重启实例

  1. 登录 云服务器控制台
  2. 在 “实例列表” 中,根据实际重启实例的数量,选择重启实例的方式。

    • 重启单个实例:在需要重启的实例行中,单击【更多】>【实例状态】>【重启】。如下图所示: 61
    • 重启多个实例:勾选需要重启的实例,在列表顶部,单击【重启】,即可批量重启实例。若实例不能重启,将会显示原因。如下图所示: 62

    说明:单个实例也可通过此方式进行重启。

重装系统

操作场景

重装系统操作可以使实例恢复至刚启动的初始状态,是实例遭遇系统故障时的一种重要恢复手段。本文档指导您如何重装操作系统。

云服务器提供以下两种重装类型:

  • 同平台重装:在任何地域云服务器都可以进行同平台重装。 例如,Linux 重装为 Linux,Windows 重装为 Windows 。
  • 不同平台重装:仅支持中国大陆地域(不含香港)。 例如,Linux 重装为 Windows,Windows 重装为 Linux 。

说明:

目前新增的所有云硬盘实例和本地盘实例均支持进行不同平台重装系统。部分存量的20GB本地盘实例暂时不支持控制台上进行跨平台重装,使用这些本地盘实例的用户,需要您 提交工单 进行申请。

注意事项

  • 重装准备:系统盘中的内容会在重装后丢失,需在重装前完成系统盘中重要信息的备份。需要保留系统运行数据的情况下,强烈建议您在重装系统前 创建自定义镜像 ,并选择该镜像进行重装。
  • 镜像选择建议:建议使用腾讯云提供的镜像或自定义镜像进行重装,不建议使用来源不明的镜像和其他来源。重装系统盘时,请不要进行其他操作。
  • 重装时间:一般来说操作后10 - 30分钟时间。
  • 实例物理特性:实例的公网 IP 不会改变。
  • 计费相关:调整系统盘大小时(仅支持云硬盘),将按云硬盘的收费标准进行收费。详细内容可以参考 硬盘价格
  • 后续操作:重装系统盘后,数据盘的数据会保留不受影响,但需要重新挂载才能使用。

操作步骤

您可通过以下方式进行重装操作系统:

使用控制台重装系统

  1. 登录 云服务器控制台 。
  2. 在需要重装系统的实例行中,单击【更多】>【重装系统】。如下图所示: 63
  3. 在弹出的 “重装系统” 窗口中,选择使用当前机器使用镜像或其他镜像,选择需要调整的磁盘大小。 64
  4. 输入密码,单击【开始重装】。

其他更多详细操作,请访问 腾讯云官方文档

镜像

创建自定义镜像

操作场景

创建镜像时,您可以选择在公共镜像或服务市场镜像中启动实例,并将该镜像连接到您的实例中,自行部署软件环境。在实例正常运行的情况下,您可以根据自己的实际需求,在其基础上创建新的自定义镜像。创建新的自定义镜像后,您可以使用该镜像启动更多与原实例具有相同自定义项的新实例。

注意:

创建自定义镜像的同时系统默认会创建相关快照,删除此快照之前需要先删除关联的镜像。当前快照已经商业化,保留自定义镜像会产生一定的快照费用。快照收费策略请参阅 关于快照商业化的公告。 对于2018年7月之后基于公共镜像创建的云盘子机,如需在线制作镜像(即实例不关机的情况下制作镜像),请联系商务经理或提工单申请权限。 其它实例在制作自定义镜像时,请先将实例关机,以保证镜像与当前实例部署环境完全一致。

注意事项

  • 每个地域暂支持10个自定义镜像。
  • 以下目录/文件会被清空:
    • /var/log/
    • /root/.bash_history、/home/ubuntu/.bash_history(Ubuntu 系统)
  • /etc/fstab 会重置,避免因找不到数据盘导致的启动失败。
  • 制作过程需要持续十分钟或更长时间,具体时间与实例的数据大小有关,请提前做好相关准备,以防影响业务。

操作步骤

使用控制台从实例创建

  1. 登录 云服务器控制台 。
  2. 在 “实例列表 ” 页面,勾选需要关机的实例,单击上方【关机】。
  3. 在需要制作镜像的实例行中,单击【更多】>【制作镜像】。
  4. 在弹出的 “制作自定义镜像” 窗口中,输入“镜像名称” 和 “镜像描述”,单击【制作镜像】,提交创建。
  5. 创建成功后,在左侧导航栏中,单击【镜像】,进入镜像管理页面。

说明:单击右上方的云服务器CVM - 图65,可查看创建进度。

  1. 在镜像列表中,选择需要创建实例的镜像行,单击【创建实例】,即可购买与之前相同镜像的服务器。如下图所示: 66

复制镜像

复制概述

常规思路

复制镜像功能 帮助用户快速 跨地域 部署相同的云服务器实例。您可以跨地域复制镜像,然后通过复制在新地域下的镜像创建云服务器。

复制说明

  • 复制的镜像须为自定义镜像,需先创建自定义镜像,操作方法详见 创建自定义镜像
  • 复制镜像支持国内至国内复制,国外至国外复制,需要从国内复制镜像到国外,或者从国外复制镜像到国内请联系售后。
  • 跨地域复制镜像暂不收费。
  • 大于 50GB 的自定义镜像暂不支持跨地域复制。
  • 复制镜像等待时间为 10 分钟到 30 分钟。

复制方法

使用控制台复制

  1. 登录 云服务器控制台
  2. 单击左侧导航窗格中的【镜像】。
  3. 选择需要被复制的原始镜像地域,如:广州。
  4. 单击头部【自定义镜像】选项卡。
  5. 在需要被复制镜像的右侧单击【更多】,单击【跨地域复制】(若需要批量操作,可勾选所有需要被复制的镜像,单击顶部【跨地域复制】)。
  6. 在弹框中选择要复制的目的地域,单击【确定】。
  7. 复制成功后,目的地域的镜像列表将能显示名称相同的镜像( ID 不同)。
  8. 在镜像列表中,镜像右侧单击【创建云主机】,即可创建相同的云服务器实例。

共享自定义镜像

操作场景

共享镜像是将自己已经创建好的 自定义镜像 共享给其他用户使用。用户可以方便地从其他用户那里获得共享镜像,并从中获得需要的组件及添加自定义内容。

注意:腾讯云无法保证其他用户共享镜像的完整性或安全性,我们建议用户只使用来自可靠来源的共享镜像。

注意事项

  1. 每个镜像最多可以共享给50个用户。
  2. 共享镜像不能更改名称和描述,仅可用于创建云服务器实例。
  3. 共享给其他用户的镜像不占用自身镜像配额。
  4. 共享给其他用户的镜像可以删除,但需先取消该镜像所有的共享,取消共享操作详见 取消共享自定义镜像。获取的共享镜像不可删除。
  5. 镜像支持共享到对方账户相同地域内;若需共享到不同地域,需先复制镜像到不同地域再进行共享。
  6. 不可将获取的已共享镜像共享给其他用户。

操作步骤

获取账号 ID

腾讯云共享镜像通过对端账号唯一 ID 识别。您可以通知该用户通过以下方式获取:

  1. 登录 云服务器控制台
  2. 单击右上角的账号名称,选择【账号信息】。
  3. 在“账号信息”管理页面,查看并记录账号 ID 。如下图所示: 67
  4. 通知对方将账号 ID 发送给自己。

通过控制台共享

  1. 登录 云服务器控制台
  2. 在左侧导航栏中,单击【镜像】。
  3. 选择【自定义镜像】页签,进入自定义镜像管理页面。
  4. 在自定义镜像列表中,选中您要共享的自定义镜像,单击右侧【共享】。
  5. 在弹出的“共享镜像”窗口中,输入对方账户 ID ,单击【共享】。
  6. 通知对方登录 云服务器控制台,并选择【镜像】>【共享镜像】,即可查看共享给其的镜像。
  7. 如需共享给多个用户,请重复上述步骤。

取消共享自定义镜像

用户可以随时终止共享给其他人镜像的共享状态,从而决定不再共享给某个其他用户。此操作不会影响其他用户已经使用这个共享镜像创建的实例,但其他用户无法再查看此镜像,也无法使用此镜像创建更多实例。

通过控制台取消共享镜像

  1. 登录 云服务器控制台
  2. 单击左侧导航窗格中的【镜像】。
  3. 单击【自定义镜像】选项卡。
  4. 在列表中您需要取消共享的自定义镜像条目后,选择【更多】-【取消共享】按钮。
  5. 在新页面中,在已共享对方帐号右侧单击【取消共享】,确认后即可完成取消镜像的共享。

通过 API 取消共享镜像

用户可以使用 CancelShareImage 接口取消共享镜像,具体内容可以参考 取消共享镜像 API

删除自定义镜像

注意事项

使用完自定义镜像后,用户可以选择删除。执行删除操作前,请您注意以下事项:

  • 删除自定义镜像后,无法通过此镜像创建实例,但不影响已启动的实例。如果您需要删除所有从此镜像启动的实例,可参考 回收实例销毁实例
  • 已共享的镜像无法删除,需要先取消所有共享后才可删除,取消共享操作详见 取消共享自定义镜像
  • 仅自定义镜像能被删除,公共镜像和共享镜像均无法主动删除,获取的镜像亦不可删除。

通过控制台删除

  1. 登录 云服务器控制台

  2. 单击左侧导航窗格中的【镜像】。

  3. 单击【自定义镜像】选项卡。

  4. 删除单个镜像:列表右侧单击【更多】-【删除】,确认删除操作即可。

  5. 删除多个镜像:列表中勾选所有要删除的镜像,单击顶部【删除】按钮,确认删除操作后即可删除所有选中镜像。

注意:无法删除时会提示原因。

通过 API 删除

用户可以使用 DeleteImages 接口共享镜像,具体内容可以参考 删除镜像 API

导入镜像

导入镜像概述

除了使用 创建自定义镜像 功能外,腾讯云同时支持使用导入功能。可将本地或其他平台的服务器系统盘镜像文件导入至 CVM 自定义镜像中。导入后可以使用该导入镜像创建云服务器或对已有云服务器重装系统。

导入准备

准备镜像文件

您需提前准备好符合导入限制的镜像文件。

  • Linux 系统类型镜像限制:
镜像属性条件
镜像系统基于 CentOS、Ubuntu、Debian、CoreOS、OpenSUSE、SUSE 发行版的镜像
支持32位和64位
镜像格式支持 RAW、VHD、QCOW2、VMDK 镜像格式
使用qemu-img info imageName | grep ‘file format’查看镜像格式
镜像大小镜像实际大小不超过50G,使用qemu-img info imageName | grep ‘disk size’查看镜像实际大小
镜像 vsize 不超过500G,使用qemu-img info imageName | grep ‘virtual size’查看镜像 vsize
注意,导入镜像时审查大小以转换为 QCOW2 格式后的镜像信息为准
网络腾讯云默认为实例提供eth0网络接口
腾讯云暂不支持 IPV6
用户可以在实例内通过 metadata 服务查询实例的网络配置,详见 实例元数据
驱动镜像必须安装虚拟化平台 KVM 的 virtio 驱动,详情参考 Linux 导入镜像检查 virtio 驱动
镜像建议安装 cloudinit,详情参考 Linux 导入镜像安装 cloudinit
如因某些原因,镜像无法安装 cloudinit,请根据 强制导入 步骤自行配置实例
内核限制镜像最好是原生内核,修改可能会导致云服务器无法导入
  • Windows 系统类型镜像限制:

    镜像属性文件
    操作系统Windows Server 2008 相关版本、Windows Server 2012 相关版本、Windows Server 2016 相关版本,支持32位和64位
    镜像格式支持 RAW、VHD、QCOW2、VMDK 镜像格式
    使用qemu-img info imageName | grep ‘file format’查看镜像
    文件系统类型仅支持使用 MBR 分区的 NTFS 文件系统
    不支持 GPT 分区
    不支持逻辑卷管理
    镜像大小镜像实际大小不超过50G,使用qemu-img info imageName | grep ‘disk size’查看镜像实际大小
    镜像 vsize 不超过500G,使用qemu-img info imageName | grep ‘virtual size’查看镜像 vsize
    注意,导入镜像时审查大小以转换为 qcow2 格式后的镜像信息为准
    网络腾讯云默认为实例提供本地连接网络接口
    腾讯云暂不支持 IPV6
    用户可以在实例内通过 metadata 服务查询实例的网络配置,详见 实例元数据
    驱动镜像必须安装虚拟化平台 KVM 的 virtio 驱动。Windows系统默认未安装 virtio 驱动,用户可安装 Windows virtio 驱动 后导出本地镜像
    其他导入的 Windows 系统镜像不提供 Windows 激活 服务
导入步骤
  1. 登录 云服务器控制台
  2. 单击左侧导航栏中的【镜像】。
  3. 选择【自定义镜像】,单击【导入镜像】。
  4. 根据操作界面要求,先 开通对象存储 COS,再 创建 bucket 存储桶 ,上传镜像文件到 bucket 并 获取镜像文件 URL
  5. 单击【下一步】。
  6. 按照实际情况,填写表单,单击【开始导入】。

注意:请确保录入的对象存储文件 URL 准确。

导入成功或失败,均会以站内信的的形式通知。

导入失败

在控制台进行导入镜像操作后,会因为一些原因导致任务失败。在任务失败的情况下,可以根据以下内容进行排查。

注意事项

在根据本文排查失败原因之前,请确保已经在 站内信管理页面 消息订阅栏中订阅产品服务相关通知,以保证可以接收到包含失败原因的站内信、短信和邮件。

注意:未在消息中心订阅产品服务相关信息,将无法接受到导入成功/失败的站内信。

失败原因排查

详细错误提示以及错误说明请参见 错误码

InvalidUrl:COS 链接无效

出现报错 InvalidUrl,错误提示:导入镜像页面输入了错误的 COS 链接,可能原因如下:

  • 输入了不是 腾讯云对象存储 的镜像链接。
  • COS 文件的访问权限为私有读,但是签名已失效。

注意:带有签名的 COS 文件链接仅能被访问一次。

  • 输入了其他地域的 COS 链接。

注意:导入镜像服务通过内网访问本地域的 COS 服务器。

  • 用户的镜像文件已被删除。 在收到 COS 链接无效的报错后,可根据上述原因排查问题。

InvalidFormatSize:格式或大小不符合条件

出现报错 InvalidFormatSize,错误提示:预导入镜像的格式或大小不符合腾讯云导入镜像功能的限制,限制如下:

  • 导入镜像支持qcow2,vhd,vmdk,raw 4 种格式的镜像文件。
  • 导入镜像的实际文件大小不得超过 50GB(按转换为 qcow2 格式的镜像文件为准)。
  • 导入镜像的系统盘大小不得超过 500GB。

在收到格式或大小不符合条件的报错后:

  • 可以根据 Linux 镜像制作 的镜像格式转换内容将镜像文件转换为合适的文件格式、精简镜像内容以满足大小限制后重新导入镜像。
  • 也可以使用 服务迁移-实例导入 功能迁移实例,该功能最大支持 500GB 的镜像文件迁移。

VirtioNotInstall:未安装 virtio 驱动

出现报错 VirtioNotInstall,错误提示:预导入镜像未安装 virtio 驱动。腾讯云使用 KVM虚拟化技术,要求用户导入的镜像内已安装 virtio 驱动。除了少部分用户定制的 Linux 操作系统外,大部分的 Linux 操作系统已经安装 virtio 驱动;Windows 操作系统则需要用户手动安装 virtio 驱动:

CloudInitNotInstalled:未安装 cloud-init 程序

出现报错 CloudInitNotInstalled,错误提示:预导入镜像未安装 cloud-init 程序。腾讯云使用开源程序 cloud-init 初始化子机,因此未安装 cloud-init 程序将导致用户子机初始化失败。

PartitionNotPresent:分区信息丢失

出现报错 PartitionNotPresent,错误提示:导入的镜像不完整。请检查制作镜像时是否包含引导分区。

RootPartitionNotFound:根分区丢失

出现报错 RootPartitionNotFound,错误提示:未检测到导入的镜像包含根分区。请检测镜像文件,曾经出现过的原因如下,供参考:

  • 上传了安装包文件。
  • 上传了数据盘镜像。
  • 上传了引导分区镜像。
  • 上传了错误的文件。

InternalError:未知错误

出现报错 InternalError,错误提示:导入镜像服务没有收录该错误原因,请联系客服处理该类问题,技术人员将第一时间解决问题。

错误码
错误码错误原因建议处理方式
InvalidUrlCOS 链接无效检查 COS 链接与导入镜像链接是否相同
InvalidFormatSize格式或大小不符合条件镜像需要满足 导入准备 中关于镜像格式和镜像大小的限制
VirtioNotInstall未安装virtio驱动镜像需要安装virtio驱动,参考 导入准备 中的驱动部分
PartitionNotPresent未找到分区信息镜像损坏,可能是错误的镜像制作方式导致的
CloudInitNotInstalledcloud-init未安装linux镜像需要安装cloud-init,参考参考 导入准备中的 驱动 部分
RootPartitionNotFound未检测到根分区镜像损坏,可能是错误的镜像制作方式导致的
InternalError其他错误请联系客服处理问题

Linux 镜像制作

一. 准备工作

制作系统盘镜像导出时需要做以下检查,数据盘镜像导出可以忽略。

  • 检查 OS 分区,目前服务迁移不支持 GPT 分区。

    sudo parted -l /dev/sda | grep 'Partition Table'

    msdos 表示 MBR 分区;gpt 表示 GPT 分区。

  • 检查启动方式,目前服务迁移不支持 EFI 启动。

    sudo ls /sys/firmware/efi

  • 若文件存在,则目前系统是以 EFI 方式启动,需要确认 grub 中有传统方式的启动项。

  • 检查网络配置,目前服务迁移不支持 IPv6,不支持多网卡。依赖于 IPv6 和多网卡的服务都无法正常工作。

  • 检查系统关键文件,包括且不限于以下系统文件:

请遵循相关发行版的标准,确保系统关键文件位置和权限正确无误,可以正常读写。

  • /etc/grub/grub.cfg: kernel 参数里推荐使用 uuid 挂载 root,其它方式(如 root=/dev/sda)可能导致系统无法启动;
  • /etc/fstab:请勿挂载其它硬盘,迁移后可能会由于磁盘缺失导致系统无法启动;
  • /etc/shadow:权限正常,可以读写。

  • 卸载会产生冲突的驱动和软件(包括 VMware tools,Xen tools,Virtualbox GuestAdditions 以及一些自带底层驱动的软件)。

  • 检查 virtio 驱动:请参考 Linux 系统检查 virtio 驱动

  • 安装 cloud-init:请参考 cloud-init 安装文档

  • 检查其它硬件相关的配置,如 Linux 桌面环境中的驱动设置。上云之后的硬件变化包括但可能不限于:

    • 显卡更换为 cirrus vga;
    • 磁盘更换为 virtio disk,设备名为 vda、vdb;
    • 网卡更换为 virtio nic,默认只提供 eth0。
二. 查找分区和大小

使用 mount 命令确认目前的分区格式,判断要复制的分区及大小。 示例:

  1. mount
  2. proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
  3. sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
  4. dev on /dev type devtmpfs (rw,nosuid,relatime,size=4080220k,nr_inodes=1020055,mode=755)
  5. run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
  6. /dev/sda1 on / type ext4 (rw,relatime,data=ordered)
  7. securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
  8. tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
  9. devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
  10. tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
  11. cgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
  12. cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
  13. pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
  14. cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
  15. cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
  16. cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
  17. cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
  18. cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
  19. cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
  20. cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
  21. cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
  22. cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
  23. cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
  24. cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
  25. systemd-1 on /home/libin/work_doc type autofs (rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12692)
  26. systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=39,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=12709)
  27. debugfs on /sys/kernel/debug type debugfs (rw,relatime)
  28. mqueue on /dev/mqueue type mqueue (rw,relatime)
  29. hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
  30. tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
  31. configfs on /sys/kernel/config type configfs (rw,relatime)
  32. tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=817176k,mode=700,uid=1000,gid=100)
  33. gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=100)

从示例中可以看出根分区是在/dev/sda1,boot 和 home 没有独立分区。可以复制整个 sda,或者复制到 sda1 结束位置。

导出的镜像中至少应该要包含根分区以及 mbr。如果/boot和/home独立分区的话,也需要包含这两个独立分区。

注意: 复制时要包含 mbr,否则无法会启动,如上述示例,虽然 sda1 里也包含 boot 分区,但由于缺少 mbr 是无法启动的,必须要复制sda。

三. 使用工具导出

使用 VMWare vCenter Convert 或 Citrix XenConvert 等虚拟化平台的导出镜像工具,详情请见各平台的导出工具文档。目前腾讯云服务迁移支持的镜像格式有:qcow2,vhd,raw,vmdk。

四. 使用命令导出镜像

使用 qemu-img 命令

示例:

sudo qemu-img convert -f raw -O qcow2 /dev/sda /mnt/sdb/test.qcow2

这个命令是将/dev/sda整个盘导出到/mnt/sdb/test.qcow2/mnt/sdb这里应该挂载另外一块磁盘,或者是其它网络存储。 如果要转换成其它参数,需要修改 -O 参数,可选的参数有: |值|含义| |—|—-| |qcow2|qcow2 格式| |vpc|vhd 格式| |vmdk|vmdk 格式| |raw|无格式|

使用 dd 命令

示例:

sudo dd if=/dev/sda of=/mnt/sdb/test.imag bs=1K count=$count

dd 导出的镜像为 raw 格式,需要再做一次转换。count 参数决定了要复制的数量,这个数量可以用 fdisk 命令查出:

  1. fdisk -lu /dev/sda
  2. Disk /dev/sda: 1495.0 GB, 1494996746240 bytes
  3. 255 heads, 63 sectors/track, 181756 cylinders, total 2919915520 sectors
  4. Units = sectors of 1 * 512 = 512 bytes
  5. Sector size (logical/physical): 512 bytes / 4096 bytes
  6. I/O size (minimum/optimal): 4096 bytes / 4096 bytes
  7. Disk identifier: 0x0008f290
  8. Device Boot Start End Blocks Id System
  9. /dev/sda1 * 2048 41945087 20971520 83 Linux
  10. /dev/sda2 41945088 46123007 2088960 82 Linux swap / Solaris
  11. /dev/sda3 46123008 88066047 20971520 83 Linux
  12. /dev/sda4 88066048 2919910139 1415922046 8e Linux LVM

可以看出 sda1 结束位置在 41945087 * 512 字节处,所以复制 20481M 即可。 如果是全盘复制的话,count 参数可以忽略。

注意: 使用命令手工导出的风险比较大,例如在 io 繁忙时可能造成文件系统的 metadata 错乱等。建议在导出镜像后,检查镜像完整无误。

五. 镜像格式转换

目前腾讯云的服务迁移支持的镜像格式有:qcow2,vpc,vmdk,raw。建议使用压缩的镜像格式,可以节省传输和迁移的时间。

  1. `dd 导出的镜像为 raw 格式,建议转换为 qcow2 或 vhd。`

使用 qemu-img 命令转换镜像格式:

sudo qemu-img convert -f raw -O qcow2 test.img test.qcow2

  1. -f为源端镜像文件格式;
  2. -O 为目的端镜像文件格式。
  3. 参数见 第四节。
六. 镜像检查

如上所述,当不停服制作镜像或者其它原因,可能导致制作出的镜像文件系统有误,因此建议在制作镜像后检查是否无误。

当镜像格式和当前平台支持的格式一致时,可以直接打开镜像检查文件系统。 例如 Windows 平台可以直接附加 vhd 格式镜像,Linux 可以使用 qemu-nbd 打开 qcow2 格式镜像,Xen 平台可以直接启用 vhd 文件。 以 Linux 平台为例:

  1. modprobe nbd
  2. qemu-nbd -c /dev/nbd0 xxxx.qcow2
  3. mount /dev/nbd0p1 /mnt

如果 qcow2 镜像的第一个分区导出时文件系统被破坏,mount 时将会报错。

此外还可以在上传镜像前,先启动虚拟机测试镜像文件是否可以使用。

Windows 镜像制作

操作场景

本文档指导您如何制作 Windows 镜像。

操作步骤

准备工作

制作系统盘镜像导出时,需要进行以下检查:

说明: 如果您是通过数据盘镜像导出,则可以忽略此操作。

检查 OS 分区和启动方式

  1. 依次打开【控制面板】>【磁盘管理】,在磁盘右键选择【属性】,查看磁盘分区形式。如下图所示: 68
  2. 判断磁盘分区形式是否为 GPT 分区。
    • 是,因服务迁移暂不支持 GPT 分区,请提交工单反馈。
    • 否,请执行下一步。
  3. 使用管理员身份打开 CMD,并执行以下命令,检验操作系统是否以 EFI 方式启动。

    bcdedit /enum {current}

以下返回结果为例:

  1. Windows 启动加载器
  2. 标识符 {current}
  3. device partition=C:
  4. path \WINDOWS\system32\winload.exe
  5. description Windows 10
  6. locale zh-CN
  7. inherit {bootloadersettings}
  8. recoverysequence {f9dbeba1-1935-11e8-88dd-ff37cca2625c}
  9. displaymessageoverride Recovery
  10. recoveryenabled Yes
  11. flightsigning Yes
  12. allowedinmemorysettings 0x15000075
  13. osdevice partition=C:
  14. systemroot \WINDOWS
  15. resumeobject {1bcd0c6f-1935-11e8-8d3e-3464a915af28}
  16. nx OptIn
  17. bootmenupolicy Standard
  1. - `path` 参数中含有 efi,则表示当前操作系统以 EFI 方式启动,请提交工单反馈。
  2. - `path` 参数中没有 efi,请执行下一步。

检查网络配置

目前服务迁移不支持 IPv6,不支持多网卡。依赖于 IPv6 和多网卡的服务都无法正常工作。

卸载软件

卸载会产生冲突的驱动和软件(包括 VMware tools,Xen tools, Virtualbox GuestAdditions 以及一些自带底层驱动的软件)。

安装 cloud-base

安装详情请参考 cloud-base 安装文档

检查或安装 Virtio 驱动

  1. 打开【控制面板】>【程序和功能】,并在搜索栏中搜索 Virtio。
    • 若返回结果如下图示,则表示已安装了 Virtio 驱动。 70
    • 若没有安装 Virtio 驱动,则需要手动安装。
      • Microsoft Windows Server 2008 R2(标准版、数据中心版、企业版),Microsoft Windows Server 2012 R2(标准版),请下载:腾讯云定制版 Virtio
      • 其它系统版本,请下载 社区版本 virtio

检查其它硬件相关的配置

上云之后的硬件变化包括但可能不限于:

  • 显卡更换为 Cirrus VGA。
  • 磁盘更换为 Virtio Disk。
  • 网卡更换为 Virtio Nic,默认为本地连接。
导出镜像

根据实际需求,选择不同的工具导出镜像。

  • 使用平台工具导出镜像。
  • 使用 disk2vhd 导出镜像。
使用平台工具导出镜像

使用 VMWare vCenter Convert 或 Citrix XenConvert 等虚拟化平台的导出镜像工具。详情请参见各平台的导出工具文档。

说明: 目前腾讯云服务迁移支持的镜像格式有:qcow2,vhd,raw,vmdk。

使用 disk2vhd 导出镜像

当您的需要导出物理机上的系统或者不想使用平台工具导出时,可以使用 disk2vhd 工具进行导出。

  1. 安装并打开 disk2vhd 工具。 点此下载 disk2vhd 工具 >>
  2. 选择需要导出的镜像存放路径,勾选需要复制的卷,单击【Create】。如下图所示:

注意: disk2vhd 需要 Windows 预装 vss 功能后才能运行。 请勿勾选 “Use Vhdx”,目前系统不支持 vhdx 格式的镜像。 建议勾选 “Use volume Shadow Copy”,使用卷影复制功能,将能更好地保证数据完整性。 71

检查镜像

说明: 当您未停止服务直接制作镜像或者其它原因,可能导致制作出的镜像文件系统有误,因此建议您在制作镜像后检查是否无误。

当镜像格式和当前平台支持的格式一致时,您可以直接打开镜像检查文件系统。 例如,Windows 平台可以直接附加 vhd 格式镜像,Linux 平台可以使用 qemu-nbd 打开 qcow2 格式镜像,Xen 平台可以直接启用 vhd 文件。 以 Linux 平台为例:

  1. modprobe nbd
  2. qemu-nbd -c /dev/nbd0 xxxx.qcow2
  3. mount /dev/nbd0p1 /mnt

如果 qcow2 镜像的第一个分区导出时文件系统被破坏,mount 时将会报错。 此外,您还可以在上传镜像前,先启动云服务器测试镜像文件是否可以使用。

Linux 系统检查 virtio 驱动

云服务器系统内核需要支持virtio驱动(包括块设备驱动 virtio_blk 和网卡驱动 virtio_net)才能在腾讯云上正常运行,对于未编译进内核的virtio_blk 驱动,还需要包含在initramfs(或者initrd)文件中,云服务器才能正常工作,本文将说明导入镜像前如何检查以及修复镜像中对 virtio 驱动的支持。

内核支持virtio驱动检查

以Centos7为例详细说明如何确定当前内核是否支持virtio驱动

(1)确认当前内核是否支持virtio驱动

grep -i virtio /boot/config-$(uname -r)

如下图所示:当前内核包含了virtio_blkvirtio_net驱动,并且是以模块形式编译的CONFIG_VIRTIO_BLK=m,表示编译成为内核模块,等于y表示编译进内核),如果这一步没有找到virtio_netvirtio_blk`的驱动信息,那么该镜像 不支持 导入腾讯云。 72

如果内核支持virtio驱动(virtio_blkvirtio_net都支持),且virtio_blk驱动编译进入了内核(即CONFIG_VIRTIO_BLK=y),则该内核支持导入,不需要后续确认,如果virtio_blk驱动是编译成内核模块的(即CONFIG_VIRTIO_BLK=m),则还需要继续后续确认步骤,确认virtio_blk驱动正确包含进了initramfs(或initrd)文件中。

(2)确认initramfs中是否包含virtio_blk驱动

lsinitrd /boot/initramfs-$(uname -r).img | grep virtio

如下图所示,initramfs中包含了virtio_blk驱动,以及其所依赖的virtio.kovirtio_pci.kovirtio_ring.ko,这样initramfs包含驱动正常,该镜像可以导入。 73

(3)如果initramfs中未找到相关的virtio信息,则需要重新制作initramfs文件

1) CentOS 7 操作方法

  1. cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
  2. mkinitrd -f --with=virtio_blk --with=virtio_pci /boot/initramfs-$(uname -r).img $(uname -r)

74

2) Redhat5/Centos5 操作方法

a. 通过如下方式确定initrd文件中是否包含驱动信息

  1. mkdir -p /tmp/initrd && cd /tmp/initrd
  2. zcat /boot/initrd-$(uname -r).img | cpio -idmv
  3. find . -name "virtio*"

b. 如果需要重新制作initrd文件,执行以下命令

  1. cp /boot/initrd-$(uname -r).img /boot/initrd-$(uname -r).img.bak
  2. mkinitrd -f --with=virtio_blk --with=virtio_pci /boot/initrd-$(uname -r).img $(uname -r)

3) Debian/Ubuntu 操作方法

a. 检查virtio驱动情况

  1. lsinitramfs /boot/initrd.img-$(uname -r) | grep virtio

b. 如果initramfs中未包含,则执行以下步骤修复

  1. echo -e "virtio_pci\nvirtio_blk" >> /etc/initramfs-tools/modules
  2. update-initramfs -u

Windows 操作系统安装 cloudbase-init

下载 cloudbase-init 工具安装包

请根据实际使用的操作系统位数,下载对应版本的 cloudbase-init 工具安装包进行安装。具体详情请参见 Cloudbase-Init 官网

Cloudbase-init 分为以下版本:

安装 cloudbase-init

安装 cloudbase-init 的过程中,请注意以下两点:

  • 在 “Configuration options” 窗口中,请按照下图的内容进行配置。即将 “Serial port for logging” 设置为 “COM1”。 74
  • 在安装完成的最后一步时,请勿勾选任何复选框,不运行 Sysprep。如下图所示: 75
修改 cloudbase-init 配置文件
  1. 1. 打开 cloudbase-init 配置文件(配置文件的路径为:\PATH\TO\Cloudbase Solutions\Cloubase-Init\conf\cloudbase-init.conf)。
  2. 2. cloudbase-init 配置文件替换为以下内容:
  3. [DEFAULT]
  4. username=Administrator
  5. groups=Administrators
  6. inject_user_password=true
  7. config_drive_raw_hhd=true
  8. config_drive_cdrom=true
  9. config_drive_vfat=true
  10. bsdtar_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\bsdtar.exe
  11. mtools_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\bin\
  12. metadata_services=cloudbaseinit.metadata.services.configdrive.ConfigDriveService
  13. plugins=cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin,cloudbaseinit.plugins.common.networkconfig.NetworkConfigPlugin,cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin,cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin,cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin,cloudbaseinit.plugins.common.userdata.UserDataPlugin
  14. verbose=true
  15. debug=true
  16. logdir=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\log\
  17. logfile=cloudbase-init.log
  18. default_log_levels=comtypes=INFO,suds=INFO,iso8601=WARN,requests=WARN
  19. logging_serial_port_settings=COM1,115200,N,8
  20. mtu_use_dhcp_config=true
  21. ntp_use_dhcp_config=true
  22. first_logon_behaviour=no
  23. netbios_host_name_compatibility=false
  24. allow_reboot=false
  25. activate_windows=true
  26. kms_host="kms.tencentyun.com"
  27. local_scripts_path=C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\
  28. C:\powershell
  29. PS C:\Set-ExecutionPolicy Unrestricted
  1. TencentCloudRun.ps1 脚本拷贝到 C:\Program Files\Cloudbase Solutions\Cloudbase-Init\LocalScripts\ 路径下。

Linux 系统安装 cloud-init

cloud-init 主要提供实例首次初始化时自定义配置的能力。如果导入的镜像没有安装 cloud-init 服务,基于该镜像启动的实例将无法被正常初始化,导致该镜像导入失败。 安装 cloud-init 有以下两种方式:

注意:在导入 Linux 系统镜像前,请确保您的镜像内部已正确安装了 cloud-init 服务。

手工下载 cloud-init 源码包方式

前提条件

安装 cloud-init 的服务器可正常访问外网。

下载 cloud-init 源码包

  1. cloud-init 源码包:点此获取,建议选择 cloud-init-17.1.tar.gz 安装版本。

说明:cloud-init-17.1 版本与腾讯云的兼容性最佳。在正常安装的情况下,可以保证使用该镜像创建的云服务器的所有配置项都可以正常初始化。

  1. 执行以下命令,下载 cloud-init 源码包。

    1. wget https://launchpad.net/cloud-init/trunk/17.1/+download/cloud-init-17.1.tar.gz

    安装 cloud-init

  2. 执行以下命令,解压 cloud-init 安装包。

    1. tar -zxvf cloud-init-17.1.tar.gz
  3. 执行以下命令,安装 Python-pip。

    1. yum install python-pip -y
  4. 执行以下命令,安装依赖包。

注意: cloud-init 依赖组件 requests 2.20.0版本后,已弃用 Python2.6。如果镜像环境的 Python 解释器为 Python2.6及以下,在安装 cloud-init 依赖包之前,请执行以下命令,安装 requests 2.20.0 版本以下的版本。

  1. pip install 'requests<2.20.0'
  1. pip install -r cloud-init-17.1/requirements.txt
  1. 根据操作系统版本,安装 cloud-utils 组件。

    • Centos 6系列,执行以下命令:

      1. yum install cloud-utils-growpart dracut-modules-growroot -y
      2. dracut -f
    • Centos 7系列,执行以下命令:

      1. yum install cloud-utils-growpart -y
    • Ubuntu 系列,执行以下命令:

      1. apt-get install cloud-guest-utils -y
  2. 执行以下命令,安装 cloud-init。

    1. python setup.py build
    2. python setup.py install --init-system systemd

    注意: —init-system 的可选参数有:(systemd, sysvinit, sysvinit_deb, sysvinit_freebsd, sysvinit_openrc, sysvinit_suse, upstart) [default: None]。请根据当前操作系统使用的自启动服务管理方式,进行选择。若选择错误,cloud-init 服务会无法开机自启动。本文以 systemd 自启动服务管理为例。

修改 cloud-init 配置文件

  1. 根据不同操作系统,下载 cloud.cfg。
  2. /etc/cloud/cloud.cfg 的内容替换为已下载的 cloud.cfg 文件内容。

添加 syslog 用户

执行以下命令,添加 syslog 用户。

  1. useradd syslog

设置 cloud-init 服务开机自启动

  • 若操作系统是 systemd 自启动管理服务,则执行以下命令进行设置。 1) 针对 ubuntu 或 debian 操作系统,需执行以下命令。

    1. ln -s /usr/local/bin/cloud-init /usr/bin/cloud-init

    2) 所有操作系统都需执行以下命令。

    1. systemctl enable cloud-init-local.service
    2. systemctl start cloud-init-local.service
    3. systemctl enable cloud-init.service
    4. systemctl start cloud-init.service
    5. systemctl enable cloud-config.service
    6. systemctl start cloud-config.service
    7. systemctl enable cloud-final.service
    8. systemctl start cloud-final.service
    9. systemctl status cloud-init-local.service
    10. systemctl status cloud-init.service
    11. systemctl status cloud-config.service
    12. systemctl status cloud-final.service

    3) 针对 centos 和 redhat 操作系统,需执行以下命令。 将 /lib/systemd/system/cloud-init-local.service 文件替换为如下内容:

    1. [Unit]
    2. Description=Initial cloud-init job (pre-networking)
    3. Wants=network-pre.target
    4. After=systemd-remount-fs.service
    5. Before=NetworkManager.service
    6. Before=network-pre.target
    7. Before=shutdown.target
    8. Conflicts=shutdown.target
    9. RequiresMountsFor=/var/lib/cloud
    10. [Service]
    11. Type=oneshot
    12. ExecStart=/usr/bin/cloud-init init --local
    13. ExecStart=/bin/touch /run/cloud-init/network-config-ready
    14. RemainAfterExit=yes
    15. TimeoutSec=0
    16. # Output needs to appear in instance console output
    17. StandardOutput=journal+console
    18. [Install]
    19. WantedBy=cloud-init.target

    将 /lib/systemd/system/cloud-init.service 文件替换为以下内容:

    1. [Unit]
    2. Description=Initial cloud-init job (metadata service crawler)
    3. Wants=cloud-init-local.service
    4. Wants=sshd-keygen.service
    5. Wants=sshd.service
    6. After=cloud-init-local.service
    7. After=systemd-networkd-wait-online.service
    8. After=networking.service
    9. After=systemd-hostnamed.service
    10. Before=network-online.target
    11. Before=sshd-keygen.service
    12. Before=sshd.service
    13. Before=systemd-user-sessions.service
    14. Conflicts=shutdown.target
    15. [Service]
    16. Type=oneshot
    17. ExecStart=/usr/bin/cloud-init init
    18. RemainAfterExit=yes
    19. TimeoutSec=0
    20. # Output needs to appear in instance console output
    21. StandardOutput=journal+console
    22. [Install]
    23. WantedBy=cloud-init.target
  • 若操作系统是 sysvinit 自启动管理服务,则执行以下命令进行设置。

    1. chkconfig --add cloud-init-local
    2. chkconfig --add cloud-init
    3. chkconfig --add cloud-config
    4. chkconfig --add cloud-final
    5. chkconfig cloud-init-local on
    6. chkconfig cloud-init on
    7. chkconfig cloud-config on
    8. chkconfig cloud-final on
    使用软件源上的 cloud-init 包方式

安装 cloud-init

执行以下命令,安装 cloud-init。

  1. apt-get/yum install cloud-init

说明: 通过 apt-get 或 yum 命令安装的 cloud-init 默认为当前操作系统配置的软件源中默认的 cloud-init 版本。使用该方式安装的镜像创建的实例可能会存在部分配置项初始化不符合预期的情况,建议使用 手工下载 cloud-init 源码包方式 进行安装。

修改 cloud-init 配置文件

  1. 根据不同操作系统,下载 cloud.cfg。
  2. /etc/cloud/cloud.cfg 的内容替换为已下载的 cloud.cfg 文件内容。

安装 cloud-init 后的相关操作

注意: 以下操作执行完成后,请勿重启服务器。否则需重新执行下以下操作。

  1. 执行以下命令,检查 cloud-init 相关配置是否成功。

    1. cloud-init init --local
    2. rm -rf /var/lib/cloud
  2. 针对 ubuntu 或 debian 操作系统,需执行以下命令。

    1. rm -rf /etc/network/interfaces.d/50-cloud-init.cfg
  3. 针对 ubuntu 或 debian 操作系统,需将 /etc/network/interfaces 修改为以下内容:

    1. # This file describes the network interfaces available on your system
    2. # and how to activate them. For more information, see interfaces(5).
    3. source /etc/network/interfaces.d/*

强制导入镜像

当用户的linux镜像因为某些原因无法安装cloudinit时,可以使用强制导入镜像功能完成镜像的导入。此时,腾讯云无法对用户的云服务器进行初始化配置,因此需要用户设置脚本自行根据腾讯云提供的配置文件对云服务器进行配置。

限制条件及配置方法

申请权限

在您使用本功能前,请确保您已经开通了导入镜像权限。若您需要开通权限,请联系商务经理,并提交相关信息至工单系统申请。

镜像限制条件

  • 镜像仍需要满足导入镜像中关于linux镜像导入的镜像的限制(cloudinit除外)。
  • 导入镜像的系统分区未满。
  • 导入的镜像不得存在可以被远程利用的漏洞。
  • 建议用户用强制导入镜像创建实例成功后立即修改密码。
镜像导入配置方法

用户强制导入的镜像并没有使用cloudinit,因此无法自动进行配置。腾讯云提供了包含了配置信息的cdrom设备供用户自行配置,用户需要挂载cdrom,然后读取·mount_point/qcloud_action/os.conf·的信息进行配置。如果用户有使用其他配置数据、UserData的需要,可以直接读取mount_point/下的文件。

os.conf配置文件内容

os.conf的基本内容如下:

  1. hostname=VM_10_20_xxxx
  2. password=GRSgae1fw9frsG.rfrF
  3. eth0_ip_addr=10.104.62.201
  4. eth0_mac_addr=52:54:00:E1:96:EB
  5. eth0_netmask=255.255.192.0
  6. eth0_gateway=10.104.0.1
  7. dns_nameserver="10.138.224.65 10.182.20.26 10.182.24.12"

以上信息仅参数名有参考意义,参数值仅做示例。

其中各个参数的意义如下:

参数名称参数意义
hostname主机名
password加密过的密码
eth0_ip_addreth0网卡的局域网IP
eth0_mac_addreth0网卡的MAC地址
eth0_netmasketh0网卡的子网掩码
eth0_gatewayeth0网卡的网关
dns_nameserverdns解析服务器
配置脚本解析

注意事项

  • 脚本应该开机自动执行。
  • 脚本挂载 /dev/cdrom,然后读取挂载点下的os_action/os.conf文件获取配置信息。
  • 腾讯云放置到cdrom中的密码为加密后的密码,用户可以使用chpasswd -e的方式设置。注意,加密后的密码可能包含特殊字符,建议放置到文件中后以chpasswd -e < passwd_file的方式设置。
  • 使用强制导入镜像制作的实例再制作镜像时,需要保证脚本依然会被执行,以保证实例正确配置。或者在实例中安装cloudinit。

示例

腾讯云提供一份基于centos的示例脚本,用户可以根据示例脚本制作针对自己镜像的配置脚本,需要注意:

  • 该脚本需要在导入镜像前正确放置到系统中。
  • 该脚本不适合所有操作系统,用户需要根据自己的操作系统进行相对修改已满足语义。
  • 该脚本需要设置为开机启动才能正确配置,请根据操作系统的类型实现该要求。(例如将脚本os_config放置到/etc/init.d/目录下 然后执行以下命令。)

    1. chmod +x /etc/init.d/os_config
    2. chkconfig --add os_config

    然后通过 chkconfig --list检查os_config是否已经被添加到启动服务中。

  • 用户需要自行保证脚本执行正确,如果镜像导入后遇到无法ssh连接实例,没有网络连接等问题首先尝试通过控制台连接到实例,重新执行脚本排查问题,如仍然无法处理,请联系客服。

以下为os_config脚本示例,用户可根据实际情况修改脚本。

  1. #!/bin/bash
  2. ### BEGIN INIT INFO
  3. # Provides: os-config
  4. # Required-Start: $local_fs $network $named $remote_fs
  5. # Required-Stop:
  6. # Should-Stop:
  7. # Default-Start: 2 3 4 5
  8. # Default-Stop: 0 1 6
  9. # Short-Description: config of os-init job
  10. # Description: run the config phase without cloud-init
  11. ### END INIT INFO
  12. ###################user settings#####################
  13. cdrom_path=`blkid -L config-2`
  14. load_os_config() {
  15. mount_path=$(mktemp -d /mnt/tmp.XXXX)
  16. mount /dev/cdrom $mount_path
  17. if [[ -f $mount_path/qcloud_action/os.conf ]]; then
  18. . $mount_path/qcloud_action/os.conf
  19. if [[ -n $password ]]; then
  20. passwd_file=$(mktemp /mnt/pass.XXXX)
  21. passwd_line=$(grep password $mount_path/qcloud_action/os.conf)
  22. echo root:${passwd_line#*=} > $passwd_file
  23. fi
  24. return 0
  25. else
  26. return 1
  27. fi
  28. }
  29. cleanup() {
  30. umount /dev/cdrom
  31. if [[ -f $passwd_file ]]; then
  32. echo $passwd_file
  33. rm -f $passwd_file
  34. fi
  35. if [[ -d $mount_path ]]; then
  36. echo $mount_path
  37. rm -rf $mount_path
  38. fi
  39. }
  40. config_password() {
  41. if [[ -f $passwd_file ]]; then
  42. chpasswd -e < $passwd_file
  43. fi
  44. }
  45. config_hostname(){
  46. if [[ -n $hostname ]]; then
  47. sed -i "/^HOSTNAME=.*/d" /etc/sysconfig/network
  48. echo "HOSTNAME=$hostname" >> /etc/sysconfig/network
  49. fi
  50. }
  51. config_dns() {
  52. if [[ -n $dns_nameserver ]]; then
  53. dns_conf=/etc/resolv.conf
  54. sed -i '/^nameserver.*/d' $dns_conf
  55. for i in $dns_nameserver; do
  56. echo "nameserver $i" >> $dns_conf
  57. done
  58. fi
  59. }
  60. config_network() {
  61. /etc/init.d/network stop
  62. cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth0
  63. DEVICE=eth0
  64. IPADDR=$eth0_ip_addr
  65. NETMASK=$eth0_netmask
  66. HWADDR=$eth0_mac_addr
  67. ONBOOT=yes
  68. GATEWAY=$eth0_gateway
  69. BOOTPROTO=static
  70. EOF
  71. if [[ -n $hostname ]]; then
  72. sed -i "/^${eth0_ip_addr}.*/d" /etc/hosts
  73. echo "${eth0_ip_addr} $hostname" >> /etc/hosts
  74. fi
  75. /etc/init.d/network start
  76. }
  77. config_gateway() {
  78. sed -i "s/^GATEWAY=.*/GATEWAY=$eth0_gateway" /etc/sysconfig/network
  79. }
  80. ###################init#####################
  81. start() {
  82. if load_os_config ; then
  83. config_password
  84. config_hostname
  85. config_dns
  86. config_network
  87. cleanup
  88. exit 0
  89. else
  90. echo "mount ${cdrom_path} failed"
  91. exit 1
  92. fi
  93. }
  94. RETVAL=0
  95. case "$1" in
  96. start)
  97. start
  98. RETVAL=$?
  99. ;;
  100. *)
  101. echo "Usage: $0 {start}"
  102. RETVAL=3
  103. ;;
  104. esac
  105. exit $RETVAL

云硬盘

扩容云硬盘

操作场景

云硬盘是云上可扩展的存储设备,用户可以在创建云硬盘后随时扩展其大小,以增加存储空间,同时不失去云硬盘上原有的数据。 云硬盘扩容完成后,需要 扩展分区及文件系统(Windows)或 扩展分区及文件系统(Linux)将扩容部分的容量划分至已有分区内,或者将扩容部分的容量格式化成独立的新分区。 注意: MBR 格式分区支持的磁盘最大容量为2TB。如果您的硬盘分区为 MBR 格式,且需要扩容到超过2TB时,建议您重新创建并挂载一块数据盘,使用 GPT 分区方式后将数据拷贝至新盘中。

扩容数据盘

通过云硬盘控制台扩容
  1. 登录 云硬盘控制台
  2. 选择目标云硬盘的【更多】>【扩容】。
  3. 选择需要的新容量大小(必须大于或等于当前大小)。
  4. 完成支付。
  5. 根据目标云服务的操作系统类型,您需要执行 扩展分区及文件系统(Windows)扩展分区及文件系统(Linux)将扩容部分的容量划分至已有分区内,或者将扩容部分的容量格式化成新的独立分区。
通过云服务器控制台扩容
  1. 登录 云服务器实例列表
  2. 选择目标云服务器所在行的【更多】>【实例设置】>【调整硬盘】。
  3. 选择需要的新容量大小(必须大于或等于当前大小)。
  4. 完成支付。
  5. 根据目标云服务的操作系统类型,您需要 扩展分区及文件系统(Windows)扩展分区及文件系统(Linux)将扩容部分的容量划分至已有分区内,或者将扩容部分的容量格式化成独立的新分区。
扩容系统盘

系统盘类型为云硬盘时,支持扩容系统盘,但仅允许通过对云服务器执行 重装系统 操作来实现。

网络与安全

登录密码

本文档介绍使用密码登录时的相关配置内容。

说明: 设置密码的字符限制:

  • Linux 机器密码需8到30位,推荐使用12位以上的密码,不能以 “/” 开头,至少包括三项([a-z],[A-Z],[0-9] 和 [( ) ` ~ ! @ # $ % ^ & * - + = _ | { } [ ] : ; ‘ < > , . ? /] 的特殊符号)。
  • Windows 机器密码需12到30位,不能以 “/” 开头,至少包括三项([a-z],[A-Z],[0-9] 和 [( ) ` ~ ! @ # $ % ^ & * - + = _ | { } [ ] : ; ‘ < > , . ? /]的特殊符号),不包括用户名。

设置初始密码

注意:

  • 选择【自动生成密码】的用户,会在电子邮件和控制台 站内信 中收到初始密码。
  • 选择【设置密码】的用户,自定义的密码即为初始密码。

  • 选择自定义配置云服务器的用户,在设置主机名及登录方式部分可以选择登录方式,默认为【设置密码】。

  • 按照规定的密码字符限制,输入主机密码和确认密码,单击【立即购买】,初始密码设置成功,待云服务器实例分配成功。

查看密码

自动生成的密码,会发送到您的邮件和控制台 站内信 中。单击需要查看的信件即可查看到初始密码。 登录 云服务器控制台 ,单击右上方信封样式 站内信 图标。 77

重置密码

注意: 只有关机状态下才可以对云服务器进行重置密码。如果云服务器处于运行中重置密码,将强制关机,可能会导致数据丢失或文件系统损坏。

  1. 登录 云服务器控制台
  2. 关机需要重置密码的云服务器。
  3. 打开密码重置框。
    • 对于单个关机的实例,在右侧操作栏中,单击【更多】-【重置密码】。
    • 对于批量实例,勾选所有需要重置密码的主机,在列表顶部,单击【重置密码】,即可批量修改主机登录密码。对于不能重置密码的实例会显示原因。
  4. 在重置密码弹出框中输入新密码、确认密码,单击【下一步】。
  5. 等待重置成功,您将收到重置成功的 站内信 消息,即可使用新密码开机使用云服务器。

SSH 密钥

为保证实例的安全可靠,腾讯云提供两种加密登录方式: 密码登录 和 SSH 密钥对登录。本文档介绍 SSH 密钥对常见操作的相关内容。

创建 SSH 密钥

  1. 登录 云服务器控制台
  2. 单击左侧导航窗格中的【SSH 密钥】。
  3. 单击【创建密钥】
    • 若创建方式选择 “创建新密钥对” ,输入密钥名称,单击【确定】;
    • 若创建方式选择 “使用已有公钥” ,输入密钥名称,并输入原有的公钥信息,然后单击【确定】。 弹出提示框,单击【下载】(用户需要在 10 分钟内下载私钥)。

密钥绑定/解绑服务器

  1. 登录 云服务器控制台
  2. 单击左侧导航窗格中的【SSH 密钥】。
  3. 勾选 SSH 密钥,单击【绑定/解绑云主机】(或在需要修改的密钥名称上右键单击,单击【绑定/解绑云主机】)。
  4. 选择地域,勾选需要关联/解绑的服务器(解绑时取消右侧已选择中的服务器),单击【确定】。
  5. 后台进行 SSH 密钥下发,下发完成会提示操作成功或操作失败。

修改 SSH 密钥名称/描述

  1. 登录 {云服务器控制台](https://console.cloud.tencent.com/cvm/) 。
  2. 单击左侧导航窗格中的【SSH 密钥】。
  3. 勾选密钥列表中需要修改的密钥,单击上方【修改】(或在需要修改的密钥名称上右键单击,单击【修改】)。
  4. 在弹框中输入新的名称及描述信息,单击【确定】。

删除 SSH 密钥

\注意: 若 SSH 密钥已关联云服务器或已关联自定义镜像,则不能删除。*

  1. 登录 云服务器控制台
  2. 单击导航窗格中的【SSH 密钥】。
  3. 勾选所有需要删除的 SSH 密钥,单击【删除】按钮(或在需要删除的密钥名称上右键单击,单击【删除】,在弹出窗口中单击【确认】)。

使用 SSH 密钥登录 Linux 云服务器

使用 SSH 密钥登录 Linux 云服务器前,需要先完成创建 SSH 密钥,并将 SSH 密钥绑定云服务器。

具体操作请参考 登录 Linux 云服务器

分散置放群组

创建置放群组

使用控制台创建置放群组

  1. 登录 云服务器置放群组控制台
  2. 在导航窗格中,选择置放群组,然后选择【新建】。
  3. 指定置放群组的名称并选择层级。
  4. 单击【确定】完成创建。

在置放群组中启动实例

使用控制台将实例启动到置放群组

  1. 打开 云服务器购买页
  2. 按指示完成向导,注意执行以下操作:
    • 在【地域与机型】中选择您所需要创建实例的可用区、实例类型以及网络类型。
    • 在【选择镜像】页面中选择一个镜像。
    • 在【选择存储和带宽】页面中选择您所需要配置及参数。
    • 在【设置安全组和主机】页面设置安全组、登录方式等,单击展开底部 高级设置,勾选 将实例添加到分散置放群组,选择已有置放群组。如现有的置放群组不合适,您可以去控制台 新建置放群组
    • 在【确认配置信息】页面上输入您需要在该置放群组中添加的总实例数,该数量需要地域该置放群组的数量限制。

更改实例的置放群组

目前仅支持修改置放群组的名称。

使用控制台更改实例的置放群组

  1. 登录 云服务器置放群组控制台
  2. 将鼠标放在置放群组名称上,单击【修改名称】。
  3. 输入您想修改的名称。
  4. 单击【确定】完成修改。

删除置放群组

如果您需要替换或不再需要某个置放群组,您可以将其删除。您必须先销毁在您的置放群组中启动的所有实例,然后才能删除您的置放群组。

使用控制台终止实例并删除置放群组

  1. 登录 云服务器置放群组控制台
  2. 选择并终止置放群组中的所有实例。
  3. 选择该置放群组,然后选择删除置放群组,支持批量和单个删除。
  4. 当提示进行确认时,选择【确定】即可。

切换私有网络服务

操作场景

腾讯云上的网络分为基础网络和私有网络,两者给用户带来不同的优质服务。在此基础之上,我们提供了更灵活的 服务,方便您管理网络。

  • 网络间切换
    • 基础网络切换私有网络:腾讯云提供单台云服务器和批量云服务器的基础网络切换至私有网络服务
    • 私有网络 A 切换私有网络 B:腾讯云提供单台云服务器和批量云服务器的私有网络 A 切换至私有网络 B 服务
  • 设置自定义 IP
  • 自主选择保留 HostName 能力

注意事项

  • 批量云服务器切换网络类型时,所选中的云服务器必须处于同一可用区。
  • 迁移前,请自行解绑内外网 LB 以及弹性网卡,并释放主网卡的辅助 IP,迁移后再进行绑定。
  • 迁移过程中,主机实例需要进行重启,请勿进行其他操作。
  • 迁移后,请注意检查实例运行状态,内网访问以及远程登录是否正常。
  • 基础网络切换私有网络后不可逆,云服务器切换至私有网络后与其他基础网络的云服务不互通。

操作步骤

迁移准备

  1. 登录 云服务器控制台。
  2. 在“实例”页面,选择待切换网络的实例行,单击右侧“操作”栏的【更多】,选择切换私有网络。

说明:如需批量切换,可勾选待切换网络的实例,单击页面上方的【更多操作】,选择切换私有网络。

  1. 在弹出的“切换私有网络”窗口中,确认注意事项,单击【下一步】。如下图所示: 78

选择网络

选择私有网络以及相应子网,单击【下一步】。如下图所示: 79

设置 IP 以及 HostName*

根据实际需求,在所选子网下设置预分配 IP 地址,并设置 HostName 选项。如下图所示:

说明:

  • 若未填写“预分配IP地址”,系统将自动分配。
  • 设置 HostName 选项时,您可以选择切换私有网络的同时重置实例 HostName,也可以选择保留实例原有 HostName。

80

开始迁移

单击【开始迁移】,即可在控制台页面实例修改状态为“修改实例vpc属性”。如下图所示: 81

弹性公网 IP

弹性公网 IP 地址( EIP ),简称弹性 IP 地址或弹性 IP 。是专为动态云计算设计的静态 IP 地址。它是某地域下一个固定不变的公网 IP 地址。借助弹性公网 IP 地址,您可以快速将地址重新映射到账户中的另一个实例(或 NAT 网关实例 ),从而屏蔽实例故障。

常见操作指南

以下部分介绍如何使用弹性 IP 地址。

申请弹性公网 IP
  1. 登录 云服务器控制台

  2. 在左侧导航窗格中,单击【弹性公网 IP】。

  3. 单击【申请】按钮,填写地域与数量后单击【确定】。

  4. 申请结束后即可在列表中看到您申请的弹性公网 IP ,此时处于未绑定状态。

弹性公网 IP 绑定云产品
  1. 登录 云服务器控制台

  2. 在左侧导航窗格中,单击【弹性公网 IP】。

  3. 在需要绑定云产品的 EIP 列表项后,单击【绑定】。(若绑定时, EIP 已绑定了实例,此按钮将为不可用状态,请先解绑。)

  4. 在弹出框中选择您需要绑定的云产品类型,并选择相应的云产品实例 ID,单击【绑定】按钮即可完成与云产品的绑定。

弹性公网 IP 解绑云产品
  1. 登录 云服务器控制台

  2. 在左侧导航窗格中,单击【弹性公网 IP】。

  3. 在已绑定云产品的 EIP 列表项后,单击【解绑】按钮。

  4. 单击【确定】。

注意:解绑后云产品实例可能会被分配新的公网 IP ,可能与绑定前公网 IP 不一致。

释放弹性公网 IP
  1. 登录 云服务器控制台

  2. 在左侧导航窗格中,单击【弹性公网 IP】。

  3. 在需要释放的 EIP 列表项后,单击【更多】-【释放】按钮。

  4. 单击【确认】完成释放。

调整带宽
  1. 登录 云服务器控制台

  2. 在左侧导航窗格中,单击【弹性公网 IP】。

  3. 在需要释放的 EIP 列表项后,单击【调整带宽】按钮。

  4. 在调整带宽页面调整目标带宽值。

  5. 单击【确定】完成调整带宽。

公网 IP 转弹性 IP

随购买 CVM 实例时一起购买的公网 IP 为普通公网 IP,不具备弹性能力,即不能被挂载和卸载。 腾讯云提供将普通公网 IP 转成弹性公网 IP的能力,操作如下:

  1. 登录 云服务器控制台

  2. 单击转换图标。

82

  1. 单击【确认转换】即可。

83

异常排查

弹性 IP 地址可能出现网络不通的异常情况,一般有如下原因:

  • 弹性 IP 地址没有绑定云产品。具体绑定方法见 弹性公网 IP 绑定云产品

  • 安全策略无效。查看是否有生效的安全策略(安全组或网络 ACL )。如果绑定的云产品实例有安全策略,例如:禁止 8080 端口访问,那么弹性公网 IP 的 8080 端口也是无法访问的。

弹性网卡

配置步骤

云服务器若需要使用弹性网卡,请参照以下配置步骤完成相应内容:

  • 创建弹性网卡。
  • 弹性网卡绑定云服务器。
  • 配置云服务器和私有网络路由表。
  • 分配内网 IP。

详细操作指南

详细操作指南参考:

EIP 直通

使用场景

用户通过 EIP 访问外网时可选 NAT 模式或 EIP 直通模式,当前默认 NAT 模式。

  • NAT 模式下 EIP 在本地不可见。
  • EIP 直通后 EIP 在本地可见,在做配置时无须每次手动加入 EIP 地址,可降低开发成本。

注意:目前 EIP 直通通过白名单控制,仅支持 VPC 内的设备。

操作步骤

一、下载 EIP 配置脚本

由于 EIP 直通过程会导致网络中断,您需先下载 EIP 直通脚本并上传至 CVM。步骤如下:

  1. 下载 EIP 直通配置脚本,该步骤可选。下载路径:

注意:Linux 脚本支持系统版本 CentOS 6.x、CentOS 7 和 Ubuntu。

  1. 脚本下载到本地后,上传至需要进行 EIP 直通的云服务器中。
二、运行 EIP 直通脚本
  1. 登录到需要 EIP 直通的 CVM 云服务器。
  2. 运行 EIP 直通脚本。具体方法:

    • Linux 操作系统 CentOS 下:

      1. eip_linux.sh install XX.XX.XX.XX

      其中,XX.XX.XX.XX为 EIP 地址,可选填。

    • Windows 操作系统下:

      1. eip_windows.bat XX.XX.XX.XX

      其中,XX.XX.XX.XX为 EIP 地址。

三、开启 EIP 直通
  1. 登录 云服务器控制台。
  2. 在左侧导航窗格中,单击【弹性公网IP】。
  3. 在选择列表【操作】一列中,单击【EIP 直通】按钮开通即可。

注意: 脚本仅支持 eth0,暂不支持辅助网卡。 NAT 网关可绑定开通直通模式的 EIP,但无直通效果。

安全组

限制

  • 安全组区分地域和项目,CVM 只能与相同地域、相同项目中的安全组进行绑定。
  • 安全组适用于任何(处在 网络环境 的)CVM 实例。
  • 每个用户在每个地域每个项目下最多可设置 50 个安全组。
  • 一个安全组入站方向或出站方向的访问策略,各最多可设定 100 条。
  • 一个 CVM 可以加入多个安全组,一个安全组可同时关联多个 CVM ,数量无限制。
  • 基础网络 内云服务器绑定的安全组 无法过滤 来自(或去往)腾讯云上的关系型数据库(CDB) 、弹性缓存( Redis 和 Memcached )的数据包。如果您需要过滤这类实例的流量,您可以使用 iptables 实现。
功能描述数量
安全组50 个/地域
访问策略100 条/入站方向,100 条/出站方向
实例关联安全组个数无限制
安全组内实例的个数无限制

注意: 如果您有大量实例需要互访,可以将他们分配到多个安全组内,并通过安全组 ID 的规则配置进行互相授权,允许互访。

安全组操作

操作场景

您可以在首次配置云服务器时配置安全组,也可以通过控制台的安全组页面对安全组进行创建、查看、更新和删除等操作,并同时管理安全组及安全组规则。本文介绍在控制台如何进行安全组操作的方法。

前提条件

已登录 腾讯云云服务器控制台

操作步骤

创建安全组

说明: 创建安全组时,您可以选择腾讯云提供的“放通全部端口”和“放通22,80,443,3389端口和ICMP协议”两种模版进行创建,也可以选择自定义模板进行创建。

通过腾讯云模板创建

  1. 在左侧导航栏中,选择【安全组】,单击【新建】。如下图所示: 84
  2. 在弹出的“新建安全组”窗口中,根据实际需求,选择“放通全部端口”或者“放通22,80,443,3389端口和ICMP协议”模板,填写安全组名称,设置所属项目。如下图所示: 85
  3. 单击【确定】,即可完成创建。

通过自定义模板创建

  1. 在左侧导航栏中,选择【安全组】,单击【新建】。如下图所示: 86
  2. 在弹出的“新建安全组”窗口中,选择“自定义”模板,填写安全组名字,设置所属项目,单击【确定】。如下图所示: 87
  3. 在弹出的提醒窗口中,单击【立即设置规则】。如下图所示: 88
  4. 在新建安全组的“安全组规则”页面,根据实际需求,单击“入站规则”和“出站规则”的【添加规则】。如下图所示: 89
  5. 在弹出的“添加入站/出站规则”窗口中,设置规则,单击【完成】。

添加规则的主要参数如下:

  • 类型:您可以选择系统规则模板,或者自定义规则。
  • 来源/目标:流量的源(入站规则) 或目标(出站规则),请指定以下选项之一:
    • 指定的单个 IP 地址或IP地址范围:用 CIDR 表示法(比如 203.0.113.0 或者 203.0.113.0/24)
    • 引用安全组 ID ,您可以引用以下安全组的ID之一:
      • 当前安全组。(表示与安全组关联的云服务器)
      • 其他安全组。同一区域中同一项目下的另一个安全组 ID 。
    • 引用 参数模板 中的 IP 地址对象或 IP 地址组对象。
  • 协议端口:填写协议类型和端口范围,您也可以引用 参数模板 中的协议端口或协议端口组。
  • 策略:允许或拒绝。

注意:

  • 引用安全组 ID 法作为高阶功能,您可选择使用。所引用安全组的规则不会被添加到当前安全组。
  • 在配置安全组规则时,如果在来源/目标中输入安全组 ID ,表示仅将此安全组 ID 所绑定的云服务器实例、弹性网卡的内网 IP 地址作为来源/目标,不包括外网 IP 地址。

修改安全组规则

说明:根据实际需求,您可以对已经设置的安全组规则进行修改。

  1. 进入【安全组】管理页面,选择您需要修改规则的安全组ID/名称,单击右侧的【修改规则】。如下图所示:

90

  1. 在待修改的“安全组规则”页面,根据实际需求,对已有规则进行编辑、删除或者通过插入调整规则的优先级。安全组内规则的优先级位置越上,优先级越高。如下图所示:

91

关联实例到安全组

  1. 进入【安全组】管理页面,选择需要关联的安全组,单击【管理实例】,进入关联实例页面。

92

  1. 在“关联实例”页面,单击【新增关联】。如下图所示:

93

  1. 在弹出的“新增实例关联”窗口,选择您所需要关联到此安全组的一个或者多个实例,单击【确定】,增加与此安全组相关的实例。如下图所示:

94

克隆或删除安全组

进入【安全组】管理页面,选择需要克隆或者删除的安全组,单击【更多】,选择【克隆】或【删除】。如下图所示:

95

  • 如果选择克隆安全组,默认只克隆此安全组的入站/出站规则,不克隆与此安全组相关联的实例。
  • 如果选择删除安全组,请判断待删除的安全组是否存在关联的实例。若存在关联的实例,则需要先将关联实例移除安全组(单击【管理实例】)。否则删除安全组操作不可执行。

96

导入/导出安全组规则

  1. 进入【安全组】管理页面,选择需要导入/导出安全组规则的安全组 ID/名称,单击【修改规则】,进入该安全组管理页面。如下图所示:

97

  1. 选择【安全组规则】>【入站规则】或者【出站规则】页签,单击【导入规则】。

注意:

  • 如果您原来已有规则,则建议您先导出现有规则,否则导入新规则时,将覆盖原有规则。
  • 如果原来为空规则,则可先导出模板,编辑好模板文件后,再将文件导入。

98

  1. 在弹出的“批量导入-入站/出站规则”窗口中,选择模板文件,单击【开始导入】。

使用安全组 API

除了在云服务器控制台,您还可以通过安全组 API 对安全组进行操作,详情请参考 安全组 API

服务器常用端口

如下是服务器常用端口介绍,关于 Windows 下更多的服务应用端口说明,请参考微软官方文档(Windows 的服务概述和网络端口要求)。

端口服务说明
21FTPFTP服务器所开放的端口,用于上传、下载。
22SSH22 端口就是 SSH 端口,用于通过命令行模式远程连接 Linux系统服务器。
25SMTPSMTP 服务器所开放的端口,用于发送邮件。
80HTTP用于网站服务例如 IIS、Apache、Nginx 等提供对外访问。
110POP3110 端口是为 POP3(邮件协议 3)服务开放的。
137、138、139NETBIOS 协议其中 137、138是 UDP 端口,当通过网上邻居传输文件时用这个端口。而 139 端口:通过这个端口进入的连接试图获得 NetBIOS/SMB 服务。这个协议被用于 Windows 文件和打印机共享和 SAMBA。
143IMAP143 端口主要是用于“Internet Message AccessProtocol”v2(Internet 消息访问协议,简称 IMAP),和 POP3 一样,是用于电子邮件的接收的协议。
443HTTPS网页浏览端口,能提供加密和通过安全端口传输的另一种 HTTP。
1433SQL Server1433 端口,是 SQL Server 默认的端口,SQL Server 服务使用两个端口:TCP-1433、UDP-1434。其中 1433 用于供 SQL Server 对外提供服务,1434 用于向请求者返回 SQL Server 使用了哪个 TCP/IP 端口。
3306MySQL3306 端口,是 MySQL 数据库的默认端口,用于 MySQL 对外提供服务。
3389Windows Server Remote Desktop Services(远程桌面服务)3389 端口是 Windows 2000(2003) Server 远程桌面的服务端口,可以通过这个端口,用“远程桌面”连接工具来连接到远程的服务器。
8080代理端口8080 端口同 80 端口,是被用于 WWW 代理服务的,可以实现网页浏览,经常在访问某个网站或使用代理服务器的时候,会加上“:8080”端口号。另外 Apache Tomcat web server 安装后,默认的服务端口就是 8080。