**
利用xml文件生成一个新的虚拟机 利用guestmount实现离线访问虚拟机
**
步骤一:用xml生成一个新的虚拟机
[root@room9pc01 ~]# cd /etc/libvirt/qemu/
[root@room9pc01 qemu]# cp centos7.0.xml local.xml
[root@room9pc01 qemu]# vim local.xml
<domain type='kvm'>
<name>local</name> //修改名字
<memory unit='KiB'>2048000</memory> //修改内存
<currentMemory unit='KiB'>2048000</currentMemory>
...
<source file='/var/lib/libvirt/images/local.img'/> //img文件位置
注意:除这些外还要把mac地址删掉,带address字样的全部删除
[root@room9pc01 ~]# cd /var/lib/libvirt/images/
[root@room9pc01 images]# qemu-img create –b node.qcow2 –f qcow2 local.img
[root@room9pc01 images]# virsh define /etc/libvirt/qemu/local.xml
[root@room9pc01 images]# virsh start local
[root@room9pc01 images]# virsh console local
步骤二:guestmount实现离线访问 注意(若修改后端盘,所有创建的前端盘必须删除重建)
基本用法:guestmount -a 虚拟机磁盘路径 -i /挂载点
-a:指定虚拟磁盘
-i:挂载点
[root@room9pc01 ~]# mkdir /mnt/kdisk
[root@room9pc01 ~]# guestmount -a node1.qcow2 -i /mnt/kdisk
[root@room9pc01 ~]# cd /mnt/kdisk
[root@room9pc01 kdisk]# ls
bin home media opt sbin tmp
boot lib misc proc selinux usr
将selinux 修改成强制模式、退出目录 umount取消挂载 启动虚拟机查看
注意:!!!!
离线修改/etc/default/grub
挂载之后需要 (chroot 目录名)需要进入容器 可以用ifconfig看不到IP就是在容器里 在进行修改
调整现有虚拟机 要求添加一块网卡、一块硬盘
1)编辑虚拟机
virsh edit node1
找到网卡选项 添加物理网卡
<interface type='bridge'>
<source bridge=***'/> bro
<model type='virtio'/>
</interface>
2)查看网卡 console node1 登录
power off -p 关机
start node1 在开机
ip link show 查看已经有了
ifconfig --all 查看所有没有启动的网卡
3) 拷贝eth0 - eth1
修改eth1
DEVICE="eth1"
ONBOOT="yes"
IPV6INIT="no"
TYPE="Ethernet"
BOOTPROTO ="dhcp"
重启network
添加硬盘(复制一份出来)
qemu-img create -f qcow2 disk.img 20G 在创建一个硬盘
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/var/lib/libvirt/images/disk.img'/> 路径修改 disk.img
<target dev='vdb' bus='virtio'/> 盘符target=vdb 修改bus=scsi
</disk>
power off -p 关机
start node1 在开机