第一步:搭建KVM环境
KVM简单环境的搭建
第二步:上传centos的ios文件
推荐使用ftp工具上传
上传后将ios文件移动到/var/lib/libvirt/images/ 之下
第三步:KVM环境下的centos7虚拟机安装
制作镜像推荐内存2g 2cpu以及9g硬盘即可
安装选择基本开发工具类型
第四步:安装完成后定制化镜像
1:查看是否有网络
ping baidu.com
ifconfig
如果没有网络:
cd /etc/sysconfig/network-scripts/
ls
vi ifcfg-enth0
修改onboot=no 为yes ,那么就可以开机动态分配ip
2:换源
yum install openssh-server
yum -y install wget
#备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
#获取阿里源配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#更新epel仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#更新cache
yum clean all
yum makecache
3:关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
4:使用qemu-guest-agent进行shutdown配置
yum install qemu-guest-agent
systemctl start qemu-guest-agent
systemctl enable qemu-guest-agent #开机自启
而后,在宿主机的/etc/libvirt/qemu/ 下面修改xml文件
cd /etc/libvirt/qemu/
ls
修改centos7.0.xml 在devices中添加:
<channel type="unix">
<source mode="bind"/>
<target type="virtio" name="org.qemu.guest_agent.0"/>
</channel>
重启虚拟机,
virsh shutdown 虚拟机名 #可以看出直接关闭了
virsh start 虚拟机名
测试qemu-guest-agent(可省略)
使用qemu命令获取kvm虚拟机的ip地址
下面的命令在宿主机终端执行。 其中centos7.0为虚拟机名
virsh qemu-agent-command centos7.0 '{"execute":"guest-network-get-interfaces"}'
正确的返回结果:
5:宿主机启用virsh console
在虚拟机中root用户下编辑grub配置文件 vim /etc/default/grub,将文本添加console=ttyS0,115200到GRUB_CMDLINE_LINUX参数注意不是在宿主机中操作
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet console=ttyS0,115200”
并在虚拟机中命令输入(cento7虚拟机中才需要):
sudo systemctl start serial-getty@ttyS0.service
sudo systemctl enable serial-getty@ttyS0.service
重启测试:
virsh console centos7.0(虚拟机名)
回车
便能进入了。
6:使用virt-sysprep
在宿主机终端输入
virt-sysprep -d 虚拟机名
可能出现的问题:
简单的解决方式:修改对于的qcow2文件权限为777
在宿主机终端:
cd /var/lib/libvirt/images
sudo chmod 777 centos7.0.qcow2
重新输入上面的命令即可。