配置VM使用单独的VLAN

实际在部署虚拟化的时候我们往往都会把宿主机和VM各自的地址段单独规划。借助OpenWrt可以自己划分一下vlan。OpenWrt上设置vlan tag可以参考之前的文章。比如我的network配置文件,划分了3个VLAN(其实最好不要使用vlan 0),非默认vlan里每个lan口都是打了vlan tag: config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'lan' option ifname 'eth1.0' option type 'bridge' option proto 'static' option ipaddr '10.0.1.1' option netmask '255.255.255.0' config interface 'lan1' option ifname 'eth1.1' option type 'bridge' option proto 'static' option ipaddr '10.1.1.1' option netmask '255.255.255.0' config interface 'lan2' option ifname 'eth1.2' option type 'bridge' option proto 'static' option ipaddr '10.2.1.1' option netmask '255.255.255.0' config interface 'wan' option ifname 'eth0' config switch 'eth1' option reset '1' option enable_vlan '1' config switch_vlan option device 'eth1' option vlan '0' option ports '0 1 2t 5*' config switch_vlan option device 'eth1' option vlan '1' option ports '0t 1t 2t 5*' config switch_vlan option device 'eth1' option vlan '2' option ports '0t 1t 2t 5*' config interface 'wwan' option proto 'dhcp' 其他还需要修改好dhcp和firewall配置文件(可以简单参考之前的文章)。在自己笔记本上测试的,把有线网卡eth0加了vlan 2,把没有eth0放到br0网桥,eth0.2放到了br2。测试dhcp br0和br2分别获取到IP。 ...

November 20, 2013 · 2 min · pm

KVM VM在线迁移及Qos测试

做公有云的应该都能感受到比做私有云多N倍的痛苦。比如服务器硬件的问题,如果是内部的应用按理说应用都做到了无状态,随便挂几个机器基本没有任何影响,把机器下线慢慢修就行。但是对于有上十万台服务器规模的人来说,每周挂几十个机器是非常非常平常的,有时内核有bug你也无能为力,升级肯定是需要重启机器的,会对上面跑的VM造成影响,不升级就只有等死。虽然说xen和kvm都是有热迁移,但是实际效果往往差强人意,比如当每秒钟内存内读写的内容比网络速度快的时候,就永远不可能完成热迁移了,如果谁的VM上跑了个memcache之类的,基本就没法迁移。另外很多负载比较重的VM,迁移起来可能对服务的影响也比较大。 在自己的两台笔记本上测试了一下KVM的迁移,整理一下。 每台笔记本上都是跑的debian testing,先是修改/etc/network/interfaces配置一下网桥(VM都是使用桥接的形式,每个VM和笔记本获取到的IP都是1个网段) pm@debian:~ $ cat /etc/network/interfaces # The loopback network interface auto lo iface lo inet loopback # The primary network interface #allow-hotplug eth0 #NetworkManager #iface eth0 inet dhcp auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_fd 0 bridge_maxwait 0 安装基本的包 aptitude install qemu-kvm libvirt-bin virt-manager virt-top 创建镜像文件,从ISO安装系统3.1 create image file qemu-img create -f qcow2 debian3.qcow2 10G 如果要调整大小,比如增大size,可以直接命令操作 qemu-img resize debian3.qcow2 +2G 3.2安装系统,sudo 运行一下脚本就可以安装了。 $ cat install_debian3.sh virt-install \ --name=debian3 \ --os-type=linux \ --os-variant=debianwheezy \ --vcpus=2 \ --ram=1024 \ --accelerate \ --hvm \ --vnc \ --vncport=6668 \ --network=bridge=br0,mac=RANDOM,model=virtio \ ```bash --disk path=/home/pm/image/debian3.qcow2,format=qcow2,bus=virtio,cache=writeback \ --cdrom=/home/pm/downloads/debian-7.2.0-amd64-xfce-CD-1.iso 1. virsh下启动系统,使用vnc登录进去(知道IP也可以直接ssh登录) sudo virsh list –all sudo virsh start debian3 sudo virsh shutdown debian3 sudo virsh edit debian3 (edit domain xml config file) sudo virsh dumpxml debian3 ...

November 16, 2013 · 3 min · pm