kvm:日常使用
常用命令
创建新镜像:qemu-img create -f qcow2 /var/lib/libvirt/images/$1.img 100G
创建新镜像:qemu-img create -f qcow2 -o preallocation=metadata /var/lib/libvirt/images/$1.img 200G (真实大小)
创建虚拟机:virt-install --name $1 --ram 4096 --vcpus=2 --disk path=/var/lib/libvirt/images/$1.img,size=100 --accelerate --cdrom /data/iso/ubuntu-14.04.5-server-amd64.iso --graphics vnc,listen=0.0.0.0
基于老镜像创建镜像:qemu-img create -f qcow2 -b /var/lib/libvirt/images/old.img /var/lib/libvirt/images/new.img
启动虚拟机:virsh start vmname
关闭虚拟机:virsh shutdown vmname
强制关闭虚拟机:virsh destroy vmname
删除虚拟机:virsh undefine vmname
查看虚拟机网卡:virsh domiflist vmname
添加网卡:virsh attach-interface vmname --type bridge --source br1 --config
删除网卡:virsh detach-interface vmname --type bridge --mac 52:54:00:14:86:cf
克隆虚拟机:virt-clone -o old_vmname -n new_vmname -f /var/lib/libvirt/images/new_vmname.img
创建快照:virsh snapshot-create-as vmname snapshot_name
查看虚拟机快照:virsh snapshot-list vmname
回滚快照:virsh snapshot-revert --domain vmname snapshot_name
删除快照:virsh snapshot-delete vmname snapshot_name
根据配置文件起虚拟机: virsh define /etc/libvirt/qemu/INIT-CASSANDRA-01.xml
virsh edit vmname 动态修改kvm配置文件
添加磁盘:
方法一:virsh attach-disk $kvmname $镜像位置 vda --subdriver qcow2 --config --live
方法二:
1,创建磁盘:
qemu-img create -f qcow2 /data/vm/huge.img 500G
2,编写一个xml文件(disk.xml):
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/vm/huge.img'/>
<target dev='vdb' bus='virtio'/>
</disk>
3,添加磁盘:
virsh attach-device --persistent vm-name disk.xml
安装新机器
qemu-img create -f qcow2 /var/lib/libvirt/images/$1.img 100G
virt-install --name $1 --ram 4096 --vcpus=2 --disk path=/var/lib/libvirt/images/$1.img,size=100 --accelerate --cdrom /data/iso/ubuntu-14.04.5-server-amd64.iso --graphics vnc,listen=0.0.0.0
virsh domiflist vsftp #查看vsftp虚拟机的网卡信息
virsh attach-interface vsftp --type bridge --source br1 --config #创建vsftp另一块网卡(注意网桥是两个不一样的)
virsh detach-interface vsftp --type bridge --mac 52:54:00:14:86:cf #删除网卡
ps -ef|grep $虚拟机名称 #查看vnc
vnc连接,添加一块虚拟机网卡
虚机网卡配置
vim /etc/network/interfaces
ubuntu网卡配置:
root@ubuntu:/etc# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
auto ens3
iface ens3 inet static
address 192.168.0.90
netmask 255.255.255.0
gateway 192.168.0.254
dns-nameservers 192.168.0.25
dns-search redmine
auto ens6
iface ens6 inet static
address 10.0.18.90
netmask 255.255.252.0
# gateway 10.0.16.1
network 10.0.16.0
broadcast 10.0.19.255
centos网卡配置
[root@kvm3 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.0.53
NETMASK=255.255.255.0
[root@kvm3 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
rc.local添加命令
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.16.1
报错
是因为配置文件中的os部分系统信息不正确导致,可以先virsh-install一台虚拟机,将os部分拷贝即可
vmname.xml
- <domain type='kvm'> ##描述hypervisor
- <name>centos7.</name> ##定义虚拟机整体信息
- <uuid>c2d264d3-5c61-4d2e--b28673c1f64b</uuid>
- <memory unit='KiB'></memory>
- <currentMemory unit='KiB'></currentMemory>
- <vcpu placement='static'></vcpu>
- <os> ##系统信息
- <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
- <boot dev='hd'/> ##开机从哪里启动
- </os>
- <features> ##硬件资源特性
- <acpi/>
- <apic/>
- </features>
- <cpu mode='custom' match='exact'>
- <model fallback='allow'>Haswell-noTSX</model>
- </cpu>
- <clock offset='utc'>
- <timer name='rtc' tickpolicy='catchup'/>
- <timer name='pit' tickpolicy='delay'/>
- <timer name='hpet' present='no'/>
- </clock>
- <on_poweroff>destroy</on_poweroff> ##突发事件处理
- <on_reboot>restart</on_reboot>
- <suspend-to-mem enabled='no'/>
- <suspend-to-disk enabled='no'/>
- </pm>
- <devices> ##外设资源
- <emulator>/usr/libexec/qemu-kvm</emulator>
- <disk type='file' device='disk'> ##描述虚拟磁盘image
- <driver name='qemu' type='qcow2'/>
- <source file='/var/lib/libvirt/images/centos7.0.qcow2'/>
- <target dev='vda' bus='virtio'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
- </disk>
- <controller type='usb' index='' model='ich9-ehci1'>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x7'/>
- </controller>
- <controller type='usb' index='' model='ich9-uhci1'>
- <master startport=''/>
- </controller>
- <controller type='usb' index='' model='ich9-uhci2'>
- <master startport=''/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/>
- </controller>
- <controller type='usb' index='' model='ich9-uhci3'>
- <master startport=''/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x2'/>
- <controller type='virtio-serial' index=''>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
- </controller>
- <interface type='bridge'> ##虚拟网络,基于网桥
- <mac address='52:54:00:6a:1e:54'/>
- <source bridge='br0'/>
- <model type='virtio'/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
- </interface>
- <serial type='pty'> ##串口信息可以不用更改
- <target port=''/>
- </serial>
- <console type='pty'>
- <target type='serial' port=''/>
- </console>
- <channel type='unix'>
- <target type='virtio' name='org.qemu.guest_agent.0'/>
- <address type='virtio-serial' controller='' bus='' port=''/>
- </channel>
- <channel type='spicevmc'>
- <target type='virtio' name='com.redhat.spice.0'/>
- <address type='virtio-serial' controller='' bus='' port=''/>
- </channel>
- <input type='tablet' bus='usb'/>
- <input type='mouse' bus='ps2'/>
- <input type='keyboard' bus='ps2'/>
- <graphics type='vnc' port='-1' autoport='yes' keymap='en-us'/>
- <sound model='ich6'> ##从此往下的内容可以不用更改
- <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
- </sound>
- <video>
- <model type='qxl' ram='' vram='' vgamem='' heads=''/>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
- </video>
- <redirdev bus='usb' type='spicevmc'>
- </redirdev>
- <redirdev bus='usb' type='spicevmc'>
- </redirdev>
- <memballoon model='virtio'>
- <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
- </memballoon>
- </devices>
- </domain>
第一行定义了虚拟机的名字。libvirt可以通过虚拟机的名字对虚拟机进行管理。在同一台物理机上,虚拟机的名字必须要保证唯一的。如果存在重名的情况,添加和创建虚拟机时,会失败。
第二行定义的虚拟机的UUID。在同一台物理机上,UUID值也必须是唯一的,否则会出现冲突。
第三四行描述虚拟机的内存信息,通常以KB为单位。
第五行指明了分配的虚拟CPU的个数。
kvm:日常使用的更多相关文章
- KVM之五:KVM日常管理常用命令
1.查看.编辑及备份KVM 虚拟机配置文件 以及查看KVM 状态: 1.1.KVM 虚拟机默认的配置文件在 /etc/libvirt/qemu 目录下,默认是以虚拟机名称命名的.xml 文件,如下,: ...
- kvm日常维护
1.列出物理机器上安装的虚拟[root@localhost ~]# virsh list --all Id Name State------------------------------------ ...
- 005.KVM日常管理2-virt管理
一 安装管理工具 [root@kvm-host ~]# rpm -qa|grep libguestfs-tools #查看相关管理工具,若没安装,可使用yum安装. 二 日常管理 2.1 命令格式 ...
- 004.KVM日常管理1
一 常用命令 1.1 查看虚机列表及状态 [root@kvm-host ~]# virsh list --all 1.2 连接虚机 [root@kvm-host ~]# virsh console v ...
- kvm日常管理
创建虚拟机 快速启动虚拟机 [root@localhost ~]# yum install kvm libvirt python-virtinst qemu-kvm virt-viewer bridg ...
- KVM 日常使用命令
[root@Eren liwm]# ps ax | grep kvm 681 ? S< 0:00 [kvm-irqfd-clean]17597 pts/0 S+ ...
- kvm虚拟机日常管理和配置操作命令梳理
KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理.1)查看KVM虚拟机配置文件及运行状态KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/autostart目录是配置kvm ...
- kvm虚拟机日常操作命令梳理
KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理.废话不多说,下面列出kvm日常管理中的命令 1)查看KVM虚拟机配置文件及运行状态 KVM虚拟机默认配置文件位置: /etc/libvirt ...
- 使用kvm虚拟出Centos6.5系统相关步骤
使用kvm虚拟出Centos6.5系统相关步骤 kvm是啥东西,亲们自行百度哇,一两句话也说不清楚,直接进主题使用宿主机虚拟出一台centos6.5的系统,当然其他系统也可以的,考虑到企业常用服务器系 ...
- Ubuntu18.04服务器使用netplan网络构建桥接kvm虚拟机
参考链接 Ubuntu 18.04 LTS安装KVM虚拟机 如何在 Ubuntu 18.04 服务器上安装和配置 KVM KVM日常管理和克隆 KVM详解 1.准备工作 首先需要检查一下CPU是否支持 ...
随机推荐
- python pep8 命令规范
命名规范:总体原则,新编代码必须按下面命名风格进行,现有库的编码尽量保持风格.1 尽量单独使用小写字母‘l’,大写字母‘O’等容易混淆的字母.2 模块命名尽量短小,使用全部小写的方式,可以使用下划线. ...
- bzoj 3205: [Apio2013]机器人【dfs+斯坦纳树+spfa】
第一次听说斯坦纳树这种东西 先dfs预处理出来dis[i][j][k]表示格子(i,j)向k方向转移能到哪,记忆话搜索预处理,注意如果有环的话特判一下 设f[i][j][x][y]表示复合机器人i-j ...
- Word Cloud (词云) - JavaScript
在上一篇中已经分享了用 Python 创建词云了.接下来继续总结其他创建词云的方法. >> Create Word Cloud via JavaScript JavaScript 可以借助 ...
- C# DateTime.Now 详解
//2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.ToString(& ...
- JEECMSv9.3在金蝶Apusic中间件中无法找到首页的问题处理
在金蝶中间件中启动JEECMS,访问首页显示"页面找不到"信息.而访问后台及其他页面均可正常访问. 经代码查找,发现前台页面的所有地址是通过"com.jeecms.cms ...
- 169 Majority Element 求众数 数组中出现次数超过一半的数字
给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素.你可以假设数组是非空的,并且数组中的众数永远存在. 详见:https://leetcode.com/p ...
- 使用 ArrayAdapter 来定制 ListView
一个 ListView,其宽高都设为 match_parent,可以更省资源. activity_main.xml <ListView android:id="@+id/list_Vi ...
- redis 在windows 集群
前言:为什么自己要花时间写一篇redis集群文章,网上众多的文章大都是思路正确,但是细节不足,这里写一篇文章记录自己部署时候遇到的问题,当下次再部署的时候避免跳入重复的坑. 上篇文章(http://w ...
- 关于 Oracle 11g r2 Enterprise Manager (EM) 在windows环境无法启动的解决办法
正确的解决办法是在安装的时候使用emca正确安装 如果已经安装过Enterprise Manager: 请用是如下命令卸载后重装 emca -deconfig dbcontrol db emca -r ...
- vb 案例学习
' ================================================================================================== ...