KVM部署总结

KVM部署踩坑文档总结

针对centos7版本以上

KVM是虚拟监控程序Linux里的虚拟机

\1. 首先关闭防火墙 systemctl stop firewalld

\2. 虚拟机vmware设置为NAT模式

\3. 虚拟机设置选项CPU开启虚拟化

![img](file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml41148\wps1.jpg)

键入命令

\#egrep ‘(vmx|svm)’ --color=always /proc/cpuinfo 查看是否开启虚拟化有vmx则表示已开启

\4. 添加阿里云源和扩展源

\

#cd /etc/yum.repos.d/  

\#yum install epel-release

# wget命令下载: wget [options] [url]

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# curl命令下载: curl [options] [url]

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

\5. 更新本地缓存

#yum clean all

\#yum makecache

\#yum update

\6. 安装kvm包

yum -y install kvm  libvirt \

\> tunctl bridge-utils virt-manager qemu-kvm-tools \

\> virt-viewer virt-v2v libguestfs-tools

注意

Python-virtinst 已经在centons7中被virt-manager合并所以无需安装

Tunctl安装报错 没有这个安装包

# 配置 YUM 源

vim /etc/yum.repos.d/nux-misc.repo

 

[nux-misc]

name=Nux Misc

baseurl=http://li.nux.ro/download/nux/misc/el7/x86_64/

enabled=0

gpgcheck=1

gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro

yum --enablerepo=nux-misc install tunctl

\7. 查看kvm是否成功加载

有回显表示成功

\#lsmod |grep kvm

\8. #Virt-insatll 如果显示未找到此命令

安装以下包

\#yum install libguestfs-tools

\#yum install virt-install.noarch

\9. 配置网卡

在/etc/sysconfig/network-scripts/ifcfg-ens33下配置

首先添加桥接模式

Vim ifcfg-ens33

在其中添加

BRIDGE=”br0”

\#cp ifcfg-ens33  ifcfg-br0

在ifcfg-br0中添加以下内容

DEVICE=br0

TYPE=Bridge

ONBOOT=yes

BOOTPROTO=none

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

IPADDR=192.168.80.3

PREFIX=24

GATEWAY=192.168.80.100

DNS1=114.114.114.114

如果中途ens33  ip没有不用管

\#systemctl restart NetworkManager
\#mkdir /home/cen-7

Winscp软件远程连接虚拟机并将centos镜像文件上传到此目录

#mkdir /home/kvm-cen

存放kvm硬盘存放目录

#cd  /home/kvm-cen

qemu-img create -f qcow2 centos-6.4.qcow2 20G

\#qemu-img create -f qcow2 centos-x.qcow2 20G

 

virt-install --virt-type kvm --name=centos6.4 --ram=1024 \

\> --arch=x86_64 --vcpus=1 --check-cpu --os-type=linux --os-variant=rhel6 \

\> --network bridge=br0  \

\> -c /home/iso/CentOS-6.4-x86_64-bin-DVD1.iso \

\> --disk path=/home/centos6.4/centos-6.4.qcow2,format=qcow2 \

\> --noautoconsole --vnc --vncport=5900 --vnclisten=0.0.0.0

\10. 注意virt-install更改

备注:

参数说明:

--name指定虚拟机名称
--ram分配内存大小。
--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

详解:红色文字为注释

virt-install(安装) --virt-type kvm(类型为kvm) --name=centos6.4(名字为centos6.4,命名可以自定义但是不要重复) --ram=1024(虚拟机内存,默认MB为单位) \

> --arch=x86_64 --vcpus=1(cpu核数) --check-cpu --os-type=linux (类型) --os-variant=rhel6 (常用参数rhel6、rhel5、window等) \

> --network bridge=br0 (网卡选项,上边网络设置的为br0) \

> -c /home/iso/CentOS-6.4-x86_64-bin-DVD1.iso (iso镜像文件路径,要确认写绝对路径) \

> --disk path=/home/centos6.4/centos-6.4.qcow2,format=qcow2 (硬盘路径和硬盘格式,现在选用qcow2格式,优势是可以压缩快照) \

> --noautoconsole --vnc --vncport=5900(VNC端口,不能冲突。默认5900开始) --vnclisten=0.0.0.0(0.0.0.0即可)

备注:创建主机,以上参数会经常使用,在确认路径时不能写错,否则虚拟机不能启动。

#virt-manager 命令打开kvm 图形管理器

备注:virsh是常用虚拟机管理命令

命令详解:

virsh list --all 查看全部虚拟机

virsh start (虚拟机名称) 启动

virsh destroy (虚拟机名称) 直接关机

virsh undefine (虚拟机名称) 删除

virsh edit (虚拟机名称) 修改XML

virsh shutdown (虚拟机名称) 关闭

virsh suspend (虚拟机名称) 挂起

virsh resume (虚拟机名称) 恢复

Ssh 远程登录查看是否成功

二 .创建新的虚拟机

\1. 拷贝模板 将上步中创建的虚拟机目录拷贝到新目录中

Cp -r /home/cen7 /home/kvmcp

Cd /home/kvmcp

Qemu-img create-f qcow2 centos-add.qcow2 500G

备注:qemu-img create 为创建磁盘命令,-f qcow2 为指定磁盘格式qcow2格式,centos-6.6-add.qcow2 为磁盘名称,-add 为了区分为扩展磁盘,500G 为指定磁盘大小。

在/etc/run/libvirst/ 目录中查看cen7.xml

更改其中的配置

Name

Uuid

Port

Slot

Dev

Mac addr

修改硬盘路径

![img](file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml41148\wps2.jpg)

备注:由于虚拟机所谓文件夹的变更(因为已经cp复制),所以xml文件中的硬盘路径需要做相应的修改。

修改对应路径

将disk中的内容复制到其下面粘贴一份在更改

遇到PCI报错将slot 和dev更改

原因是插槽满了 dev磁盘更改

\2. Virsh define cen7.xml

生效

\3. 启动在kvm管理器中

#lsblk 查看磁盘

#fdisk /dev/vdb

N 选项 p 分区 w 保存

磁盘分区格式化

Mkfs.ext4 /dev/vdb1

挂载

Mkdir disk

Vim /etc/fstab

Mount -a 挂载情况

Uname -r 查看版本

Uname -a 查看内核

Cat /proc/release

posted @ 2023-08-08 17:29  解放者-cracer  阅读(156)  评论(0)    收藏  举报