centos7 kvm虚拟机实现

检测是否支持KVM

KVM 是基于 x86 虚拟化扩展(Intel VT 或者 AMD-V) 技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM。有返回结果,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。

cat /proc/cpuinfo | egrep 'vmx|svm'

flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc

关闭SELinux,将 /etc/sysconfig/selinux 中的 SELinux=enforcing 修改为 SELinux=disabled

vi /etc/sysconfig/selinux

安装 KVM 环境

通过 yum 安装 kvm 基础包和管理工具

kvm相关安装包及其作用:

  • qemu-kvm 主要的KVM程序包
  • python-virtinst 创建虚拟机所需要的命令行工具和程序库
  • virt-manager GUI虚拟机管理工具
  • virt-top 虚拟机统计命令
  • virt-viewer GUI连接程序,连接到已配置好的虚拟机
  • libvirt C语言工具包,提供libvirt服务
  • libvirt-client 为虚拟客户机提供的C语言工具包
  • virt-install 基于libvirt服务的虚拟机创建命令
  • bridge-utils 创建和管理桥接设备的工具
# 安装 kvm 
# ------------------------
# yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install

yum -y install qemu-kvm libvirt virt-install bridge-utils 

# 重启宿主机,以便加载 kvm 模块
# ------------------------
reboot

# 查看KVM模块是否被正确加载
# ------------------------
lsmod | grep kvm

kvm_intel             162153  0
kvm                   525259  1 kvm_intel

开启kvm服务,并且设置其开机自动启动

systemctl start libvirtd
systemctl enable libvirtd

查看状态操作结果,如Active: active (running),说明运行情况良好

systemctl status libvirtd
systemctl is-enabled libvirtd

● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since 二 2001-01-02 11:29:53 CST; 1h 41min ago
     Docs: man:libvirtd(8)
           http://libvirt.org
安装虚拟机

安装前要设置环境语言为英文LANG="en_US.UTF-8",如果是中文的话某些版本可能会报错。CentOS 7 在这里修改 /etc/locale.conf。

kvm创建虚拟机,特别注意.iso镜像文件一定放到/home 或者根目录重新创建目录,不然会因为权限报错,无法创建虚拟机。

1、准备镜像
wget https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
2、镜像放在/home/目录
mv CentOS-7-x86_64-Minimal-1810.iso /home/
3、硬盘操作(可能不需要的)
qemu-img create -f raw /opt/CentOS-7-x86_64.raw 10G
4、安装
virt-install --virt-type=kvm --name=centos78 --vcpus=2 --memory=4096 --location=/home/CentOS-7-x86_64-Minimal-1810.iso --disk path=/home/centos78.qcow2,size=40,format=qcow2 --network bridge=br0 --graphics none --extra-args='console=ttyS0' --force

关键

网络桥接配置
# cat ifcfg-enp1s0
TYPE=Ethernet
BOOTPROTO=static
NAME=enp1s0
DEVICE=enp1s0
UUID=10a70858-2dec-4e99-afe7-7b852bc3f61c
ONBOOT=yes
BRIDGE="br0"

# cat ifcfg-br0
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=br0
UUID=10a70858-2dec-4e99-afe7-7b852bc3f61c
DEVICE=br0
ONBOOT=yes
TYPE=bridge
IPADDR=192.168.11.29
PREFIX=23
GATEWAY=192.168.10.1

虚拟机其它管理

virsh start centos72     # 虚拟机开启(启动):
virsh reboot centos72    # 虚拟机重新启动
virsh shutdown centos72  # 虚拟机关机
virsh destroy centos72   # 强制关机(强制断电)
virsh suspend centos72   # 暂停(挂起)KVM 虚拟机
virsh resume centos72    # 恢复被挂起的 KVM 虚拟机
virsh undefine centos72  # 该方法只删除配置文件,磁盘文件未删除
virsh autostart centos72 # 随物理机启动而启动(开机启动)
virsh autostart --disable centos72 # 取消标记为自动开始(取消开机启动)
https://github.com/jaywcjlove/handbook/blob/master/CentOS/CentOS7%E5%AE%89%E8%A3%85KVM%E8%99%9A%E6%8B%9F%E6%9C%BA%E8%AF%A6%E8%A7%A3.md

附加常用安装脚本

1.centos(需要在终端按照提示操作)

# cat /opt/tools/Centos_Create_Virt_Host.sh
#!/bin/bash
Name=$1
virt-install --virt-type=kvm --name="$Name" --vcpus=4 --memory=8196 --location=/home/CentOS-7-x86_64-Minimal-2207-02.iso --disk path=/home/VirtHosts/"$Name".qcow2,size=100,format=qcow2 --network bridge=br0 --graphics none --extra-args='console=ttyS0' --force

2.Ubuntu(需要在终端按照提示操作)或者(需要结合 VNC Viewer软件操作(也就是窗口))

# cat /opt/tools/Ubuntu_Create_Virt_Host.sh
#!/bin/bash
virt-install \
 --virt-type=kvm \
 --name basic \
 --ram 4096 \
 --vcpus=2 \
 --os-variant=ubuntu20.04  \
 --cdrom=/home/ubuntu-23.04-live-server-amd64.iso \
 --network=bridge=br0,model=virtio \
 --graphics vnc,listen=0.0.0.0 --noautoconsole \
--disk path=/home/VirtHosts/basic.qcow2,size=30,bus=virtio,format=qcow2

3.windows10(需要结合 VNC Viewer软件操作(也就是窗口))

下载硬盘分区格式化工具
#wget  https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.215-2/virtio-win-0.1.215.iso
#----------#
# cat  /opt/tools/Win_Create_Virt_Host.sh
#!/bin/bash
#virsh change-media  spider  hda   /home/virtio-win-0.1.215.iso
#virsh   change-media --domain spider hda /home/cn_windows_10_multiple_editions_x64_dvd_6848463.iso
#virsh domblklist spider

virt-install --name spider --ram 4096 --vcpus=2 --disk path=/home/VirtHosts/spider.img,format=qcow2,size=80,bus=virtio  --accelerate --network bridge=br0 --os-type=windows  --cdrom /home/cn_windows_10_multiple_editions_x64_dvd_6848463.iso --graphics vnc,listen=0.0.0.0,port=5921  --noautoconsole

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

完颜振江

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值