弹性伸缩一定要搭配弹性负载均衡、云监控才能使用吗?
弹性伸缩服务可以单独使用,也可以同弹性负载均衡(ELB),云监控(CES)一起使用。其中,云监控服务为免费服务,系统默认开通;负载服务在有需求时可以部署,例如,有分布式集群需求的场景下,可以使用ELB。
弹性伸缩是否会因监控指标突变导致误伸缩?
不会。弹性伸缩服务的监控数据基于云监控服务来获取的,监控周期可配置多个档位,如:五分钟,二十分钟,一小时。不会因为一次指标的高峰而导致错误伸缩。 同时,弹性伸缩服务还支持配置冷却时间,防止由于监控的变化造成伸缩组的反复无效变化,该时间可由用户进行自定义。
能创建和使用多少个伸缩策略和配置?
您可以创建10个弹性伸缩组,100个弹性伸缩配置。每个弹性伸缩组同一时刻支持使用1个伸缩配置,10个伸缩策略。
按照伸缩策略增加的云主机在我不用时可以自动删除吗?
可以,但是需要您增加一条删除云主机的伸缩策略。
伸缩组使用负载均衡健康检查,为何没有立即生效?
通常,弹性伸缩活动中自动添加的实例需要足够的预热时间才能通过负载均衡健康检查。因此,如果您为伸缩组添加了负载均衡器并且健康检查方式选择负载均衡健康检查,那么伸缩组会等健康状况检查宽限期结束后才检查实例的运行状况。
当实例加入伸缩组并且进入已启用状态后,健康状况检查宽限期才会启动,默认为10分钟。
如何删除通过弹性伸缩创建的云主机?
处理方法
方法一:
- 登录管理控制台。
- 选择“计算 > 弹性伸缩”。
- 单击具体的“弹性伸缩组”名称。
- 在“弹性伸缩组”详情页面中,选择“伸缩实例”页签。
- 在“操作”列下选择需要删除的实例,单击“移出伸缩组并删除”。
说明如果您要删除多个实例,可以依次勾选指定实例名称左侧的方框,单击“移出伸缩组并删除”。
方法二:
- 登录管理控制台。
- 选择“计算 > 弹性伸缩”。
- 单击具体的“弹性伸缩组”名称。
- 在“弹性伸缩组”详情页面中,选择“伸缩策略”页签。
- 在“伸缩策略”页签中增加一条删除云主机的伸缩策略,可以按照需要减少或者调整至指定数量。
方法三:
- 登录管理控制台。
- 选择“计算 > 弹性伸缩”。
- 单击具体的“弹性伸缩组”名称。
- 在“弹性伸缩组”详情页面中,单击右上方“修改”,进入“修改伸缩组”页面。
- 手动修改伸缩组的期望实例数。
如何阻止伸缩组内的云主机被自动移除?
您可以对伸缩组中一个或多个正常状态的实例启用实例保护设置,当伸缩组发生自动减容活动时,设置了实例保护的实例将不会被移除伸缩组。您还可以设置伸缩组的最小实例数,配合实例移除策略,可以使伸缩组始终至少保持一定数量的云主机实例运行。
值得注意的是,健康检查会将异常的实例从伸缩组中移除,并重新创建新的云主机实例。所以,请不要在云主机页面停止或者删除已经加入到伸缩组中的云主机实例,否则我们认定该云主机实例不健康,并自动移出伸缩组。当伸缩组为停用状态时,对实例的健康状态会继续进行检查,但不会执行移除操作。
如何自动初始化弹性伸缩新增的云主机数据盘?
通过脚本自动化完成初始化磁盘的操作,包括磁盘分区和挂载指定目录。以下操作步骤仅支持初始化一个数据盘,以centos 6.6为例。其他操作系统配置方法略有区别,请参考对应操作系统的相关资料进行操作,文档中不对此进行详细说明。
具体操作步骤如下:
1.以root用户登录已有云主机;
2.执行以下命令,进入脚本存放目录。
cd /脚本目录
例如:
3.执行以下命令,创建并编辑脚本。
vi 脚本名称
例如:
以下脚本为云主机只有一个数据盘时的自动初始化,仅供参考,请用户根据实际情况修改。
#!/bin/bash
bash_scripts_name=fdisk_mount.sh ini_path=/home/fdisk.ini
disk=
size=
mount=
partition=
function get_disk_from_ini()
{
disk=`cat $ini_path|grep disk| awk -F '=' '{print $2}'`
if [ $disk = "" ]
then
echo "disk is null in file,exit"
exit
fi
result=`fdisk -l $disk | grep $disk`
if [ $result = 1 ]
then
echo "disk path is not exist in linux,exit"
exit
fi
}
function get_size()
{
size=`cat $ini_path| grep size|awk -F '=' '{print $2}'`
if [ $size = "" ]
then
echo "size is null,exit"
exit
fi
}
function make_fs_mount()
{
mkfs.ext4 -T largefile $partition
if [ $? -ne 0 ]
then
echo "mkfs disk failed,exit"
exit
fi
dir=`cat $ini_path|grep mount |awk -F '=' '{print $2}'`
if [ $dir = "" ]
then
echo "mount dir is null in file,exit"
exit
fi
if [ ! -d $dir ]
then
mkdir -p $dir fi
mount $partition $dir
if [ $? -ne 0 ]
then
echo "mount disk failed,exit"
exit
fi
echo "$partition $dir ext3 defaults 0 0" >> /etc/fstab
}
function remove_rc()
{
cat /etc/rc.local | grep $bash_scripts_name
if [ $? ne 0 ]
then
sed -i '/'$bash_scripts_name'/d' /etc/rc.local
fi
}
################## start #########################1、判断配置文件是否存在
if [ ! -f $ini_path ]
then
echo "ini file not exist,exit"
exit
fi
##2、获取配置文件中disk指定的设备路径
get_disk_from_ini
##3、获取配置文件中size分区大小
get_size
##4、将磁盘分区
fdisk $disk <<EOF
n
p
1
1
$size
w
EOF
partition=`fdisk -l $disk 2>/dev/null| grep "^/dev/[xsh].*d" | awk '{print $1}'`
##5、格式化分区,挂载分区到对应目录
make_fs_mount
##6、修改开机启动项,避免重试执行
remove_rc
echo 'SUCESS'
4.按“Esc”键,输入:wq,按“Enter”保存并退出编辑。
5.执行以下命令,创建并编辑配置文件。
vi fdisk.ini
配置文件中设置了数据盘的盘符、大小和挂载目录信息,用户可参考如下所示信息,根据实际情况修改。
disk=/dev/xdev
size=+100G
mount=/opt/test
6.按“Esc”键,输入:wq,按“Enter”保存并退出编辑。
7.执行以下命令,打开配置文件“rc.local”。
vi /etc/rc.local
8.按“i”,在“rc.local”文件中添加如下内容。
/home/fdisk_mount.sh
配置“rc.local”后,云主机首次启动时会自动执行初始化数据盘脚本。
9.按“Esc”键,输入:wq,按“Enter”保存并退出编辑。
10.通过已有云主机创建私有镜像。
11.创建伸缩配置。填写伸缩配置信息时,请选择上述步骤中创建的私有镜像,并选择一个数据盘。
12.创建伸缩组。配置伸缩组时,请选择上述步骤中创建的伸缩配置。伸缩组创建成功后,通过该组的伸缩活动产生的云主机,会按照私有镜像中的配置自动初始化数据盘。