1. 配置
1)yum -y install virt-install
systemctl start firewalld.service 关闭防火墙
2):网桥方式配置步骤
a、编辑修改网络设备脚本文件,增加网桥设备br0
vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="br0"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO=static
IPADDR=10.0.112.39
NETMASK=255.255.255.0
GATEWAY=10.0.112.1
DEFROUTE=yes
b、编辑修改网络设备脚本文件,修改网卡设备eth0
DEVICE="eth0"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE=Ethernet
BOOTPROTO=none
BRIDGE="br0"
NAME="System eth0"
2. 命令
virsh list #显示本地活动虚拟机
virsh list –all #显示本地所有的虚拟机(活动的+不活动的)
virsh define ubuntu.xml #添加虚拟机 通过配置文件定义一个虚拟机(这个虚拟机还不是活动的)
virsh undefine ubuntu # 删除虚拟机
virsh destroy ubuntu # 强制关闭虚拟机
virsh reset ubuntu #重启
virsh start ubuntu #启动名字为ubuntu的非活动虚拟机
virsh edit ubuntu #修改以及加载
virt-install -d --name=kvm_tw--ram 1024 --vcpus=1 -f /home/img/kvm_mode.img --cdrom=/home/iso/CentOS-6.7-x86_64-LiveCD.iso --graphics vnc,listen=0.0.0.0,port=7788 ///无xml时使用virt-install,建议优选virsh define ubuntu.xml
克隆镜像
virt-clone -o vm1 -n vm2 -f /usr/local/kvm/vm2/disk.os /usr/local/kvm/vm2/disk.data -d --prompt
KVM虚拟机迁移:
迁移命令:virsh migrate –live<id or name> qemu+ssh://<dstip>/system tcp://<dstip>:49152
迁移完之后,本地机器可能仍是定义状态,要执行virsh undefine <name>清除
3. virsh使用qemu+tcp访问远程libvirtd
因为ssh的不能访问 所以使用tcp进行对远程libvirtd进行连接访问,例如
virsh -c qemu+tcp://example.com/system
修改文件vim /etc/sysconfig/libvirtd,用来启用tcp的端口
1 2 3 |
LIBVIRTD_CONFIG=/etc/libvirt/libvirtd.conf
LIBVIRTD_ARGS="--listen" |
修改文件vim /etc/libvirt/libvirtd.conf
1 2 3 4 5 6 7 8 9 |
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
listen_addr = "0.0.0.0"
auth_tcp = "none" |
运行 libvirtd
1 |
service libvirtd restart |
如果没起效果(我的就没有生效 :( ),那么使用命令行:
1 |
libvirtd --daemon --listen --config /etc/libvirt/libvirtd.conf |
查看运行进程
1 2 |
[root@ddd run]# ps aux | grep libvirtd root 16563 1.5 0.1 925880 7056 ? Sl 16:01 0:28 libvirtd -d -l --config /etc/libvirt/libvirtd.conf |
查看端口
1 2 |
[root@ddd run]# netstat -apn | grep tcp tcp 0 0 0.0.0.0:16509 0.0.0.0:* LISTEN 13971/libvirtd |
在source host连接dest host远程libvirtd查看信息
1 2 3 4 5 6 |
virsh -c qemu+tcp://211.87.***.97/system
Welcome to virsh, the virtualization interactive terminal.
Type: 'help' for help with commands 'quit' to quit |
成功使用tcp去访问libvirtd。
4. XML
<domain type='kvm'>
<name>test2</name>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
</features>
<clock offset='localtime'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<pm>
<suspend-to-mem enabled='no'/>
<suspend-to-disk enabled='no'/>
</pm>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<source file='/home/img/kvm_mode.img'/>
<target dev='hda' bus='ide'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/home/iso/CentOS-6.7-x86_64-LiveCD.iso'/>
<target dev='hdb' bus='ide'/>
<readonly/>
</disk>
<interface type='bridge'>
<source bridge='br0'/>
</interface>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<graphics type='vnc' port='7788' autoport='no' listen='0.0.0.0' keymap='en-us'>
</graphics>
</devices>
</domain>