Linux镜像快速定制方法
来源:互联网 发布:网络电视机顶盒系统 编辑:程序博客网 时间:2024/06/06 19:13
可以实现自动获得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
- Linux镜像快速定制方法
- linux下修改ROM定制镜像
- 使用Openembedded定制嵌入式Linux镜像
- 定制ubuntu镜像
- 定制化属于你的Linux镜像
- Genymotion快速下载镜像方法
- Genymotion快速下载镜像方法
- ubuntu安装镜像定制
- UBUNTU系统镜像定制
- ROM定制修改镜像
- linux下挂载iso镜像的方法
- linux下挂载iso镜像的方法
- 用P2P方法快速分发Docker镜像
- genymotion的一种快速下载镜像的方法
- 定制Linux发行版:向CentOS6安装镜像添加自定义软件包
- 定制LFS镜像及安装过程
- 定制自己的ubun安装镜像
- Ubuntu 16.04 定制自己系统镜像
- shadowsocks代理设置(文中有福利)
- 第一个Kotlin Android
- 为何要别人懂你的沉默?
- 压缩与打包
- js的节点操作
- Linux镜像快速定制方法
- 代码管理工具 Git
- VS2015 一个或者多个重定义
- Android apk安装的代码实现
- android 笔记 按键响应
- SQL Server 根据视图名称批量删除视图
- 344. Reverse String
- RCNN学习笔记(7):Faster R-CNN 英文论文翻译笔记
- C与C++中关于声明与定义概念理解