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磁盘和网络管理”
厉害了word哥