设为首页 收藏本站
查看: 1821|回复: 0

[经验分享] 制作OpenStack CentOS 6.5 & win7镜像

[复制链接]

尚未签到

发表于 2015-10-11 11:48:27 | 显示全部楼层 |阅读模式
感谢朋友支持本博客,欢迎共同探讨交流,由于能力和时间有限,错误之处在所难免,欢迎指正!
如有转载,请保留源作者博客信息。

Better Me的博客:blog.iyunv.com/tantexian如需交流,欢迎大家博客留言。
镜像制作方法一:centos6.5镜像制作:(首先将CentOS-6.5-x86_64-minimal.iso镜像拷贝到/home下面)1:
qemu-img create -f qcow2 /home/ttxImg/ttx_centos6.5.img 2.8G2:
virt-install --connect qemu:///system -n ttx_centos6.5 -r 1024 --vcpus=2 --disk path=/home/ttxImg/ttx_centos6.5.img -c /home/ttxImg/CentOS-6.5-x86_64-minimal.iso --vnc --vncport=5914 --vnclisten=0.0.0.0 --noautoconsole --os-type linux --network=bridge:br100 --hvm  --noautoconsole
windows7镜像制作:qemu-img create -f qcow2 /home/ttxImg/ttx_win7.qcow2 40000M
virt-install --connect qemu:///system -n ttx_win7 -r 2048 --vcpus=2 --disk path=/home/ttxImg/ttx_win7.qcow2,bus=virtio,format=qcow2,cache=writeback --disk path=/home/ttxImg/virtio-win-0.1-81.iso,device=cdrom,perms=ro --force -c /home/ttxImg/win7_x86_64.iso --vnc --vncport=5914 --vnclisten=0.0.0.0 --noautoconsole --os-type windows  --os-variant=win7 --network=bridge:virbr0 --hvm  --noautoconsole
注:假若安装系统时,磁盘损坏,则可以将上述bus=virtio修改为bus=ide若是还找不到,使用如下命令:virt-install --connect qemu:///system -n neokylin_lst -r 1024 --vcpus=2 --disk path=/neokylinlst.qcow2,bus=virtio,format=qcow2,cache=writeback --force -c /home/neokylin.iso --vnc --vncport=5914 --vnclisten=0.0.0.0 --noautoconsole --os-type linux --network=bridge:virbr0 --hvm --noautoconsole

使用virtio网卡驱动:virt-install --connect qemu:///system -n ttx_win7 -r 2048 --vcpus=2 --disk path=/home/ttxImg/ttx_win7.qcow2,bus=virtio,format=qcow2,cache=writeback --disk path=/home/ttxImg/virtio-win-0.1-81.iso,device=cdrom,perms=ro --force -c /home/ttxImg/win7_x86_64.iso --vnc --vncport=5914 --vnclisten=0.0.0.0 --noautoconsole --os-type windows  --os-variant=win7 --network=bridge:virbr0,model=virtio --hvm  --noautoconsole<interface type='bridge'>      <mac address='52:54:00:ac:9c:4c'/>      <source bridge='br1'/>      <target dev='vnet3'/>      <model type='virtio'/>      <alias name='net3'/>      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/></interface>windows镜像上传命令:glance add name=&quot;windows&quot; is_public=true container_format=ovf disk_format=qcow2 < windowsxp.img

centos镜像上传命令:glance image-create --name centos --is-public true --container-format ovf --disk-format qcow2 < /home/agen/centos63.img

centos镜像上传命令:glance add name=centos_6.2_ramdisk disk_format=ari container_format=ari is_public=True < initrd-2.6.32-220.el6.x86_64.img输出:Added new image with ID: 9以上命令是先上传镜像的ramdisk文件,注意类型必须是ari

glance add name=centos_6.2_kernel disk_format=aki container_format=aki is_public=True < vmlinuz-2.6.32-220.el6.x86_64 输出:Added new image with ID: 10以上命令是上传镜像的kernel文件,&#26684;式必须是aki
glance add name=centos_6.2_final disk_format=ami container_format=ami is_public=True ramdisk_id=9 kernel_id=10 < centos_6.2_final.img以上命令是上传主要镜像文件,&#26684;式必须是ami,ramdisk_id是刚上传的ramdisk的id,kernel_id同理。



镜像制作方法二:1、将iso镜像文件转换为img镜像qemu-img convert -f raw  CentOS_6.2_Final64bit.iso  /home/createvm/test.img

2、创建配置文件setup.xml
<domain type='kvm' id='21'>  <name>test_mini_centos</name>  <uuid>7e7f54d0-4b62-7c5e-d385-ed72473a5785</uuid>  <memory>1048576</memory>  <currentMemory>1048576</currentMemory>  <vcpu>1</vcpu>  <os>    <type arch='x86_64' machine='pc-0.14'>hvm</type>    <boot dev='hd'/>  </os>  <features>    <acpi/>    <apic/>    <pae/>  </features>  <clock offset='utc'/>  <on_poweroff>destroy</on_poweroff>  <on_reboot>restart</on_reboot>  <on_crash>restart</on_crash>  <devices>    <emulator>/usr/libexec/qemu-kvm</emulator>    <disk type='file' device='disk'>      <driver name='qemu' type='raw' cache='none'/>      <source file='/var/lib/libvirt/images/test_mini_centos.img'/>      <target dev='vda' bus='virtio'/>      <alias name='virtio-disk0'/>      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>    </disk>    <disk type='block' device='cdrom'>      <driver name='qemu' type='raw'/>      <target dev='hdc' bus='ide'/>      <readonly/>      <alias name='ide0-1-0'/>      <address type='drive' controller='0' bus='1' unit='0'/>    </disk>    <controller type='ide' index='0'>      <alias name='ide0'/>      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>    </controller>    <interface type='bridge'>      <mac address='52:54:00:7a:d2:93'/>      <source bridge='br0'/>      <target dev='vnet1'/>      <model type='virtio'/>      <alias name='net0'/>      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>    </interface>    <serial type='pty'>      <source path='/dev/pts/0'/>      <target port='0'/>      <alias name='serial0'/>    </serial>    <console type='pty' tty='/dev/pts/0'>      <source path='/dev/pts/0'/>      <target type='serial' port='0'/>      <alias name='serial0'/>    </console>    <input type='tablet' bus='usb'>      <alias name='input0'/>    </input>    <input type='mouse' bus='ps2'/>    <graphics type='vnc' port='5901' autoport='yes'/>    <sound model='ich6'>      <alias name='sound0'/>      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>    </sound>    <video>      <model type='cirrus' vram='9216' heads='1'/>      <alias name='video0'/>      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>    </video>    <memballoon model='virtio'>      <alias name='balloon0'/>      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>    </memballoon>  </devices></domain>
3、virsh define setup.xml       //创建虚拟机 查看当前系统所有的虚拟机信息:virsh list --all
4、virsh start  vm_name   //启动你创建的相应名字的虚拟机注意:假若出现br0 没有此设备则使用sudo /usr/sbin/brctl addbr br0命令


qemu-img create -f raw /home/ttxImg/centos6.5_openstack_ttx.img 3000Mvirt-install -n CentOS6.5-openstack-ttx -r 2048 --cpu host -c /home/ttxImg/CentOS-6.5-i386-minimal.iso --disk path=/home/ttxImg/centos6.5_openstack_ttx.img,device=disk,bus=virtio,size=10,format=qcow2 --vnc --vncport=5908 --vnclisten=0.0.0.0 -v --network bridge=br0用 vncviewer 登录后按照屏幕提示完成 CentOS 安装。需要注意的是在分区阶段把 10GB 硬盘全部划分成一个 ext4 root 分区,不要创建多个分区也不要创建 swap 区:
$ vncviewer 172.16.39.111:5900
安装完后会自动重启,如果没有重启的话按照下面的命令启动刚刚安装好的虚拟机镜像 centos.img,如果出现 failed to find romfile “pxe-rtf8139.bin” 的错误提示可以通过安装 kvm-pxe 解决:
$ sudo qemu-kvm -m 512 -drive file=centos.img -boot c -net nic -net user -nographic -vnc :10
kvm: pci_add_option_rom: failed to find romfile &quot;pxe-rtl8139.bin&quot;
$ sudo apt-get install kvm-pxe
再次用 vnc 登录虚拟机镜像,安装一些必要工具(因为这个镜像将会是模板,所以最好保持最简最小化):
$ vncviewer 172.16.39.111:5900
# yum update
# yum upgrade
# yum install openssh-server
# chkconfig sshd on
修改分区加载表(/etc/fstab),注释或删除以前的,加上 LABEL=cec-rootfs 一行:
# vi /etc/fstab
#UUID=47a90bea-2d88-4c82-a335-09c1533b1538 / ext4 defaults 1 1
LABEL=cec-rootfs                           / ext4 defaults 0 0
在网络接口配置里面注释或删除这行 #HWADDR= 一行,启用 DHCP:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=&quot;eth0&quot;
#HWADDR=&quot;00:11:22:12:34:56&quot;
#NM_CONTROLLED=&quot;yes&quot;
BOOTPROTO=dhcp
ONBOOT=&quot;yes&quot;
注射 ssh key 以便外界可以用 ssh -i mykey.priv root@host 的形式无密码登录到虚拟机实例,在 /etc/rc.local 文件中加入下面这些:
# vi /etc/rc.local
...
mkdir -p /root/.ssh
echo >> /root/.ssh/authorized_keys
curl -m 10 -s http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
| grep 'ssh-rsa' >> /root/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
echo &quot;AUTHORIZED_KEYS:&quot;
echo &quot;--------------------&quot;
cat /root/.ssh/authorized_keys
echo &quot;--------------------&quot;
别忘了还需要修改 sshd 的配置实现无密码登录:
# vi /etc/ssh/sshd_config
...
RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin without-password
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
需要关闭 SELINUX,否则即使上面 ssh 设定允许 root 无密码登录也无效:
# vi /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
70-persistent-net.rules 会自动添加其他的网络接口,需要删除这个文件避免自动添加除了 eth0 以外的接口,关闭虚拟机准备发布镜像:
# rm -rf /etc/udev/rules.d/70-persistent-net.rules
# shutdown -h now上传镜像:glance image-create --name centos6.5_openstack_ttx --is-public true --container-format ovf --disk-format qcow2 < /home/ttxImg/centos6.5_openstack_ttx.img

后面为其他地方复制,仅供参考:
Openstack kvm win7镜像制作2012-12-13 13:35:17     我来说两句       作者:China_OS收藏    DSC0000.jpg 我要投稿
Openstack不但能管理linux虚拟机还能管理windows虚拟机,之前做过基于kvm的debian6镜像,今天实战一下win镜像的制作,以win7为例。 www.iyunv
母系统环境:ubuntu12.10 server &#43; kvm
下载virtio驱动,因为win默认不支持virtio驱动,而通过openstack管理虚拟机是需要virtio驱动的。需要两个virtio驱动,一个是硬盘的,一个是网卡的,即:virtio-win-0.1-30.iso和virtio-win-1.1.16.vfd1
wget http://autosetup1.googlecode.com/files/virtio-win-1.1.16.vfd2
wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-30.iso下载一个win7的镜像,默认的名字太长了,修改短一点1
mvcn_windows_7_professional_vl_build_x86_dvd_x15-71025.iso win7.iso创建一个win7的镜像,raw&#26684;式,大小7G
www.iyunv1
kvm-img create -f raw win7.img 7G启动基于win7的kvm虚拟机,映射驱动vfd到软盘A1
kvm -m 1024 -cdrom win7.iso -drivefile=win7.img,if=virtio,boot=on -fda virtio-win-1.1.16.vfd -boot d -nographic -vnc 10.1.6.228:8用vnc安装win7,因为默认没有virtio驱动,所以识别不了硬盘,需要手动选择,整个过程如下:
选择键盘 www.iyunv
DSC0001.jpg
DSC0002.jpg
DSC0003.jpg
DSC0004.jpg
选择驱动
DSC0005.jpg
DSC0006.jpg
DSC0007.jpg
DSC0008.jpg
DSC0009.jpg
DSC00010.jpg
坐等安装
www.iyunv
DSC00011.jpg
DSC00012.jpg
DSC00013.jpg
设置开启远程桌面
DSC00014.jpg
查看网卡驱动类型
DSC00015.jpg
先关机!!!再次启动虚拟机,使用以下命令:1
kvm -m 1024 -drivefile=win7.img,if=virtio,boot=on -cdrom virtio-win-0.1-30.iso -net nic,model=virtio -net user -boot c -nographic -vnc 10.1.6.228:8 DSC00016.jpg
修改网卡驱动类型
DSC00017.jpg
DSC00018.jpg
DSC00019.jpg
DSC00020.jpg
DSC00021.jpg
可以看到网卡驱动类型已经更换掉,再次关机!!!
上传win7镜像1
glance add name=&quot;windows7&quot;is_public=truecontainer_format=ovf disk_format=qcow2 < win7.img DSC00022.jpg

设置安全策略,因为要通过远程桌面连接win7,所以要放开3389端口
DSC00023.jpg
启动一个名为win7的虚拟机,第一次启动比较慢,因为要把win7镜像从镜像服务器传送到计算节点上。
DSC00024.jpg
通过dashboard的vnc登录
DSC00025.jpg
发现一个杯具的事情,那就是dhcp分配的IP并没有生效,那我们就手动配置一下
DSC00026.jpg DSC00027.jpg
通过本机自带的mstsc登录win7虚拟机:10.1.200.4
DSC00028.jpg
DSC00029.jpg


大功告成!!!

1)准备一个镜像文件,即ISO文件,本示例所使用的为:
CentOS-6.3-i386-minimal.iso注:无论您是内部测试环境还是生产环境,偶都强烈推荐使用64位操作系统。
2)引导并安装系统
virt-install -n CentOS63 -r 2048 --cpu host \
-c /data/iso/CentOS-6.3-i386-minimal.iso \
--disk path=/data/kvm_data/centos6.3-openstack.img,device=disk,bus=virtio,size=10,format=qcow2 \
--vnc --vncport=5908 --vnclisten=0.0.0.0 -v \
--network bridge=br0这些参数的就请您先自行查找手册,后期有时间偶会补上关于KVM的相关实践手册。
3)镜像相关设置(此处根据你的需求进行个性化定制,尽量保持简洁):
分区全部给根分区,防火墙和SELinux禁止
chkconfig iptables off将/etc/selinux/config 中的 SELINUX=enforcing修改成 SELINUX=disabled
修改分区表:
vi /etc/fstab将UUID=这一行注释,加入:
LABEL=cec-rootfs                           / ext4 defaults<b> 0 0</b>修改网络配置:
vi /etc/sysconfig/network-scripts/ifcfg-eth0将HWADDR=这行删除或注释即可,并且设置成BOOTPROTO=dhcp
删除网络规则,因为Centos6之后70-persistent-net.rules这个文件会自动添加除eth0之外的
其他网络接口,
rm -rf /etc/udev/rules.d/70-persistent-net.rules还要把另外一个文件删除,不然上面这个文件还会自动创建滴:
mv /lib/udev/write_net_rules{,.bak}4)上传镜像
glance image-create --name centos63Image --is-public true --container-format ovf --disk-format qcow2 < /home/agen/centos63.img至此,所有操作已经完成,如果一切正常,你所创建的实例访问正常。如网络还存在问题,可能
和您的OpenStack网络设置有关,不过这已经超出本文的范畴。假如您对OpenStack的环境搭建

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-125400-1-1.html 上篇帖子: openstack部署(1)-准备工作 下篇帖子: 将OpenStack部署到Hadoop的四种方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表