kvm部署过程记录

2020-07-31 14:12:14 浏览数 (1)

环境准备

  • centos7.6
  • CPU支持VT技术
查看是否支持KVM
代码语言:javascript复制
# egrep 'vmx|svm'  /proc/cpuinfo
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch ssbd ibrs ibpb stibp tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat spec_ctrl intel_stibp flush_l1d arch_capabilities

输出内容包含vmx或svm字段表示CPU支持

禁用selinux
代码语言:javascript复制
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux
设置语言
代码语言:javascript复制
# cat /etc/locale.conf 
LANG="en_US.UTF-8"
更换yum源
代码语言:javascript复制
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum -y update

安装KVM

通过yum安装
代码语言:javascript复制
yum -y install qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools bridge-utils virt-install

包名介绍

  • qumu-kvm 主要的kvm程序包
  • python-virtinst 创建虚拟机所需要的命令行工具和程序库
  • virt-manager GUI虚拟机管理工具
  • libvirt C语言工具包,提供libvirt服务
  • libvirt-client 为虚拟客户提供的C语言工具包
  • virt-install 基于libvirt服务的虚拟机创建命令
  • bridge-utils 创建和管理桥接设备的工具
重启服务器,加载kvm模块
代码语言:javascript复制
init 6
or
reboot
查看KVM模块是否加载
代码语言:javascript复制
# lsmod | grep kvm
kvm_intel             183737  0 
kvm                   615914  1 kvm_intel
irqbypass              13503  1 kvm
开启kvm服务
代码语言:javascript复制
systemctl start libvirtd
systemctl enable libvirtd

安装虚拟机

创建目录
代码语言:javascript复制
mkdir -p /data/kvm/{images,virtual-server}
上传镜像

这里建议使用filezilla上传,使用rz上传可能会失败

配置网卡
代码语言:javascript复制
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-br0
# cat /etc/sysconfig/network-scripts/ifcfg-br0 
TYPE=Bridge
BOOTPROTO=static
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.152.160
PREFIX=24
GATEWAY=192.168.152.2
DNS1=114.114.114.114

修改之前的网卡配置

代码语言:javascript复制
# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0

重启网卡

代码语言:javascript复制
systemctl restart network
创建虚拟机
代码语言:javascript复制
virt-install 
--virt-type=kvm 
--os-type=linux 
--name=web-server 
--vcpus=1,maxvcpus=2 
--memory=512,maxmemory=1024 
--location=/data/kvm/images/CentOS-7-x86_64-Minimal-1810.iso 
--disk path=/data/kvm/virtual-server/web-server.qcow2,size=10,format=qcow2 
--network bridge=br0 
--graphics none 
--extra-args='console=tty0 console=ttyS0' 
--force

上面命令执行无误后,就会出现设置的命令行界面

根据提示选择要配置的选项,首先配置时区,输入 2

根据提示一步一步进行安装,其他的也类似,注意:! 表示必须要设置的 所有带有 ! 的都设置完毕后,就可以输入 b 继续安装了

到这就安装完成了

虚拟机操作

虚拟机相关的一些命令

查看虚拟机

代码语言:javascript复制
# virsh list
 Id    Name                           State
----------------------------------------------------
 2     web-server                     running
 
 virsh list --all 列出所有虚拟机

连接虚拟机

代码语言:javascript复制
virsh console web-server

启停相关的命令

代码语言:javascript复制
virsh start web-server     # 虚拟机开启(启动):
virsh reboot web-server    # 虚拟机重新启动
virsh shutdown web-server  # 虚拟机关机
virsh destroy web-server   # 强制关机(强制断电)
virsh suspend web-server   # 暂停(挂起)KVM 虚拟机
virsh resume web-server    # 恢复被挂起的 KVM 虚拟机
virsh undefine web-server  # 该方法只删除配置文件,磁盘文件未删除
virsh autostart web-server # 随物理机启动而启动(开机启动)
virsh autostart --disable web-server # 取消标记为自动开始(取消开机启动)

上面是简单的部署过程,后面会继续整理网络相关的配置过程

0 人点赞