1、查看KVM虚拟机配置文件

Kvm虚机创建

例子

1./home/work/kvm-host一下操作目录

2.qemu-img create -f qcow2 test-Ws.qcow2 10G

Test-Ws.qcow2  名称   10g为磁盘大小

3.virt-install --name=test-Ws --os-variant=RHEL6 --ram 2048 --vcpus=2 --disk path=/home/work/kvm-host/test-Ws.qcow2,format=qcow2,size=10,bus=virtio --accelerate --cdrom /home/work/isos/CentOS-7-x86_64-Minimal-1611.iso --vnc --vncport=7920 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole

注意内存   cpu    路径   系统版本   vnc端口号不能冲突                             ram内存         cpus  cpu数量            size 磁盘大小           vncport vnc端口号

然后用vnc连接   物理机地址:vnc端口 进行页面配置  然后会重启。需要返回物理机操作  virsh start test-Ws  启动对应系统名称

#默认情况下virsh工具不能对linux虚拟机进行关机操作

#linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。

# yum -y install acpid

# /etc/init.d/acpid start

#Kvm虚拟机默认配置文件位置
[root@kvm qemu]# pwd
/etc/libvirt/qemu
[root@kvm qemu]# ll
total 12
-rw------- 1 root root 3863 Nov 6 17:26 CentOS6.5.xml
-rw------- 1 root root 3771 Nov 7 00:57 CentOS6u7.xml
-rw------- 1 root root 3628 Nov 7 02:04 centos.xml
drwx------ 3 root root 40 Nov 7 00:46 networks

2、启动与关闭

#显示正在运行的虚拟机
[root@kvm ~]# virsh list
Id Name State
----------------------------------------------------
#显示所有虚拟机
[root@kvm ~]# virsh list --all
Id Name State
----------------------------------------------------
- centos shut off
- CentOS6.5 shut off
- CentOS6u7 shut off #启动名字为CentOS6.5的虚拟机
[root@kvm ~]# virsh start CentOS6.5 #关闭名字为CentOS6.5的虚拟机
[root@kvm ~]# virsh shutdown CentOS6.5 #强制关闭名字为Centos6.5的虚拟机
[root@kvm ~]# virsh destroy CentOS6.5 #移除名字为CentOS6.5的虚拟机
[root@kvm ~]# virsh undefine CentOS6.5 #设置CentOS6.5虚拟机开机启动
[root@kvm ~]# virsh autostart CentOS6.5 #默认情况下virsh工具不能对linux虚拟机进行关机操作
#linux操作系统需要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。
# yum -y install acpid
# /etc/init.d/acpid start

3、通过配置文件启动虚拟机

[root@kvm ~]# virsh create /etc/libvirt/qemu/CentOS6.5.xml

4、其它(挂起,恢复)virsh命令

#挂起服务器
[root@kvm qemu]# virsh suspend CentOS6.5
#恢复服务器
[root@kvm qemu]# virsh resume CentOS6.5

5、重命名虚拟机

#停止虚拟机
[root@kvm qemu]# virsh shutdown CentOS6u5 #导出虚拟机的配置文件
[root@kvm qemu]# pwd
/etc/libvirt/qemu
[root@kvm qemu-img]# virsh dumpxml CentOS6u5 > test-CentOS6u5.xml

#更改配置文件
[root@kvm qemu]# sed -i 's/CentOS6u5/test-CentOS6u5/g' test-CentOS6u5.xml
#注 可以不用更改镜像名

#移除原有的虚拟机
[root@kvm qemu]# virsh undefine CentOS6u5 #加载新建的虚拟机
[root@kvm qemu]# virsh define test-CentOS6u5.xml

#启动虚拟机
[root@kvm qemu]# virsh start test-CentOS6u5

6、虚拟机创建快照

#转换磁盘镜像文件格式为qcow2
[root@kvm ~]# virsh shutdown test-CentOS6u5
[root@kvm qemu-img]# qemu-img convert -f raw CentOS6u5.raw -O qcow2 CentOS6u5.raw.qcow2
#快照一定需要qcow2格式才行
#我这边从新建立一个虚拟机以qcow2

#创建快照
[root@kvm qemu-img]# virsh snapshot-create CentOS6u5 #查看快照
[root@kvm qemu-img]# virsh snapshot-list CentOS6u5
Name Creation Time State
------------------------------------------------------------
1479043349 2016-11-13 08:22:29 -0500 shutoff #恢复快照
[root@kvm qemu-img]# virsh snapshot-revert CentOS6u5 1479043349 #删除快照
[root@kvm qemu-img]# virsh snapshot-delete CentOS6u5 1479043349

二、常用命令

列出所有的虚拟机

virsh list --all

显示虚拟机信息

virsh dominfo kvm-1

显示虚拟机内存和cpu的使用情况

yum install virt-top -y
virt-top

显示虚拟机分区信息

virt-df kvm-1

关闭虚拟机(shutodwn)

virsh shutdown kvm-1

启动虚拟机

virsh start kvm-1

设置虚拟机(kvm-1)跟随系统自启

virsh autostart kvm-1

关闭虚拟及自启

virsh autostart --disable kvm-1

删除虚拟机

virsh undefine kvm-1

通过控制窗口登录虚拟机

virsh console kvm-1

其它

virsh shutdown centos        关闭centos虚拟机
virsh destroy centos 强制关闭centos虚拟机
virsh suspend centos 暂停centos虚拟机
vrish resume centos 恢复centos虚拟机
virsh reboot centos 重启centos虚拟机
virsh edit centos 编辑centos虚拟机
virsh vncdisplay centos vnc显示

给虚拟机添加硬盘

添加硬盘(lvm卷)或者USB到虚拟机上

virsh attach-disk kvm-1 /dev/sdb vbd --driver qemu --mode shareable

使用完成之后可以卸载usb

virsh detach-disk kvm vdb

添加lvm卷,并挂载

[root@sh-kvm-1 ~]# lvcreate -n kvm-1-data -L 50G vg_shkvm1
[root@sh-kvm-1 ~]# virsh attach-disk kvm-1 /dev/vg_shkvm1/kvm-1-data vdb --driver qemu --mode shareable
Disk attached successfully
# 登录到kvm-1上查看lvm是否已经被挂载
[root@sh-kvm-1 ~]# virsh console kvm-1 # 输入kvm-1的用户和密码
[root@sh-kvm-1-1 ~]# fdisk -l # 查看硬盘挂载情况 Disk /dev/vda: 21.5 GB, 21474836480 bytes
16 heads, 63 sectors/track, 41610 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00058197 Device Boot Start End Blocks Id System
/dev/vda1 * 3 1018 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/vda2 1018 41611 20458496 8e Linux LVM
Partition 2 does not end on cylinder boundary. Disk /dev/mapper/VolGroup-lv_root: 18.8 GB, 18798870528 bytes
255 heads, 63 sectors/track, 2285 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000 Disk /dev/mapper/VolGroup-lv_swap: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000 Disk /dev/vdb: 53.7 GB, 53687091200 bytes # 新添加的硬盘
16 heads, 63 sectors/track, 104025 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

格式化新添加的vdb,并添加到lvm组中

# 对新添加的硬盘分区
[root@sh-kvm-1-1 ~]# fdisk /dev/vdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xf04b6807.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u'). Command (m for help): m # 查看帮助
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): n #添加一个分区
Command action
e extended
p primary partition (1-4)
p #选择添加一个扩展分区
Partition number (1-4):
Value out of range.
Partition number (1-4): 1
First cylinder (1-104025, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-104025, default 104025):
Using default value 104025 Command (m for help): t #改变分区的格式
Selected partition 1
Hex code (type L to list codes): 8e #改成lvm
Changed system type of partition 1 to 8e (Linux LVM) Command (m for help): w # 保存更改
root@sh-kvm-1-1 ~]# mkfs.ext4 /dev/vdb1 # 格式化分区
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13107142 blocks
655357 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424 Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@sh-kvm-1-1 ~]# pvc reate /dev/vdb1 # 创建pv
vdb vdb1
[root@sh-kvm-1-1 ~]# vgextend VolGroup /dev/vdb # 扩展lvm vg
vdb vdb1
[root@sh-kvm-1-1 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup 2 2 0 wz--n- 69.50g 50.00g
# 从上面能看出,新添加的 已经加到lvm组中

改变虚拟机的参数

通过命令行更改创建之后虚拟机的内存,cpu等信息

更改内存

# 1. 查看虚拟机当前内存
[root@sh-kvm-1 ~]# virsh dominfo kvm-1 | grep memory
Max memory: 4194304 KiB
Used memory: 4194304 KiB # 2、动态设置内存为512MB,内存减少
virsh setmem kvm-1 524288
# 注意单位必须是KB # 3、查看内存变化
# virsh dominfo kvm-1 | grep memory
Max memory: 14194304 KiB
Used memory: 524288 kiB # 4、内存增加
virsh shutdown kvm-1
virsh edit kvm-1 # 直接更改memory
virsh create /etc/libvirt/demu/kvm-1/xml
# 之后操作1,2,3步骤增加内存

更改CPU

需要修改配置文件,因此需要停止虚拟机

virsh shutdown kvm-1
virsh edit kvm-1
# <vcpu>2</vcpu> # 4 > 2
virsh create /etc/libvirt/demu/kvm-1/xml

硬盘扩容

1. Create a 10-GB non-sparse file:
# dd if=/dev/zero of=/vm-images/vm1-add.img bs=1M count=10240
2. Shutdown the VM:
# virsh shutdown vm1
3. Add an extra entry for ‘disk’ in the VM's XML file in /etc/libvirt/qemu. You can look copy & paste the entry for your mail storage device and just change the target and address tags. For example:
# virsh edit vm1
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none' io='threads'/>
<source file='/vm-images/vm1.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
Add:
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none' io='threads'/>
<source file='/vm-images/vm1-add.img'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</disk>
# 这里建议使用上面的添加硬盘的方式添加

删除虚拟机

第一步,停掉虚拟机

virsh shutdown kvm-1

第二步

virsh destroy kvm-1

第三步

virsh undefine kvm-1

第四步

rm /dev/vg_shkvm1/kvm-1  # 不建议删除硬盘

KVM操作命令的更多相关文章

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

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

  2. kvm虚拟机日常操作命令梳理

    KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理.废话不多说,下面列出kvm日常管理中的命令 1)查看KVM虚拟机配置文件及运行状态 KVM虚拟机默认配置文件位置: /etc/libvirt ...

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

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

  4. kvm 使用入门详解

    kvm 是虚拟化技术的一个典型实现,功能非常强大,使用很方便.kvm 本身主要实现对 CPU 的虚拟化,内存和IO的虚拟化使用了开源软件 qemu,qemu 是纯软件层面的虚拟化,其实就是个模拟器.k ...

  5. openstack常规操作命令梳理

    之前顺利部署了openstack+kvm的虚拟化云平台管理环境,其中,涉及到不少openstack操作命令,记录如下: 查看rabbitmq 队列[root@openstack ~]#rabbitmq ...

  6. 虚拟化之kvm --(vnc控制台)

    作者:邓聪聪 随着日益不同的需求增多,为了满足主机供求,get到这一招虚拟化技术,以增加点见识! 1.使用yum安装: yum -y install qemu-kvm libvirt python-v ...

  7. Centos 7 KVM安装win10

    KVM架构: KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案.KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 L ...

  8. Centos7.4安装kvm虚拟机(使用virt-manager管理)

    之前介绍了使用WebVirtMgr或Openstack来部署及管理kvm虚拟机,下面简单介绍centos7.4下使用virt-manager部署及管理kvm虚拟机的做法: 0)KVM是什么 KVM(K ...

  9. vmware workstation14嵌套安装kvm

    1.前言 我在2017-11-06使用virtualbox安装了centos,然后嵌套kvm(win7),链接地址如下: https://www.cnblogs.com/tcicy/p/7790956 ...

随机推荐

  1. nodejs 模板引擎

    自制替换模板 template.js var fs = require('fs') var http = require('http') var server = http.createServer( ...

  2. 三、Windows下用FFmpeg+nginx+rtmp搭建直播环境 实现推流、拉流

    一.环境 1.开发环境:windows 2.开发工具:FFmpeg.nginx.nginx-rmtp-module (链接:https://pan.baidu.com/s/119d2GeMzddas_ ...

  3. Oracle package demo 包

    1.package 程序包说明(由函数.过程.变量.常量.游标和异常组成) create or replace package pk_test is -- Author : CHEN -- Creat ...

  4. group_by

    1.按照一个列或者多个列对数据分组 2.对每个组进行聚合操作 3. 对聚合后的结果进行判断 1. select avg(score) as score from teacher 2. select   ...

  5. Wannafly挑战赛27 D绿魔法师

    链接Wannafly挑战赛27 D绿魔法师 一个空的可重集合\(S\),\(n\)次操作,每次操作给出\(x,k,p\),要求支持下列操作: 1.在\(S\)中加入\(x\). 2.求\[\sum_{ ...

  6. Beats:如何创建一个定制的Elastic Beat

    Beats作为Elastic Stack家族中重要的部分.它可以和方便地让我们把我们的数据发送到Elasticsearch或Logstash之中.如果我们想要生成自己的Beat,请使用GitHub的b ...

  7. 对Promise的研究4

    Promise.reject() Promise.reject(reason)方法也会返回一个新的 Promise 实例,该实例的状态为rejected. const p = Promise.reje ...

  8. js arguments参数

    在调用函数时,浏览器每次都会传递进两个隐含的参数:      1.函数的上下文对象 this      2.封装实参的对象 arguments         - arguments是一个类数组对象, ...

  9. java.nio.channels.IllegalBlockingModeException

    报错信息如下: Exception in thread "main" java.nio.channels.IllegalBlockingModeException at java. ...

  10. 9:关于Maven工程的文件标识(定义java文件源码,资源文件)