cloud-init实现自动扩展 磁盘分区_cloud-init 扩展-程序员宅基地

技术标签: openstack  

背景说明

cloud-init 的一项功能是自动扩展linux的指定分区。比如linux镜像是20G,在部署instance时选择的flavor磁盘定义是40G,那么instance部署时cloud-init会自动将制定分区扩到 40G。

环境准备

1) 该功能依赖growpart,所以需要在开始前,在镜像中安装包:

yum install –y cloud-utils-growpart

2) 查看需要扩容的磁盘分区

# mount  |grep /dev/vd

/dev/vda1 on / type ext4 (rw,relatime,seclabel,data=ordered)

/dev/vda3 on /var type ext4 (rw,relatime,seclabel,data=ordered)

如上所示:/dev/vda3为我们需要进行扩容的磁盘分区。

cloud-init配置

cloud-init配置开机启动命令:

# cat /etc/cloud/cloud.cfg

….

 

bootcmd:

  - [ cloud-init-per, once, grow-partition, growpart, /dev/vda, 3 ]

  - [ cloud-init-per, once, resize-filesystem, resize2fs, /dev/vda3 ]

简单来说就是,在系统第一次启动的时候,执行命令:

growpart /dev/vda 3

resize2fs /dev/vda3

即可。

lvm类型的系统盘扩容脚本

如果是lvm类型的系统盘,可以通过如下脚本扩容:

# cat extend_root_fs

echo "[] linux-rootfs-resize ..."

lvm vgchange --sysinit -an

#lvm_lv_root=$( echo $(df -h | grep '/$') | sed " ")

lvm_lv_root=$(echo $(df -h | grep '/$') | awk -F ' ' '{print $1}')

lvm_pv_path=$(lvm pvs --noheadings |awk '{print $1}')

lvm_pv_temp=$(echo ${lvm_pv_path}|sed "s/dev//g")

lvm_pv_dev=$(echo ${lvm_pv_temp}| sed "s/[^a-z]//g")

lvm_pv_part=$(echo ${lvm_pv_temp}| sed "s/[^0-9]//g")

growpart -v /dev/${lvm_pv_dev} ${lvm_pv_part}

partprobe -s /dev/${lvm_pv_dev}

lvm pvresize -v ${lvm_pv_path}

lvm vgchange --sysinit -ay

lvm lvextend -v -l +100%FREE ${lvm_lv_root}

然后执行:

./ extend_root_fs

再重启系统即可。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/linshenyuan1213/article/details/81539368

智能推荐

用java代码读取dbf文件_java 使用poi读取dbf文件-程序员宅基地

文章浏览阅读2.2k次。import com.linuxense.javadbf.DBFReader;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.ss.usermodel.Cell;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.use..._java 使用poi读取dbf文件

TCP通信丢包主要问题及具体问题分析_tcp的客户端发送报文给服务器,不产生丢包或网络阻塞,但是数据不一致是因为-程序员宅基地

文章浏览阅读7.2k次。今天在公司问老大,公司的项目底层,是使用的TCP,因为可靠,自动断线重连,在底层都实现了,但是我记得TCP也会有掉包的问题,所以这文章就诞生了——关于TCP掉包的问题,TCP是基于不可靠的网络实现可靠的传输,肯定也会存在掉包的情况。 如果通信中发现缺少数据或者丢包,那么,最大的可能在于程序发送的过程或者接收的过程出现问题。 例如服务器给客户端发大量数据,Send的频率很高,_tcp的客户端发送报文给服务器,不产生丢包或网络阻塞,但是数据不一致是因为

centos7 配置本地yum源_yum clean all 已加载插件:fastestmirror 正在清理软件源: clouder-程序员宅基地

文章浏览阅读232次。[base-local] #唯一标识,不能重复name=CentOS-local #名字(随便)baseurl=file:///mnt/cdrom #上方步骤一挂载镜像创建的目录enabled=1 #yum源是否启用 1-启用 0-不启用gpgcheck=1 #对源进行检测,安全检测 1-开启 0-不开启,本地源一般不检测,网络源一般检测gpgkey=file:///etc/pki/r..._yum clean all 已加载插件:fastestmirror 正在清理软件源: cloudera-manager os7_

echarts基础语法_echarts splitnumber-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏28次。一.首页知识点推荐:点击首页->可视化实验室里面有很多意想不到的宝藏二.名词解析1.基本名词xAxis 横坐标yAxis 纵坐标grid 整个坐标系是基于grid这个网格去定位的legend 图例dataRange 值域选择,常用于展现地域数据时选择值域范围dataZoom 数据区域缩放,常用于展现大量数据时选择可视范围toolbox 工具箱tooltip 气泡提示框,常用于展现更详细的数据timeline 时间轴series 存放数据的大数组.._echarts splitnumber

汽车厂商的摘星指南:我们能从如祺出行身上学到什么?-程序员宅基地

文章浏览阅读528次。自从Uber、滴滴、神州等等一系列企业之间的战争偃旗息鼓之后,网约车市场已经安静许久了。但不论任何市场,都会有变量的存在,就当人们认为网约车市场趋于稳固时,新的变量又出现..._但无论汽车厂商

页面模块向上渐变显示效果实现-程序员宅基地

文章浏览阅读222次。想要首页不那么枯燥无味吗?还在未首页过于单调而苦恼吧,来试试这个吧(大佬请忽略上述语句·o·)希望本文会对您有所帮助~ ^_^

随便推点

Kendall’s tau-b,pearson、spearman三种相关性的区别(有空整理信息检索评价指标)-程序员宅基地

文章浏览阅读1.6k次。同样可参考:http://blog.csdn.net/wsywl/article/details/5889419http://wenku.baidu.com/link?url=pEBtVQFzTx0I9T9vr01WS6_NmOY7EylNwa-suKpx3ab1YZfL4QvYsPt2chXyvXOvU3bBa_CrTOaZ0QV_KmcMCmTrqXvZQNKy-cLHQ8J2Y0q..._kendall tau 和线性相关系数 区别

HttpURLConnection上传文件(图片)小试-程序员宅基地

文章浏览阅读662次。需求:用HttpURLConnection模拟上传图片并把图片的名称也要传递过去.简单分析:写入流的时候依次写入 图片名称 + "|" 分隔符 + 图片流然后服务器接收的再处理流.分别取出图片名和图片./** *//** * 上传方法 * 返回上传完毕的文件名 * * */ public String upload(File f) { ..._httpurlconnection上传图片

docker windows10中安装node.js_windows docker 安装nodejs-程序员宅基地

文章浏览阅读1.3k次。docker windows10 中安装node.js启动docker服务获取node最新镜像运行镜像常用参数查看node版本号启动docker服务获取node最新镜像运行命令docker search node获取node镜像接着拉取node最新镜像,运行命令docker pull node当出现图中提示时,表明拉取镜像成功我们可以通过命令查看镜像来确认node是否拉取成功..._windows docker 安装nodejs

yii framework学习笔记-程序员宅基地

文章浏览阅读105次。一、验证和授权 1、基本验证授权方式 在控制器重重写filters方法,这个filter指定的是过滤器,可以是当前控制的方法,必须是以filter开头。 我们来看看通过yii 中示例中博客的例子。 <?phpclass TblPostController extends Controller{ /** * @return array 过滤器列表..._yii regeframe

springmvc 配置文件_配置文件bluej-程序员宅基地

文章浏览阅读296次。1、在同级目录下。默认就ok springMVC1 index.html index.htm index.jsp default.html default.htm default.jsp springMVC org.springframework.web.servlet.DispatcherSe_配置文件bluej

在STM32上实现NTFS之5:GPT分区表的C语言实现(2)GPT实现以及统一方式读取磁盘分区...-程序员宅基地

文章浏览阅读263次。  上一节实现了主GPT头的信息提取,这一节继续提取整个的GPT数据,并且将GPT分区表和MBR分区表两种格式融合成一个模块,使主调函数(也可以说是使用者)不需要关心磁盘的分区表类型:它太底层了,确实不需要过多的关心。  继续看上一节的图1,这里就不贴图了,LBA1的主GPT头给出了分区信息的总数,还有每一个分区信息所占用的字节数,分区信息的结构如表1:表1 分区信息结构(GPT..._stm32 gpt subsystem

推荐文章

热门文章

相关标签