linux kvm虚拟机使用
安装配置kvm
1、安装kvm软件包
[root@kvm ~]# yum install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v
2、安装kvm虚拟化管理工具包
[root@kvm ~]# yum install libguestfs-tools
3、查看虚拟化环境
(1)查看虚拟机环境
[root@kvm ~]# virsh -c qemu:///system list
错误:Failed to connect socket to '/var/run/libvirt/libvirt-sock': 没有那个文件或文件夹
错误:连接到管理程序失败
[root@kvm ~]# /etc/init.d/libvirtd restart
正在关闭 libvirtd 守护进程: [失败]
启动 libvirtd 守护进程: [确定]
[root@kvm ~]# virsh -c qemu:///system list
Id 名称 状态
----------------------------------------------------
(2)检測kvm模块是否安装
[root@kvm ~]# lsmod |grep kvm
kvm_intel 53484 0
kvm 316506 1 kvm_intel
(3)查看虚拟工具版本号
[root@kvm ~]# virsh --version
0.10.2
[root@kvm ~]# virt-install --version
0.600.0
[root@kvm ~]# ln -s /usr/libexec/qemu-kvm /usr/bin/
[root@kvm ~]# qemu-kvm --version
QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2-2.448.el6_6), Copyright (c) 2003-2008 Fabrice Bellard
4、手动配置虚拟网桥
(1)桥接模式的概述
事实上我们在虚拟机搭建的时候,我们终于关心的网卡是: eth0, br0, vnet0,vnet1…
当中eth0是我们server原来的物理网卡,而br0是我们虚拟出来的网桥设备,而vnetXXX就是桥接映射到虚拟机里面用到的网卡。
当配置完成之后,我们使用ifconfig命令查看起来的话。会发现eth0是没有IP地址,而br0仿佛是虚拟出来的一个原来eth0的訪问接口,它具有IP地址,能够取代原来的eth0被訪问。而vnetXX的地址能够在建立虚拟机之后在虚拟机里面配置。桥接后能够被外部訪问。
注意:将已有的物理网卡加入到网桥,此时物理网卡eth0工作于混杂模式,所以不须要IP地址。由于网桥是工作在链路层的。br0就提供了IP地址。用来模拟原来的物理网卡的訪问接口.
关于混杂模式:
依据以太网的原理。包是在整个子网里面广播发送的,当网卡发现这个数据帧不是发给自己的也不是广播包的时候。就直接把它丢掉,而不传送到上层内核去处理。而当网卡处于混杂模式的时候,网卡就不会丢掉帧,而是所有向上提交到内核,让内核处理这些帧结构。通常的。混杂模式使用来进行网络调试的,不是正常的工作状态
(2)创建配置br0网桥
[root@kvm ~]# cd /etc/sysconfig/network-scripts/
[root@kvm network-scripts]# cp ifcfg-eth1 ifcfg-br0
[root@kvm network-scripts]# more ifcfg-eth1
DEVICE=eth1
HWADDR=00:0C:29:59:7f:21
TYPE=Ethernet
ONBOOT=yes
BRIDGE=br0
[root@kvm network-scripts]# more ifcfg-br0
DEVICE=br0
HWADDR=00:0C:29:59:7f:21
TYPE=Bridge
UUID=739689d7-857c-4a62-9ede-bd6f18cde92a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.180
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
(3)又一次启动network
[root@kvm ~]# service network restart
正在关闭接口 br0: [确定]
正在关闭接口 eth1: [确定]
关闭环回接口: [确定]
弹出环回接口: [确定]
弹出界面 eth1: [确定]
弹出界面 br0: [确定]
(4)查看网络配置信息
[root@kvm ~]# ifconfig
br0 Link encap:Ethernet HWaddr 00:0C:29:59:7F:21
inet addr:192.168.1.180 Bcast:192.168.1.255 Mask:255.255.255.0 #获取到地址
inet6 addr: fe80::20c:29ff:fe59:7f21/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3170100 errors:0 dropped:0 overruns:0 frame:0
TX packets:1731782 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4503127474 (4.1 GiB) TX bytes:132209121 (126.0 MiB)
eth1 Link encap:Ethernet HWaddr 00:0C:29:59:7F:21
inet6 addr: fe80::20c:29ff:fe59:7f21/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3233002 errors:0 dropped:0 overruns:0 frame:0
TX packets:1781748 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4626338976 (4.3 GiB) TX bytes:136271300 (129.9 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
virbr0 Link encap:Ethernet HWaddr 52:54:00:19:DC:45
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
vnet0 Link encap:Ethernet HWaddr FE:54:00:20:9C:91
inet6 addr: fe80::fc54:ff:fe20:9c91/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20 errors:0 dropped:0 overruns:0 frame:0
TX packets:644 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:3365 (3.2 KiB) TX bytes:61657 (60.2 KiB)
(5)查看网桥
[root@kvm ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c29597f21 no eth1
四、kvm安装CentOS 6.x系统
1、上传CentOS6.4镜像到本地server中
[root@kvm ~]# mkdir /iso
[root@kvm ~]# ls /iso/
CentOS-6.4-x86_64-bin-DVD1.iso
2、创建虚拟机硬盘
[root@kvm ~]# mkdir /kvm
[root@kvm ~]# qemu-img create -f qcow2 /kvm/kvmtest.img 4G
Formatting '/kvm/kvmtest.img', fmt=qcow2 size=4294967296 encryption=off cluster_size=65536
[root@kvm ~]# ls /kvm/
kvmtest.img
[root@kvm ~]# qemu-img --help
qemu-img version 0.12.1, Copyright (c) 2004-2008 Fabrice Bellard
usage: qemu-img command [command options]
QEMU disk image utility
Command syntax:
check [-f fmt] [--output=ofmt] [-r [leaks | all]] [-T src_cache] filename
create [-f fmt] [-o options] filename [size]
commit [-f fmt] [-t cache] filename
compare [-f fmt] [-F fmt] [-T src_cache] [-p] [-s] filename1 filename2
convert [-c] [-p] [-f fmt] [-t cache] [-T src_cache] [-O output_fmt] [-o options] [-S sparse_size] filename [filename2 [...]] output_filename
info [-f fmt] [--output=ofmt] filename
map [-f fmt] [--output=ofmt] filename
snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename
rebase [-f fmt] [-t cache] [-T src_cache] [-p] [-u] -b backing_file [-F backing_fmt] filename
resize filename [+ | -]size
Command parameters:
'filename' is a disk image filename
'fmt' is the disk image format. It is guessed automatically in most cases
'cache' is the cache mode used to write the output disk image, the valid
options are: 'none', 'writeback' (default), 'writethrough' and 'unsafe'
'src_cache' in contrast is the cache mode used to read input disk images
'size' is the disk image size in bytes. Optional suffixes
'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' (gigabyte, 1024M)
and T (terabyte, 1024G) are supported. 'b' is ignored.
3、创建虚拟机
[root@kvm ~]# virt-install --name kvmtest01 --boot network,cdrom,menu=on --ram 1024 --vcpus=1 --os-type=linux --accelerate -c /iso/CentOS-6.4-x86_64-bin-DVD1.iso --disk path=/kvm/kvmtest.img,size=4,format=qcow2,bus=virtio --bridge=br0,model=virtio --vnc --vncport=5991
--vnclisten=0.0.0.0
開始安装......
创建域...... | 0 B 00:01
无法打开显示:
执行 'virt-viewer --help' 来查看可用命令行选项的完整列表
域安装仍在进行。
您能够又一次连接
到控制台以便完毕安装进程。
4、開始通过VNC进行连接,进行安装过程
(1)查看kvm监听的port
[root@kvm ~]# netstat -tnlp |grep kvm
tcp 0 0 0.0.0.0:5991 0.0.0.0:* LISTEN 16291/qemu-kvm
(2)VNC建立连接方式(能够安装虚拟机的系统)
IP:5991
5、登陆操作系统查看
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 kvmtest01 running
五、kvm虚拟机的日常管理和配置
1、查看kvm虚拟机配置文件以及执行状态
(1)kvm虚拟机默认配置文件
[root@kvm ~]# cd /etc/libvirt/qemu/
[root@kvm qemu]# ll
总用量 8
-rw------- 1 root root 2456 12月 19 12:16 kvmtest01.xml
drwx------ 3 root root 4096 12月 19 11:56 networks
(2)virsh命令帮助
[root@kvm qemu]# virsh --help
或者
[root@kvm qemu]# virsh
欢迎使用 virsh,虚拟化的交互式终端。
输入:'help' 来获得命令的帮助信息
'quit' 退出
virsh # help
(3)查看kvm虚拟机的状态
[root@kvm qemu]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 kvmtest01 running
2、kvm虚拟机关机或断电
我们在开启与关闭KVM虚拟机时。通常是通过start、shutdown、reboot等命令来进行。
可是有时候我们会发如今使用shutdown、reboot命令进行关闭和重新启动虚拟机时,虚拟机没有不论什么反应,该怎么执行还是怎么执行,这个时候我们可能就会使用destroy暴力关机。
为什么会出现这样的现象?
经过查询相关资料发现,原来这几个命令是向KVM虚拟机发送一个ACPI指令。来实现相关对虚拟机的操作。而默认安装KVM虚拟机时,特别是linux虚拟机。没有安装ACPI服务,因此导致虚拟机没有对这些命令做出对应的动作。
解决的方法:
假设要实现这些指令的功能,那么就须要在KVM的虚拟机中,安装ACPI服务,然后启动该服务就可以。
KVM虚拟机中眼下windows系统默认ACPI服务已经安装并启动,所以我们仅仅须要对Linux进行安装ACPI服务就可以。
(1)安装acpid服务
[root@kvm ~]# yum install acpid
(2)将acpid服务设置开机自启动
[root@kvm ~]# /etc/init.d/acpid status
acpid 已停
[root@kvm ~]# /etc/init.d/acpid start
启动 acpi 守护进程: [确定]
[root@kvm ~]# chkconfig acpid on
[root@kvm ~]# chkconfig --list acpid
acpid 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
(3)关机
默认情况下virsh工具不能对linux虚拟机进行关机操作,linux操作系统须要开启与启动acpid服务。在安装KVM linux虚拟机必须配置此服务。
[root@kvm ~]# virsh shutdown kvmtest01
域 kvmtest01 被关闭
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 kvmtest01 running
(4)强制关闭电源
[root@kvm ~]# virsh destroy kvmtest01
域 kvmtest01 被删除
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- kvmtest01 关闭
3、通过配置文件启动虚拟机
[root@kvm ~]# virsh create /etc/libvirt/qemu/kvmtest01.xml
域 kvmtest01 被创建(从 /etc/libvirt/qemu/kvmtest01.xml)
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
3 kvmtest01 running
4、kvm虚拟机开机的两种方式
第一种:
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- kvmtest01 关闭
[root@kvm ~]# virsh start kvmtest01
域 kvmtest01 已開始
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
4 kvmtest01 running
另外一种:通过配置文件启动虚拟机
[root@kvm ~]# virsh create /etc/libvirt/qemu/kvmtest01.xml
域 kvmtest01 被创建(从 /etc/libvirt/qemu/kvmtest01.xml)
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
3 kvmtest01 running
5、配置开机自启动虚拟机
[root@kvm ~]# ll /etc/libvirt/qemu
总用量 8
-rw------- 1 root root 2456 12月 19 12:16 kvmtest01.xml
drwx------ 3 root root 4096 12月 19 11:56 networks
[root@kvm ~]# virsh autostart kvmtest01
域 kvmtest01标记为自己主动開始
[root@kvm ~]# ll /etc/libvirt/qemu
总用量 12
drwxr-xr-x 2 root root 4096 12月 19 13:07 autostart #开机自启动文件
-rw------- 1 root root 2456 12月 19 12:16 kvmtest01.xml
drwx------ 3 root root 4096 12月 19 11:56 networks
6、导出kvm虚拟机配置文件
凝视:kvm虚拟机配置文件能够通过这样的方式进行备份
[root@kvm ~]# virsh dumpxml kvmtest01 > /etc/libvirt/qemu/kvmtest02.xml
[root@kvm ~]# ll /etc/libvirt/qemu/
总用量 16
drwxr-xr-x 2 root root 4096 12月 19 13:07 autostart
-rw------- 1 root root 2456 12月 19 12:16 kvmtest01.xml
-rw-r--r-- 1 root root 2642 12月 19 13:22 kvmtest02.xml
drwx------ 3 root root 4096 12月 19 11:56 networks
7、加入删除kvm虚拟机
(1)删除kvm虚拟机
说明:该命令仅仅是删除了可vmtest01的配置文件,并非删除虚拟磁盘文件
说明:该命令仅仅是删除了可vmtest01的配置文件。并非删除虚拟磁盘文件
[root@kvm ~]# ll /etc/libvirt/qemu
总用量 16
drwxr-xr-x 2 root root 4096 12月 19 13:07 autostart
-rw------- 1 root root 2456 12月 19 12:16 kvmtest01.xml #kvmtest01虚拟机的配置文件
-rw-r--r-- 1 root root 2642 12月 19 13:22 kvmtest02.xml #kvmtest01虚拟机的备份配置文件
drwx------ 3 root root 4096 12月 19 11:56 networks
[root@kvm ~]# virsh destroy kvmtest01
域 kvmtest01 被删除
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- kvmtest01 关闭
[root@kvm ~]# virsh undefine kvmtest01
域 kvmtest01 已经被取消定义
[root@kvm ~]# ll /etc/libvirt/qemu
总用量 12
drwxr-xr-x 2 root root 4096 12月 19 13:29 autostart
-rw-r--r-- 1 root root 2642 12月 19 13:22 kvmtest02.xml #发现虚拟机的配置文件被删除了
drwx------ 3 root root 4096 12月 19 11:56 networks
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
(2)又一次定义虚拟机配置文件
通过导出备份的配置文件恢复原KVM虚拟机的定义,并又一次定义虚拟机
[root@kvm ~]# virsh define /etc/libvirt/qemu/kvmtest01.xml
定义域 kvmtest01(从 /etc/libvirt/qemu/kvmtest01.xml)
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- kvmtest01 关闭
(3)启动kvmtest01虚拟机
[root@kvm ~]# virsh start kvmtest01
域 kvmtest01 已開始
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
5 kvmtest01 running
8、kvm的挂起和恢复命令
(1)挂起
[root@kvm ~]# suspend kvmtest01
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
6 kvmtest01 暂停
(2)恢复
[root@kvm ~]#resume kvmtest01
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
6 kvmtest01 running
六、kvm虚拟机控制台登陆配置
说明:下面全部的操作都是在kvm虚拟主机上操作的也就是kvmtest01上操作的
1、加入ttyS0的许可,同意root登陆
[root@localhost ~]# echo "ttyS0" >> /etc/securetty
[root@localhost ~]# more /etc/securetty
console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
ttyS0 #加入ttyS0
2、改动grub.conf配置文件
[root@localhost ~]# vim /etc/grub.conf
凝视加入console=ttyS0
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/vda3
# initrd /initrd-[generic-]version.img
#boot=/dev/vda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-358.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=UUID=7b02e71c-06b4-4f5f-af83-dfe20e93fddf rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=u
s rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet console=ttyS0 #加入console=ttyS0
initrd /initramfs-2.6.32-358.el6.x86_64.img
3、改动/etc/inittab文件
[root@localhost ~]# echo "S0:12345:respawn:/sbin/agetty ttyS0 115200" >> /etc/inittab
[root@localhost ~]# more /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
S0:12345:respawn:/sbin/agetty ttyS0 115200
5、重新启动kvm虚拟主机
[root@localhost ~]# reboot
6、在控制端kvmserver上操作
virsh console kvmtest01
kvm主机本机虚拟机直接克隆
(1)虚拟机kvmtest01的磁盘文件路径
root@kvm ~]# ll /kvm/kvmtest.img
-rw-r--r-- 1 root root 1115422720 12月 19 14:25 /kvm/kvmtest.img
(2)虚拟机的名称
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
1 kvmtest01 running
(3)開始克隆
[root@localhost ~]# virt-clone -o kvmtest01 -n kvmtest02 -f /kvm/kvmtest02.img
正在克隆 kvmtest.img 51% [===================== ] 6.9 MB/s | 544 MB 01:15 ETA
(4)克隆完毕
[root@kvm ~]# virt-clone -o kvmtest01 -n kvmtest02 -f /kvm/kvmtest02.img
ERROR 必须暂停或者关闭有要克隆设备的域。
[root@kvm ~]# virsh destroy kvmtest01
域 kvmtest01 被删除
[root@kvm ~]# virt-clone -o kvmtest01 -n kvmtest02 -f /kvm/kvmtest02.img
正在克隆 kvmtest.img | 1.0 GB 01:18
Clone 'kvmtest02' created successfully.
參数解释
-o ORIGINAL_GUEST, --original=ORIGINAL_GUEST
原始客体的名称;必须为关闭或者暂停状态
-n NEW_NAME, --name=NEW_NAME
新client的名称
-f NEW_DISKFILE, --file=NEW_DISKFILE
作为新client磁盘映像的新文件
(5)启动kvm虚拟机
Clone 'kvmtest02' created successfully.
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- kvmtest01 关闭
- kvmtest02 关闭
[root@kvm ~]# virsh start kvmtest02
域 kvmtest02 已開始
[root@kvm ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
2 kvmtest02 running
- kvmtest01 关闭
(6)kvm控制台登陆kvmtest02虚拟机
[root@kvm ~]# virsh console kvmtest02
连接到域 kvmtest02
Escape character is ^]
Welcome to CentOS
正在启动 udev:[确定]
设立主机名 localhost.localdomain: [确定]
检查文件系统
Checking all file systems.
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 -a /dev/vda3
/dev/vda3: clean, 33318/118320 files, 231356/472832 blocks
[/sbin/fsck.ext4 (1) -- /boot] fsck.ext4 -a /dev/vda1
/dev/vda1: 正在修复日志
/dev/vda1: clean, 38/51200 files, 32302/204800 blocks
[确定]
将根文件系统又一次挂载成读写模式: [确定]
挂载本地文件系统: [确定]
启用/etc/fstab中的交换空间: [确定]
进入非互动式启动
ip6tables:应用防火墙规则:[确定]
iptables:应用防火墙规则:[确定]
弹出环回接口: [确定]
弹出界面 eth0: 设备 eth0 似乎不存在, 初始化操作将被延迟。
[失败]
正在启动 auditd:[确定]
启动系统日志记录器:[确定]
启动系统消息总线:[确定]
挂载其他文件系统: [确定]
又一次激发失败的 udev 事件[确定]
加入 udev 持久规则[确定]
正在启动 sshd:[确定]
启动 postfix: [确定]
正在启动 crond:[确定]
CentOS release 6.4 (Final)
Kernel 2.6.32-358.el6.x86_64 on an x86_64
localhost.localdomain login: root
Password:
Last login: Fri Dec 19 16:23:37 on ttyS0
[root@localhost ~]# ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
2、通过拷贝配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移)
sheng
注意:KVM克隆的时候须要注意几点
1、编辑配置文件的时候。尽量不要使用vim/vi,由于vim/vi改动的配置当时不会生效。所以要使用KVM特定的编辑命令 virsh edit kvmtest01
2、因为使用的虚拟机。克隆后的虚拟机是仅仅有lo回环地址,没有物理网卡。须要我们手动改动
[root@kvm ~]# ll /etc/udev/rules.d/70-persistent-net.rules
-rw-r--r-- 1 root root 420 12月 18 21:22 /etc/udev/rules.d/70-persistent-net.rules
linux kvm虚拟机使用的更多相关文章
- Oracl Linux KVM虚拟机备份
Oracle Linux KVM 作为Oracle Linux的一部分,基于KVM的Oracle Linux 服务器虚拟化解决方案在功能上得到了增强.用户可以利用Oracle Linux旧版本,将操 ...
- kvm虚拟化学习笔记(二)之linux kvm虚拟机安装
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- linux kvm虚拟机快速构建及磁盘类型
KVM命令管理 virsh命令:用来管理各虚拟机的接口命令查看/创建/停止/关闭...支持交互模式格式:virsh 控制指令 [虚拟机名称] [参数] [root@room1pc01 桌面]# vir ...
- Linux kvm虚拟机的基本操作命令
Linux 虚拟化kvm virsh常用命令篇 1.创建虚拟机 virsh define damo.xml //创建的虚拟机不是活动的 virsh create damo.xml //创建的虚拟机是活 ...
- linux kvm虚拟机安装
1.上传ISO文件,这里采用OEL5.8x64iso 2.开始安装OEL5.8 (1)raw格式磁盘 virt- --vcpus= --disk path=/data/test02.img,size= ...
- kvm虚拟化学习笔记(四)之kvm虚拟机日常管理与配置
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- kvm虚拟化学习笔记(三)之windows kvm虚拟机安装
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- 在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结
在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结 一.资料来源: 网上一共找到两个方法,一个是视频上的教程,一个是网页资料. 二.视频资料方法内容:1.install qe ...
- 关于Linux虚拟化技术KVM的科普 科普二(KVM虚拟机代码揭秘)
代码分析文章<KVM虚拟机代码揭秘--QEMU代码结构分析>.<KVM虚拟机代码揭秘--中断虚拟化>.<KVM虚拟机代码揭秘--设备IO虚拟化>.<KVM虚拟 ...
随机推荐
- arrow functions 箭头函数
ES6里新增加的,与普通方法不同的地方 1.this 的对象在定义函数的时候确定了,而不是在使用的时候才决定 2.不可以使用 new ,也就不能当构造函数 3.this 的值一旦确定无法修改 ...
- 40个Java多线程问题
1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然 ...
- Java--集合(一)
一.前序 前几篇文章我结合数据结构说了一些常用的集合,但是我感觉那样可能不系统,于是乎想着重写,按照由整体到细节的方式去写,这样才能更好的把握集合,废话不多说开始吧: 二.集合框架 ...
- .NET读取Excel文件的三种方法的区别
ASP.NET读取Excel文件方法一:采用OleDB读取Excel文件: 把Excel文件当做一个数据源来进行数据的读取操作,实例如下: public DataSet ExcelToDS(strin ...
- 打印中文dict list的各种姿势
在开发过程中,我们经常需要打印一些变量的值,便于调试.这个时候就会发现如果在dict list这些容器中,如果包含中文字符,不管是str类型,还是unicode类型,都打印不出来.如下: >&g ...
- struts2的简单执行过程
struts2是最近刚学的一个框架,想通过写篇文章来加深下印象,这也是本篇博文产生的由来,下面进入正题 Struts2本身是一个挺简单的框架,我们通过写一个登陆的过程来具体描述下其执行过程 1.首先我 ...
- redis数据类型及常用命令介绍(图文实例)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhgAAAFLCAYAAACUdvXUAAAgAElEQVR4nO3da1da58L2fT5KfPvc96 ...
- set 利用lower_bound实现key索引
set中数据类型为结构体T,T中有两个成员key和val定义如下: struct T{ int key,val; T(int k,int v):key(k),val(v){} bool operato ...
- 了解python,利用python来制作日常猜拳,猜价小游戏
初次接触python,便被它简洁优美的语言所吸引,正所谓人生苦短,python当歌.python之所以在最近几年越发的炽手可热,离不开它的一些特点: 1.易于学习:Python有相对较少的关键字,结构 ...
- tpshop使用自带极光推送
推送逻辑在common里面的PushLogic.php;在后台网站->商城设置->推送设置,将极光的ID,密码填一下系统会自动加入数据库里面. 在你所需推送的PHP类里面引用这个文件即可. ...