Linux环境KVM布署学习

1、环境检查:

查看CPU是否支持虚拟化:

cat /proc/cpuinfo |grep -E "vmx|svm"

 

Vmware虚拟机centos需要开启cpu虚拟化支持:

 

与虚拟化相关的程序包:

qemu-kvm                 主要的KVM程序包

libvirt                          用于管理超级监视程序的libvirtd服务

libvirt-client               用于管理虚拟机的virsh命令和客户端API

virt-install                  创建虚拟机所需要的命令行工具

virt-manager              GUI虚拟机管理工具

virt-top                       虚拟机统计命令

virt-viewer                  用于连接到虚拟机的图形控制台

2、KVM安装布署

yum安装布署:

*本次yum安装的版本为libvirt-4.5.0-10.el7_6.6.x86_64

yum install qemu-kvm libvirt libvirt-client virt-install virt-manager virt-top virt-viewer -y

一般情况下,只要选择了正确的程序包,系统会自动加载合适的内核模块,查看是否加载相关的内核模块

lsmod |grep kvm 

 

载入可应用的模块(AMD CPU为kvm_amd):

modprobe kvm_intel

 

/etc/libvirt/qemu.conf追加如下配置(标红部分为vnc连接密码):

vnc_listen = "0.0.0.0"

vnc_password = "bigdata"

remote_display_port_min = 5900

remote_display_port_max = 65535

/etc/libvirt/libvirtd.conf追加配置如下:

listen_tls = 0

listen_tcp = 1

tcp_port = "16509"

listen_addr = "192.168.254.100"

unix_sock_ro_perms = "0777"

unix_sock_rw_perms = "0770"

auth_tcp = "none"

max_clients = 1024

min_workers = 100

max_workers = 200

max_requests = 20

max_client_requests = 50

配置桥接网卡br0:

物理网卡配置如下:

TYPE=Ethernet

BOOTPROTO=none

DEFROUTE=yes

NAME=ens33

UUID=9936589f-50ac-4e23-b64a-a8a31abfdd91

DEVICE=ens33

ONBOOT=yes

BRIDGE=br0

桥接网卡br0配置如下:

DEVICE=br0

ONBOOT=yes

BOOTPROTO=static

TYPE=bridge

IPADDR=192.168.254.100

NETMASK=255.255.255.0

GATEWAY=192.168.254.2

启动服务:

systemctl start libvirtd

systemctl enable libvirtd

 

3、虚拟机安装布署

本次环境如下:

 

Windows机器上提前安装好vnc客户端、xmanager。

Xshell开启xmanager转发:

 

安装命令如下:

virt-install --name=centos_01 --memory 1024 --vcpus=1 --cdrom /disk2/iso/CentOS-7-x86_64-DVD-1804.iso --network bridge=br0,model=virtio --disk path=/disk2/kvm/centos_01.img,size=12,format=raw,bus=virtio --vnc --accelerate --force --autostart

参数含义:

--name    给虚拟机起个名字

--ram     分配给虚拟机的内存,单位MB

--vcpus   分配给虚拟机的cpu个数

--cdrom   指定安装文件的全路径

--disk    指定虚拟机img文件路径,如果虚拟机使用lvm分区,这里就指向到lvm的分区就行

  size    虚拟机文件大小,单位GB

  bus     虚拟机磁盘使用的总线类型,为了使虚拟机达到好的性能,这里使用virtio

  cache   虚拟机磁盘的cache类型

--network bridge    指定桥接网卡

   model  网卡模式,这里也是使用性能更好的virtio

--graphics图形参数

Centos会自动开放5900端口:

 

使用VNC客户端可进行连接,如果出现连接闪退现象,修改VNC客户端colorlevel设置为full:

 

 

安装win2012命令如下:

virt-install --name=win2012 --memory 2048 --vcpus=1 --cdrom /disk2/iso/cn_windows_server_2012_r2_vl_with_update_x64_dvd_4051059.iso --network bridge=br0,model=virtio --disk path=/disk2/kvm/win2012.img,size=50,format=raw,bus=ide --vnc --accelerate --force --autostart

*win2012安装非常慢。。。

查看虚拟机VNC端口:

ps -ef |grep qemu |grep win2012 |grep vnc

 

:1可理解为5901,依次往上加。

4、常用命令说明

virt-install

常用参数说明

–name指定虚拟机名称

–memory分配内存大小。

–vcpus分配CPU核心数,最大与实体机CPU核心数相同

–disk指定虚拟机镜像,size指定分配大小单位为G。

–network网络类型,此处用的是默认,一般用的应该是bridge桥接。

–accelerate加速

–cdrom指定安装镜像iso

–vnc启用VNC远程管理,一般安装系统都要启用。

–vncport指定VNC监控端口,默认端口为5900,端口不能重复。

–vnclisten指定VNC绑定IP,默认绑定127.0.0.1,这里改为0.0.0.0。

–os-type=linux,windows

–os-variant=rhel6

 

--name      指定虚拟机名称

--ram       虚拟机内存大小,以 MB 为单位

--vcpus     分配CPU核心数,最大与实体机CPU核心数相同

–-vnc       启用VNC远程管理,一般安装系统都要启用。

–-vncport   指定VNC监控端口,默认端口为5900,端口不能重复。

–-vnclisten  指定VNC绑定IP,默认绑定127.0.0.1,这里改为0.0.0.0。

--network   虚拟机网络配置

  # 其中子选项,bridge=br0 指定桥接网卡的名称。

 

–os-type=linux,windows

–os-variant=rhel7.2

 

--disk 指定虚拟机的磁盘存储位置

  # size,初始磁盘大小,以 GB 为单位。

 

--location 指定安装介质路径,如光盘镜像的文件路径。

--graphics 图形化显示配置

  # 全新安装虚拟机过程中可能会有很多交互操作,比如设置语言,初始化 root 密码等等。

  # graphics 选项的作用就是配置图形化的交互方式,可以使用 vnc(一种远程桌面软件)进行链接。

  # 我们这列使用命令行的方式安装,所以这里要设置为 none,但要通过 --extra-args 选项指定终端信息,

  # 这样才能将安装过程中的交互信息输出到当前控制台。

--extra-args 根据不同的安装方式设置不同的额外选项

virsh

基础命令

virsh list --all           # 查看所有运行和没有运行的虚拟机

virsh list                 # 查看在运行的虚拟机

virsh dumpxml vm-name      # 查看kvm虚拟机配置文件

virsh start vm-name        # 启动kvm虚拟机

virsh shutdown vm-name     # 正常关机

 

virsh destroy vm-name      # 非正常关机,强制关闭虚拟机(相当于物理机直接拔掉电源)

virsh undefine vm-name     # 删除vm的配置文件

 

ls /etc/libvirt/qemu

# 查看删除结果,Centos-6.6的配置文件被删除,但磁盘文件不会被删除

 

virsh define file-name.xml # 根据配置文件定义虚拟机

virsh suspend vm-name      # 挂起,终止

virsh resumed vm-name      # 恢复被挂起的虚拟机

virsh autostart vm-name    # 开机自启动vm

virsh console <虚拟机名称>   # 连接虚拟机

 

发布了16 篇原创文章 · 获赞 3 · 访问量 2216

猜你喜欢

转载自blog.csdn.net/OthersOnlyMe/article/details/104040419
今日推荐