VMware虚拟化kvm安装部署总结
虚拟化
1、环境
centos7.3
关闭selinux,关闭防火墙
2、虚拟化环境配置
2.1 kvm部署安装
1、 vmware 配置桥接模式
2、bios开启虚拟机,以本地台式机为例,
重启动电脑,一直按del键,进入bios设置。详情参考https://jingyan.baidu.com/article/4e5b3e190066c091901e2482.html
查看是否支持虚拟机
#egrep '(vmx|svm)' --color=always /proc/cpuinfo
3、配置epel yum源
4、安装kvm软件包
yum install qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install openssh-askpass –y
//qeum 虚拟化软件,可以虚拟不同的cpu,以及模拟网卡、声卡、pci设备等
//libvirt 用于管理kvm的工具
//virt-install 命令行安装虚拟机工具
//virt-manager 图形化管理虚拟机工具
//openssh-askpass 远程连接kvm主机
5、启动libvirt管理kvm工具
# systemctl enable libvirtd.service
# systemctl start libvirtd.service
上传ios文件到对应目录,创建/opt/images(可以自定义位置)目录放置磁盘空间文件
默认kvm配置文件位置
/etc/libvirt/qemu/
磁盘空间
kvm
虚拟机中有两种磁盘格式:
raw格式: 直接占用物理磁盘, 写入快, 性能优, 但占用空间(默认格式)
qcow2格式: 使用多少占多少磁盘, 支持压缩、快照、镜像
2.2 创建kvm虚拟机
xshell 使用命令
宿主机使用virt-manager命令进入图形化界面安装
注意当使用virt-manager管理工具管理虚拟机时可能会出现键盘输入的键与显示的键不同这种现象
此时只须修改虚拟机详情中的vnc栏中keymap属性,将内容修改成en-us
修改完成后需要重新启动虚拟机
若在虚拟机运行时修改不成功,可将虚拟机关闭,然后在虚拟机关闭状态下修改即可
步骤一:新建名为rhel7.2的虚拟机
1)在“虚拟系统管理器”中单击左上方“创建新虚拟机”按钮(如图-3所示)。
图-3
2)弹出“新建虚拟机”向导,选择“本地安装介质”(如图-4所示),单击“前进”。
图-4
3)接下来“定位安装介质”,请正确指定rhel7系统的iso光盘镜像文件位置(如图-5所示),确认自动识别到操作系统类型,单击“前进”。
图-5
4)选择内存和cpu设置,建议为虚拟机分配内存不小于1024mb(如图-6所示),单击“前进”。
图-6
5)为虚拟机启用存储,例如分配一个40gib的磁盘(如图-7所示),单击“前进”。
图-7
6)为虚拟机命名,设为rhel7.2(如图-8所示),单击“完成”。
图-8
步骤二:为虚拟机rhel7.2安装操作系统
1)确认新虚拟机从光盘引导
上述设置全部完成后,将会自动开启新虚拟机,并进入安装过程(如图-9所示)。
图-9
2)完成后续手动安装过程
具体过程与普通安装相同,注意禁用防火墙、禁用selinux机制。
3)确认安装结果
新装的虚拟机rhel7.2可以正常启动、登录。
在“虚拟系统管理器”中也能够看到此虚拟机(如图-10所示)。
图-10
关闭selinux
sed -i 's/selinux=enforcing/selinux=disabled/g' /etc/selinux/config
setenforce 0
关闭防火墙(测试开发环境)
systemctl stop firewalld.service
systemctl disable firewalld
时间同步
yum install -y wget ntpdate net-tools
ln -sf /usr/share/zoneinfo/asia/shanghai /etc/localtime
/usr/sbin/ntpdate cn.pool.ntp.org
echo "0 */3 * * * /usr/sbin/ntpdate cn.pool.ntp.org; /sbin/hwclock -w >/dev/null" >>/var/spool/cron/root
添加阿里云yun源和epel源
wget -o /etc/yum.repos.d/centos-base.repo http://mirrors.aliyun.com/repo/centos-7.repo
wget -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
修改最大进程数和最大文件打开数
vi /etc/security/limits.conf
* soft nproc 65535
* hard nproc 65535 * soft nofile 65536 * hard nofile 65536
noproc 是代表最大进程数
nofile 是代最大文件打开数
关闭当前shell,重新打开就生效,不需要重启系统
清空/etc/issue /etcissue.net,去除系统及内核版本登录前的屏幕显示
echo > /etc/issue
echo > /etc/issue.net
3、kvm虚拟机的管理主要是通过virsh命令对虚拟机进行管理。
1. 查看kvm虚拟机配置文件及运行状态
(1) kvm虚拟机默认配置文件位置: /etc/libvirt/qemu/
autostart目录是配置kvm虚拟机开机自启动目录。
(2) virsh命令帮助
# virsh –help
3.1 常用命令
1)virsh nodeinfo:查看kvm节点(服务器)信息
2)virsh list –all 查看kvm虚拟机状态
3)virsh start oeltest01 kvm虚拟机开机
4)virsh shutdown oeltest01 kvm虚拟机关机
5)virsh destroy oeltest01 强制关闭电源
6)virsh reboot oeltest01 将指定的虚拟机重启
7)virsh create /etc/libvirt/qemu/wintest01.xml通过配置文件启动虚拟机
8)virsh autostart oeltest01 配置开机自启动虚拟机
9)virsh autostart —disable name /关闭虚拟机随系统启动
10)virsh dumpxml wintest01 > /etc/libvirt/qemu/wintest02.xml 导出kvm虚拟机配置文件
11)virsh undefine wintest01 该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件12)virsh dominfo 虚拟机名称:查看指定虚拟机的信息
13)virsh edit wintest01 编辑kvm虚拟机配置文件
14)virsh suspend oeltest01 挂起服务器
15) virsh resume oeltest01 恢复服务器
3.2 vm虚拟机扩容
kvm虚拟机中有两种磁盘格式:
raw格式: 直接占用物理磁盘, 写入快, 性能优, 但占用空间
qcow2格式: 使用多少占多少磁盘, 支持压缩、快照、镜像
注意:raw不支持快照, qcow2支持快照, 但两者文件类型是可以相互间转换
无论磁盘是raw qcow2格式, 扩展思路如下
1.新添加一块磁盘加入至需要扩容的虚拟主机
2.使用lvm逻辑卷管理方式进行扩展
1.查看当前kvm虚拟机所使用的虚拟磁盘
[root@kvm-node1 ~]# virsh domblklist centos7u4-node1
target source
------------------------------------------------
vda /data/centos7u4-node1.qcow2
2.创建一块qcow2虚拟磁盘
[root@kvm-node1 ~]# qemu-img create -f qcow2 /data/centos7u4-node1-disk2.qcow2 10g
3.在线添加虚拟磁盘
//在线添加
[root@kvm-node1 ~]# virsh attach-disk centos7u4-node1 /data/centos7u4-node1-disk2.qcow2 vdb --cache=none --subdriver=qcow2
disk attached successfully
//查看新增磁盘状态
[root@kvm-node1 ~]# virsh domblklist centos7u4-node1
target source
------------------------------------------------
vda /data/centos7u4-node1.qcow2
vdb /data/centos7u4-node1-disk2.qcow2
//修改配置文件,防止重启kvm后新加磁盘丢失, 新增如下配置
[root@kvm-node1 ~]# virsh edit centos7u4-node1
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/centos7u4-node1-disk2.qcow2'/>
<target dev='vdb' bus='virtio'/>
</disk>
4.通过vnc连接kvm虚拟机进行磁盘扩容
5.扩容步骤如下,直接把vdb全部加到逻辑分区里面
mkfs.xfs /dev/sdb #格式化新硬盘
pvcreate /dev/vdb #初始化物理卷
vgextend centos /dev/vdb #将初始化过的分区加入到虚拟卷组centos (卷和卷组的命令可以通过 vgdisplay )
lvextend -l +100%free /dev/centos/root 扩展已有卷的容量是通过vgdisplay查看的free的大小)
xfs_growfs /dev/centos/root # centos 7 下面 由于使用的是 xfs,
resize2fs /dev/mapper/centos-root # centos 6 下面 由于使用的是 xfs
3.3 vm虚拟机性能调整
调大内存、增加cpu个数
1、关闭虚机
# virsh shutdown vm
2、编辑虚拟机配置文件,调整
# virsh edit test01
找到“memory”和“vcpu”标签,将
<name>test01</name>
<uuid>2220a6d1-a36a-4fbb-8523-e078b3dfe795</uuid>
<memory unit='kib'> 1048576</memory>
<currentmemory unit='kib'> 1048576</currentmemory>
<vcpu placement='static'>1</vcpu>
改为:
<name>centos73</name>
<uuid>2220a6d1-a36a-4fbb-8523-e078b3dfe795</uuid>
<memory unit='kib'> 2097152</memory>
<currentmemory unit='kib'> 2097152</currentmemory>
<vcpu placement='static'>2</vcpu>
3、重定义使配置生效
# virsh define /etc/libvirt/qemu/test01.xml
4、开启虚拟机
# virsh start test01
调整前虚拟机信息
调整后虚拟机信息
3.4 kvm克隆
3.4.1 kvm主机本机虚拟机直接克隆
(克隆机器必须是关机状态)
virt-clone -o z7-013-251-template -n test01 -f /kvm/test01.img
说明:以z7-013-251-template做为源,克隆test01虚拟机,并创建名称为test01虚拟机,使用磁盘文件/kvm/test01.img
#virsh start test01 #启动test01
配置开机自启动虚拟机
# virsh autostart test01
virt-manager进入克隆的虚拟机,修改克隆机器的ip地址(事先ping一下,确认ip可以使用,不要和其他ip冲突), 修改hostname主机名等
测试模板机(修改时区,时间同步,关闭selinux,关闭防火墙,关闭postfix服务)
3.4.2 通过图形化界面克隆
在宿主服务器中输入命令virt-manager,唤出图形界面
打开操作界面,右击现有的虚拟机进行克隆
虚拟机命名规则:
test-014-004-gaia—测试
dev-016-004-gaia—开发
u 打开修改配置,相应网段的地址,选择相应vlan
u 在宿主机上修改磁盘文件名称
# mv /kvm/z7-013-253-disk-001-clone.img /kvm/test01.img
# sed -i 's@/kvm/z7-013-253-disk-001-clone.img@/kvm/test01.img@' /etc/libvirt/qemu/test01.xml
然后启动虚拟机
进入克隆的虚拟机,修改克隆机器的ip地址等
3.5 删除虚拟机或者图形化界面操作
1) 关闭虚拟机:virsh destroy test01
2) 删除虚拟机文件(在/var/lib/libvirtd/下的相关文件)
3)删除定义:virsh undefine test01
4)virsh autostart --disable test01
3.6 kvm虚拟机迁移
迁移就是虚拟机在关机状态下,拷贝虚拟机虚拟磁盘文件与配置文件到目标虚拟主机中,实现的迁移。
跨宿主机迁移
(1) 确定虚拟机关闭状态
(2) 准备迁移test01虚拟机,查看该虚拟机配置的磁盘文件
# [root@kvm213 ~]# virsh domblklist test01
target source
------------------------------------------------
vda /kvm/test01.img
(3) 导入虚拟机配置文件
#virsh dumpxml test01 > /root/test01.xml
(4) scp 拷贝配置文件和虚拟磁盘文件到目标虚拟主机对应位置上
目标虚拟主机上
查看虚拟机磁盘文件,目录结构与源虚拟主机一致。
定义注册虚拟主机
virsh define /etc/libvirt/qemu/test01.xml
启动虚拟主机并确认
3.7 kvm虚拟机快照备份
要使用镜像功能,磁盘格式必须为qcow2
(1) 查看磁盘格式
#qemu-img info test01.img
(2) 对虚拟机进行快照管理
# virsh snapshot-create test01
查看虚拟机镜像快照的版本
#virsh snapshot-list test01
查看当前虚拟机镜像快照的版本
#virsh snapshot-current test01
(3) 恢复虚拟机快照,必须关闭虚拟机
执行恢复,并确认恢复版本
# virsh snapshot-revert test01 版本号
(4) 删除虚拟机快照
#virsh snapshot-delete test01 版本号
下一篇: Docker 配置网络 - 网络概述