1.操作系统安装
本文采用Centos6.4X64操作系统,也可以采用RHEL/CentOS6.x。 (1)查看系统版本、内核版本
##查看系统版本
[root@KVM ~]# cat /etc/redhat-release CentOS release 6.4 (Final) ##查看内核版本
[root@KVM ~]# uname -a Linux KVM 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
注: 2.6.20以下的内核需要升级。
(2)关闭selinux,iptables,重启后生效 ①. 关闭selinux
[root@kvm ~]# vim /etc/sysconfig/selinux SELINUX=disabled
②. 关闭iptables [root@kvm ~]# iptables -F [root@kvm ~]# iptables -X
[root@kvm ~]# /etc/init.d/iptables save [root@kvm ~]# /etc/init.d/iptables stop (3)重启
[root@kvm ~]# reboot
2.虚拟化环境配置
(1)VMware内的Centos开启虚拟化
说明1:半虚拟化是不能运行与安装KVM虚拟机的。 (2) 查看系统是否支持KVM虚拟化
[root@KVM ~]# egrep ‘(vmx|svm)’ –color=always /proc/cpuinfo
若实际环境没有, 需要到主板BIOS中开启Virtual Technolege(VT, 虚拟化技术)
(3) 安装kvm软件包
[root@KVM ~]# yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libguestfs-tools qemu-kvm gcc*
3.查看虚拟化环境
(1)查看虚拟机环境
[root@KVM ~]# /etc/init.d/libvirtd start [root@KVM ~]# virsh -c qemu:///system list
Id Name State
—————————————————-
(2)查看kvm模块支持
[root@KVM ~]# lsmod |grep kvm
kvm_intel 55624 0
kvm 338535 1 kvm_intel (3)查看虚拟工具版本
[root@KVM ~]# virsh –version 0.10.2
[root@KVM ~]# virt-install –version 0.600.0
[root@KVM ~]# ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm [root@KVM ~]# qemu-kvm -version
QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2-2.448.el6_6.4), Copyright (c) 2003-2008 Fabrice Bellard
4.手动配置虚拟网桥
(1)关闭networkmanager服务
[root@KVM ~]# /etc/init.d/NetworkManager stop [root@KVM ~]# chkconfig NetworkManager off (2)创建br0网k
[root@KVM ~]# cd /etc/sysconfig/network-scripts/ [root@KVM network-scripts]# cp ifcfg-eth0 ifcfg-br0 [root@KVM network-scripts]# vim ifcfg-eth0 DEVICE=eth0
HWADDR=00:0C:29:41:DA:81 TYPE=Ethernet
UUID=21501ff5-e313-494c-a402-50f2a84f1f5c ONBOOT=yes
NM_CONTROLLED=yes #BOOTPROTO=static #IPADDR=192.168.15.14 #NETMASK=255.255.255.0 #GATEWAY=192.168.15.2 BRIDGE=br0
[root@KVM network-scripts]# vim ifcfg-br0
DEVICE=br0 ONBOOT=yes
NM_CONTROLLED=yes BOOTPROTO=static
IPADDR=192.168.15.14 NETMASK=255.255.255.0 GATEWAY=192.168.15.2 DNS1=114.114.114.114 TYPE=Bridge
(3)重启network服务。
[root@KVM network-scripts]# /etc/init.d/network restart (4)查看网桥br0.
(4)查看网桥
到此kvm虚拟化环境安装完毕。
kvm虚拟化学习笔记(二)之windows kvm虚拟机安装
1. 开始安装windows 2003
(1) 上传2003 iso文件到/data/iso文件夹中
(2) 开始安装
[root@KVM ~]# cat create_win_kvm.sh 1 virt-install \\ 2 --name=win2003_1 \\ 3 --ram 1024 \\ 4 --vcpus=2 \\
5 --disk path=/data/img/win2003_1.img,size=8 \\ 6 --accelerate \\
7 --cdrom /data/win_server_2003_R2x64.iso \\ 8 --vnc \\
9 --vncport=5915 \\ 10 --vnclisten=0.0.0.0 \\ 11 --network bridge=br0 --force --autostart
(3) 通过vnc连接,然后进行安装过程,也可以通过控制台继续安装过程。
注:文件复制完毕后,windows会重启,这里虚拟机会关闭,需要手动启动,而且VNC无法使用。
启动win2003_1后用vnc连接安装wind2003时出现如下
(4) 接上面,登录控制台。
如果其它环境无法连接控制台,可以远程安装vnc服务器端工具,通过vnc登录服务器,可以最终安全完成。无需要我们分两步。
##双击win2003_1
(5) 手动挂载光驱,如下图所示,一步一步的操作如下。
##返回控制台,继续安装过程。
2. 安装后配置
(1) 配置IP地址 (2) 配置远程桌面
到此,windows server 2003 kvm虚拟机安装完毕,后面将介绍如何对windows进行性能方面的优化。
说明:如果在KVM虚拟化平台上Centos 6.6上安装vnc server可以直接通过vnc全程安装完毕。
kvm虚拟化学习笔记(三)之linux kvm虚拟机安装
1.上传ISO文件,这里采用Centos 6.4x64iso
2.开始安装Centos6.4
(1)raw格式磁盘
[root@KVM ~]#vim create_kvm.sh virt-install \\
--name centos2 \\ ##虚拟机名称
--ram 512 \\ ##分配内存大小(默认1
大小MB) 2
--vcpus=1 \\ ##分配CPU核心数,最3
大与时提及CPU核心数相同 4
--disk path=/data/img/kvm_centos2.img,size=10 \\ ##指定虚5
拟机镜像(size单位为6
GB) 7
8
--network bridge=br0 \\ ##指定网络 9
--cdrom=/data/CentOS-6.4-x86_64-bin-DVD1.iso \\ ##指定安装镜1
像iso 0
--accelerate \\ ##加速 1
--vnclisten=0.0.0.0 \\ ##指定VNC绑定IP,默认绑定127.0.0.1,1
这里改为0.0.0.0 1
--vncport=5911 \\ ##指定VNC监听端口(默认为5900) 2
--vnc ##启用VNC管理
注: 每行\"\\\"后面不要带有空格.
##用KVM创建虚拟机
如果采用qcow2磁盘格式,需要事先创建qcow2格式虚拟磁盘
(2)qcow2格式(空间动态增长)2015.7.10日更新
[root@KVM ~]# qemu-img create -f qcow2 /data/img/Centos3.img 3G
##用KVM创建虚拟机
[root@KVM ~]# sh create_qcow2_kvm.sh
[root@KVM ~]# echo $? 0
[root@KVM ~]# virsh list
说明:在linux系统安装开始就要注意添加提高性能的一些参数,后面就不需要做一些调整了。
3.开始通过VNC进行连接,进行安装过程。
4.登录操作系统查看
(1) 查看虚拟机列表
ps: Centos1是我的测试机. centos2和centos3是新创建的。 centos2安装完操作系统自动关闭了, 需要手动启动. centos3安装完后也需要手动启动 [root@KVM ~]# virsh start centos2 Domain centos2 started
[root@KVM ~]# virsh list –all|grep centos2
11 centos2 running
(2) centos2、centos3主机自动获取IP地址 ##centos2自动获取IP地址
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#cp ifcfg-eth0 ifcfg-eth0.bak [root@localhost network-scripts]# dhclient [root@localhost network-scripts]# ip a
(3) 清空iptables规则, 通过sshd登录该主机 [root@localhost ~]# iptables -F
[root@localhost ~]# iptables -X
[root@localhost ~]# /etc/init.d/iptables restart
(3) 安装电源服务
[root@localhost ~]# yum -y install acpid
[root@shadowsocks ~]# /etc/init.d/acpid start [root@shadowsocks ~]# chkconfig acpid on 至此Centos 6.4X64KVM虚拟机安装完毕。
kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置
1. 查看KVM虚拟机配置文件及运行状态
(1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/
autostart目录是配置kvm虚拟机开机自启动目录。
(2) virsh命令帮助 [root@KVM ~]# virsh –help
或直接virsh命令和,再执行子命令。如下所示。 [root@KVM ~]# virsh
virsh # help #帮助 „„
virsh # quit #退出 (3) 查看kvm虚拟机状态 [root@KVM ~]# virsh list –all
2. KVM虚拟机开机
[root@KVM ~]# virsh start centos1 [root@KVM ~]# virsh start centos2 [root@KVM ~]# virsh start centos3
3. KVM虚拟机关机或断电
(1) 关机
默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。 [root@Centos1 ~]# yum -y install acpid [root@Centos1 ~]# /etc/init.d/acpid start ##virsh关机
[root@KVM ~]# virsh shutdown centos1 (2) 强制关闭电源
[root@KVM ~]# virsh destroy centos2
4. 通过配置文件启动虚拟机
[root@KVM ~]# virsh create /etc/libvirt/qemu/centos1.xml
5. 配置开机自启动虚拟机
[root@KVM ~]# virsh autostart centos2
autostart目录是kvm虚拟机开机自启动目录,可以看到该目录中有KVM配置文件链接。
6. 导出KVM虚拟机配置文件
[root@KVM ~]# virsh dumpxml centos1 > /etc/libvirt/qemu/centos01.xml
KVM虚拟机配置文件可以通过这种方式进行备份。
7. 添加与删除KVM虚拟机
(1) 删除kvm虚拟机
[root@KVM ~]# virsh undefine centos1 Domain centos1 has been undefined
说明:该命令只是删除 centos1的配置文件,并不删除虚拟磁盘文件。如下图所示。
(2) 重新定义虚拟机配置文件
通过导出备份的配置文件恢复原KVM虚拟机的定义,并重新定义虚拟机。 [root@KVM ~]# mv /etc/libvirt/qemu/centos01.xml /etc/libvirt/qemu/centos1.xml
[root@KVM ~]# virsh define
/etc/libvirt/qemu/centos1.xml #为客户端输
出xml配置文件
8. 编辑KVM虚拟机配置文件
[root@KVM ~]# virsh edit centos1
virsh edit将调用vi命令编辑/etc/libvirt/qemu/centos1.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。 可以但不建议直接通过vi编辑。
9. 其它(挂起、恢复)virsh命令
(1) 挂起服务器
[root@KVM ~]# virsh suspend centos3
(2) 恢复服务器
[root@KVM ~]# virsh resume centos3
virsh命令丰富。可以执行各种维护任务,本文只是从维护与管理的角度例举了常用的命令,为该命令的使用提供一个思路。
kvm虚拟化学习笔记(五)之windows虚拟机性能调整
在通过KVM安装WindowsXP/2003/7/2008操作系统后,由于默认的磁盘驱动(IDE)性能与网卡驱动(RTL8139100M) 的性能都极其低下,需要调整,通过加载
Redhatvirtio驱动来提高kvmwindows虚拟机磁盘与网卡性能。更换后的驱动为SCSI磁盘驱动, 与virtio网卡驱动(1000M)。 提升性能方式:
(1)采用LVM逻辑卷上安装虚拟机,采用更换磁盘驱动为SCSI来提升性能。
(2)修改默认网卡类型与驱动。
新可以在安装windows的时候加载驱动,也可以安装后加载驱动,本文就是采用系统安装之后再加载驱动的方式。
1.本文相关软件下载地址
ISO驱动:virtio-win-0.1-52.iso
http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-52.iso
软驱驱动:virtio-win-1.1.16.vfd可在down.51cto.com下载频道中找。
2.加载驱动思路
(1)使用默认方式来安装Windows系统,安装系统完成后,再安装virtio磁盘驱动,最后修改kvm启动参数,设置磁盘为virtio。 (2)在开始安装时直接按F6加载virtio驱动。
由于本文事先已经安装好了windowsServer2003x86操作系统,所以这里采用第一种方式安装virtio驱动。直接将配置文件修改,在没有加载virtio驱动的情况下,会造成系统无法启动。
3.替换驱动
(1)通过正常的图形界面方式进行安装windows虚拟机,这时驱动都是采用的默认的。
(2)在控制台上添加一块virtio磁盘,一块virtio网卡,光驱挂载virtioISO驱动光盘。
随例添加一块virtiodisk磁盘。点击Add Hardware(添加硬件)
添加一块virtio网卡。
挂载驱动iso文件。将刚下载的iso上传到KVM服务端内。
(3)进入系统打开设备管理器,刷新硬件,需要安装scsi与以太网控制器驱动。
在SCSI控制器上右键,更新驱动程序,浏览到D盘\\wxp\\x86目录,2003驱动目录,下一步开始加载驱动。
继续安装驱动。
(4)安装以太网控制器驱动。
(4)重启系统验证驱动加载情况。 第二块网卡配置新的IP地址,然后关机。
(5)修改虚拟机配置文件
思路:替换与修改原磁盘驱动配置,与网卡配置,修改内容如下: 1 # virsh edit wintest01
修改后的内容:
1 2
9 1 2 0'/>
(6)进入系统更新网卡和SCSI控制器的驱动,重启后就会应用新的硬件了。
5.解决KVM虚拟机鼠标同步问题
kvm虚拟化windows操作系统鼠标有点不灵活等问题,在这里通过以下方式解决。在虚拟机的 至此windows磁盘与网卡驱动调整以提高性能方法配置完毕。 kvm虚拟化学习笔记(六)之kvm虚拟机控制台登录配置 vm虚拟机能否像xen虚拟机一样通过virsh console 一样采用字符界面进行linux虚拟机控制台呢,答案是肯定的,默认情况下该命令是不起作用的,需要修改相关文件才能实现。 1. 配置方法如下 (1) 添加ttyS0的许可,允许root登录 vm虚拟机能否像xen虚拟机一样通过virsh console 一样采用字符界面进行linux虚拟机控制台呢,答案是肯定的,默认情况下该命令是不起作用的,需要修改相关文件才能实现。 1. 配置方法如下 (1) 添加ttyS0的许可,允许root登录 [root@Centos1 ~]# ip a [root@Centos1 ~]# echo “ttyS0″ >> /etc/securett #是零不是英文字母O (2) 修改/etc/grub.conf文件 [root@Centos1 ~]# vim /etc/grub.conf (3) 修改/etc/inittab文件 [root@Centos1 ~]# vim /etc/inittab (4) 重启 [root@Centos1 ~]# reboot 2. 测试virsh console命令 [root@KVM ~]# virsh console centos2 至此virsh console 命令进入控制台配置完毕,今后将对linux虚拟机很方便的console方式进行管理。 kvm虚拟化学习笔记(七)之kvm虚拟机克隆 kvm虚拟机的克隆分为两种情况,本文也就通过以下两种情况进行克隆,克隆虚拟机为Centos 6.4X64。 (1) KVM主机本机虚拟机直接克隆。 (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移)。 1. 本机虚拟机直接克隆 (1) 查看虚拟机配置文件 [root@KVM ~]# cat /etc/libvirt/qemu/centos3.xml 虚拟机磁盘文件: /data/img/Centos3.img 虚拟机名称:Centos3 [root@KVM ~]# virsh list –all (2) 开始克隆 [root@KVM ~]# virt-clone -o centos3 -n Linux3 -f /data/img/Linux3.img 说明:克隆虚拟机应保持关闭状态,以centos3做为源,克隆centos3虚拟机,并创建名称为Linux3虚拟机,使用磁盘文件/data/img/Linux3.img (3) 启动虚拟机 [root@KVM ~]# virsh start Linux3 [root@KVM ~]# virsh list (4) 修改主机名,IP地址等 [root@localhost ~]# hostname Linux3 [root@localhost ~]# bash [root@Linux3 ~]# vi /etc/sysconfig/network HOSTNAME=Linux3 修改IP地址 [root@Linux3 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.15.135 NETMASK=255.255.255.0 GATEWAY=192.168.15.2 DNS1=114.114.114.114 [root@Linux3 ~]# /etc/init.d/network restart 2. 复制配置文件与磁盘文件克隆 (1) 导入kvm虚拟机配置文件 这里采用centos3做为模板,进行克隆。 [root@KVM ~]# virsh list –all [root@KVM ~]# virsh dumpxml centos3 > /etc/libvirt/qemu/Linux03.xml (2) 复制kvm虚拟机磁盘文件 本系列文章都是采用虚拟磁盘文件进行测试,没有使用lvm卷。 通过查看配置文件:虚拟磁盘位置 (3) 直接编辑修改配置文件 修改name,uuid,disk位置,vnc端口 此时还是将该配置文件注册进来,无法通过virsh edit进行编辑。 [root@node1 data]# vi /etc/libvirt/qemu/Linux03.xml (4) 定义新虚拟机配置文件 [root@KVM ~]# virsh define /etc/libvirt/qemu/Linux03.xml ##启动虚拟机 [root@KVM ~]# virsh start Linux03 (5) 登录虚拟机进行主机名,IP等修改 [root@localhost ~]# vi /etc/sysconfig/network HOSTNAME=Linux03 [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.15.133 NETMASK=255.255.255.0 GATEWAY=192.168.15.2 DNS1=114.114.114.114 本文到此通过两种方式进行kvm虚拟机克隆,其实各有用处。 再次说明:本文克隆的虚拟机是Centos6.4,如果克隆的虚拟机是RHEL/CentOS/OEL7.x操作系统,还需要修改 /etc/udev/rules.d/70-persistent-net.rules文件。 kvm虚拟化学习笔记(八)之kvm虚拟机vnc配置 本文是通过vnc方式访问虚拟主机上的KVM虚拟机。 这里的通过vnc方式访问虚拟机不是在kvm虚拟机安装配置vnc服务器,通过虚拟主机的IP地址与端口进行访问,kvm虚拟化对vnc的支持相对来说比xen要好很多,在虚拟主机上配置VNC访问虚拟机,也是为了多提供一种方式访问虚拟机而已。 1. 修改qemu.conf [root@KVM ~]# vim /etc/libvirt/qemu.conf vnc_listen = “0.0.0.0” 说明1:vnclisten 默认绑定127.0.0.1 在配置文件里指定VNC 绑定0.0.0.0IP,就不用在安装kvm虚拟机时指定vnclisten参数了。 说明2:在虚拟主机上有很多个虚拟机的时候,需要指定每个虚拟机的端口,否则将会很乱。 2. 修改虚拟机配置文件 [root@KVM ~]# virsh edit Linux03 ###配置VNC的配置文件,port是指定端口号,autoport是自己分配端口号。 3. 启动虚拟机并测试VNC ###查看vnc端口 [root@KVM ~]# netstat -tunlp|grep qemu-kvm tcp 0 0 0.0.0.0:5916 0.0.0.0:* LISTEN 4134/qemu-kvm ###vnc工具登录 改为字符界面启动,vnc也能出现界面,这点比xen虚拟化vnc要好。vnc登录如下。到此kvm虚拟机管理已经介绍了两种方式,一种是在KVM虚拟主机上配置VNC,一种是在kvm虚拟主机上配置virsh console控制台,当然虚拟化管理器就不用说了。 kvm虚拟化学习笔记(九)之kvm虚拟机时间配置 注:在虚拟化环境中,虚拟机在长时间运行过程中,时间会变慢,通常的作法是配置ntpdate定时与时间服务器进行时间同步的计划任务。 KVM虚拟机默认采用utc时间,需要专门修改,以及考虑kvm时间同步问题。 1. kvm虚拟机修改时间配置文件 kvm虚拟机采用utc时间,需要先修改配置文件使用KVM虚拟机的时间与虚拟主机同步。 [root@KVM ~]# virsh edit Linux03 ###修改utc为localtime,保存退出,重启虚拟机。 2. 关于kvm虚拟机时间问题解决思路 (1) 虚拟机时间慢是所有虚拟化平台的一共性问题。 (2) 解决时间的最终解决方法就是在生产环境中配置时间服务器,kvm虚拟化服务器与kvm机均都要配置时间同步的计划任务,这才是解决这一个问题最终解决方案。 示例:如果能访问互联网,最简单了,需要kvm虚拟机与主机时间同步,但是运行一段时间会慢,一定要做时间同步,特别是对时间敏感的环境。 # crontab -e 01 */3 * * * /usr/sbin/ntpdate ntp.fudan.edu.cn >> /dev/null 2>&1 关于虚拟机时间配置本文讨论完毕。 kvm虚拟化学习笔记(十)之kvm虚拟机快照备份 kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。 要使用镜像功能,磁盘格式必须为qcow2。下面开始kvm虚拟机快照备份的过程。 进一步的学习参考:kvm+libvirt虚拟机快照浅析 http://itxx.sinaapp.com/blog/content/130 1. 查看现有磁盘镜像格式与转换 (1) 查看磁盘格式 [root@KVM ~]# qemu-img info /data/img/kvm_centos2.img ###raw格式需要转换成qcow2 (2) 关闭虚拟机并转换磁盘 [root@centos2 ~]# yum -y install acpid ##安装电源服务 [root@KVM ~]# virsh shutdown centos2 (3) 转换磁盘格式 [root@KVM ~]# qemu-img convert -f raw -O qcow2 /data/img/kvm_centos2.img /data/img/kvm_centos2.qcow2 -f 源镜像的格式 -O 目标镜像的格式 查看转换后磁盘大小 查看转换后的格式,已经转换成了qcow2, 这里是拷贝一份,并将格式转成qcow2 [root@KVM ~]# qemu-img info /data/img/kvm_centos2.qcow2 2. 修改虚拟机配置文件 修改磁盘格式,与新qcow2格式的磁盘。 [root@KVM ~]# virsh edit centos2 3. 对虚拟机进行快照管理 (1) 对oeltest01虚拟机创建快照 也可以virsh snapshot-create-as centos2 centos2_snapshot 创建后个快照别名。 [root@KVM ~]# virsh snapshot-create-as centos2 centos2_snaphshot (2) 查看虚拟机镜像快照的版本 [root@KVM ~]# virsh snapshot-list centos2 (3) 查看当前虚拟机镜像快照的版本 可以看到为当前最新的快照版本。 [root@KVM ~]# virsh snapshot-create-as centos2 centos2_snaphshot [root@KVM ~]# virsh snapshot-current centos2 ###查看快照 [root@KVM ~]#virsh snapshot-info centos2 centos2_snaphshot (4) 查看当前虚拟机镜像文件 ###启动centos2, 安装ftp, 在做一个快照. [root@KVM ~]# virsh start centos2 [root@centos2 ~]# yum -y install vsftpd [root@KVM ~]# virsh snapshot-create-as centos2 centos_installftp [root@KVM ~]# qemu-img info /data/img/kvm_centos2.qcow2 快照配置文件在/var/lib/libvirt/qemu/snapshot/虚拟机名称/下 4. 恢复虚拟机快照 (1) 恢复虚拟机快照必须关闭虚拟机。 [root@KVM ~]# virsh shutdown centos2 确认虚拟机是关机状态 (2) 确认需要恢复的快照时间,这里恢复到centos2_installftp (3) 执行恢复,并确认恢复版本 [root@KVM ~]# virsh snapshot-revert centos2 centos2_installftp (4) 登录到centos2验证ftp命令 5. 删除虚拟机快照 (1) 查看虚拟机快照 [root@KVM ~]# qemu-img info /data/img/kvm_centos2.qcow2 (2) 删除快照 这里删除第一个快照centos2_installftp [root@KVM ~]# virsh snapshot-delete centos2 centos2_installftp [root@KVM ~]# qemu-img info /data/img/kvm_centos2.qcow2 (3) 回到centos2第一个快照(centos2_snaphshot), 并查看centos2状态. [root@KVM ~]# virsh snapshot-revert centos2 centos2_snaphshot 到此kvm虚拟机快照测试完毕。kvm虚拟化学习笔记进行到这里了,感觉到kvm虚拟化的内容真的很多。水是越来越深了。 kvm虚拟化学习笔记(十一)之kvm虚拟机扩展磁盘空间 kvm虚拟机磁盘空间扩展与xen虚拟机磁盘空间扩展思路一致。原因在于xen/kvm默认的虚拟机磁盘格式为raw,所以方式可以通用。 一、raw磁盘格式扩展思路如下 1. 新添加一块raw格式的磁盘加入到KVM虚拟机,然后通过虚拟机系统lvm逻辑卷管理方式进行管理,扩展磁盘空间。 ①. 查看现有磁盘容量 [root@centos1 ~]# df -h ②. 使用dd创建一个磁盘文件 [root@kvm ~]# dd if=/dev/zero bs=1024MB count=2 > /data/img/centos1_new.img [root@kvm ~]# du -sh /data/img/centos1_new.img ③. 关闭虚拟机 [root@kvm ~]# virsh list [root@kvm ~]# virsh shutdown centos1 [root@kvm ~]# virsh list –all ④. 修改虚拟主机配置文件 [root@kvm ~]# virsh edit centos1 ⑤. 启动虚拟机 [root@kvm ~]# virsh start centos1 ⑥. 查看centos1磁盘信息 [root@centos1 ~]# fdisk -l ⑦. 创建磁盘分区,格式化分区, 挂载分区. [root@centos1 ~]# fdisk /dev/sdb [root@centos1 ~]# mkfs.ext4 /dev/sdb1 [root@centos1 ~]# mkdir /data [root@centos1 ~]# mount /dev/sdb1 /data/ [root@centos1 ~]# df -h 2. 直接通过dd命令扩展现有虚拟机磁盘大小,扩展之后,原磁盘大小增大,进入虚拟机系统后,直接通过fdisk分区新添加的空间,然后将该分区并入lvm逻辑卷中,扩大磁盘空间。 ①. 关闭扩容kvm(centos1) [root@kvm ~]# virsh shutdown centos1 [root@kvm ~]# virsh list –all ②. 直接扩展现有磁盘空间(centos1_new.img) [root@kvm ~]# du -sh /data/img/centos1_new.img [root@kvm ~]# dd if=/dev/zero bs=1024MB count=2 >> /data/img/centos1_new.img ③. 启动kvm(centos1) [root@kvm ~]# virsh start centos1 [root@kvm ~]# virsh list ④. 查看分区列表.(注: 创建分区自便) [root@centos1 ~]# df -h [root@centos1 ~]# fdisk -l /dev/sdb 二、qcow2磁盘格式扩展思路如下 (1) 可以采用raw磁盘格式磁盘的扩展方式一致的方式进行。 (2) qcow2格式磁盘,直接通过qemu-img 直接扩展qcow2磁盘, 新添加一块raw格式的磁盘加入到KVM虚拟机,然后通过虚拟机系统lvm逻辑卷管理方式进行管理,扩展磁盘空间。 下面将开始通过qcow2格式添加磁盘。 方式一:添加一块qcow2磁盘加入虚拟机 1. 查看现在虚拟机磁盘信息 ①. 查看kvm虚拟机(centos1)磁盘格式 [root@kvm ~]# virsh edit centos1 ②. 查看磁盘格式信息 [root@kvm ~]# qemu-img info /data/img/kvm_centos1.qcow2 ③. 进入虚拟机,查看磁盘容量 [root@centos1 ~]#df -h ④. 添加一块qcow2磁盘 [root@kvm ~]# qemu-img create -f qcow2 /data/img/kvm_centosA1.qcow2 2G ⑤. 关闭kvm(centos1)添加一块qcow2磁盘信息加入配置文件 [root@kvm ~]# virsh shutdown centos1 [root@kvm ~]# virsh edit centos1 ⑥. 启动虚拟机并配置磁盘 [root@kvm ~]# virsh start centos1 [root@centos1 ~]# fdisk -l 2. 配置LVM扩展磁盘 ①.磁盘分区 [root@centos1 ~]# fdisk /dev/sdb ②. 扩展lvm逻辑卷。 [root@centos1 ~]# pvcreate /dev/sdb1 [root@centos1 ~]# pvs PV VG Fmt Attr PSize PFree /dev/sda2 VolGroup lvm2 a– 9.51g 0 /dev/sdb1 lvm2 a– 2.00g 1020.00m [root@centos1 ~]# vgextend VolGroup /dev/sdb1 [root@centos1 ~]# lvextend -L +1024MB /dev/mapper/VolGroup-lv_root [root@centos1 ~]# resize2fs /dev/mapper/VolGroup-lv_root [root@centos1 ~]# df -h 可以看到, 根”/”分区增长了1G容量。 方式二:直接扩展qcow2磁盘(拿kvm_Centos4做演示) (1) 关闭虚拟机。 (2) 删除配置文件中第二块磁盘信息 1. 直接扩展qcow2磁盘 (1) 查看磁盘 [root@kvm ~]# virsh edit centos40 (2) 直接扩展qcow2磁盘 [root@kvm ~]# qemu-img resize /data/img/kvm_centos4.qcow2 +4G 经过前后对比,磁盘大小已由14G扩展到18G,已扩展,qcow2磁盘格式必须采用此方式进行扩展,不要使用dd方式,dd方式适用于raw格式。 2. 进入系统开始扩展磁盘 (1) 启动kvm(centos4)并查看分区大小 [root@kvm ~]# virsh start centos4 [root@centos4 ~]# fdisk -l (2) 开始分区 [root@centos4 ~]# fdisk /dev/vda 查看现在磁盘空间 [root@centos4 ~]# df -h (3) 格式化分区并挂载。 [root@centos4 ~]# mkfs.ext4 /dev/vda3 [root@centos4 ~]# mkdir /database [root@centos4 ~]# mount /dev/vda3 /data [root@centos4 ~]# df -h 到此kvm虚拟机扩展磁盘空间成功,当虚拟机磁盘格式换成qcow2后,确实有很多需要注意的地方,qcow2格式支持动态扩展与快照功能,虽然性比raw稍差,但确实很实用。 因篇幅问题不能全部显示,请点此查看更多更全内容