centos7上部署kvm

如何在centos7上部署kvm,最近做了一个总结。知识点不多说,直接上脚本来部署,大家跟着做就行,有问题可以下方留言,我会及时解答。

首先我们先更新一下我们的系统和安装一些基础软件,有epel、gcc、gcc-c++、 perl、 automake、zlib和openssl等,会chaun创建/data/softs和/data/env,大家可以根据自己的目录进行安装。

yum update -y && yum install -y epel-release && yum install -y  gcc gcc-c++ perl automake autoconf libtool make yum-plugin-priorities sudo && yum install -y  wget net-tools && mkdir -p /data/softs && mkdir -p /data/env && cd /data/softs && wget "http://zlib.net/zlib-1.2.11.tar.gz" && tar -zxf zlib-1.2.11.tar.gz && cd zlib-1.2.11 && ./configure && make && make install && cd /data/softs && yum remove openssl -y && wget  "https://codeload.github.com/openssl/openssl/tar.gz/OpenSSL_1_1_0e" && tar -zxf OpenSSL_1_1_0e && cd openssl-OpenSSL_1_1_0e && ./config --prefix=/usr/ --openssldir=/etc/ssl shared zlib && make && make install && rm -rf /data/softs/*

下面是一些查看是否支持虚拟化的命令,现在服务器基本都支持,给大家几条命令,可以自己执行一下

egrep -c '(vmx|svm)' /proc/cpuinfo
grep -E 'svm|vmx' /proc/cpuinfo
egrep 'ept|vpid' /proc/cpuinfo
/usr/sbin/sestatus -v
vi /etc/selinux/config                  #需要重启后才生效
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
getenforce  #查看状态,如果上一步重启之后会输出Disabled,如果想重启,则可以使用setenforce=0

下面是安装虚拟机的一些命令,直接用yum安装就可以

yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install virt-manager virt-viewer virt-top
virsh version   #如果执行报错,则重启之后再次执行即可
yum install kvm libvirt virt-install qemu-kvm virt-manager xauth  #安装一些管理命令
systemctl enable libvirtd && systemctl start libvirtd && systemctl status libvirtd   #查看状态,此时应该为runrunning
libvirtd --version
lsmod | grep kvm

上面已经安装kvm相关命令,下面接着配置网桥,来使虚拟机间可以相互连接。

cp /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-em1.bak  #这个是我的目录,大家可以根据自己的目录来配置
vi /etc/sysconfig/network-scripts/ifcfg-em1
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=em1
DEVICE=em1
ONBOOT=yes
BRIDGE=br0
cp /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-br0

vi /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=none
DEFROUTE=yes
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.1.80
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8

cat <<EOF >> /etc/sysctl.conf           #设置网口转发
 net.ipv4.ip_forward=1
 EOF
cat /etc/sysctl.conf  
systemctl restart network  #重启网络

网桥配置好了,现在来执行一些部署kvm的相关操作

vi /etc/libvirt/qemu.conf  # vnc_listen = "0.0.0.0" 将此行注释去掉,打开vnc服务监听端口
virsh -c qemu:///system list --all   #现在执行,应该为空
mkdir -p /data/Iaas/ISO/CentOS   #我用来存放ios镜像的
mkdir -p /data/Iaas/Storage/Primary  #用来存放虚拟机文件的
qemu-img create -o compat=0.10 -f qcow2 /data/Iaas/Storage/Primary/Serv_puretmpt_centos7_sda.qcow2 100G  #创建磁盘文件
qemu-img info  /data/Iaas/Storage/Primary/Serv_puretmpt_centos7_sda.qcow2 #查看磁盘信息

大家注意下面这条命令:--cdrom /data/Iaas/ISO/CentOS/CentOS-7-x86_64-Minimal.iso代表我的系统镜像的路径,--disk path=/data/Iaas/Storage/Primary/Serv_puretmpt_centos7_sda.qcow2是大家刚刚创建的文件路径,--graphics vnc,password=test,port=5900这个是vnc的端口号和密码

virt-install --connect=qemu:///system --name Serv_puretmpt_centos7 --ram 8192 --vcpus=4 --disk path=/data/Iaas/Storage/Primary/Serv_puretmpt_centos7_sda.qcow2,device=disk,format=qcow2,bus=virtio,cache=none,size=100 --cdrom /data/Iaas/ISO/CentOS/CentOS-7-x86_64-Minimal.iso --graphics vnc,password=test,port=5900 --network bridge=br0,model=virtio,model=e1000 --os-type=linux --virt-type=kvm --accelerate --network bridge=br0 --noautoconsole

创建完毕之后大家执行:

virsh list --all  #查看创建的虚拟机         1     Serv_puretmpt_centos7          running

大家创建成功之后,需要通过vnc客户端去连接,进入系统进行安装系统配置,但是如果不开放防火墙端口,是没有办法进行vnc连接的

firewall-cmd --zone=public --add-port=5900-5999/tcp --permanent   #开放端口号段,以便vnc连接使用
firewall-cmd --reload  #重启后生效
virsh autostart Serv_puretmpt_centos7  #开机自动启动    virsh autostart --disable Serv_puretmpt_centos7 #关闭开机启动

大家进去系统之后就是简单的安装系统了,如果有问题,欢迎大家给我留言。

最后,系统配置完毕,大家可以安装一些基础软件,例如和我上面的第一条命令一样,可以安装一些最基本的,这样以后再创建虚拟机直接可以克隆刚刚创建的这个了,大家需要通过

virsh edit XXXXX     # 找到<graphics>标签来修改vnc端口号和密码,同一台主机下,vnc端口号不能重复,否则创建不成功  <graphics type='vnc' port='5901' autoport='no' passwd='test'/>
virt-clone -o Serv_puretmpt_centos7 -n Serv_app_centos7 --file /data/Iaas/Storage/Primary/Serv_app_centos7_sda.qcow2   #此命令用来克隆刚才创建的虚拟机,克隆完毕之后只需要修改ip即可


可能遇到的问题:如果进入vnc之后,发现错误,提示找不到启动镜像,大家要看镜像路径是否正确,如果正确,可以重新执行一下下面这条命令:

virt-install --connect=qemu:///system --name Serv_puretmpt_centos7 --ram 8192 --vcpus=4 --disk path=/data/Iaas/Storage/Primary/Serv_puretmpt_centos7_sda.qcow2,device=disk,format=qcow2,bus=virtio,cache=none,size=100 --cdrom /data/Iaas/ISO/CentOS/CentOS-7-x86_64-Minimal.iso --graphics vnc,password=test,port=5900 --network bridge=br0,model=virtio,model=e1000 --os-type=linux --virt-type=kvm --accelerate --network bridge=br0 --noautoconsole

其他问题暂未发现,欢迎大家留言!!!












猜你喜欢

转载自blog.csdn.net/u014239709/article/details/79617187
今日推荐