分享

openstack 制作大于2TB根分区自动扩容的CENTOS镜像

xioaxu790 发表于 2014-9-14 16:46:23 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 12638
问题导读
1、怎样的情况下,根分区才能到2TB空间?
2、如何编写执行分区的脚本?







制作镜像的时候默认分的是30G空间
  1. qemu-img create -f raw centos.img 30G
复制代码


看官网文档安装完系统需要安装cloud-init和clout-utils包,本人安装了完这个工具
但是发现启动系统以后,root根分区开机只能自动扩展到900G或者500G。
后来经查需要使用GPT分区,根分区才能到2TB空间。
于是从做镜像,选择GPT方式安装操作系统。(有关如何用GPT方式安装系统,网上可以查查资料 很多的)
分区的时候 我是分了3个分区swap boot 和根分区。
也就是
  1. vda1 /swap
  2. vda2 /boot
  3. vda3 /
复制代码


当系统装完以后需要执行以下命令:
  1. yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  2. yum -y cloud-init cloud-*
  3. yum -y parted
  4. yum -y gdisk
复制代码


网卡设置为dhcp
  1. cat /etc/sysconfig/network-scripts/ifcfg-eth0
  2. DEVICE=”eth0″
  3. BOOTPROTO=dhcp
  4. ONBOOT=”yes”
  5. rm -rf /etc/udev/rules.d/70-persistent-net.rules
复制代码


这个时候需要重启系统 否则不会出现/var/lib/cloud/scripts的目录
下面的步骤是下一次启动的时候执行的分区脚本
之所以在下面这个目录创建的含义是,第1次启动会执行这个目录下的脚本,只执行一次,在重启系统的时候这个脚本就不会再执行了,如果临时重启了系统那需要删除/var/lib/cloud/scripets/seem/config_scripts_per_once.once这个文件,否则下次启动的滞后将不会执行分区的命令脚本了
  1. cd /var/lib/cloud/scripets/per-once
复制代码


创建一个脚本growpart.sh
脚本内容如下
  1. !#/bin/bash
  2. growpart -v /dev/vda 3
  3. reboot
复制代码


这里的是growpart -v /dev/vda 3 这个3的意思是我上面分区的时候的根分区的卷标.所以分区的时候请正确选择你的根分区卷标号,有可能你的是4 或者5 记得 df 看下。然后关闭系统 打包上传镜像就可以开机自动扩容到2TB以上的分区了,第一次启动的时候系统过程会很慢,需要等待20分钟,因为在扩容分区以上就完成了操作。





没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条