您的位置:首页 > 其它

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子机
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  kvm