云服务器内容精选
-
配置Redis ACL访问账号 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”,进入实例信息页面。 单击D CS 缓存实例名称,进入该实例的基本信息页面。 选择“账号管理”进入账号管理页面。 “账号名称”为“default”的账号为实例的“默认账号”,默认账号的权限为读写权限,该账号的密码即缓存实例的访问密码。 单击“创建账号”,可以创建普通账号。 每个实例支持最多18个普通账号。 如果Redis实例开启了免密访问,创建的普通账号不生效,仅支持默认账号。 如需使用普通账号请先关闭默认账号的免密访问:单击默认账号对应“操作”列的“重置密码”即可为实例设置密码。 在弹出的创建账号窗口中,设置“账号名称”、选择账号权限为“只读”或“读写”、设置账号密码及备注。 单击“确定”,完成账号创建。 当使用创建的ACL普通账号连接实例时,需要配置实例密码为{username:password}。 以使用redis-cli连接Redis实例为例,当使用默认账号连接实例时命令如下: ./redis-cli -h {dcs_instance_address} -p 6379 -a {password} 如果使用实例创建的ACL普通账号连接,实例密码需要配置为“账号名称:账号密码”: ./redis-cli -h {dcs_instance_address} -p 6379 -a {username:password} 图1 账号管理
-
迁移后验证 数据迁移前如果目标Redis中数据为空,迁移完成后,可以通过以下方式确认数据的完整性: 连接源Redis和目标Redis。连接Redis的方法请参考Redis-cli客户端连接Redis。 输入info keyspace,查看keys参数和expires参数的值。 对比源Redis和目标Redis的keys参数分别减去expires参数的差值。如果差值一致,则表示数据完整,迁移正常。 注意:如果是全量迁移,迁移过程中源Redis更新的数据不会迁移到目标实例。
-
配置在线迁移任务 创建完在线迁移任务之后,单击该迁移任务右侧的“配置”,配置在线迁移的源Redis、目标Redis等信息。 选择迁移方法。 支持“全量迁移”和“全量迁移+增量迁移”两种,“全量迁移”和“全量迁移+增量迁移”的功能及限制如表1所示。 表1 在线迁移方法说明 迁移类型 描述 全量迁移 该模式为Redis的一次性迁移,适用于可中断业务的迁移场景。全量迁移过程中,如果源Redis有数据更新,这部分更新数据不会被迁移到目标Redis。 全量迁移+增量迁移 该模式为Redis的持续性迁移,适用于对业务中断敏感的迁移场景。增量迁移阶段通过解析日志等技术, 持续保持源Redis和目标端Redis的数据一致。 增量迁移,迁移任务会在迁移开始后,一直保持迁移中状态,不会自动停止。需要您在合适时间,在“操作”列单击“停止”,手动停止迁移。停止后,源端数据不会造成丢失,只是目标端不再写入数据。增量迁移在传输链路网络稳定情况下是秒级时延,具体的时延情况依赖于网络链路的传输质量。 图1 选择迁移方法 仅当迁移方法选择“全量迁移+增量迁移”时,支持选择是否启用“带宽限制”。 如果启用带宽限制功能,当数据同步速度达到带宽限制时,将限制同步速度的继续增长。 选择是否“自动重连”。如开启自动重连模式,迁移过程中在遇到网络等异常情况时,会无限自动重连。 自动重连模式在无法进行增量同步时,会触发全量同步,增加带宽占用,请谨慎选择。 分别配置“源Redis”和“目标Redis”。 配置“源Redis类型”和“源Redis实例”: “源Redis类型”请选择“自建Redis”,并在“源Redis实例”处输入源Redis的IP地址和端口。 如果源Redis为Cluster集群,需要输入集群所有主节点的IP端口,用英文逗号隔开。例如:192.168.1.1:6379,192.168.0.0:6379 配置“目标Redis类型”和“目标Redis实例”: “目标Redis类型”请选择“云服务Redis”,并在“目标Redis实例”处选择需要迁移的目标Redis。 分别配置“源Redis实例密码”和“目标Redis实例密码”:如果是密码访问模式实例,在输入连接实例密码后,单击密码右侧的“测试连接”,检查实例密码是否正确、网络是否连通。如果是免密访问的实例,请直接单击“测试连接”。如果测试连接失败,请检查输入的实例密码是否正确、Redis实例与迁移任务网络是否打通。 在“源DB”或“目标DB”中,您可以选择是否需要指定具体迁移的DB。例如源端输入5,目标端输入6时,表示迁移源Redis DB5中的数据到目标Redis的DB6;当源端不指定DB,目标端指定DB时,表示默认迁移源端的全部数据,到目标端指定的DB,当目标端不指定DB时,表示默认迁移到与源端对应的DB。 当源端为多DB,目标端为单DB的DCS实例时(单DB的实例只有DB0),需要源端的所有数据都在DB0,或者指定仅迁移源端某一DB中的数据并将目标端DB指定为0,否则会迁移失败。 DCS Redis的DB数请参见Redis实例是否支持多DB方式?。 单击“下一步”。 确认迁移信息,然后单击“提交”,开始创建迁移任务。 可返回迁移任务列表中,观察对应的迁移任务的状态,迁移成功后,任务状态显示“成功”。 如果出现迁移失败,建议单击迁移任务名称,进入迁移任务详情页面,通过“迁移日志”排查迁移失败的原因。 如果是增量迁移,全量迁移后会一直处于增量迁移中的状态。 如需手动停止迁移中的任务,勾选迁移任务左侧的方框,单击迁移任务上方的“停止”,即可停止迁移。 勾选停止迁移或迁移失败的迁移任务,单击迁移任务上方的“重启”,可重新进行迁移。如果重启迁移任务后迁移失败,建议单击“配置”,重新配置在线迁移任务后重试。 单次最多支持勾选50个在线迁移任务,批量停止、删除、或重启迁移任务。
-
创建在线迁移任务 请使用DCS目标Redis所在的账号登录分布式缓存服务控制台。 在管理控制台左上角单击,选择DCS目标Redis所在的区域。 单击左侧菜单栏的“数据迁移”。页面显示迁移任务列表页面。 单击右上角的“创建在线迁移任务”。 设置迁移任务名称和描述。 任务名称请以字母开头,长度不小于4位且不超过64位。任务名称只能包含字母、数字、中划线、下划线。 配置在线迁移任务虚拟机资源的VPC、子网和安全组。 请选择与目标Redis相同的VPC,确保迁移资源能访问目标Redis实例。 创建的在线迁移任务会占用一个租户侧IP,即控制台上迁移任务对应的“迁移IP”。如果源端Redis或目标端Redis配置了白名单,需确保配置了迁移IP或关闭白名单限制。 迁移任务所选安全组的“出方向规则”需放通源端Redis和目标端Redis的IP和端口(安全组默认情况下为全部放通,则无需单独放通),以便迁移任务的虚拟机资源能访问源Redis和目标Redis。
-
检查网络 检查源Redis、目标Redis、迁移任务资源所在VPC是否为同一个VPC。 如果是,请执行配置在线迁移任务;如果不是,请执行2。 检查源Redis的VPC、目标Redis的VPC、迁移任务资源所在VPC的网络是否打通,确保迁移任务的虚拟机资源能访问源Redis和目标Redis。 如果已打通,则执行配置在线迁移任务;如果没打通,则执行3。 执行相应操作,打通网络。 当源Redis和目标Redis所在的VPC属于同一云厂商的同一Region,请参考VPC对等连接说明,查看和创建对等连接,打通网络。 当源Redis和目标Redis所在的VPC属于同一云厂商的不同Region,请参考云连接,查看和创建云连接,打通网络。 当源Redis和目标Redis属于不同的云厂商,仅支持云专线打通网络,请参考云专线。
-
前提条件 在迁移之前,请先阅读迁移方案概览,选择正确的迁移方案,了解当前DCS支持的在线迁移能力,选择适当的目标实例。 如果是单机/主备等多DB的源端实例迁移到Proxy集群实例,Proxy集群默认不开启多DB,仅有一个DB0,请先确保源端实例DB0以外的DB是否有数据,如果有,请先参考开启多DB操作开启Proxy集群多DB设置。 如果是单机/主备等多DB的源端实例迁移到Cluster集群实例,Cluster集群不支持多DB,仅有一个DB0,请先确保源端实例DB0以外的DB是否有数据,如果有,请将数据转存到DB0,否则会出现迁移失败,将数据转存到DB0的操作请参考使用Rump在线迁移。 已获取准备迁移的源Redis实例的IP地址和端口。 如果您还没有目标Redis,请先创建目标Redis,具体操作请参考购买Redis实例。 如果您已有目标Redis,则不需要重复创建,为了对比迁移前后数据及预留足够的内存空间,建议在数据迁移之前清空目标实例数据,清空操作请参考清空Redis实例数据。如果没有清空实例数据,数据迁移后,目标Redis与源Redis实例重复的数据迁移后会被覆盖,源Redis没有、目标Redis有的数据会保留。
-
测试步骤 创建Redis缓存实例。 创建3台弹性云服务器(ECS),ECS选择与实例相同可用区、VPC、子网和安全组。 如果是测试单机或主备实例,创建1台ECS即可。 在每台ECS上安装redis-benchmark。可通过以下两种方式安装Redis-server,安装Redis-server的同时,会同步安装benchmark。 安装方法一: 下载redis客户端,此处以redis-6.0.9版本为例。 wget http://download.redis.io/releases/redis-6.0.9.tar.gz 解压客户端压缩包。 tar xzf redis-6.0.9.tar.gz 进入redis-6.0.9的src目录下。 cd redis-6.0.9/src 编译源码。 make 编译完成后,工具一般在redis-x.x.x的src目录下。 查看是否有redis-benchmark可执行文件。 ls 将工具安装到系统中。 make install 安装方法二: 根据ECS的不同的操作系统直接安装Redis-server,下面以ubuntu和CentOS系统为例: ubuntu系统 sudo apt update sudo apt install redis-server CentOS系统 sudo yum install epel-release sudo yum update sudo yum -y install redis 每台ECS上执行测试命令。 redis-benchmark -h {IP} -p {Port} -a {password} -n {nreqs} -r {randomkeys} -c {connect_number} -d {datasize} -t {command} 参数参考值:-c {connect_number}:200,-n {nreqs}:10000000,-r {randomkeys}:1000000,-d {datasize}:32。 -h表示实例的 域名 连接地址或IP地址。 -p表示实例的端口,默认为6379。 -a表示实例的连接密码,免密连接的实例无需输入-a {password}。 -t表示执行具体测试命令合集。例如只测试set命令时,使用-t set;如果要测试ping、get、set命令,则使用 -t ping,set,get,命令间使用“,”分隔。 -c表示客户端连接数。 -d表示单条数据大小,单位Byte。 -n表示测试包数量。 -r表示使用随机key数量。 不断调整客户端连接数,执行4,得到最大的QPS(Query Per Second,表示每秒处理的读写操作数,单位:次/秒)。 取3台测试ECS得到的每秒操作数总和,即为对应规格的性能数据。 如果测试Redis集群,建议每台测试ECS各开启两个benchmark客户端。 redis-benchmark 测试cluster集群实例时需要加 --cluster 参数,其他实例类型不需要加。 如果想对cluster集群的最大连接数进行性能压测,但是压测到1万连接时程序退出,或者报错 Cannot assign requested address。这说明是测试用的ECS本机性能不足,请先检查自己是否只用了1台ECS进行压测。想要对集群压测,建议准备3台ECS,每台ECS起3个redis-benchmark来测试redis实例的最大连接数。
-
redis-benchmark常用命令举例 单机、主备、读写分离和proxy集群的测试命令: ./redis-benchmark -h {IP或域名} -p 6379 -a {password} --threads {num} -n { nreqs } -r { randomkeys } -c {clients} -d {datasize} -t {command} cluster集群测试命令: ./redis-benchmark -h {IP或域名} -p 6379 -a {password} --threads {num} -n { nreqs } -r { randomkeys } -c {clients} -d {datasize} --cluster -t {command} 测试短连接: ./redis-benchmark -h {IP或域名} -p 6379 -a {password} --threads {num} -n { nreqs } -r { randomkeys } -c {clients} -d {datasize} -k 0 -t {command} 测试空闲连接: ./redis-benchmark -h {IP或域名} -p 6379 -a {pwd} -c {clients} -I
-
redis-cli常用命令举例 连接实例: ./redis-cli -h {IP} -p 6379 指定连接某个DB: ./redis-cli -h {IP} -p 6379 -n 10 连接cluster集群实例: ./redis-cli -h {IP} -p 6379 -c 测试时延(原理是发ping命令): ./redis-cli -h {IP} -p 6379 --latency 执行scan扫描匹配指定模式的key: ./redis-cli -h {IP} -p 6379 --scan --pattern '*:12345*'
-
迁移后验证 迁移完成后,可以通过以下方式确认数据的完整性: 连接源Redis和目标Redis,连接Redis的方式请参考Redis-cli客户端连接Redis。 分别对源Redis和目标Redis执行info keyspace,查看keys参数和expires参数的值。 图2 查看实例数据 对比源Redis和目标Redis的keys参数分别减去expires参数的差值。如果差值一致,则表示数据完整,迁移正常。 如果是全量迁移,迁移过程中源Redis更新的数据不会迁移到目标实例。
-
配置在线迁移任务 创建完在线迁移任务之后,单击该迁移任务右侧的“配置”,配置在线迁移的源Redis、目标Redis等信息。 选择迁移方法。 支持“全量迁移”和“全量迁移+增量迁移”两种,“全量迁移”和“全量迁移+增量迁移”的功能及限制如表1所示。 如果实例迁移后需要交换DCS实例IP,迁移方法必须选择“全量迁移+增量迁移”。 表1 在线迁移方法说明 迁移类型 描述 全量迁移 该模式为Redis的一次性迁移,适用于可中断业务的迁移场景。全量迁移过程中,如果源Redis有数据更新,这部分更新数据不会被迁移到目标Redis。 全量迁移+增量迁移 该模式为Redis的持续性迁移,适用于对业务中断敏感的迁移场景。增量迁移阶段通过解析日志等技术, 持续保持源Redis和目标端Redis的数据一致。 增量迁移,迁移任务会在迁移开始后,一直保持迁移中状态,不会自动停止。需要您在合适时间,在“操作”列单击“停止”,手动停止迁移。停止后,源端数据不会丢失,只是目标端不再写入数据。增量迁移在传输链路网络稳定情况下是秒级时延,具体的时延情况依赖于网络链路的传输质量。 图1 选择迁移方法 仅当迁移方法选择“全量迁移+增量迁移”时,支持选择是否启用“带宽限制”。 如果启用带宽限制功能,当数据同步速度达到带宽限制时,将限制同步速度的继续增长。 选择是否“自动重连”。如开启自动重连模式,迁移过程中在遇到网络等异常情况时,会无限自动重连。 自动重连模式在无法进行增量同步时,会触发全量同步,增加带宽占用,请谨慎选择。 分别配置“源Redis”和“目标Redis”。 配置“源Redis类型”和“源Redis实例”:“源Redis类型”请选择“云服务Redis”,并在“源Redis实例”处选择需要迁移的源Redis。 配置“目标Redis类型”和“目标Redis实例”: 如果目标Redis与迁移任务处于相同VPC,或处于同一区域下已打通网络的不同VPC,“目标Redis类型”请选择“云服务Redis”,并在“目标Redis实例”处选择需要迁移的目标Redis。 如果目标Redis与迁移任务处于不同区域,“目标Redis类型”请选择“自建Redis”,并在“目标Redis实例”处输入目标Redis的IP地址和端口。如果目标Redis为Cluster集群,需要输入集群所有主节点的IP端口,用英文逗号隔开。例如:192.168.1.1:6379,192.168.0.0:6379 分别配置“源Redis实例密码”和“目标Redis实例密码”:如果是密码访问模式实例,在输入连接实例的密码后,单击密码右侧的“测试连接”,检查实例密码是否正确、网络是否连通。如果是免密访问的实例,请直接单击“测试连接”。 在“源DB”或“目标DB”中,您可以选择是否需要指定具体迁移的DB。例如源端输入5,目标端输入6时,表示迁移源Redis DB5中的数据到目标Redis的DB6。当源端不指定DB,目标端指定DB时,表示默认迁移源端的全部数据,到目标端指定的DB;当目标端不指定DB时,表示默认迁移到与源端对应的DB。 当源端为多DB,目标端为单DB的DCS实例时(单DB的实例只有DB0),需要源端的所有数据都在DB0,或者指定仅迁移源端某一DB中的数据并将目标端DB指定为0,否则会迁移失败。 DCS Redis的DB数请参见Redis实例是否支持多DB方式?。 单击“下一步”。 确认迁移信息,然后单击“提交”,开始执行迁移任务。 可返回迁移任务列表中,观察对应的迁移任务的状态,迁移成功后,任务状态显示“成功”。 如果出现迁移失败,建议单击迁移任务名称,进入迁移任务详情页面,通过“迁移日志”排查迁移失败的原因。 如果是增量迁移,全量迁移后会一直处于增量持迁移中的状态。 如需手动停止迁移中的任务,勾选迁移任务左侧的方框,单击迁移任务上方的“停止”,即可停止迁移。 勾选停止迁移或迁移失败的迁移任务,单击迁移任务上方的“重启”,可重新进行迁移。如果重启迁移任务后迁移失败,建议单击“配置”,重新配置在线迁移任务后重试。 单次最多支持勾选50个在线迁移任务,批量停止、删除、或重启迁移任务。
-
检查网络 检查源Redis、目标Redis、迁移任务资源所在VPC是否在同一个VPC内。 如果是,则执行配置在线迁移任务;如果不是,执行2。 检查源Redis的VPC、目标Redis的VPC、迁移任务资源所在VPC的网络是否打通,确保迁移任务的虚拟机资源能访问源Redis和目标Redis。 如果已打通,则执行配置在线迁移任务;如果没打通,则执行3。 执行相应操作,打通网络。 当源Redis和目标Redis都属于DCS同一Region,请参考VPC对等连接说明创建对等连接,打通网络。 当源Redis和目标Redis属于DCS不同Region,请参考云连接创建云连接,打通网络。
-
约束与限制 在线迁移不支持公网方式直接迁移。 在迁移之前,请先阅读迁移方案概览,选择正确的迁移方案,了解当前DCS支持的在线迁移能力,选择适当的目标实例。 将高版本Redis实例数据迁移到低版本Redis实例可能失败。 如果是单机/主备等多DB的源实例迁移到Proxy集群实例,Proxy集群默认仅有一个DB0,请先确保源实例DB0以外的DB是否有数据,如果有,请先参考Proxy集群开启多DB的使用限制及操作方式开启Proxy集群多DB。 如果是单机/主备等多DB的源端实例迁移到Cluster集群实例,Cluster集群不支持多DB,仅有一个DB0,请先确保源端实例DB0以外的DB是否有数据,如果有,请将数据转存到DB0,否则会出现迁移失败,将数据转存到DB0的操作请参考使用Rump在线迁移。 进行在线迁移时,建议将源端实例的参数repl-timeout配置为300秒,client-output-buffer-limit配置为实例最大内存的20%。
-
创建在线迁移任务 登录分布式缓存服务管理控制台。 如果源Redis与目标Redis所属不同账号下,请使用源Redis所在的账号登录DCS。 在管理控制台左上角单击,选择源Redis所在的区域。 仅当在线迁移任务与源Redis为相同账号下相同区域时,在线迁移时选择的源端Redis会自动放通源Redis的SYNC和PSYNC命令。否则无法进行在线迁移。 单击左侧菜单栏的“数据迁移”。页面显示迁移任务列表页面。 单击右上角的“创建在线迁移任务”。 设置迁移任务名称和描述。 任务名称请以字母开头,长度不小于4位且不超过64位。任务名称只能包含字母、数字、中划线、下划线。 配置在线迁移任务虚拟机资源的虚拟私有云(VPC)、子网和安全组。 请选择与源Redis或目标Redis相同的VPC。 创建的在线迁移任务会占用一个租户侧IP,即控制台上迁移任务对应的“迁移IP”。如果源端Redis或目标端Redis配置了白名单,需确保配置了迁移IP或关闭白名单限制。 迁移任务所选安全组的“出方向规则”需放通源端Redis和目标端Redis的IP和端口(安全组默认情况下为全部放通,则无需单独放通),以便迁移任务的虚拟机资源能访问源Redis和目标Redis。
-
前提条件 已成功创建Redis实例,且状态为“运行中”。创建Redis实例的操作请参考购买Redis实例。 已创建弹性云服务器,创建弹性云服务器的方法,请参见创建弹性云服务器。 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装gcc编译环境。 如果ECS未安装gcc编译环境,请执行以下命令进行安装: yum install -y make yum install -y pcre-devel yum install -y zlib-devel yum install -y libevent-devel yum install -y openssl-devel yum install -y gcc-c++ 连接实例前确保客户端与Redis实例之间网络互通,具体请参考连接Redis网络要求。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格