linux kvm虚拟机快速构建及磁盘类型

时间:2022-09-12 15:35:08

KVM命令管理

virsh命令:用来管理各虚拟机的接口命令
查看/创建/停止/关闭。。。
支持交互模式
格式:
virsh 控制指令 [虚拟机名称] [参数]

[root@room1pc01 桌面]# virsh nodeinfo(查看虚拟机服务器的cpu信息)
CPU 型号: x86_64
CPU: 2
CPU 频率: 1900 MHz
CPU socket: 2
每个 socket 的内核数: 1
每个内核的线程数: 1
NUMA 单元: 1
内存大小: 1906912 KiB
[root@room1pc01 桌面]# virsh list --all(列出虚拟机数量,包括关机的)
Id 名称 状态
----------------------------------------------------
1 rh6_node07 running
2 rh6_node06 running
- rh6_node05 关闭
- win2008 关闭

[root@room1pc01 桌面]# virsh dominfo rh6_node07(查看虚拟服务器里的虚拟机配置)
Id: 1
名称: rh6_node07
UUID: fbf829d8-5bda-49f0-adeb-ddacac73c5ea
OS 类型: hvm
状态: running
CPU: 1
CPU 时间: 1894.7s
最大内存: 1048576 KiB
使用的内存: 1048576 KiB
Persistent: yes
自动启动: 禁用
Managed save: no
安全性模式: none

——————————————————————————————————————

KVM软关机/重启/开机
virsh shutdown 虚拟机名
virsh reboot 虚拟机名
virsh start 虚拟机名
KVM硬关机(强制断电)
virsh destroy 虚拟机名

设置虚拟机开机自启
virsh autostart 虚拟机名
取消虚拟机开机自启
virsh autostart --disable 虚拟机名

——————————————————————————————————————————————

一台KVM虚拟机的组成
虚拟机的配置文件:
默认位于/etc/libvirt/qemu/虚拟机名.xml
虚拟机的磁盘文件:
默认位于/var/lib/libvirt/images/虚拟机名.img(或者由管理员提前准备,手动指定)

XML描述文件介绍
记录每个虚拟机的详细参数
名称 UUID 内存 CPU 磁盘 。。。
文件位置:cat /etc/libvirt/qemu/rh6_node07.xml
<domain type='kvm'>
<name>rh6_node07</name> (名称)
<uuid>fbf829d8-5bda-49f0-adeb-ddacac73c5ea</uuid>(uuid值)
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>(内存大小)
<vcpu placement='static'>1</vcpu> (cpu数量)
。。。。。。。。

导出/提取虚拟机的配置
virsh dumpxml 虚拟机名 > /root/new.xml
修改导出后的配置
vim /root/new.xml
导入/重新定义后的配置
virsh define /root/nwe.xml
取消定义
virsh undefine 虚拟机名

练习:将虚拟机rh6_node06改为rh6_node01
[root@room1pc01 ~]# virsh dumpxml rh6_node06 > /root/nwe.xml(导出虚拟机配置定向到/root/new.xml)
[root@room1pc01 ~]# vim /root/nwe.xml (修改名字)
<domain type='kvm' id='2'>
<name>rh6_node01</name>(修改名字)
<uuid>d2e18138-6ec6-45e2-baab-5da0dec1ee97</uuid>(修改uuid,不要相同)
[root@room1pc01 ~]# virsh define /root/nwe.xml (导入虚拟机)

练习:将虚拟机rh6_node06改为rh6_node02
[root@room1pc01 ~]# virsh dumpxml rh6_node06 > /root/nwe.xml(导出虚拟机配置定向到/root/new.xml)
[root@room1pc01 ~]# vim /root/nwe.xml (修改名字)
<domain type='kvm' id='2'>
<name>rh6_node02</name>(修改名字)
<uuid>d2e18138-6ec6-45e2-baab-5da0dec1ee97</uuid>(修改uuid)
</interface>
<interface type='network'>
<mac address='54:52:01:01:06:02'/>(修改mac地址)
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/var/lib/libvirt/images/rh6_node02.img'/>(修改硬盘)
[root@room1pc01 ~]# virsh define /root/nwe.xml (导入虚拟机)
[root@room1pc01 images]# cd /var/lib/libvirt/images/
[root@room1pc01 images]# ls
rh6_node05.img rh6_node06.img rh6_node07.img
[root@room1pc01 images]# cp rh6_node06.img rh6_node01.img &(复制被复制的虚拟机的磁盘)
[1] 35752

导出,修改,导入三合一操作
[root@room1pc01 ~]# virsh edit rh6_node06
<domain type='kvm' id='2'>
<name>rh6_node03</name>(修改名字)
<uuid>d2e18138-6ec8-45e2-baab-5da0dec1ee97</uuid>(修改uuid)
</interface>
<interface type='network'>
<mac address='54:52:01:01:06:03'/>(修改mac地址)
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/var/lib/libvirt/images/rh6_node03.img'/>(修改硬盘)
[root@room1pc01 images]# cp rh6_node06.img rh6_node03.img &(复制被复制的虚拟机的磁盘)
[1] 35752
[root@room1pc01 ~]# ls /var/lib/libvirt/network/(虚拟系统管理器网卡配置文件)
default.xml private1.xml private2.xml public1.xml public2.xml

克隆虚拟机
virt-clone -o 被克隆的虚拟机 -n 新的虚拟机名 -f 新磁盘保存路径
[root@room1pc01 opt]# virt-clone -o rh6_node05 -n hydra -f /var/lib/libvirt/images/rh6_node03.img
正在分配 'rh6_node03.img' | 50 GB 01:39

————————————————————————————————————————————————————

虚拟机快建技术
KVM虚拟机的镜像管理
主要是针对虚拟机的磁盘管理
——————————————————+
特点/类型 RAW QCOW2 |
KVM默认 是 否 |
I/O效率 高 较高 |
占用空间 大 小 |
压缩 不支持 支持 |
增量备份 不支持 支持 |
快照 不支持 支持 |
——————————————————+
COW工作原理:
copy on write,写时复制
直接映射原始盘的数据内容,当原始盘卷有修改时,将被改动的旧数据写入增量盘
对增量盘的修改不会写到原始盘

使用qemu-img管理虚拟磁盘
查看磁盘信息:qemu-img info 磁盘路径
image: rh6_node01.img
file format: qcow2
virtual size: 50G (53687091200 bytes)
disk size: 323M
cluster_size: 65536
backing file: /var/lib/libvirt/images/.rh6_template.img

创建新的独立的磁盘:qemu-img create -f 磁盘类型(rw/qcw2) 磁盘路劲 磁盘大小
[root@room1pc01 ~]# qemu-img create -f raw /var/lib/libvirt/test1.img 20G(raw类型)
Formatting '/var/lib/libvirt/test1.img', fmt=raw size=21474836480
[root@room1pc01 images]# qemu-img create -f qcow2 /var/lib/libvirt/images/test2.qcow2 20G(qcow2类型)
Formatting '/var/lib/libvirt/images/test2.qcow2', fmt=qcow2 size=21474836480 encryption=off cluster_size=65536
创建新的独立的磁盘(增量/前段):qemu-img create -f qcow2 -b 后端盘路径 磁盘路径 大小(大小可省略)

练习:从虚拟机rh6_node05快建新虚拟机rh6_nonde04
准备新磁盘:
[root@room1pc01 images]# qemu-img create -f qcow2 -b /var/lib/libvirt/images/rh6_node05.img /var/lib/libvirt/images/rh6_node03.qcow2
Formatting '/var/lib/libvirt/images/rh6_node03.qcow2', fmt=qcow2 size=53687091200 backing_file='/var/lib/libvirt/images/rh6_node05.img' encryption=off cluster_size=65536
准备新配置:
[root@room1pc01 images]# virsh edit rh6_node05(导出,修改,导入三合一操作)
<domain type='kvm'>
<name>rh6_node03</name>(改名字)
<uuid>e1aa2571-22c6-4804-924d-953e8fc7ad2c</uuid>(改uuid)

<driver name='qemu' type='qcow2' cache='none'/>(改磁盘类型type=qcow2)
<source file='/var/lib/libvirt/images/rh6_node03.qcow2'/>(磁盘路劲)

<mac address='54:52:01:01:05:56'/>(改mac地址)

转换磁盘格式:
qemu-img convert -O 新的类型 被转换磁盘路径 新磁盘路径

练习:使用旧格式磁盘的虚拟机磁盘转成新格式
[root@room1pc01 images]# qemu-img convert -O qcow2 /var/lib/libvirt/images/rh6_node06.img /var/lib/libvirt/images/rh6_node06.qcow2
调整新磁盘的配置(类型,路径)
[root@room1pc01 images]# virsh edit rh6_node06
<driver name='qemu' type='qcow2' cache='none'/>(改磁盘类型type=qcow2)
<source file='/var/lib/libvirt/images/rh6_node06.qcow2'/>(磁盘路劲)
根据需要,调整配置后可以把就磁盘删除
[root@room1pc01 images]# ls
rh6_node03.qcow2 rh6_node05.img rh6_node06.img rh6_node06.qcow2 rh6_node07.img
[root@room1pc01 images]# rm -rf rh6_node06.img

管理磁盘快照:(磁盘类型必须为qcow2)
qcow2快照管理:
为磁盘记录不同时间点的抓过太备份
(非独立的文件)
必要时可将虚拟机恢复到指定的快照
基本用法:
-c:创建快照
-l:查看快照
-a:恢复到指定快照
-d:删除快照
qemu-img snapshot -c 快照名 磁盘路径
qemu-img snapshot -l 磁盘路径
qemu-img snapshot -a 快照名 磁盘路径
qemu-img snapshot -d 快照名 磁盘路径

————————————————————————————————————

准备模板虚拟机
命令行模式/安装虚拟机
virt-install --name muban1 --vcpus 1 --raw 1024
--disk path=/var/lib/libvirt/imagesmuban1.qcow2,
format=qzow2 --network=private1 --pxe

初始化设置
预装软件处理
软件包
ip地址
主机名
网卡参数(mac地址)
/etc/udve/rules.d/70-persistent-net.rules(清空)
/etc/sysconfig/network-scripts-eth0
删除HWADDR UUID

出厂设置
touch /.unconfigured(在/目录下创建一个文件)

——————————————————————————————————————
guestmount工具
支持离线挂载raw,qcow2格式的虚拟机磁盘
可以在虚拟机关机的情况下。直接修改磁盘中的文档
方便对虚拟机进行定制,修复,脚本维护

挂载虚拟盘
基本格式:
guestmount -a 磁盘路径 -i /挂载点
guestmount -a 磁盘路径 -m 虚拟机分区 /挂载点
[root@room1pc01 ~]# yum -y install libguestfs-tools

—————————————————————————————————————

linux kvm虚拟机快速构建及磁盘类型的更多相关文章

  1. Oracl Linux KVM虚拟机备份

    Oracle Linux  KVM 作为Oracle Linux的一部分,基于KVM的Oracle Linux 服务器虚拟化解决方案在功能上得到了增强.用户可以利用Oracle Linux旧版本,将操 ...

  2. kvm虚拟化学习笔记&lpar;二&rpar;之linux kvm虚拟机安装

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

  3. linux kvm虚拟机使用

    安装配置kvm 1.安装kvm软件包 [root@kvm ~]# yum install kvm python-virtinst libvirt tunctl bridge-utils virt-ma ...

  4. 使用libvirt做适配的kvm虚拟机window server 2008 磁盘性能的提升

    实验室自己做了一个iaas的项目,当时是为了更方面的在kvm和xen下进行迁移,所以选择了libvirt作为适配层. 昨天简单的测试一了一下我们跟qingcloud的性能对比.我们的linux主机性能 ...

  5. linux kvm虚拟机安装

    1.上传ISO文件,这里采用OEL5.8x64iso 2.开始安装OEL5.8 (1)raw格式磁盘 virt- --vcpus= --disk path=/data/test02.img,size= ...

  6. Linux kvm虚拟机的基本操作命令

    Linux 虚拟化kvm virsh常用命令篇 1.创建虚拟机 virsh define damo.xml //创建的虚拟机不是活动的 virsh create damo.xml //创建的虚拟机是活 ...

  7. CentOS 7&period;5 安装KVM虚拟机&lpar;Windows&rpar;

    一.KVM环境搭建1.检测系统是否支持cat /proc/cpuinfo | egrep 'vmx|svm' KVM是基于x86虚拟化扩展(Intel VT 或者 AMD-V)技术的虚拟机软件,所以查 ...

  8. 003&period;KVM虚拟机部署-CentOS6&period;8

    一 实验说明 CentOS 7的KVM虚拟机推荐使用qcow2磁盘格式,本实验在KVM中安装CentOS 6.8 64虚拟机. 二 命令部署过程 2.1 上传镜像 使用winscp上传至/data/i ...

  9. windows kvm虚拟机安装

    这一步操作需要注意的几个点:a.局域网内与主机传输文件用scp或ftp命令,要保证ISO镜像文件在主机上有操作权限的目录下,比如 /home等:b.不管安装什么系统的虚拟机,创建的磁盘类型,分配的虚拟 ...

随机推荐

  1. 20个编写现代CSS代码的建议

    明白何谓Margin Collapse 不同于其他很多属性,盒模型中垂直方向上的Margin会在相遇时发生崩塌,也就是说当某个元素的底部Margin与另一个元素的顶部Margin相邻时,只有二者中的较 ...

  2. hdu2222 字典树

    要注意二点 . 这组数据 1 6 she he he say shr her yasherhs出现重复的,也要算.所以这里答案为4: 这一组 1 6 she he he say shr her yas ...

  3. 快速传输大数据(tar&plus;lz4&plus;pv)

    快速传输大数据(tar+lz4+pv)   如果用传统SCP远程拷贝,速度是比较慢的.现在采用lz4压缩传输.LZ4是一个非常快的无损压缩算法,压缩速度在单核300MB/S,可扩展支持多核CPU.它还 ...

  4. js模拟类的公有与私有 方法与变量

    var myConstructor = function(message){ //实例变量 this.message = message; //私有变量,外部不可见.用var声明的变量具有块作用域 v ...

  5. java事务管理

    一.什么是Java事务 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性(isol ...

  6. C&num;基础(二)

    变量的命名规则: 1.变量名由字母,数字 ,下划线组成.@ 中文 2.首字母,不能是数字 3.不能与关键字重名 变量的定义 语法: 数据类型 变量名[=值]; int a;      //只定义变量 ...

  7. bootstrapUI

    http://www.tinygroup.org/tinyadmin/#ajax/dashboard.pagelet

  8. 《SDN核心技术剖析和实战指南》2&period;4 OVS交换机实现分析小结

    Open vSwitch(OVS)是一款基于软件实现的开源交换机.它能够支持多种标准的管理接口和协议以及跨多个物理服务器的分布式环境.特别地,OVS提供了对OpenFlow协议的支持,并且能够与众多开 ...

  9. 【SF】开源的&period;NET CORE 基础管理系统 -介绍篇

    [SF]开源的.NET CORE 基础管理系统 -系列导航 1.环境: .NET Core SDK (https://www.microsoft.com/net/core) SQL Server or ...

  10. css2&period;1实现图片添加阴影效果

    盒子里面放了img标签,盒子浮动后,盒子的背景图片(就是阴影图片)会应用图片的宽高. <!DOCTYPE html> <html lang="en"> &l ...