设为首页 收藏本站
查看: 1290|回复: 1

[经验分享] 2017-7-8 OpenStack手工+oz自动制作CentOS 7.3镜像

[复制链接]

尚未签到

发表于 2017-12-5 09:13:31 | 显示全部楼层 |阅读模式
  1、安装kvm基础软件包
[iyunv@kvm ~]# modprobe kvm
[iyunv@kvm ~]# egrep "(vmx|svm)" /proc/cpuinfo  ##保证服务器或VMWARE支持硬件虚拟化!
[iyunv@kvm ~]# yum install qemu-kvm qemu-img –y
[iyunv@kvm ~]# ln -s /usr/libexec/qemu-kvm /usr/lib/qemu-kvm  //如果不做这步,无法直接使用其命令
在windows客户端安装vnc viewer软件,避免安装图形化Linux服务器会更好点。http://www.33lc.com/soft/40006.html
///////////////////////////
[iyunv@kvm ~]# yum install tigervnc  vnc*  -y  //如果上一步做了,接下来的3步都不需要做,这步骤耗时太多
[iyunv@kvm ~]# yum install  xorg* gnome*  glx*  -y //非常耗时,但是它的确能从字符界面转换为图形界面
[iyunv@kvm ~]# reboot
[iyunv@kvm ~]# startx
///////////////////////////
  2、制作镜像,安装系统
[iyunv@kvm ~]# df -Th   ##确保自己有足够的磁盘空间,否则可能徒劳无功
[iyunv@kvm ~]# mkdir openstack_image && cd openstack_image
下载centos7镜像,改名为centos7.iso
[iyunv@kvm ~]# wget http://mirrors.aliyun.com/centos/7.3.1611/isos/x86_64/CentOS-7-x86_64-Minimal-1611.iso
[iyunv@kvm ~]# qemu-img create -f qcow2 centos7.qcow2 15G
[iyunv@kvm ~]# /usr/libexec/qemu-kvm -m 1024 -cdrom centos7.iso -drive file=centos7.qcow2 -boot menu=on --nographic -vnc :3
  PC的vncviewer客户端填入【10.20.0.201:3】,此IP地址是KVM机器的IP,而不是新创建的虚拟机的IP
【注意】:安装centos 7系统:不需要swap分区,也不需要boot分区,全部磁盘空间分配给根分区,采用XFS格式,而不用LVM
  3、后续配置。
参考文档:http://blog.csdn.net/xiegh2014/article/details/53248403
[iyunv@kvm ~]# yum install virt-install -y  //使用virsh命令管理虚拟机非常方便
[iyunv@kvm ~]# virsh list
(1)安装ACPI服务,能让宿主机对虚拟机进行开关机等电源管理操作
[iyunv@kvm ~]# yum install acpid
(2)安装linux rootfs resize,使得实例启动时可以自动扩展根分区
[iyunv@kvm ~]# yum install git parted cloud-utils -y
[iyunv@kvm ~]# git clone https://github.com/flegmatik/linux-rootfs-resize.git
[iyunv@kvm ~]# cd linux-rootfs-resize
[iyunv@kvm ~]# ./install
(3)安装cloud-init,给虚拟机注入密钥登录、主机名、用户名
[iyunv@kvm ~]# yum install cloud-init -y
[iyunv@kvm ~]# vim /etc/cloud/cloud.cfg
在cloud_init_modules 下面增加:  
- resolv-conf
(4)再次运行系统,观察现象
[iyunv@kvm ~]# /usr/libexec/qemu-kvm -m 1024 -cdrom centos7.iso -drive file=centos7.qcow2 -boot menu=on --nographic -vnc :3
  4、上传镜像到控制节点的glance组件中
[iyunv@kvm ~]# source admin-openrc.sh
[iyunv@kvm ~]# openstack image create "centos7" --file centos7.qcow2 --disk-format qcow2 --container-format bare --public
[iyunv@kvm ~]# openstack image list
  +++++++++++++++++++++++
报错:
1、qemu连上后,进入引导菜单后无反应。
未解决:猜测我使用VMWARE性能太差,最好使用一台任意物理机器,生成好centos7.qcow2,再rsync到控制节点上。
+++++++++++++++++++++++++
  
                 =========================oz自动制作Linux操作系统镜像======================
  自动制作镜像,速度非常慢,如上文所述,centos 7的iso镜像已经被下载到/root/openstack_image/
1、软件包安装
[iyunv@kvm ~]# yum install epel-release -y
[iyunv@kvm ~]# yum install oz libguestfs-tools -y
安装完后应该多出一个虚拟的网络接口virbr0
[iyunv@kvm ~]# ip a
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
    link/ether 52:54:00:58:d1:22 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500
    link/ether 52:54:00:58:d1:22 brd ff:ff:ff:ff:ff:ff
  [iyunv@kvm ~]# vim /etc/oz/oz.cfg    ##oz默认支持raw格式,指明为qcow2
#image_type = raw
image_type = qcow2
  [iyunv@kvm ~]# cd openstack_image
[iyunv@kvm ~]# vim centos7-3.tdl  
<template>
   <name>centos_73_x86_64</name>
   <description>CentOS 7.3 x86_64 template</description>
   <os>
      <name>CentOS-7</name>
      <version>7</version>
      <arch>x86_64</arch>
      <install type='iso'>
         <iso>file:///root/openstack_image/centos7.iso</iso>
      </install>
   </os>
   <commands>
   <command name='console'>
   sed -i 's/ rhgb//g' /boot/grub/grub.conf   ##centos7默认没有/boot/grub/grub.conf
   sed -i 's/ quiet//g' /boot/grub/grub.conf
   sed -i 's/ console=tty0 / serial=tty0 console=ttyS0,115200n8 /g' /boot/grub/grub.conf
   </command>
   </commands>
  <disk>
    <size>10</size>
  </disk>
</template>
  2、编辑ks文件,类似于PXE
[iyunv@kvm ~]# vim centos7-3.ks
install
text
key --skip
keyboard us
lang en_US.UTF-8
skipx
network --device eth0 --bootproto dhcp
rootpw openstack
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --append="console=tty0 console=ttyS0,115200"
zerombr yes
clearpart --all
part / --fstype xfs --size=10240 --grow
%post
reboot
  %packages --nobase --excludedocs
wget
vim
cloud-init
cloud-utils
dracut-modules-growroot
%end
-----------------------------------------
  3、制作镜像
[iyunv@kvm openstack_image]# pwd
/root/openstack_image
[iyunv@kvm openstack_image] systemctl start libvirtd
[iyunv@kvm openstack_image]# oz-install -p -u -d3 -a centos7-3.ks centos7-3.tdl
+++++++++++++++++++++++++++
报错:
1、[iyunv@kvm openstack_image]# oz-install -p -u -d3 -a centos7-3.ks centos7-3.tdl
lxml.etree.XMLSyntaxError: AttValue: " or ' expected, line 9, column 20
解决:报出语法错误,XML文件,是type后面的iso要加单引号才行,之前没加
  2、[iyunv@kvm openstack_image]# oz-install -p -u -d3 -a centos7-3.ks centos7-3.tdl
   oz.OzException.OzException: No disk activity in 300 seconds, failing.
未解决:查阅资料发现,这是个普遍错误,停留在选择网卡的选项上,于是我删掉ks文件的--device eth0,结果依旧不行。

+++++++++++++++++++++++++++++++
镜像创建完后,会保存在 /var/lib/libvirt/images,压缩镜像,比例为4:1。
[iyunv@kvm ]# qemu-img convert -c /var/lib/libvirt/images/centos_73_x86_64.qcow2 -O qcow2 /root/openstack_image/centos7-3.qcow2
[iyunv@kvm ]# qemu-img info centos7-3.qcow2
  4、上传镜像到控制节点的glance组件中
[iyunv@kvm ~]# source admin-openrc.sh
[iyunv@kvm ~]# openstack image create "centos7" --file /root/openstack_image/centos7-3.qcow2 --disk-format qcow2 --container-format bare --public
[iyunv@kvm ~]# openstack image list
  拓展:linux与linux之间互传大文件,均要安装rsync,yum install rsync
[iyunv@kvm openstack_image]# rsync -avz --progress /root/openstack_image/centos7.iso   root@10.20.0.3:/root/test

运维网声明 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-420709-1-1.html 上篇帖子: sexi部署openstack (devstack) 、三 下篇帖子: OpenStack二三事(2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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