搭建基于kvm云服务系统 kvm云平台管理_vim

第一,搭建KVM服务器

搭建基于kvm云服务系统 kvm云平台管理_xml_02

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_03

搭建基于kvm云服务系统 kvm云平台管理_xml_04

搭建基于kvm云服务系统 kvm云平台管理_centos_05

搭建基于kvm云服务系统 kvm云平台管理_centos_06

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_07

 

1,虚拟化平台的安装

# yum -y install qemu-kvm  libvirt-daemon  libvirt-client  libvirt-daemon-driver-qemu
# systemctl start libvirtd
# ls /etc/libvirt/qemu
# ls /var/lib/libvirt/images/

 

第二,管理KVM平台

 

1,virsh 命令工具使用

搭建基于kvm云服务系统 kvm云平台管理_xml_08

搭建基于kvm云服务系统 kvm云平台管理_vim_09

 

搭建基于kvm云服务系统 kvm云平台管理_vim_10

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_11

搭建基于kvm云服务系统 kvm云平台管理_vim_12

 

2,常用镜像磁盘类型

搭建基于kvm云服务系统 kvm云平台管理_vim_13

 

3,qemu-img 命令

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_14

搭建基于kvm云服务系统 kvm云平台管理_xml_15

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_16

创建一个镜像磁盘文件:

# qemu-img create -f qcow2 disk.img 50G


# qemu-img create -b disk.img -f qcow2 disk1.img        #使用后端模板文件创建一个新镜像盘文件

# qemu-img create -b disk.img -f qcow2 disk2.img 16G    #使用后端模板创建一个16G的镜像盘文件

# qemu-img info disk1.img                               #查看镜像文件信息

搭建基于kvm云服务系统 kvm云平台管理_xml_17

 

第三,virsh 虚拟机管理

 

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_18

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_19

搭建基于kvm云服务系统 kvm云平台管理_centos_20

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_21

创建一个虚拟网络

# pwd
/etc/libvirt/qemu/networks

#vim vbr.xml
<network>
  <name>vbr</name>                                        #vbr为虚拟网络的名字
  <forward mode='nat'/>
  <bridge name='vbr' stp='on' delay='0'/>
  <ip address='192.168.1.254' netmask='255.255.255.0'>    #ip为192.168.1.254
    <dhcp>
      <range start='192.168.1.100' end='192.168.1.200'/>    #IP范围
    </dhcp>
  </ip>
</network>
                      
# virsh net-define vbr.xml                  #定义vbr虚拟网络
# virsh net-start vbr                        #启动vbr虚拟网络
# ifconfig                                    #验证
# virsh net-autostart vbr                     #设置vbr虚拟网络开机启动

# cat vbr.xml                                 #启动后的配置文件
<network>
  <name>vbr</name>
  <uuid>1612c703-ac5d-40f2-a53b-4be1ae53f7ce</uuid>
  <forward mode='nat'/>
  <bridge name='vbr' stp='on' delay='0'/>
  <mac address='52:54:00:3e:04:67'/>
  <ip address='192.168.1.254' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.1.100' end='192.168.1.200'/>
    </dhcp>
  </ip>
</network>
~

第四,xml管理

步骤一:导出虚拟机xml的配置文件
# cd /etc/libvirt/qemu/
# virsh dumpxml node1
# virsh dumpxml node1 > node.xml                 #导出虚拟机node1]的配置文件为node.xml

#virsh命令: virsh edit 虚拟机名
#备注: 可以修改 name, memory, disk, network等字段

#vim edit node1
<domain type='kvm'>
  <name>node1</name>                                     //node1为虚拟机的名称,可以随意修改
  <uuid>76d5dc2c-5eef-4e30-8b6c-e58851814f84</uuid>      //uuid可以去掉
  <memory unit='KiB'>2048000</memory>                    //内存大小可以调整
  <currentMemory unit='KiB'>2048000</currentMemory>
  <disk type='file' device='disk'>
      <source file='arbbvirt/images/rhel7.2.qcow2'/>    //后端盘路径
   .. ..
  <interface type='network'>
      <mac address='52:54:00:91:52:e4'/>            
//mac地址和带有address字样的全部去掉
   .. ..

步骤二:重新定义虚拟机
# virsh define node1.xml

# virsh undefine node1.xml                    #取消定义的虚拟机

搭建基于kvm云服务系统 kvm云平台管理_centos_22

搭建基于kvm云服务系统 kvm云平台管理_xml_23

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_24

搭建基于kvm云服务系统 kvm云平台管理_centos_25

 

搭建基于kvm云服务系统 kvm云平台管理_xml_26

 

一,自定义虚拟机安装

配置网络YUM源:

方法一 :#用http协议的YUM源:

yum -y install httpd
mkdir /var/www/html/centos
mount /iso/CentOS-7-x86_64-DVD-1804.iso /var/www/html/centos/
# vim /etc/fstab
/iso/CentOS-7-x86_64-DVD-1804.iso       /var/www/html/centos/   iso9660 defaults 0 0

#ls /var/www/html/centos/
#systemctl start httpd
#systemctl enable httpd
#netstat -antulp | grep 80


# cat /etc/yum.repos.d/local.repo 
[dvd]
name=dvd.repo
baseurl=http://192.168.0.240/centos
enabled=1
gpgcheck=0

yum clean all 
yum repolist                            #配置成功

方法二:  #配置FTP的YUM源:

# yum install vsftpd -y
# vim /etc/vsftpd/vsftpd.conf
114 listen=YES
123 listen_ipv6=NO
#systemctl start vsftpd
#systemctl enable vsftpd
#netstat -antulp | grep ftp

# systemctl status firewalld.service                #看防火墙状态
# systemctl stopfirewalld                            #停止防火墙
# systemctl disable firewalld                        #禁止防火墙启动

# getenforce                                         #查看selinux
# vim /etc/selinux/config                            #关闭selinux
SELINUX=disabled
# setenforce 0

#mkdir /var/ftp/centos
#vim /etc/yum.repos.d/local.repo
[centos]
name=centos7
baseurl=ftp://192.168.0.240/centos
enabled=1
gpgcheck=0

#yum clean all
#yum repolist                                        #配置成功

http和ftp两种YUM源都OK:

搭建基于kvm云服务系统 kvm云平台管理_centos_27

搭建基于kvm云服务系统 kvm云平台管理_centos_28

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_29

 

安装一个虚拟机:

# cd /var/lib/libvirt/images/
# qemu-img create -f qcow2 node.qcow2 16G
# virt-manager                                #启动virt-manager

使用virt-manager软件新建虚拟机:

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_30

搭建基于kvm云服务系统 kvm云平台管理_xml_31

选择安装方式:

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_32

 

搭建基于kvm云服务系统 kvm云平台管理_vim_33

选择内存、CPU、和自定义存储:

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_34

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_35

选择虚拟机名称和网络:

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_36

选择分区和KDUMP:

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_37

创建分区:

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_38

选择standard Partition:

搭建基于kvm云服务系统 kvm云平台管理_xml_39

创建一个根分区:

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_40

 

 

二,虚拟模板制作

思路:

1 kvm 原理讲解
  kvm 内核模块
  qemu 硬件仿真
  libvirt 用户接口管理
  虚拟机的组成
      硬盘文件
      配置文件

2 qemu-img  命令说明
  虚拟机硬盘文件的创建
  后端模板盘的使用

3 虚拟机配置文件说明
  内存,cpu,硬盘,网卡

4 安装一个虚拟机
  最小化安装,只分一个根分区

5 把虚拟机配置成模板
  禁用 selinux
  删除 firewalld 和 NetworkManager
  配置网卡
  配置 yum 源
  安装常用命令软件 ifconfig vim bridge-utils
  打开 console 终端
  配置硬盘 fstab,关闭不使用的服务
  安装扩容软件

6 清理日志信息

7 创建虚拟机

/var/lib/libvirt/images
qemu-img create -f qcow2 -b node.img node1.img 20G

cp node.xml /etc/libvirt/qemu/node1.xml
修改 node1.xml 
<name>xxxx</name>
<source file ...... >

# virsh define  node1.xml
# virsh start   node1
# virsh console node1
 

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_41

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_42

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_43

搭建基于kvm云服务系统 kvm云平台管理_vim_44

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_45

 

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_46

 

一,XML文件

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_47

搭建基于kvm云服务系统 kvm云平台管理_xml_48

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_49

搭建基于kvm云服务系统 kvm云平台管理_centos_50

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_51

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_52

搭建基于kvm云服务系统 kvm云平台管理_centos_53

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_54

 

***快建新虚拟机

# cp node.xml /etc/libvirt/qemu/redis01.xml
# cd /etc/libvirt/qemu/

# vim redis01.xml

搭建基于kvm云服务系统 kvm云平台管理_虚拟化平台-KVM_55

# /var/lib/libvirt/images/
# qemu-img create -b node.qcow2 -f qcow2 redis01.img

#virsh list --all

# virsh define redis01.xml
# virsh start redis01 
# virsh console redis01

 

搭建基于kvm云服务系统 kvm云平台管理_vim_56

搭建基于kvm云服务系统 kvm云平台管理_xml_57

 

新虚拟机的交付使用

1,正常运行快建的新虚拟机

2,用户自行修改主机名、IP的参数

# virsh list --all

新虚拟机的使用:

搭建基于kvm云服务系统 kvm云平台管理_centos_58

搭建基于kvm云服务系统 kvm云平台管理_xml_59

搭建基于kvm云服务系统 kvm云平台管理_centos_60

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_61

 

================================================================================================================================================================================================

一,离线访问虚拟机:

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_62

搭建基于kvm云服务系统 kvm云平台管理_centos_63

 

二,使用Virt-manager 管理运城KVM 主机

搭建基于kvm云服务系统 kvm云平台管理_xml_64

搭建基于kvm云服务系统 kvm云平台管理_搭建基于kvm云服务系统_65