Linux镜像快速定制方法

 

可以实现自动获得ssh-key和硬盘自动扩容(需要重启)

 

1.      环境准备

Centos6.x/7.x操作系统

6.x

yum –y install http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

7.x 

yum –y install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

 

yum –y install oz kvm libguestfs-tools libvirt

service libvirtd start

ifconfig 能看到virbr0存在

2.      配置三个文件oz.cfg  centos65.tdl  RHEL6.auto

1)vi /etc/oz/oz.cfg

将其中的Image_type修改为qcow2,如下所示:

[paths]

output_dir= /var/lib/libvirt/images

data_dir= /var/lib/oz

screenshot_dir= /var/lib/oz/screenshots

#sshprivkey = /etc/oz/id_rsa-icicle-gen

 

[libvirt]

uri =qemu:///system

#image_type= raw

image_type= qcow2

# type =kvm

#bridge_name = virbr0

# cpus =1

# memory= 1024

 

[cache]

original_media= yes

modified_media= no

jeos = no

 

[icicle]

safe_generation= no

   2) vi/centos65.tdl

 <template>

  <name>centos65</name>

  <os>

   <name>CentOS-6</name>

    <version>5</version>

   <arch>x86_64</arch>

    <install type='iso'>

      <iso>file:///home/CentOS-6.5-x86_64-bin-DVD1.iso</iso>

    </install>

    <rootpw>abc123</rootpw>

  </os>

  <description>CentOS6.5 x86_64</description>

  <repositories>

    <repositoryname='epel-6'>

     <url>http://download.fedoraproject.org/pub/epel/6/$basearch</url>

     <signed>no</signed>

    </repository>

  </repositories>

  <packages>

    <packagename='epel-release'/>

    <packagename='cloud-init'/>

    <packagename='cloud-utils'/>

  </packages>

  <commands>

    <commandname='update'>

yum -y update

yum clean all

sed -i '/^HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth0

echo -n > /etc/udev/rules.d/70-persistent-net.rules

echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules

    </command>

  </commands>

</template>

 

以上黄色部分是需要进行修改的部分

 

3)vi RHEL6.auto      //这个实际就是一个ks文件

    install

text

key --skip

keyboard us

lang en_US.UTF-8

skipx

network --deviceeth0 --bootproto dhcp

rootpw 'abc123'

firewall--disabled

authconfig--enableshadow --enablemd5

selinux--enforcing

timezone --utcAmerica/New_York

bootloader--location=mbr --append="console=tty0 console=ttyS0,115200"

zerombr yes

clearpart --all

 

part / --fstypeext4 --size=1024 --grow

reboot

 

%packages

@core

@base

 

%post

 

3.      制作镜像文件

oz-install -u centos65.tdl -d3  -a RHEL6.auto

等10分钟就制作完成了,生成的镜像文件在/var/lib/libvirt/images/下

virt-sysprep –add  /var/lib/libvirt/images/centos65.qcow2

4.      上传镜像到openstack

5.      用上述方法制作的镜像可以实现以下功能

1)   自动获得ssh-key

ssh centos@$ip

2)   自动扩容

默认生成的镜像为10G,若分配40G硬盘,在vm启动后再次重启就可以自动扩容为40G

以后每次变动硬盘大小,只要重启会自动扩容

附:更改flavor命令

   nova resize vm-id 4     //这里的数字代表flavorID

   上述命令即可将VM的硬盘扩容为flavor4代表的硬盘、内存和CPU

   执行上述命令后需要在dashboard中点击确认

   然后重启VM即可直接实现扩容

6.      参考文档

a.      https://github.com/lorin/image-guide

b.      http://blog.csdn.net/silenceli/article/details/39990445

c.      https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/3/html/Installation_and_Configuration_Guide/Building_a_Custom_Disk_Image.html

d.      http://docs.openstack.org/zh_CN/image-guide/content/ch_creating_images_automatically.html#oz

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值