Linux KVM构建及管理和virsh控制工具 、 镜像管理 、 虚拟机快建技术 (SERVICE02----DAY17)

一、图形创建虚拟机,安装CentOS操作系统

   1.采用光盘镜像安装
   2.内存为2048M
   3.虚拟机名称:kvm
   4.网络类型:private1
   5.系统语言:中文
   6.软件包选择:带GUI的服务器
   7.分区:自动分区   
   8.创建普通用户:lisi   设置密码 1
   9.设置管理员密码 1

##################################################
虚拟化概述
• virtualization 资源管理
– x个物理资源 --> y个逻辑资源
– 实现程度:完全、部分、硬件辅助(CPU)

1.如何查看CPU支持虚拟化指令集
[student@room9pc01 ~]$ lscpu
[student@room9pc01 ~]$ lscpu | grep vmx

###################################################
虚拟机kvm
1.配置eth0网卡IP地址:192.168.4.100/24
2.配置永久的主机名:kvm.tedu.cn

3.修改SELinux模式
[root@kvm ~]# setenforce 0
[root@kvm ~]# getenforce
Permissive
[root@kvm ~]# vim /etc/selinux/config
SELINUX=permissive

4.修改防火墙默认区域为trusted
[root@kvm ~]# firewall-cmd --set-default-zone=trusted

5.构建Yum仓库
[root@kvm ~]# ping 192.168.4.254

[root@kvm ~]# cd /etc/yum.repos.d/
[root@kvm yum.repos.d]# ls
[root@kvm yum.repos.d]# mkdir repo
[root@kvm yum.repos.d]# mv *.repo repo
[root@kvm yum.repos.d]# ls
[root@kvm yum.repos.d]# vim dvd.repo
[dvd]
name=haha
baseurl=ftp://192.168.4.254/centos-1804
enabled=1
gpgcheck=0
[root@kvm yum.repos.d]# yum repolist
[root@kvm yum.repos.d]# yum -y install xeyes
#####################################################
• 虚拟化主要厂商及产品
VMware VMware Workstation、vSphere
Microsoft VirtualPC、Hyper-V
RedHat KVM、RHEV
Citrix Xen
Oracle Oracle VM VirtualBox

#####################################################
安装虚拟化服务器平台
• 主要软件包
– qemu-kvm:kvm 提供底层仿真支持
– libvirt-daemon:libvirtd 守护进程,管理虚拟机
– libvirt-client:用户端软件,提供客户端管理命令
– libvirt-daemon-driver-qemu:libvirtd 连接 qemu 的驱动
– virt-manager:图形管理工具

[root@kvm /]# yum -y install qemu-kvm
[root@kvm /]# yum -y install libvirt-daemon
[root@kvm /]# yum -y install libvirt-client
[root@kvm /]# yum -y install libvirt-daemon-driver-qemu
[root@kvm /]# yum -y install virt-manager

虚拟机化服务libvirtd

####################################################
virsh命令工具介绍
• 提供管理各虚拟机的命令接口
– 支持交互模式,查看/创建/停止/关闭 … …
– 格式:virsh 控制指令 [虚拟机名称] [参数]

• 查看KVM节点(服务器)信息
– virsh nodeinfo
• 列出虚拟机
]$ virsh list [–all]
• 查看指定虚拟机的信息
]$ virsh dominfo kvm(虚拟机名)
• 运行或重启或关闭指定的虚拟机
]$ virsh start或reboot或shutdown kvm(虚拟机名)
]$ virsh list [–all]
• 强制关闭指定的虚拟机
]$ virsh destroy kvm(虚拟机名)
]$ virsh list [–all]
• 将指定的虚拟机设为开机自动运行
]$ virsh autostart kvm #设为开机自动运行
]$ virsh dominfo kvm
]$ virsh autostart --disable kvm #关闭开机自动运行
]$ virsh dominfo kvm

#################################################
一台KVM虚拟机的组成

– xml配置文件:定义虚拟机的名称、UUID、CPU、内
存、虚拟磁盘、网卡等各种参数设置
默认路径:/etc/libvirt/qemu

– 磁盘镜像文件:保存虚拟机的操作系统及文档数据,
镜像路径取决于xml配置文件中的定义

默认路径:/var/lib/libvirt/images

####################################################
手动建立虚拟机
1.建立一个新的磁盘镜像文件
]$ cd /var/lib/libvirt/images/
]$ du -sh .node_base.qcow2

]$ cp .node_base.qcow2 nsd01.qcow2
]$ du -sh nsd01.qcow2

2.建立一个新的xml配置文件
#将kvm虚拟机xml文件内容写入到nsd01.xml
]$ virsh dumpxml kvm > /etc/libvirt/qemu/nsd01.xml

]$ ls /etc/libvirt/qemu

]$ vim /etc/libvirt/qemu/nsd01.xml
1)修改虚拟机的名称: nsd01
2)UUID整行内容: 整行删除
3)修改磁盘镜像文件:

  1. 网卡的mac地址:整行删除

3.导入虚拟机信息
]$ virsh define /etc/libvirt/qemu/nsd01.xml
]$ virsh list --all
]$ virsh start nsd01
###################################################
命令行取消定义:
]$ virsh undefine nsd02
域 nsd02 已经被取消定义

]$ virsh list --all
]$ virsh dumpxml kvm > /etc/libvirt/qemu/nsd02.xml

]$ vim /etc/libvirt/qemu/nsd02.xml
虚拟机名字、UUID、磁盘文件路径、网卡的mac地址

]$ virsh define /etc/libvirt/qemu/nsd02.xml

]$ virsh start nsd02

##############################################
手动建立虚拟机
1.建立新的磁盘文件
]$ cd /var/lib/libvirt/images/
]$ cp .node_base.qcow2 nsd04.qcow2
]$ du -sh nsd04.qcow2

2.建立新的xml配置文件
]$ virsh dumpxml kvm > /etc/libvirt/qemu/nsd04.xml
]$ vim /etc/libvirt/qemu/nsd04.xml
虚拟机名字、UUID、磁盘文件路径、网卡的mac地址

3.导入虚拟机信息
]$ virsh define /etc/libvirt/qemu/nsd04.xml
]$ virsh start nsd04

##############################################
手动建立虚拟机
1.建立新的磁盘文件
]$ mkdir /home/student/kvmfile

]$ cp /var/lib/libvirt/images/.node_base.qcow2 /home/student/kvmfile/nsd05.qcow2

]$ ls /home/student/kvmfile/

]$ du -sh /home/student/kvmfile/nsd05.qcow2

2.建立xml配置文件
]$ virsh dumpxml kvm > /home/student/kvmfile/nsd05.xml
]$ vim /home/student/kvmfile/nsd05.xml
虚拟机名字、UUID、网卡的mac地址
磁盘文件路径:/home/student/kvmfile/nsd05.qcow2

3.导入虚拟机信息
]$ virsh define /home/student/kvmfile/nsd05.xml
]$ virsh start nsd05

##############################################
手动建立虚拟机
1.建立磁盘镜像文件
]$ cd /var/lib/libvirt/images/
]$ cp .node_base.qcow2 nsd06.qcow2

]$ du -sh nsd06.qcow2

2.建立xml配置文件
三合一:导出 修改 导入
[student@room9pc01 ~]$ virsh edit kvm
编辑了域 nsd06 XML 配置。

[student@room9pc01 ~]$ virsh list --all

####################################################
快速产生虚拟机磁盘镜像文件
COW技术原理
• Copy On Write,写时复制
– 直接映射原始盘的数据内容
– 当原始盘的旧数据有修改时,在修改之前自动将旧数据存入前端盘
– 对前端盘的修改不回写到原始盘
– 原始盘不能作任何修改

常用镜像盘类型
• 虚拟机的磁盘镜像文件格式:RAW、QCOW2
快速创建qcow前端盘
• qemu-img 通过 -b 选项复用指定原始盘
– qemu-img create -f qcow2 -b 原始盘 前端盘 前端盘大小G

1.建立新的磁盘文件
]$ cd /var/lib/libvirt/images/
]$ qemu-img create -f qcow2 -b .node_base.qcow2 stu01.qcow2 10G

]$ ls
]$ qemu-img info stu01.qcow2 #查看前端盘信息

virtual size: 10G (10737418240 bytes) #虚拟的大小
disk size: 196K #占用磁盘的真实空间
backing file: .node_base.qcow2 #原始盘

2.建立新的xml配置文件
]$ virsh dumpxml kvm > /home/student/kvmfile/stu01.xml
]$ vim /home/student/kvmfile/stu01.xml
1)修改虚拟机的名称: stu01
2)UUID整行内容: 整行删除
3)修改磁盘镜像文件:

  1. 网卡的mac地址:整行删除

]$ virsh define /home/student/kvmfile/stu01.xml
]$ virsh start stu01

#################################################
离线访问虚拟机
配置虚拟机系统有奇招
• 使用 guestmount 工具
– 支持离线挂载 raw、qcow2 格式虚拟机磁盘
– 可以在虚拟机关机的情况下,直接修改磁盘中的文档
– 方便对虚拟机定制、修复、脚本维护
!!! 需要注意 SELinux 机制的影响

如何挂载虚拟盘
• 基本用法
guestmount -a 虚拟机磁盘路径 -i /挂载点

]# guestmount -a /var/lib/libvirt/images/kvm.qcow2 -i /mnt
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the ‘nonempty’ mount option
libguestfs: error: fuse_mount: /mnt: 成功

]# guestmount -o nonempty -a /var/lib/libvirt/images/kvm.qcow2 -i /mnt
###################################################

发布了55 篇原创文章 · 获赞 0 · 访问量 424

猜你喜欢

转载自blog.csdn.net/weixin_45533230/article/details/103717975