部署 KVM
文章目录
一、安装相关软件
yum -y install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install virt-manager
二、启动服务并授权开机自启
systemctl enable libvirtd && systemctl start libvirtd
三、验证 kvm 的内核模块是否加载
[root@localhost ~]# lsmod |grep kvm
kvm_intel 183621 0
kvm 586948 1 kvm_intel
irqbypass 13503 1 kvm
四、配置安装程序
[root@localhost ~]# cat ks.cfg
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$KXeyOPUO$5JlUe3pPpi.hplHB71JdX/
# 系统语言
#lang zh_CN.UTF-8
lang en_US
# System authorization information
auth --useshadow --passalgo=sha512
# Use CDROM installation media
#cdrom
# Use text mode install
# 使用字符界面安装操作系统
text
# Do not configure the X Window System
# 不配置图形界面系统
skipx
# SELinux configuration
selinux --disabled
# Firewall configuration
firewall --disabled
# 设置动态获取 IP
network --bootproto=dhcp --device=eth0 --onboot=on
#network --hostname=HOSNAME
# 设置静态 IP
# network --bootproto=static --device=eth0 --gateway=192.168.122.1 --ip=192.168.122.100 --nameserver=192.168.122.1 --netmask=255.255.255.0 --activate
# 系统安装完成后 重启系统
#halt
reboot
# System timezone 系统时区
timezone Asia/Shanghai
# System services 系统启动时候自动启动的服务
services --enable="chronyd"
# System bootloader configuration
#系统启动引导方式 vda 是kvm 虚拟机时候的第块磁盘名称
bootloader --location=mbr --boot-drive=vda
# 清除主引导记录
zerombr
# 删除原来的分区和磁盘标签
clearpart --all --initlabel
# 磁盘分区信息,这里采用的是 lvm 自动分区
autopart --type=lvm
# 下面是自定义分区
#part /boot --fstype="xfs" --ondisk=vda --size=200
#part / --fstype="xfs" --ondisk=vda --size=10040
#part /var --fstype="xfs" --ondisk=vda --size=2048
#part /home --fstype="xfs" --ondisk=vda --size=2048
# 安装软件
%packages
@^minimal
@core
chrony
%end
# 禁用 kdump
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end
# 安装系统完成后执行的命令脚本
#%post --interpreter=/bin/bash
#yum install -y epel-release bash-completion vim-enhanced wget
#yum group install "Development Tools" -y
#%end
# 用户密码策略
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
五、写入自动安装脚本
[root@localhost ~]# cat install.sh
virt-install -v \
--arch x86_64 --virt-type kvm \
--name vmneko \
--memory 1024 \
--vcpus 1 \
--os-type linux \
--location /home/kvm/CentOS-7-x86_64-Minimal-1708.iso \
--network default \
--graphics none \
--os-variant rhel7 \
--initrd-inject "/home/kvm/ks.cfg" \
--extra-args "ks=file:/ks.cfg \
console=tty0 console=ttyS0,115200n8 \
hostname=Neko" \
--disk /home/kvm/Neko.qcow2,cache=writeback,io=threads,bus=virtio
六、创建磁盘
创建磁盘为50G [虚拟内存不用担心]
qemu-img create -f qcow2 /home/kvm/Neko.qcow2 50G
准备材料
CentOS-7-x86_64-Minimal-1708.iso
放到/home/kvm/ 下 [注意上传的文件名可以不一样,注意随机应变]
install.sh
放到/home/kvm/ 下
ks.cfg
放到/home/kvm/ 下
执行脚本
sh install.sh
七、登录虚拟机
用户名:root
此脚本密码为:upsa
启动kvm虚拟机 [虚拟机名为 vmneko]
virsh start vmneko
查看虚拟机列表
virsh list
登录虚拟机 [虚拟机名为 vmneko]
virsh console vmneko
或者 查看虚拟机ip [虚拟机名为 vmneko]
[root@localhost ~]# virsh domifaddr vmneko
Name MAC address Protocol Address
-------------------------------------------------------------------------------
vnet1 52:54:00:a5:3e:95 ipv4 192.168.122.96/24
ssh登录
ssh 192.168.122.96
退出登录
ctrl+]
ssh连接直接exit
强制停止虚拟机 [虚拟机名为nekoosuu]
virsh destroy nekoosuu
删除虚拟机定义 [虚拟机名为nekoosuu]
virsh undefine nekoosuu
定义VMware [文件名为nekoosuu.xml]
virsh define nekoosuu.xml
八、利用模板快速创建虚拟机[虚拟机复制]
我们可以利用已有的虚拟机配置文件和含有操作系统的虚拟磁盘快速创建一台虚拟机。
首先我们需要准备一个虚拟机配置文件的模板。
下面我们拷贝原来虚拟机的配置文件 default.xml 到当前用户的家目录下,并命名为 centos7-mod.xml
cp /etc/libvirt/qemu/networks/default.xml centos7-mod.xml
复制模板
/etc/libvirt/qemu/xxx.xml
修改模板的内容
name
uuid
disk
mac
磁盘复制
/home/kvm/xxx.qcow2
自动生成uuid
uuidgen