标签:KVM
1、虚拟化概述虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。
? virtualization 资源管理
– x个物理资源 --> y个逻辑资源
– 实现程度:完全、部分、硬件辅助(CPU)
案例:创建新的虚拟机nsd:搭建本地Yum仓库
(1)服务端:挂载光盘
[root@localhost 桌面]# mount /dev/cdrom /mnt
(2)客户端:书写一个配置文件/etc/yum.repos.d/*.repo
[root@localhost 桌面]# vim /etc/yum.repos.d/abc.repo
[abc]
name=abc
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@localhost 桌面]# yum repolist
? 使用RHEL7软件仓库的预设分组
– yum groups list [hidden] [组名]...
– yum groups info [组名]...
– yum groups install [组名]...
– yum groups remove [组名]
? 主要软件组
Virtualization\ Client #虚拟化客户端
Virtualization\ Platform #虚拟化平台
Virtualization\ Hypervisor #虚拟化管理器
Virtualization\ Tools #虚拟化工具
[root@localhost 桌面]# yum -y groups install
Virtualization\ Client
Virtualization\ Platform
Virtualization\ Hypervisor
Virtualization\ Tools
虚拟化服务:libvirtd
真机操作:
? 查看KVM节点(服务器)信息
– virsh nodeinfo
? 列出虚拟机
– virsh list [--all]
? 查看指定虚拟机的信息
– virsh dominfo 虚拟机名称
? 运行|重启|关闭指定的虚拟机
– virsh start|reboot|shutdown 虚拟机名称
? 强制关闭指定的虚拟机
– virsh destroy 虚拟机名称
[root@room9pc14 桌面]# virsh autostart nsd #设置开机自起动
[root@room9pc14 桌面]# virsh dominfo nsd
[root@room9pc14 桌面]# virsh autostart --disable nsd #关闭自起动
[root@room9pc14 桌面]# virsh dominfo nsd
libvirtd 为管理虚拟机提供服务接口
[root@kvmsvr ~]# systemctl restart libvirtd
[root@kvmsvr ~]# systemctl enable libvirtd
使用virt-manager客户端工具调出KVM图形管理器
1)xml配置文件(虚拟机描述文件):定义虚拟机的名称、UUID、CPU、内
存、虚拟磁盘、网卡等各种参数设置
虚拟机描述文件默认路径: /etc/libvirt/qemu
2)磁盘镜像文件:保存虚拟机的操作系统及文档数据,
镜像路径取决于xml配置文件中的定义
磁盘镜像文件 默认路径: /var/lib/libvirt/images/
查看磁盘镜像文件信息
qemu-img info /var/lib/libvirt/images/nsd.qcow2
5、手动快速创建一台虚拟机
(1)创建新的磁盘文件
[root@room9pc14 桌面]# cd /var/lib/libvirt/images/
[root@room9pc14 images]# cp nsd.qcow2 test01.qcow2
(2)写新的虚拟机描述文件
[root@room9pc14 images]# cd /etc/libvirt/qemu/
[root@room9pc14 qemu]# cp nsd.xml test01.xml
[root@room9pc14 qemu]# vim test01.xml
修改name、删除UUID整行、修改磁盘文件路径、删除MAC整行
(3)导入虚拟机信息
[root@room9pc14 /]# virsh define /etc/libvirt/qemu/test01.xml
[root@room9pc14 /]# virsh list --all
[root@room9pc14 /]# virsh start test01
(4)导出xml配置文件
– 查看:virsh dumpxml 虚拟机名
– 备份:virsh dumpxml 虚拟机名 > 虚拟机名.xml
(5)编辑虚拟机设置
? 对虚拟机的配置进行调整
– 编辑: virsh edit 虚拟机名
导出、修改、导入
删除虚拟机
– virsh undefine 虚拟机名
# virsh undefine test01
# rm -rf /var/lib/libvirt/images/test01.qcow2
Copy On Write 写时复制
– 直接映射原始盘的数据内容
– 对前端盘的修改不回写到原始盘
(1) 快速创建qcow前端盘
qemu-img 通过 -b 选项复用指定后端盘
qemu-img create -f qcow2 -b 后端盘 前端盘
cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -b nsd.qcow2 new01.qcow2
qemu-img info new01.qcow2
(2)常见新的虚拟机描述文件
cd /etc/libvirt/qemu/
cp nsd.xml new01.xml
vim new01.xml
修改name、删除UUID整行、修改磁盘文件路径指定前端盘、删除MAC整行
(3)导入新的虚拟机
virsh define /etc/libvirt/qemu/new01.xml
案例:
1.新建两台虚拟机
[root@room9pc14 桌面]# clone-vm7
Enter VM number: 1
[root@room9pc14 桌面]# clone-vm7
Enter VM number: 2
2.在真机上操作,随真机的启动而启用
[root@room9pc14 桌面]# virsh autostart A
[root@room9pc14 桌面]# virsh autostart B
3.以root身份进入虚拟机,配置两台虚拟机的网络地址参数,密码123456
虚拟机A:
IP地址:192.168.4.7/24
主机名:svr7.tedu.cn
虚拟机B:
IP地址:192.168.4.207/24
主机名:pc207.tedu.cn
4.真机利用Web服务提供Yum源(共享光盘所有内容)
[root@room9pc14 桌面]# ifconfig private1
[root@room9pc14 桌面]# rpm -q httpd
httpd-2.4.6-40.el7.x86_64
# mkdir /var/www/html/rhel7
# mount /ISO/rhel-server-7.2-x86_64-dvd.iso /mnt/
# cp -r /mnt/* /var/www/html/rhel7/
# firefox http://127.0.0.1/rhel7
# firefox http://192.168.4.254/rhel7
5.虚拟机A与虚拟机B指定Yum位置
[root@svr7 ~]# vim /etc/yum.repos.d/rhel7.repo
[rhel7]
name=rhel7
baseurl=http://192.168.4.254/rhel7
enabled=1
gpgcheck=0
[root@pc207 ~]# vim /etc/yum.repos.d/rhel7.repo
[rhel7]
name=rhel7
baseurl=http://192.168.4.254/rhel7
enabled=1
gpgcheck=0
6. 设置防火墙trusted与关闭SELinux
[root@svr7 ~]# firewall-cmd --set-default-zone=trusted
[root@svr7 ~]# setenforce 0 #当前修改为宽松模式
[root@svr7 ~]# getenforce
Permissive
[root@svr7 ~]# vim /etc/selinux/config
SELINUX=permissive
标签:KVM
原文地址:http://blog.51cto.com/13452945/2089900