热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linuxkvm虚拟化架构实战指南_Linux基础架构学习使用KVM进行虚拟化Day05

映像选择您选择的VM映像类型会影响正在使用的存储量和VM的性能。手册页(http:linux.die.netman1qemu-img)中提供的一些可用图像类型包括以下内容ÿ
映像选择

您选择的VM映像类型会影响正在使用的存储量和VM的性能。 手册页(http://linux.die.net/man/1/qemu-img)中提供的一些可用图像类型包括以下内容:

Raw

Qcow2

QCOW

Cow

VDI

VMDK

VPC

CLOOP

列表中最受欢迎的是Qcow / Qcow2和Raw。 已经对一种与另一种的性能和存储使用进行了大量研究。 原始映像比Qcow2映像具有更好的性能; 但是,您无法“快照”原始映像。 获取VM快照的一个优点是,您可以在代码部署之前拍摄快照,如果部署不顺利,您可以简单地恢复到以前版本的快照(清单3-13)。

清单3-13。 快照管理

# Creating a snapshot# virsh snapshot-create vm1.example.comDomain snapshot 1407102907 created# Viewing a list of snapshots# virsh snapshot-list vm1.example.com Name Creation Time State------------------------------------------------------------ 1407102907 2014-08-03 14:55:07 -0700 shutoff# Getting snapshot information# virsh snapshot-info vm1.example.com --currentName: 1407102907Domain: vm1.example.comCurrent: yesState: shutoffLocation: internalParent: -Children: 0Descendants: 0Metadata: yes# View XML information about snapshot# virsh snapshot-dumpxml vm1.example.com 14071029071407102907shutoff1407102907vm1.example.comba292588-6570-2674-1425-b2ee6a4e7c2b104857610485761hvm[SNIP] # Revert to a snapshot.# virsh snapshot-revert vm1.example.com –current# Delete a snapshot.# virsh snapshot-delete vm1.example.com --currentDomain snapshot 1407102907 deleted文件系统选择

由于VM映像基本上是文件,因此会出现问题:您使用哪个文件系统来放置文件? 一些选项是

使用文件系统,如ext3,ext4,XFS或类似系统

将VM放在Linux逻辑卷管理器(LVM)分区上

在管理程序上使用文件系统放置VM文件时,访问VM会产生开销。 这种开销并不多,但是通过将VM置于例如未格式化的LVM上,您可以获得更好的性能。

文件系统的布局也很重要,不仅在虚拟机管理程序上,而且在虚拟机上。 清单3-14和清单3-15显示了用于最小安装的VM磁盘分区。

清单3-14。 VM磁盘分区

# Disk partition layout# We reserve 500MB for boot and the rest for an LVM physical volume.# This is based on an 80GB disk size for a VM.# parted -l /dev/sda2Model: XX (scsi)Disk /dev/sda: 85.9GBSector size (logical/physical): 512B/512BPartition Table: msdosNumber Start End Size Type File system Flags 1 1049kB 538MB 537MB primary ext4 boot 2 538MB 85.9GB 85.4GB primary lvm[SNIP]Using LVM we create on the physical volume.Size is based on what is left over after allocating 500MB for boot.# pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg0 lvm2 a-- 79.50g 0# One volume group that covers the entire disk# vgs VG #PV #LV #SN Attr VSize VFree vg0 1 4 0 wz--n- 79.50g 0# I have created logical volumes with names that are self-descriptive.# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert lv_home vg0 -wi-ao---- 20.00g lv_root vg0 -wi-ao---- 47.50g lv_swap vg0 -wi-ao---- 2.00g lv_var vg0 -wi-ao---- 10.00g

使用LVM的一个明显优势是您可以按需增长磁盘分区。 引导分区不能在LVM上,因为LVM内核模块未加载到initrd RAM磁盘中的引导引导。 但是,所有其他分区都可以是LVM分区。 关于命名卷组,我选择了一些简单的,这是顺序的。 你可以选择适合你的任何东西。 对于每个逻辑卷的大小,我基于VM磁盘大小(80GB)。 RedHat的适用于CentOS的交换大小建议见表3-1。

8eb48ee6a733cf404a069cd444e97481.png

清单3-15。 VM文件系统布局

# cat /etc/fstab/dev/mapper/vg0-lv_root / ext4 noatime,nodiratime,relatime 1 1UUID=141c589e-a255-4cfd-b1bc-8fd337c22cd5 /boot ext4 defaults 1 2/dev/mapper/vg0-lv_home /home ext4 noatime,nodiratime,relatime 1 2/dev/mapper/vg0-lv_var /var ext4 noatime,nodiratime,relatime 1 2/dev/mapper/vg0-lv_swap swap swap defaults 0 0tmpfs /dev/shm tmpfs defaults 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 0



推荐阅读
  • 本文将详细介绍如何配置并整合MVP架构、Retrofit网络请求库、Dagger2依赖注入框架以及RxAndroid响应式编程库,构建高效、模块化的Android应用。 ... [详细]
  • 本文详细介绍了在MyBatis框架中如何通过#和$两种方式来传递SQL查询参数。使用#方式可以提高执行效率,而使用$则有助于在复杂SQL语句中更好地查看日志。此外,文章还探讨了不同场景下的参数传递方法,包括实体对象、基本数据类型以及混合参数的使用。 ... [详细]
  • 本文介绍了一种在 Android 开发中动态修改 strings.xml 文件中字符串值的有效方法。通过使用占位符,开发者可以在运行时根据需要填充具体的值,从而提高应用的灵活性和可维护性。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • Exploring issues and solutions when defining multiple Faust agents programmatically. ... [详细]
  • 在Linux系统中使用EncFS实现文件夹加密
    为了保护个人隐私或敏感数据不被未经授权的访问,可以通过加密技术来增强安全性。本文介绍如何在Linux系统上使用EncFS工具创建和管理加密文件夹,以确保即使在系统登录状态下,特定文件夹中的数据也保持加密状态。 ... [详细]
  • 本文探讨了一个Web工程项目的需求,即允许用户随时添加定时任务,并通过Quartz框架实现这些任务的自动化调度。文章将介绍如何设计任务表以存储任务信息和执行周期,以及如何通过一个定期扫描机制自动识别并加载新任务到调度系统中。 ... [详细]
  • java datarow_DataSet  DataTable DataRow 深入浅出
    本篇文章适合有一定的基础的人去查看,最好学习过一定net编程基础在来查看此文章。1.概念DataSet是ADO.NET的中心概念。可以把DataSet当成内存中的数据 ... [详细]
  • 本文探讨了在使用 MyBatis 进行批量数据处理时遇到的参数绑定异常问题,并提供了详细的解决方案。 ... [详细]
  • 本文详细介绍了Socket在Linux内核中的实现机制,包括基本的Socket结构、协议操作集以及不同协议下的具体实现。通过这些内容,读者可以更好地理解Socket的工作原理。 ... [详细]
  • Linux内核中的内存反碎片技术解析
    本文深入探讨了Linux内核中实现的内存反碎片技术,包括其历史发展、关键概念如虚拟可移动区域以及具体的内存碎片整理策略。旨在为开发者提供全面的技术理解。 ... [详细]
  • 本文探讨了如何选择一个合适的序列化版本ID(serialVersionUID),包括使用生成器还是简单的整数,以及在不同情况下应如何处理序列化版本ID。 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 在使用mybatis进行mapper.xml测试的时候发生必须为元素类型“mapper”声明属性“namespace”的错误项目目录结构UserMapper和UserMappe ... [详细]
  • 本文介绍了在Visual C++环境中通过编程实现鼠标移动及点击的具体方法,包括获取鼠标当前位置、移动鼠标至指定位置并执行点击等操作。 ... [详细]
author-avatar
顺丰-03_457
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有