作者:吴业亮
博客:https://wuyeliang.blog.csdn.net/
一、硬件及软件准备:
1、物理机一台:要求支持硬件虚拟化,将centos7的mini版本安装在物理机上,如果实在找不到多余的机器可以在windows上安装vmware。然后在vmware上创建centos7的虚拟机。
2、CentOS7的镜像
下载地址:
http://ftp.sjtu.edu.cn/centos/7/isos/x86_64/
3、vmware workstations12
下载地址:
http://sw.bos.baidu.com/sw-search-sp/software/a08321b624453/VMware_workstation_full_12.5.2.exe
二、制作过程
如果使用vmware,注意开启硬件虚拟化
1 、检查系统是否支持kvm:
# egrep "(vmx|svm)" /proc/cpuinfo
正常有回显:
2、安装远程桌面访问依赖
# yum -y install libX11 xorg-x11-server-utils xorg-x11-proto-devel dbus-x11 xorg-x11-xauth xorg-x11-drv-ati-firmware xorg-x11-xinit
此处要重启机器才能生效
# reboot
3、安装kvm
# yum install epel* -y
# yum -y install qemu-kvm libvirt virt-install bridge-utils virt-manager libguestfs-tools-c
3、启动libvirtd并设置开机启动
# systemctl start libvirtd
# systemctl enable libvirtd
4、解决字体乱码问题
# yum install dejavu-lgc-sans-fonts -y
5、创建文件,大小为10G
# qemu-img create -f qcow2 /tmp/centos.qcow2 10G
6、启动虚拟机
# 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=rhel7 \
--location=/tmp/CentOS-7-x86_64-Minimal-1611.iso
8、将CentOS-7-x86_64-Minimal-1611.iso通过ftp工具上传到服务器/tmp上
9、在xmanager的xshell工具中执行,调出管理工具
# virt-manager
10、安装操作系统
略过……
三、配置虚拟机
1、启用电源管理工具
# yum install acpid
# systemctl enable acpid
2、安装cloud-init
一个实例必须与元数据服务进行交互,以便在启动时执行几个任务。例如,实例必须获取ssh公钥并运行用户数据脚本。
# yum install epel-release.noarch
# yum install cloud-init
在/etc/cloud/cloud.cfg末尾加入
user: admin
3、安装cloud-utils-growpart以允许分区调整大小
# yum install cloud-utils-growpart
4、禁用zeroconf
对于访问元数据服务的实例,必须禁用默认的zeroconf路由:
# echo "NOZEROCONF=yes" >> /etc/sysconfig/network
5、配置控制台
编辑/etc/default/grub文件并配置该 GRUB_CMDLINE_LINUX选项。删除 并添加到该选项:rhgb quietconsole=tty0 console=ttyS0,115200n8
GRUB_CMDLINE_LINUX =“crashkernel = auto console = tty0 console = ttyS0,115200n8”
运行以下命令保存更改
# grub2-mkconfig -o /boot/grub2/grub.cfg
6、关机
# shutdown -h now
四、后期处理
1、删除系统信息
虚拟以太网卡的MAC地址会记录在一些文件中,例如/etc/sysconfig/network-scripts/ifcfg-eth0和/etc/udev/rules.d/70-persistent-net.rules。每次映像启动时,虚拟以太网卡将具有不同的MAC地址,因此必须从配置文件中删除该信息。
# virt-sysprep -d centos
2、取消定义libvirt域
# virsh undefine centos
参考:
https://docs.openstack.org/image-guide/centos-image.html