renben-openstack-制作镜像操作

openstack镜像制作(虚拟机192.168.124.6

制作centos7镜像,OpenStack支持qcow2 ios等多种镜像规格

1)创建镜像的硬盘

2)删除镜像的唯一性,封装压缩

在找一个虚拟机,专门用来做镜像,需要开启虚拟化

  yum install -y libvirt qemu-kvm libguestfs-tools

  qemu-img create -f qcow2 /tmp/centos.qcow2 20G

 

  yum install virt-install -y

  systemctl start libvirtd

  systemctl enable libvirtd

  modprobe kvm

  virt-install --virt-type kvm --name centos --ram 1024 --disk /tmp/centos.qcow2,format=qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=centos7.0 --location=/tmp/CentOS-7-    x86_64-Minimal-1708.iso

通过TightVNC Viewer连接kvm主机(ip:192.168.124.6),然后开始安装即可,如下 

等几分钟安装完成选则reboot

然后在linux主机执行如下,启动虚拟机

  virsh start centos

  再通过vnc连接

 

   输入账号密码登陆进去

  vi /etc/sysconfig/network-scripts/ifcfg-eth0

  ONBOOT设置为yes

  去掉uuid这行

  service network restart 重启服务

  ip addr 查看ip地址,显示如下

kvm的物理机上登陆虚拟机

  ssh root@192.168.122.170 账号:root 密码:root

做如下修改:

  sed 's/.*UseDNS.*/UseDNS no/g' /etc/ssh/sshd_config -i

  sed 's/^#PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config -i

  sed 's/GSSAPIAuthentication.*/GSSAPIAuthentication no/g' /etc/ssh/sshd_config -i

  关闭selinux iptables

  sed 's/^SELINUX.*/SELINUX=disabled/g' /etc/selinux/config -i

  iptables -F

  systemctl stop firewalld

  ystemctl disable firewalld

  vim /etc/default/grub

  grub_cmdline_linux 这行添加如下一段

  console=ttys0,115200n8

变成如下

  GRUB_CMDLINE_LINUX="crashkernel=auto console=ttys0,115200n8 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"

  yum install vim net-tools wget lrzsz unzip  -y

  把cloud.zip上传到192.168.122.170这个机器上

解压

  unzip  cloud.zip

   mv centos-cloud-init.sh cloud-init.sh

  chmod 755 cloud-init.sh

  chmod +x cloud-init.sh

  sed -i 's/\r//g' cloud-init.sh

  mv cloud-init.sh /usr/bin/

  echo ' /bin/bash /usr/bin/cloud-init.sh' >> /etc/rc.d/rc.local

 注:cloud-init.sh解释

在云平台中,创建云主机的时候希望能够对主机进行一些初始化操作,如配置ip,主机名,密码,ssh登录等 

编辑网卡配置文件

  # cat /etc/sysconfig/network-scripts/ifcfg-eth0

  DEVICE=eth0

  TYPE=Ethernet

  ONBOOT=yes

  NM_CONTROLLED=no

  BOOTPROTO=dhcp

  一定要删除MAC和UUID

删除网卡规则文件

  rm -f /etc/udev/rules.d/70-persistent-net.rules

清除相关记录

  yum clean all

  rm -rf /var/log/yum.log

  rm -rf /var/lib/yum/*

  rm -rf /root/install.log

  rm -rf /root/install.log.syslog

  rm -rf /root/anaconda-ks.cfg

  rm -rf /var/log/anaconda*

  rm -rf /etc/udev/rules.d/70-persistent-net.rules

关机

  history -c; init 0;

  然后在kvm物理机上执行如下命令

  virt-sysprep -d centos   #清理机器信息

  cd /tmp/

  virt-sparsify --compress ./centos.qcow2 ./centos7.qcow2

 压缩镜像,压缩之后的镜像centos7.qcow2保存到桌面,可以上传到openstack

posted @ 2024-12-25 16:06  疯狂的米粒儿  阅读(5)  评论(0编辑  收藏  举报