KVM部署总结
KVM部署踩坑文档总结
针对centos7版本以上
KVM是虚拟监控程序Linux里的虚拟机
\1. 首先关闭防火墙 systemctl stop firewalld
\2. 虚拟机vmware设置为NAT模式
\3. 虚拟机设置选项CPU开启虚拟化

键入命令
\#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
修改硬盘路径

备注:由于虚拟机所谓文件夹的变更(因为已经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

浙公网安备 33010602011771号