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
四、创建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
-
Language settings 2) [!] Time settings
(English (United States)) (Timezone is not set.) - [!] Installation source 4) [!] Software selection
(Processing…) (Processing…) - [!] Installation Destination 6) [x] Kdump
(No disks selected) (Kdump is enabled) -
Network configuration 8) [!] Root password
(Not connected) (Password is not set.) - [!] 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进行图形界面安装。
点击new vm,就可以开始安装虚拟机了
安装完成后,点击open—view—details,选择网卡为NAT模式
注意:在安装选择磁盘的时候,默认的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查看有端口监听就说明成功了