centos7.7下kvm虚拟机安装配置

Centos7.7下安装配置kvm虚拟机

一、 主机信息

IP 主机名 网络模式 用途
192.168.66.142 Centos ETH 物理机
192.168.122.10-19 Vm01-vm10 NAT 虚拟机

二、安装kvm

(1) 确认kvm有 CPU 的支持(Intel VT 或 AMD SVM)

[[email protected] ~]#egrep ‘^flags.*(vmx|svm)’ /proc/cpuinfo

如果没显示,说明cpu不支持虚拟化

(2) 安装kvm libvirted

yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst qemu-kvm qemu-img virt-install

(3) 启动libvirted

service libvirtd start
systemctl enable libvirtd

(4) 检查kvm是否安装成功

[[email protected] ~]#virsh list
Id Name State

/sbin/lsmod | grep kvm

如果看到kvm模块,说明安装成功了

二、 配置kvm网络

(1) 网桥模式

创建br0文件:

vi /etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
BROADCAST=10.207.20.255
IPADDR=10.207.20.200
NETMASK=255.255.255.0
NETWORK=10.207.20.0
ONBOOT=yes

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0

重起网络服务生效

service network restart

打开ip转发

echo 1 > /proc/sys/net/ipv4/ip_forward #虚拟机上网

检查桥接网络

[[email protected] ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.842b2b74e1b6 no eth0
virbr0 8000.000000000000 yes

br0是我们配置的桥接网卡,virbr0是系统脚本自动配置的NAT网卡

(2) NAT模式

kvm安装完成后默认就是nat模式,用brctl show查看,看有没有这行:

virbr0 8000.525400583f46 yes virbr0-nic

如果虚机连接正常,如下:

[[email protected] vm]# brctl show
bridge name bridge id STP enabled interfaces
br-76a4bf8a92a3 8000.02423cb000e3 no
docker0 8000.0242f329346a no veth187f10d
veth82c5c78
veth83146c6
veth9dcde00
vethb2fd0be
vethbb7d678
vethfe3eff1
virbr0 8000.525400583f46 yes virbr0-nic
vnet0
vnet1
vnet2
vnet3
vnet4
vnet5
vnet6
vnet7
vnet8
vnet9

三、 安装vnc

(1) 安装tigervnc-server

yum install tigervnc-server

安装linux下图形界面相关软件包

yum groupinstall “X Window system”
yum groupinstall “GNOME Desktop”

(2)
运行vncserver,会创建/root/.vnc目录
但这时的界面为xterm界面,还不是正常的x windows界面,还需要修改/root/.vnc/xstartup配置如下:
末尾加上

gnome-session &

重启vncserver

vncserver -kill :1
vncserver

(3)
vncpasswd
创建密码

(4)
netstat -nulp | grep vnc

tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 29167/Xvnc
tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 29167/Xvnc
tcp 0 0 :::6001 ::???? LISTEN 29167/Xvnc

看到监听端口,表示vnc可以使用了

(5)

客户端用vncview连接 192.16.66.142:5901

centos7.7下kvm虚拟机安装配置

四、创建kvm虚拟机

(1)命令行安装:

virt-install --name=test --memory=1024 --vcpus=2 --os-type=linux --location=/home/yunwei/CentOS-7-x86_64-Minimal-1804.iso --disk path=/data/vm/test.img,size=100 --graphics=none --console=pty,target_type=serial --extra-args=“console=tty0 console=ttyS0”

正常情况下会看到这个界面,然后一步一步安装就行:

================================================================================
Installation

  1. Language settings 2) [!] Time settings
    (English (United States)) (Timezone is not set.)
  2. [!] Installation source 4) [!] Software selection
    (Processing…) (Processing…)
  3. [!] Installation Destination 6) [x] Kdump
    (No disks selected) (Kdump is enabled)
  4. Network configuration 8) [!] Root password
    (Not connected) (Password is not set.)
  5. [!] User creation
    (No user will be created)
    Please make your choice from above [‘q’ to quit | ‘b’ to begin installation |
    ‘r’ to refresh]:

完成感叹号的选项,按b继续安装,然后就会自动根据–disk选项的创建100G的磁盘进行安装操作系统了

(2)图形安装

在windows客户端用vncview连接192.168.66.142:5901,输入密码

打开virt-install-manager进行图形界面安装。

centos7.7下kvm虚拟机安装配置
centos7.7下kvm虚拟机安装配置
点击new vm,就可以开始安装虚拟机了

安装完成后,点击open—view—details,选择网卡为NAT模式
centos7.7下kvm虚拟机安装配置

注意:在安装选择磁盘的时候,默认的vm目录为/var/lib/libvirt,可以手动选择大空间的磁盘进行创建镜像。

(3) 访问虚拟机

采用NAT方式的虚机,和物理机是可以互相访问,虚机可以访问外网,外网不能访问到虚机,需要通过物理机做端口转发。

这里采用rinetd进行ssh的端口转发,也可以安装一个nginx,配置tcp或者http反向代理。

下载rinetd:

http://www.rinetd.com/download/rinetd.tar.gz

tar zxf rinetd.tar.gz
cd rinetd
make

vi config.tmp

0.0.0.0 63210 192.168.122.10 22
0.0.0.0 63211 192.168.122.11 22
0.0.0.0 63212 192.168.122.12 22

运行rinetd:

./rinetd –c config.tmp

netstat –nlp|grep rinetd查看有端口监听就说明成功了