专栏首页dogfeikvm部署过程记录

kvm部署过程记录

环境准备

  • centos7.6
  • CPU支持VT技术
查看是否支持KVM
# 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
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux
设置语言
# cat /etc/locale.conf 
LANG="en_US.UTF-8"
更换yum源
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安装
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模块
init 6
or
reboot
查看KVM模块是否加载
# lsmod | grep kvm
kvm_intel             183737  0 
kvm                   615914  1 kvm_intel
irqbypass              13503  1 kvm
开启kvm服务
systemctl start libvirtd
systemctl enable libvirtd

安装虚拟机

创建目录
mkdir -p /data/kvm/{images,virtual-server}
上传镜像

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

配置网卡
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

修改之前的网卡配置

# 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

重启网卡

systemctl restart network
创建虚拟机
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 继续安装了

到这就安装完成了

虚拟机操作

虚拟机相关的一些命令

查看虚拟机

# virsh list
 Id    Name                           State
----------------------------------------------------
 2     web-server                     running
 
 virsh list --all 列出所有虚拟机

连接虚拟机

virsh console web-server

启停相关的命令

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 条评论
登录 后参与评论

相关文章

  • ubuntu下解决Unment dependencies问题

    造成这种问题的原因是因为在Ubuntu下,例如Ubuntu 14.04或者16.04一般是不会出现broken dependencies,或者出现unmet d...

    dogfei
  • python基础—分隔符和终止符

    dogfei
  • ubuntu下使用iptables

    Chain FORWARD (policy ACCEPT) target prot opt source destinati...

    dogfei
  • 算法模板——splay区间反转 1

    实现的功能:将序列区间反转,并维护 详见BZOJ3223 1 var 2 i,j,k,l,m,n,head,a1,a2:longint; 3 ...

    HansBug
  • 3223: Tyvj 1729 文艺平衡树

    3223: Tyvj 1729 文艺平衡树 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1347  Sol...

    HansBug
  • JDK源码中,都有哪些NB的设计模式?

    肥朝小声逼逼:这个模式,其实我们每天都在用到,但是你可能却浑然不知。只要你用到面向接口编程,其实都是在用桥接模式。

    用户5224393
  • 安卓开发--android library projects cannot be launched错误

    听着music睡
  • [万金油-编码问题] 附_批量修改图名源码

    DataScience
  • 一个简单而强大的深度学习库—PyTorch

    AiTechYun 编辑:yuxiangyu 每过一段时间,总会有一个python库被开发出来,改变深度学习领域。而PyTorch就是这样一个库。 在过去的几周...

    AiTechYun
  • delphi record中的case

    战神伽罗

扫码关注云+社区

领取腾讯云代金券