1、KVM磁盘管理

1、KVM qcow2、raw、vmdk等镜像格式说明:http://blog.csdn.net/zhengmx100/article/details/53887162

raw:  裸格式,占用空间比较大,不支持快照功能,性能较好,
qcow2:占用空间小,支持快照,性能比raw差一点 //q就是qemu的缩写,cow 是英文 (copuy on write):写时复制

什么是写时复制?:

  举个例子,VMWARE的磁盘文件,当创建完虚拟机之后,文件并没有那么大,但随着使用的增多,文件越来越多,磁盘容量也越来越大

所以,raw格式是一次性分配空间是不能创建快照的,qcow2才能创建快照。

为什么是叫qcow2呢?

  举个例子,在linux系统中,文件的格式有mkfs.ext等,如下图所示,那第2代就是mkfs.ext2,第3代就是mkfs.ext3。qcow2同样以此类推,就是qcow的第2代的意思。

2、查看当前虚拟机硬盘信息

qemu-img info /opt/oldboy.qcow2

3、创建一块qcow2格式的虚拟硬盘  

可以在创建虚拟机的时候,讲途中红色框内容修改为qcow2,并为磁盘文件命名

4、使用qemu-img命令创建磁盘

create 创建一块虚拟磁盘文件
qemu-img create -f qcow2 /opt/oldboy.qcow2 10G

注: create  是创建的命令, -f 指定 磁盘文件类型 , /opt/oldboy.qcow2  是磁盘文件名字  , 10G  是磁盘文件大小。 

   如果不指定 磁盘文件类型默认是 raw 格式的,如下图所示

5、raw转qcow2格式:

转换原有磁盘格式:当磁盘文件已经存在为raw格式,我们想要把他转换为qcwo2格式,操作如下:

[root@kvm opt]# qemu-img convert -f raw -O qcow2 centos7.raw centos7.qcow2

*通过修改配置文件,修改磁盘文件

修改clsn7 虚拟机配置文件(虚拟机名字是自己的,virsh list --all 里面的名字)

[root@kvm data]# virsh edit centos7
修改前:
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/data/clsn.raw'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
修改后:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/data/clsn.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>

删除原磁盘文件

[root@kvm data]# \rm clsn.raw       //其实可以换成mv,把文件移动到/tmp目录下,这样更安全。

启动虚拟机  


[root@kvm data]# virsh destroy clsn7
[root@kvm data]# virsh start clsn7 
[root@kvm data]# virsh list --all
Id 名称 状态
----------------------------------------------------
22 clsn7 running

注:raw和qcow2的格式转换形式一样,互换位置即可。

6、修改磁盘大小resize

qemu-img resize oldboy.raw 8G     //resize 是修改命令, oldboy.raw是修改磁盘文件名称,  8G 是要修改的大小

第二种是已知磁盘文件大小,想要增加固定参数。

2、KVM快照管理

创建快照virsh snapshot-create centos7
查看快照virsh snapshot-list centos7 还原快照virsh snapshot-revert centos7 --snapshotname 1516574134
删除快照virsh snapshot-delete centos7 --snapshotname 1516636570 raw不支持做快照,qcow2支持快照,并且快照就保存在qcow2的磁盘文件中

注:开机的时候也可以创建快照

查看一个虚拟机里的快照

3、KVM虚拟机添加硬盘

进入硬盘存放目录

[root@kvm ~]# cd /opt

创建一块新的硬盘

[root@kvm data]# qemu-img create -f qcow2 centos7-add01.qcow2 5G
Formatting 'centos7-add01.qcow2', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off

查看创建的硬盘信息

[root@kvm opt]# qemu-img info centos7-add01.qcow2
image: centos7-add01.qcow2
file format: qcow2
virtual size: 5.0G (5368709120 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false

为虚拟机添加硬盘

[root@kvm opt]# virsh attach-disk centos7 /data/centos7-add01.qcow2 vdb --live --cache=none --subdriver=qcow2
# 成功附加磁盘  

参数说明:

调整已添加硬盘的大小

[root@kvm opt]# virsh --help |grep disk
attach-disk #附加磁盘设备
detach-disk #分离磁盘设备

将已挂载的磁盘卸载下来  

[root@kvm opt]# virsh detach-disk centos7  vdb
成功分离磁盘

调整磁盘大小

# 使用参数
[root@kvm opt]# qemu-img --help |grep resize
resize [-q] filename [+ | -]size

增加1G容量

[root@kvm opt]# qemu-img resize centos7-add01.qcow2 +1G
Image resized.
[root@kvm data]# qemu-img info centos7-add01.qcow2
image: centos7-add01.qcow2
file format: qcow2
virtual size: 6.0G (6442450944 bytes)
disk size: 260K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false

重新讲磁盘添加到虚拟机

[root@kvm opt]# virsh attach-disk centos7 /opt/centos7-add01.qcow2 vdb --live --cache=none --subdriver=qcow2

以下在虚拟机中操作  

格式化磁盘  

[root@ccentos7 ~]# mkfs.xfs /dev/vdb

挂载磁盘  

[root@centos7 ~]# df -h |grep /dev/vdb
/dev/vdb 6.0G 33M 6.0G 1% /opt

使用 xfs_growfs 刷新磁盘的信息  

[root@centos7 ~]# xfs_growfs --help
xfs_growfs: invalid option -- '-'
Usage: xfs_growfs [options] mountpoint 

4、KVM克隆管理

kvm虚拟机克隆
virt-clone --auto-clone -o centos7 -n guoyouxiu (完整克隆) a:拷贝虚拟机磁盘文件
b:生成虚拟机的配置文件
<name>49-web03</name>
<uuid>8e505e25-5175-46ab-a9f6-feaa096daaa4</uuid>
<source file='/opt/49-web03.qcow2'/>
<mac address='52:54:00:4e:5b:89'/>
c:导入虚拟机并进行启动测试 kvm链接克隆
a.基于源磁盘文件,创建链接磁盘文件
qemu-img create -f qcow2 -b 49-web03.qcow2 49-web04.qcow2 b:生成虚拟机的配置文件
c:导入虚拟机并进行启动测试
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name 49-web04 --memory 1024 --vcpus 1 --disk /opt/49-web04.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

5、KVM网络管理

kvm虚拟机的桥接网络
1:virsh iface-bridge eth0 br0 2:virsh edit centos7 <interface type='bridge'>
<mac address='52:54:00:55:aa:fa'/>
<source bridge='br0'/>
在宿主机上,重启虚拟机生效 3:修改kvm虚拟机的ip
echo 'TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.111
NETMASK=255.255.255.0
GATEWAY=10.0.0.254
DNS1=223.5.5.5' >/etc/sysconfig/network-scripts/ifcfg-eth0
4.验证
[root@clsn7 ~]# ping 223.5.5.5 -c1
PING 223.5.5.5 (223.5.5.5) 56(84) bytes of data.
64 bytes from 223.5.5.5: icmp_seq=1 ttl=128 time=94.4 ms virsh vncdisplay web-49(虚拟机的名字)

KVM -> 虚拟机磁盘管理_03的更多相关文章

  1. libguestfs-tools 虚拟机磁盘管理工具

    libguestfs-tools虚拟机磁盘管理工具: 官网:http://libguestfs.org/ 这是一个非常强大的虚拟机磁盘管理工具,该工具包内包含的工具有virt-cat.virt-df. ...

  2. kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  3. kvm虚拟机日常管理和配置操作命令梳理

    KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理.1)查看KVM虚拟机配置文件及运行状态KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/autostart目录是配置kvm ...

  4. 一次 KVM 虚拟机磁盘占满的排查过程

    一次 KVM 虚拟机磁盘占满的排查过程 KVM 虚拟机系统为 CentOS,文件系统为 XFS. 现象如下: 使用 df -h 命令发现磁盘剩余空间为30k(总大小为30G),使用 df -i 发现 ...

  5. KVM 虚拟机基本管理及常用命令

    KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm qemu]# ll t ...

  6. ESXI虚拟机磁盘管理(精简-厚置-精简)

    VMwareESX/ESXi 精简置备(thin)与厚置备(thick)虚拟机磁盘之间转换 VMwareESX/ESXi 虚拟机磁盘thin与thick之间转换 注意:转换前请先关闭虚拟机!!! 一. ...

  7. 更改kvm虚拟机磁盘大小

    kvm 虚拟机的磁盘大小可通过命令:qemu-img resize filename size 来改,要注意的是resize只支持raw格式的磁盘文件,如果想更改qcow2等格式的磁盘大小,需先用qe ...

  8. Linux下KVM虚拟机基本管理及常用命令(转)

    说明:可能有重复 一.KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm ...

  9. 【虚拟机-磁盘管理】理解及快速测定 Azure 虚拟机的磁盘性能

    随着越来越多的用户将生产系统迁移到 Azure 平台的虚拟机服务中,Azure 虚拟机的性能愈发被关注.传统的数据中心中,我们通常使用 CPU,内存,存储和网络的性能来衡量生产压力.特别是对于 IO ...

随机推荐

  1. Mysql服务器处理客户端请求流程

    在日常执行mysql语句的过程中,都是客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果). 看似很简单,其实不然,这内容有很多东西是需要注意的 ...

  2. [NOI2009]二叉查找树

    题目大意: 给定一棵严格的treap,父亲节点的优先级必然小于儿子节点的.权值按照二叉树的定义,左儿子小于父亲小于右儿子. 深度从1开始定义,每个点除优先级.数值之外,还有一个访问频度. 访问频度所产 ...

  3. P1382 楼房 set用法小结

    这个sb题目,剧毒... STL大法好 首先,我准备用经典的线段树优化扫描线来做.之前的矩形周长把我困了数天导致我胸有成竹. 然后,敲代码半小时,调试半个月......这个,sb,怎么改都是0分+2个 ...

  4. 使用babel将ES6编译成ES5

    现在ES6已经非常成熟了,我的需求很明确,就是只需要将ES6编译成ES5. 项目目录为 借鉴的博客链接为https://blog.csdn.net/suwu150/article/details/77 ...

  5. STM32 一直进入串口接收中断

    解决方法一: .串口初始化配置时,需要打开ORE 溢出中断,否则串口中断没有及时读取数据会触发溢出中断(打开接收中断默认开启溢出中断,但是为了读取溢出标志位还需要明确执行以下打开溢出中断),如果没有清 ...

  6. java常见面试题及三大框架面试

    Java基础方面: 1.作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域 当前类 同一package 子孙类 其他package public √ √  ...

  7. PL/SQL可以连oracle,但是jdbc连不上 【转】

    场景描述 此处是jdbc连接: try { Class.forName("oracle.jdbc.driver.OracleDriver"); String url = " ...

  8. 客户端连接linux经常间隔性断开链接【转】

    起因 在使用SecureCRT通过telnet或SSH访问linux时,总是出现过段时间操作就会断开连接提示重连的问题.起初以为是网络不稳定造成的,但我测试发现在服务器端一直可以ping通客户端IP, ...

  9. crosstab(unknown, unknown) does not exist

    在pgadminIII用到交叉表时,给报了函数不存在 解决方法: 执行sql CREATE EXTENSION tablefunc; 结果 Query returned successfully wi ...

  10. eclipse2019-03设置代码编辑区背景为图片

    一.我的主题设置如下所示 二.找到如下所示或类似的文件夹 三.在该文件夹里的images文件夹里添加图片 四.在CSS目录下的e4-dark_win.css文件中添加如下代码 .MPart Style ...