概述 通常情况我们个人会在windows环境上来创建虚拟机,但是有时候也需要在linux服务器环境上创建虚拟机,这里对创建流程进行一下记录。我这里的环境是centos7。
1 2 3 4 5 6 7 $ uname -a Linux a.a.a.com 3.10.0-1160.15.2.el7.x86_64 #1 SMP Wed Feb 3 15:06:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/centos-release CentOS Linux release 7.9.2009 (Core)
检查CPU是否支持虚拟化 1 2 3 $ 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 art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear spec_ctrl intel_stibp flush_l1d
有vmx或者svm就说明CPU支持虚拟化,vmx是Intel的CPU,svm是AMD的CPU。
安装配置KVM环境 1 yum -y install qemu-kvm qemu-kvm-tools qemu-img virt-manager libvirt libvirt-python libvirt-client bridge-utils virt-viewer virt-install
启动libvirtd并设置开机自启,
1 2 3 systemctl enable libvirtd systemctl start libvirtd
查看模块是否启动,
1 2 3 4 5 $ lsmod | grep kvm kvm_intel 188740 14 kvm 637289 1 kvm_intel irqbypass 13503 7 kvm
关闭防火墙,
1 2 3 systemctl stop firewalld systemctl disable firewalld
关闭selinux,
1 2 3 $ vim /etc/sysconfig/selinux SELINUX=disabled
需要重启电脑使得selinux设置生效,
网络配置 为了虚拟机能够通过桥接模式上网,需要配置一个网桥。
首先将原本的网卡配置复制一份为br0,方便直接修改:
1 cp /etc/sysconfig/network-scripts/ifcfg-eno1 /etc/sysconfig/network-scripts/ifcfg-br0
修改原本网卡eno1的配置如下,注意增加了BRIDGE=br0
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 TYPE=Ethernet BRIDGE=br0 PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=eno1 UUID=d92ae489-8b80-4f0b-a8cf-fa06cb539547 DEVICE=eno1 ONBOOT=yes
网桥br0的配置为(如果是复制的,记得把uuid随便改一下):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 TYPE=Bridge PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=br0 UUID=d92ae489-8b80-4f0b-a8cf-fa06cb539568 DEVICE=br0 ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=9.9.9.9
配置完成后重启网络(注意别改错了,不然重启网络失败,没有网了,ssh也会断掉):
1 systemctl restart network
创建虚拟机 1 2 3 4 5 6 7 virt-install --name=rancher --memory=8000 --vcpus=2 \ --os-type=linux --os-variant=rhel7 \ --location=/home/live/CentOS-7-x86_64-Minimal-1804.iso \ --disk path=/home/live/kvm_data/rancherVM.img,size=200 \ --bridge=br0 \ --graphics=none \ --console=pty,target_type=serial --extra-args="console=tty0 console=ttyS0"
其中:
--name=rancher
指定了虚拟机名称为rancher。
--memory=8000
指定了虚拟机内存为8000M。
--vcpus=2
指定了虚拟机核数为2。
--location=/home/live/CentOS-7-x86_64-Minimal-1804.iso
指定了安装时的系统镜像的位置。
--disk path=/home/live/kvm_data/rancherVM.img,size=200
指定了存储虚拟机的位置,虚拟机大小为200G。
正常情况下,会进入centos的安装指引,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Starting installer, one moment... anaconda 21.48.22.134-1 for CentOS 7 started. * installation log files are stored in /tmp during the installation * shell is available on TTY2 * when reporting a bug add logs from /tmp as separate text/plain attachments 07:24:47 Not asking for VNC because we don't have a network ================================================================================ ================================================================================ Installation 1) [x] Language settings 2) [!] Time settings (English (United States)) (Timezone is not set.) 3) [!] Installation source 4) [!] Software selection (Processing...) (Processing...) 5) [!] Installation Destination 6) [x] Kdump (No disks selected) (Kdump is enabled) 7) [ ] Network configuration 8) [!] Root password (Not connected) (Password is not set.) 9) [!] User creation (No user will be created) Please make your choice from above ['q' to quit | 'b' to begin installation | 'r' to refresh]:
然后进入了正常的centos安装流程,将!
的选项配置好之后,输入b
进入安装流程,等待安装完毕即可。
其它的一些命令 设置宿主机启动时,虚拟机也自动启动:
查看当前所有虚拟机的情况:
进入虚拟机的console:
停止并删除虚拟机:
1 2 3 4 5 virsh destroy rancher virsh undefine rancher rm /home/live/kvm_data/rancherVM.img
参考 CentOS7上安装并配置KVM,以及通过KVM安装CentOS系统
centos7之KVM虚拟化平台
Centos 安装KVM并安装虚拟机