178
云计算
负载均衡
产品简介
产品价格
快速入门
用户指南
实践操作
常见问题
购买指南
云服务器
产品简介
计费规则
购买指导
控制台使用指南
常见问题
云数据库
产品简介
计费规则
购买指导
快速入门
连接实例
控制台使用指南
对象存储
产品简介
控制台使用指南
程序员百科
Python
使用天翼云弹性伸缩服务时自动初始化云主机数据盘教程

产品推荐:

1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>

2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>>

3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>>

4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 

5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>>   



点击这里注册天翼云特邀VIP帐号,立即体验天翼云弹性伸缩服务>>>


使用天翼云弹性伸缩服务时自动初始化云主机数据盘教程


业务场景

云主机创建完成后,数据盘需要初始化后才能使用。当使用弹性伸缩为伸缩组增加数量较多的云主机时,您就需要逐一手动初始化数据盘,将会占用较长时间。

本节为您介绍通过脚本自动化完成初始化磁盘的操作,包括磁盘分区和挂载指定目录。本节介绍的自动初始化脚本示例仅支持初始化一个数据盘。本节操作以 centos 6.6 为例。其他操作系统配置方法略有区别,请参考对应操作系统的相关资料进行操作,文档中不对此进行详细说明。

操作步骤

以 root 用户登录已有云主机;执行以下命令,进入脚本存放目录。

cd /脚本目录  

例如:

cd /hom

行以下命令,创建并编辑脚本。

vi 脚本名称

例如:

vi fdisk_mount.sh

以下脚本为云主机只有一个数据盘时的自动初始化,仅供参考,请用户根据实际情况修改。

#!/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'

 

“Esc” 键,输入:wq,按“Enter” 保存并退出编辑。

执行以下命令,创建并编辑配置文件。

Vi fdisk.ini

配置文件中设置了数据盘的盘符、大小和挂载目录信息,用户可参考如下所示信息,根据实际情况修改。

disk=/dev/xdev

size=+100G

mount=/opt/test

“Esc” 键,输入:wq,按“Enter” 保存并退出编辑。

执行以下命令,打开配置文件“rc.local” 

Vi /etc/rc.local

“i” ,在“rc.local” 文件中添加如下内容。

/home/fdisk_mount.sh

配置“rc.local” 后,云主机首次启动时会自动执行初始化数据盘脚本。

“Esc” 键,输入:wq,按“Enter” 保存并退出编辑。

通过已有云主机创建私有镜像。

创建伸缩配置-填写伸缩配置信息时,请选择上述步骤中创建的私有镜像,并选择一个数据盘。

创建伸缩组-配置伸缩组时,请选择上述步骤中创建的伸缩配置。

操作结果

伸缩组创建成功后,通过该组的伸缩活动产生的云主机,会按照私有镜像中的配置自动初始化数据盘。

点击这里注册天翼云特邀VIP帐号,立即体验天翼云弹性伸缩服务>>>

这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!