OpenStack CentOS-6.5镜像创建

before.安装软件

yum install libvirt libguestfs-tools qemu-kvm qemu-img
yum groupinstall Virtualization "Virtualization Client" -y
yum -y install libvirt libguestfs-tools -y

1.下载一个最小的centos6.5的iso文件

wget http://mirrors.163.com/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso

2.创建一个空的镜像文件

qemu-img create -f qcow2 /tmp/CentOS6.5-working.qcow2 10G

3.创建虚拟机

qemu-img create -f qcow2 /tmp/CentOS6.5-working.qcow2 10G 
virt-install --virt-type=kvm --name=CentOS6.5 --ram=1024 --cdrom=/tmp/CentOS-6.5-x86_64-minimal.iso --disk=/tmp/CentOS6.5-working.qcow2,format=qcow2 --graphics=vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel6

4.vnc远程安装,地址端口5900;分区只分一个,挂载到“/”,格式为ext4;

#重启后执行命令开启虚拟机
virsh start centos6.5

5.初始化

#!/bin/bash
# add the EPEL repo and update
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#yum -y update
# install cloud-init
yum -y install cloud-utils cloud-init parted git acpid
chkconfig acpid on
 
# install linux rootfs resize
cd /tmp
git clone https://github.com/flegmatik/linux-rootfs-resize.git
cd linux-rootfs-resize
./install
if [[ $? -eq 0 ]];then
  cd /tmp
  rm -rf linux-rootfs-resize
else
  exit
fi
 
#change sshd port
sed -i ‘s/^#Port 22/Port 65530/g‘ /etc/ssh/sshd_config
# clean up the network interface stuff
rm /etc/udev/rules.d/70-persistent-net.rules
sed -i ‘/HWADDR/d‘ /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i ‘/UUID/d‘ /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i ‘/^ONBOOT/ s/no/yes/g‘ /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i ‘/^NM_CONTROLLED/ s/yes/no/g‘ /etc/sysconfig/network-scripts/ifcfg-eth0
echo "NOZEROCONF=yes" >> /etc/sysconfig/network
# graft up grub
sed -i ‘s/timeout=5/timeout=0/g‘ /boot/grub/menu.lst
sed -i ‘/^\skernel/ s/$/ console=tty0 console=ttyS0,115200n8/‘ /boot/grub/menu.lst
# say something cute in /etc/motd
echo "This is Openstack-CentOS-6" >> /etc/motd
# notify we‘re halting
echo "Halting instance in 5 seconds!"
sleep 5
# halt the instance
halt

6.善后操作

#清除网络相关硬件生成信息
virt-sysprep -d centos6.5
#压缩镜像
virt-sparsify --compress /tmp/CentOS6.5-working.qcow2 CentOS6.5-working_1.qcow2

7.完成

时间: 2024-08-03 18:01:17

OpenStack CentOS-6.5镜像创建的相关文章

2017-7-8 OpenStack手工+oz自动制作CentOS 7.3镜像

制作镜像是我一直想实践的,openstack制作镜像很大程度就是kvm制作镜像,区别就是虚拟机下载了cloud-init.cloud-utils.rootfs,我整理了下工作笔记,方便以后快速部署.最好选择物理机来做,不然VNC连接的时候太卡 前情提要:KVM机器就是控制节点,CPU是瓶颈问题,内存不是重点. 1.安装kvm基础软件包[[email protected] ~]# modprobe kvm [[email protected] ~]# egrep "(vmx|svm)"

转:Docker创建centos的LNMP镜像

转自:http://www.vckai.com/p/29  1. 安装docker 这个就不说了,不会的可以看下我之前的文章<Docker介绍及安装>. 1)启动docker # service docker start 2. 下载docker镜像 官网docker镜像网站:https://www.docker.com/,可以在这里查看官网或者第三方的docker镜像.当然如果没有VPN,网络比较慢的情况下,可以考虑使用:https://docker.cn/,这是一个国内的镜像网站. 1)下载

Openstack(Ocata)镜像创建流程分析

O版中镜像RESFUL请求默认是v2,与v1相比更复杂了.这里主要分析镜像创建(glance image-create)流程. glanceclient的命令do_image_create(v2/shell.py)分别执行了image = gc.images.create(**fields).do_image_upload(gc, args)两步,分别对应api中create.upload方法 1.glance.api.v2.images:ImageController中包含了create.in

Docker创建centos的LNMP镜像

前段时间重装了系统,今天刚好有时间,就用docker安装一个lnmp开发环境,下面是我的安装笔记. 1. 安装docker 这个就不说了,不会的可以看下我之前的文章<Docker介绍及安装>. 1)启动docker # service docker start 2. 下载docker镜像 官网docker镜像网站:https://www.docker.com/,可以在这里查看官网或者第三方的docker镜像.当然如果没有VPN,网络比较慢的情况下,可以考虑使用:https://docker.c

制作openstack使用的coreOS镜像

本篇文章是使用ISO镜像手动制作openstack使用的qcow2镜像文件,关于coreOS的介绍,可以看这里 1.下载coreOS镜像(444.5.0版本) 可能需要FQ #coreOS安装文件(coreos-install脚本会自动下载,这里手动下载,节省时间)wget http://stable.release.core-os.net/amd64-usr/444.5.0/coreos_production_image.bin.bz2wget http://stable.release.co

#openstack centos6 centos7 kvm镜像制作

#openstack centos6 centos7 kvm 镜像制作 openstack pike 集群高可用  安装部署 汇总 http://www.cnblogs.com/elvi/p/7613861.html #openstack centos6 centos7 镜像制作 #################################### #KVM环境 yum install -y kvm virt-* libvirt bridge-utils qemu-img qemu-kvm-

docker学习之二镜像创建

继上一篇docker入门之后写一点使用的经验. 通过命令:docker run -it REPOSITORY或IMAGE ID   注:-it后面跟的字段可以通过下面指令获得 创建运行的容器,会进入一个伪终端,如果使用ctrl+D或者使用exist命令来退出伪终端,会造成容器也终止运行.正确推出伪终端的姿势是:ctrl+P之后再按ctrl+q   这样就能把伪终端与容器分离了. Ps:到现在为止可以自己粗略自己发现一些命令了,使用docker --help可以查看到一些命令.其中attach的功

Docker的镜像创建及数据管理

Docker镜像的创建 Docker镜像除了是Docker的核心技术之外也是应用发布的标准格式.一个完整的Docker镜像可以支撑一个Docker容器的运行,在Docker的整个使用过程中,进入一个已经定型的容器之后,就可以在容器中进行操作,最常见的操作就是在容器中安装应用程序,如果要把已经安装的服务进行迁移,就需要把环境以及搭建的服务生成新的镜像.镜像的生方式分为三种,分别为基于已有镜像创建.基于本地模板创建以及基于dockerfile创建. 基于已有镜像创建 基于已有镜像创建主要使用dock

Docker镜像创建及建立私有仓库

Docker镜像创建方法 创建镜像的方法有三种,分别是基于已有的镜像创建.基于本地模板创建.基于Dockerfile 创建,下面着重介绍这三种创建镜像的方法. ? 基于已有镜像创建 首先将镜像加载到容器,将容器里面运行的程序及运行环境打包起来生成新的镜像,需要记住该容器的ID号. 命令格式: docker commit [选项] 容器ID/名称 仓库名称:[标签] 常用选项: -m:说明信息 ? -a:作者信息 ? -p:生成过程中停止容器的运行 # docker create -it nick

Docker(四)镜像创建

Docker镜像创建 Docker镜像创建的方法 1:基于已有镜像创建 基于已有景象创建主要使用docker commit 命令.实质就是把一个容器里面运行程序以及程序的运行环境打包起来生成新的镜像 命令格式:docker commit [选项] 容器ID/名称 仓库名称:[标签] 常用命令选项: -m:说明信息 -a:作者信息 -p:生成过程中停止容器的运行 例: 首先启动一个镜像,在容器里修改,然后将修改的镜像生成新的镜像,需要记住id号 [[email protected] ~] dock