kvm安装配置(二)
2016-07-23 11:20
351 查看
1、virsh 常用操作
a. 开启子机
virsh start mylinux2
也可以在开启的同时连上控制台
virsh start mylinux2 --console
virsh console mylinux2 #当没有网络的时候使用console连接
b. 关闭子机
virsh shutdown mylinux2 (这个需要借助子机上的acpid服务需要安装 acpid yum install -y acpid
/etc/init.d/acpid start)另外一种方法是
virsh destroy mylinux2
c.. 列出子机
virsh list //只能列出启动的子机
virsh list --all //可以把所有子机都列出来
d. 删除子机
virsh destroy clone1;virsh undefine clone1;rm -f /data/clone1.img
e. 挂起子机
virsh suspend mylinux2
f、连接子机
virsh console mylinux2 #当没有网络的时候使用console连接
ssh 10.10.13.242 网络连接
g. 恢复子机
virsh resume mylinux2
h、让子机随宿主机开机自动启动
virsh autostart mylinux2
解除自动启动
virsh autostart --disable mylinux2
2、虚拟机克隆
克隆虚拟机
virt-clone --original mylinux2 --name clone --file /data/clone.qcow2
如果子机mylinux2还未关机,则需要先关机,否则会报错:
ERROR 必须暂停或者关闭有要克隆设备的域。
关闭子机的方法是:
virsh shutdown mylinux2
说明: 默认,我们没有办法在宿主机直接shutdown自己,我们需要借助于子机上的acpid服务才可以,这个服务说白了就是让宿主机可以去调用子机的电源关闭的接口。所以,子机上需要安装并启动acpid服务。
先登录子机:
virsh console mylinux2
登录后,安装acpid服务:
yum install -y acpid
启动:
/etc/init.d/acpid start
按ctrl ] 退出来
此时再执行 virsh shutdown mylinux2 就可以啦。
克隆完后,virsh list all 就会发现clone1 这个子机,通过命令
virsh start clone1 可以开启该子机。
登陆后没有网卡地址,修改网卡地址
vim /etc/systemconfig/network-script/ifc-eth0
修改ip地址,注释掉MAC地址和UUID地址
3. 快照管理
a. 创建快照
virsh snapshot-create mylinux2 提示如下
Domain snapshot 1437248443 created
列出快照:
virsh snapshot-list mylinux2
查看当前子机的快照版本:
virsh snapshot-current mylinux2
mylinux2子机的快照文件在 /var/lib/libvirt/qemu/snapshot/mylinux2/
b、如果磁盘镜像格式是raw格式的镜像不能做快照,所以需要先转换一下格式
如果直接拍img格式镜像会报错:
unsupported configuration: internal snapshot for disk vda unsupported for storage type rawb.
先查看当前子机磁盘镜像格式
qemu-img info /data/mylinux2.img
结果是:
image: /data/mylinux2.img
file format: raw
virtual size: 30G (32212254720 bytes)
disk size: 1.6G
把raw格式转换为qcow格式(其实是复制了一份):
qemu-img convert -f raw -O qcow2 /data/mylinux2.img /data/mylinux2.qcow2
qemu-img info /data/mylinux2.qcow2 //再次查看格式,结果如下
image: /data/mylinux2.qcow2
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 1.1G
cluster_size: 65536
现在我们还需要编辑子机配置文件,让它使用新格式的虚拟磁盘镜像文件
virsh edit mylinux2 //这样就进入了该子机的配置文件(/etc/libvirt/qemu/mylinux2.xml),跟用vim编辑这个文件一样的用法
需要修改的地方是:
<driver name='qemu' type='raw' cache='none'/>
<source file='/data/mylinux2.img'/>
改为:
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/mylinux2.qcow2'/>
d. 恢复快照
首先需要关闭子机
virsh destroy mylinux2
确认子机是否关闭
virsh domstate mylinux2
关闭
移出快照virsh snapshot-list mylinux2 //结果是
名称 Creation Time 状态
------------------------------------------------------------
1437248443 2015-07-19 03:40:43 +0800 shutoff
1437248847 2015-07-19 03:47:27 +0800 running
查看当前快照版本 virsh snapshot-current mylinux2
恢复virsh snapshot-revert mylinux2 1437248443
e. 删除快照
virsh snapshot-delete mylinux2 1437248847
4、磁盘扩容
a、对于qemu格式的虚拟磁盘扩容
qemu-img resize /data/clone.qcow2 +5G
virsh destroy clone //关闭clone虚拟机
virsh start clone //开启clone虚拟机
virsh console clone //进入虚拟机
fdisk -l 查看已经磁盘分区已经增加
[root@localhost ~]# fdisk -l
但是磁盘挂载的空间并没有增加
因为新增加的空间还没有划分使用。所以要继续分区:
[root@localhost ~]# fdisk /dev/vda
n,p,4,w
重启后创建pv
pvcreate /dev/vda4
使用pvs查看pv列表
pvs
再将vda4添加到扩展组中
vgextend vg_testxp /dev/vda4
使用vgs查看vg容量
vgs
使用lvs查看lv容量
lvs
将lv所有容量加入到vg
llvextend -l +100%FREE /dev/vg_testxp/lv_root
resize2fs /dev/vg_testxp/lv_root
再使用lvs查看lvs空间,用df -h查看磁盘空间均已增加
5、kvm添加虚拟磁盘
qemu-img create -f qcow2 /data/clone_2.qcow2 5G
关闭虚拟机: virsh destroy clone
编辑配置文件: virsh edit clone 增加如下:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/clone_2.qcow2'/>
<target dev='vdb' bus='virtio'/>
</disk>
开启虚拟机:virsh start clone
进入虚拟机:virsh console clone
分区: fdisk /dev/vdb
格式化 (略)
挂载 (略)
当然也可以按照上面的思路把 /dev/vdb1 加入到 lvm里面去
6、调整cpu和内存查看子机配置:
virsh dominfo clone
virsh edit clone
修改:
<memory unit='KiB'>524288</memory>
<currentMemory unit='KiB'>524288</currentMemory>
<vcpu placement='static'>1</vcpu>
为:
<memory unit='KiB'>624288</memory>
<currentMemory unit='KiB'>624288</currentMemory>
<vcpu placement='static'>2</vcpu>
重启虚拟机:
virsh destroy clone
virsh start clone --console
不重启虚拟机在线增加网卡
virsh domiflist clone 查看clone子机的网卡列表
virsh attach-interface clone --type bridge --source br0 //命令行增加一块网卡
virsh dumpxml clone > /etc/libvirt/qemu/clone.xml //命令行增加的网卡只保存在内存中,重启就失效,所以需要保存到配置文件中,其中/etc/libvirsh/qemu/clone.xml 为clone子机的配置文件
virsh console clone //进入虚拟机后,执行
ifconfig -a
也可以手动编辑配置文件
virsh edit clone
添加一块网卡
发现多了一个网卡 eth1
7、虚拟机迁移
该方式要确保虚拟机是关机状态。
virsh shutdown clone
virsh dumpxml clone > /etc/libvirt/qemu/clone01.xml // 如果是远程机器,需要把该配置文件拷贝到远程机器上
virsh domblklist clone //查看clone子机的磁盘所在目录
Target Source
------------------------------------------------
vda /data/clone.qcow2
rsync -av /data/clone.qcow2 /data/clone01.qcow2 //如果是迁移到远程,则需要把该磁盘文件拷贝到远程机器上
vi /etc/libvirt/qemu/clone01.xml //因为是迁移到本机,配置文件用的是clone子机的配置,不改会有冲突,所以需要修改该文件,如果是远程机器不用修改
修改domname:
<name>clone01</name>
修改uuid(随便更改一下数字,位数不要变)
<uuid>77bb10bd-3ad8-8899-958d-756063002969</uuid>
修改磁盘路径:
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/data/clone01.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
定义clone01的配置文件
virsh define clone /etc/libvirt/qemu/clone01.xml
virsh list --all //会发现新迁移的clone01子机
a. 开启子机
virsh start mylinux2
也可以在开启的同时连上控制台
virsh start mylinux2 --console
virsh console mylinux2 #当没有网络的时候使用console连接
b. 关闭子机
virsh shutdown mylinux2 (这个需要借助子机上的acpid服务需要安装 acpid yum install -y acpid
/etc/init.d/acpid start)另外一种方法是
virsh destroy mylinux2
c.. 列出子机
virsh list //只能列出启动的子机
virsh list --all //可以把所有子机都列出来
d. 删除子机
virsh destroy clone1;virsh undefine clone1;rm -f /data/clone1.img
e. 挂起子机
virsh suspend mylinux2
f、连接子机
virsh console mylinux2 #当没有网络的时候使用console连接
ssh 10.10.13.242 网络连接
g. 恢复子机
virsh resume mylinux2
h、让子机随宿主机开机自动启动
virsh autostart mylinux2
解除自动启动
virsh autostart --disable mylinux2
2、虚拟机克隆
克隆虚拟机
virt-clone --original mylinux2 --name clone --file /data/clone.qcow2
如果子机mylinux2还未关机,则需要先关机,否则会报错:
ERROR 必须暂停或者关闭有要克隆设备的域。
关闭子机的方法是:
virsh shutdown mylinux2
说明: 默认,我们没有办法在宿主机直接shutdown自己,我们需要借助于子机上的acpid服务才可以,这个服务说白了就是让宿主机可以去调用子机的电源关闭的接口。所以,子机上需要安装并启动acpid服务。
先登录子机:
virsh console mylinux2
登录后,安装acpid服务:
yum install -y acpid
启动:
/etc/init.d/acpid start
按ctrl ] 退出来
此时再执行 virsh shutdown mylinux2 就可以啦。
克隆完后,virsh list all 就会发现clone1 这个子机,通过命令
virsh start clone1 可以开启该子机。
登陆后没有网卡地址,修改网卡地址
vim /etc/systemconfig/network-script/ifc-eth0
修改ip地址,注释掉MAC地址和UUID地址
3. 快照管理
a. 创建快照
virsh snapshot-create mylinux2 提示如下
Domain snapshot 1437248443 created
列出快照:
virsh snapshot-list mylinux2
查看当前子机的快照版本:
virsh snapshot-current mylinux2
mylinux2子机的快照文件在 /var/lib/libvirt/qemu/snapshot/mylinux2/
b、如果磁盘镜像格式是raw格式的镜像不能做快照,所以需要先转换一下格式
如果直接拍img格式镜像会报错:
unsupported configuration: internal snapshot for disk vda unsupported for storage type rawb.
先查看当前子机磁盘镜像格式
qemu-img info /data/mylinux2.img
结果是:
image: /data/mylinux2.img
file format: raw
virtual size: 30G (32212254720 bytes)
disk size: 1.6G
把raw格式转换为qcow格式(其实是复制了一份):
qemu-img convert -f raw -O qcow2 /data/mylinux2.img /data/mylinux2.qcow2
qemu-img info /data/mylinux2.qcow2 //再次查看格式,结果如下
image: /data/mylinux2.qcow2
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 1.1G
cluster_size: 65536
现在我们还需要编辑子机配置文件,让它使用新格式的虚拟磁盘镜像文件
virsh edit mylinux2 //这样就进入了该子机的配置文件(/etc/libvirt/qemu/mylinux2.xml),跟用vim编辑这个文件一样的用法
需要修改的地方是:
<driver name='qemu' type='raw' cache='none'/>
<source file='/data/mylinux2.img'/>
改为:
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/mylinux2.qcow2'/>
d. 恢复快照
首先需要关闭子机
virsh destroy mylinux2
确认子机是否关闭
virsh domstate mylinux2
关闭
移出快照virsh snapshot-list mylinux2 //结果是
名称 Creation Time 状态
------------------------------------------------------------
1437248443 2015-07-19 03:40:43 +0800 shutoff
1437248847 2015-07-19 03:47:27 +0800 running
查看当前快照版本 virsh snapshot-current mylinux2
恢复virsh snapshot-revert mylinux2 1437248443
e. 删除快照
virsh snapshot-delete mylinux2 1437248847
4、磁盘扩容
a、对于qemu格式的虚拟磁盘扩容
qemu-img resize /data/clone.qcow2 +5G
virsh destroy clone //关闭clone虚拟机
virsh start clone //开启clone虚拟机
virsh console clone //进入虚拟机
fdisk -l 查看已经磁盘分区已经增加
[root@localhost ~]# fdisk -l
但是磁盘挂载的空间并没有增加
因为新增加的空间还没有划分使用。所以要继续分区:
[root@localhost ~]# fdisk /dev/vda
n,p,4,w
重启后创建pv
pvcreate /dev/vda4
使用pvs查看pv列表
pvs
再将vda4添加到扩展组中
vgextend vg_testxp /dev/vda4
使用vgs查看vg容量
vgs
使用lvs查看lv容量
lvs
将lv所有容量加入到vg
llvextend -l +100%FREE /dev/vg_testxp/lv_root
resize2fs /dev/vg_testxp/lv_root
再使用lvs查看lvs空间,用df -h查看磁盘空间均已增加
5、kvm添加虚拟磁盘
qemu-img create -f qcow2 /data/clone_2.qcow2 5G
关闭虚拟机: virsh destroy clone
编辑配置文件: virsh edit clone 增加如下:
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/data/clone_2.qcow2'/>
<target dev='vdb' bus='virtio'/>
</disk>
开启虚拟机:virsh start clone
进入虚拟机:virsh console clone
分区: fdisk /dev/vdb
格式化 (略)
挂载 (略)
当然也可以按照上面的思路把 /dev/vdb1 加入到 lvm里面去
6、调整cpu和内存查看子机配置:
virsh dominfo clone
virsh edit clone
修改:
<memory unit='KiB'>524288</memory>
<currentMemory unit='KiB'>524288</currentMemory>
<vcpu placement='static'>1</vcpu>
为:
<memory unit='KiB'>624288</memory>
<currentMemory unit='KiB'>624288</currentMemory>
<vcpu placement='static'>2</vcpu>
重启虚拟机:
virsh destroy clone
virsh start clone --console
不重启虚拟机在线增加网卡
virsh domiflist clone 查看clone子机的网卡列表
virsh attach-interface clone --type bridge --source br0 //命令行增加一块网卡
virsh dumpxml clone > /etc/libvirt/qemu/clone.xml //命令行增加的网卡只保存在内存中,重启就失效,所以需要保存到配置文件中,其中/etc/libvirsh/qemu/clone.xml 为clone子机的配置文件
virsh console clone //进入虚拟机后,执行
ifconfig -a
也可以手动编辑配置文件
virsh edit clone
添加一块网卡
发现多了一个网卡 eth1
7、虚拟机迁移
该方式要确保虚拟机是关机状态。
virsh shutdown clone
virsh dumpxml clone > /etc/libvirt/qemu/clone01.xml // 如果是远程机器,需要把该配置文件拷贝到远程机器上
virsh domblklist clone //查看clone子机的磁盘所在目录
Target Source
------------------------------------------------
vda /data/clone.qcow2
rsync -av /data/clone.qcow2 /data/clone01.qcow2 //如果是迁移到远程,则需要把该磁盘文件拷贝到远程机器上
vi /etc/libvirt/qemu/clone01.xml //因为是迁移到本机,配置文件用的是clone子机的配置,不改会有冲突,所以需要修改该文件,如果是远程机器不用修改
修改domname:
<name>clone01</name>
修改uuid(随便更改一下数字,位数不要变)
<uuid>77bb10bd-3ad8-8899-958d-756063002969</uuid>
修改磁盘路径:
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/data/clone01.qcow2'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
定义clone01的配置文件
virsh define clone /etc/libvirt/qemu/clone01.xml
virsh list --all //会发现新迁移的clone01子机
相关文章推荐
- Linux下三大免费桌面虚拟机评测
- convert(一)—— 部署managed
- convirt(二)—— 创建第一台虚机
- KVM 虚拟机创建快照
- 搭建CloudStack
- CentOS 7安装虚拟机(简易版)
- KVM网络性能测试(1)
- KVM网络性能测试(2)
- KVM网络性能测试(3)
- 全虚拟化和半虚拟化的区别 cpu的ring0 ring1又是什么概念?
- 迁移 VMware 虚拟机到 KVM
- 一、免费KVM_Input Director帮你用一套键盘鼠标操作多台电脑
- 二、免费KVM_Input Director帮你用一套键盘鼠标操作多台电脑
- KVM的部署与优化(2)
- Centos 5.8 安装KVM虚拟机学习笔记
- kvm的网络配置 NAT方式
- KVM网络配置 Bridge方式
- VPS虚拟化架构介绍与参考
- rhel6.1 kvm安装virtio驱动
- 虚拟化技术漫谈