kvm虚拟机学习笔记5-kvm磁盘和网络管理

kvm虚拟机学习笔记5-kvm磁盘和网络管理

qcow2磁盘格式和raw磁盘格式

qcow2的特点

QCOW2镜像格式是Qemu支持的磁盘镜像格式之一。它可以使用一个文件来表示一个固定大小的块设备。与Raw镜像格式相比,QCOW2具有如下优点:

  • 更小的文件大小,即便不支持holes(稀疏文件)的文件系统同样适用
  • 支持写时拷贝(COW, Copy-on-write),QCOW2镜像只反映底层磁盘镜像所做的修改
  • 支持快照,QCOW2镜像可以包含镜像历史的多重快照
  • 支持基于zlib的数据压缩
  • 支持AES加密

创建一个qcow2磁盘文件

# 创建一个名为test.qcow2,大小为4G的qcow2镜像
qemu-img create -f qcow2 test.qcow2 4G
# 将QCOW2格式的test.qcow2文件转换成raw格式的test.img文件
qemu-img convert test.qcow2 -O raw test.img

Copy-on-Write镜像

QCOW2镜像可以用来存储另一个磁盘镜像的修改内容,而不影响原有磁盘的内容。这种镜像被称之为拷贝镜像,以用户的角度看起来像是一个独立的镜像文件,但是其中的大部分数据是从原始镜像中获取到的。只有原始镜像的簇发生改变的内容才会被存储到拷贝镜像中。

这种表示方式很容易实现。可以通过在Copy-on-write镜像中包含原始磁盘镜像中的路径,头文件中记录原文件的路径字符串。

当读取Copy-on-write镜像中的簇时,首先检查该区域是否存在Copy-on-write镜像文件内。如果不存在,则从原始磁盘镜像中读取对应的位置。
###快照
快照同COW文件概念比较相似,区别在于原文件是可写的,而快照不可写。

近一步解释—一个COW镜像也可被称为“快照”,因为COW确实表示了原始镜像文件的状态。我们可以通过创建多个COW镜像来实现对原始镜像的“快照”,每一个镜像指向原始镜像。值得注意的是,原始镜像必须保持只读,而COW快照为可写。

快照—“真实快照”—存在于原始镜像文件中。每个快照都是原始镜像在过去的某个时刻的只读记录。原始镜像文件一直保持可写的状态,当原始文件发生改变时,写时复制出来的簇可以被不同的快照引用。
有关qcow2的详细内容可以查看这里

qcow2 对比raw

  • raw 对比qcow2 来说 raw格式的性能要好于qcow2。因为最接近磁盘格式
  • 简单,并能够导出为其他虚拟机的虚拟硬盘格式
  • 能够直接被宿主机挂载,不用开虚拟机即可在宿主和虚拟机间进行数据传输(注意,此时虚拟机不要开)

raw转换成qcow2

查看磁盘信息

#通过qemu-img info +磁盘文件 来查看磁盘信息
qemu-img info CentOS-6.7-x86_64.raw
image: CentOS-6.7-x86_64.raw
file format: raw
virtual size: 10G (10737418240 bytes)
disk size: 2.0G

通过以下命令就可以将raw转换成qcow2文件

qemu-img convert -f raw -o qcow2 test.raw.qcow2

注意
对于生产环境。不建议对虚拟机的磁盘文件进行转换。应该在创建虚拟机的时候就预先规划好磁盘文件的格式与大小。

为虚拟机添加磁盘

创建磁盘镜像

qemu-img create -f raw /opt/c1d6.img 10G

修改虚拟机的配置文件

在磁盘那里添加一段

#找到硬盘配置(原来的系统硬盘)

      
      
      
      
#增加文件硬盘,vdb

对于虚拟机也不会用几百g的数据 一般会将磁盘分离 或者对象存储里面

kvm网络调整

brctl show 查看网桥

vnet0 虚拟机地址

[root@kvm ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.525400a5f4f6       yes             virbr0-nic
                                                        vnet0
vnet0 通过 virbr0 来连接网络

NAT会造成网络瓶颈。在生产中我们更倾向于使用桥接网络

配置虚拟机桥接物理网段。

brctl addbr br0
brctl addif br0 eth0
#网络中断
brctl show

#接下来要做的就是吧
#eth0的ip地址删了配到br0上
ip addr del dev eth0 192.168.0.99/24
ifconfig br0  192.168.0.99/24 up
route add default gw 192.168.0.254
#ipconfig br0  192.168.0.99/24 up

在配置网络的过程中会造成宿主机网络中断。所以对于生产方式解决方式.写一个脚本。

脚本内容如下

brctl addbr br0
brctl addif br0 eth0
ip addr del dev eth0 192.168.0.99/24
ifconfig br0  192.168.0.99/24 up
route add default gw 192.168.0.254

配置kvm 虚拟机连接桥接网卡

virsh edit 虚拟机名字 更换桥接网卡


      
      
      
修改成

接下来就可以在虚拟机中配置ip连接 宿主机的网段了。

One thought on “kvm虚拟机学习笔记5-kvm磁盘和网络管理

发表评论

电子邮件地址不会被公开。 必填项已用*标注