标签:kvm

发表于
不行啊,需要不停的安装测试软件。 不停的反复回到初始的状态,没办法用快照把。 首先需要 shutdown kvm 虚机 virsh destory vis-168-85-40 先查查都有什么命令: virsh --help|grep snapshot Snapshot (help keyword 'snapshot') snapshot-create Create a snapshot from XML snapshot-create-as Create a snapshot from a set of args snapshot-current Get or set the current snapshot snapshot-delete Delete a domain snapshot snapshot-dumpxml Dump XML...
发表于
场景是这样的: 实体机是kvm,上面跑了A和B两台虚机。 A 机 IP 是 192.168.85.40,然后胡乱鼓捣,里面乱作一团,然后想恢复。 B 机 IP 是 192.168.85.47,全新安装。 想直接把 B 机的qcow2文件翻版覆盖A机,然后启动改个 ip 即可。 结果是不行,用 virsh console A 上去查看,发现 eth0 没了,多了一个 eth1 。 于是明白,网卡冲突了,解决方法如下: vi /etc/udev/rules.d/70-persistent-net.rules...
发表于
虚机运行久了,碎片漫天飞,导致整个qcow2文件变大,删除了虚机内的文件,qcow2不会随着变小,浪费了不少空间,如何做一下碎片整理呢? 很简单,首先停了虚机 mv myqcow2file.qcow2 myqcow2file.qcow2.bak qemu-img convert -O qcow2 myqcow2file.qcow2.bak myqcow2file.qcow2 这么转换一下即可。...
发表于
nagios报警,有一台实机的内存使用率达到极限了,告警信息如下: MEMORY CRITICAL : Mem used: 99.61%, Swap used: 95.98% 上帝啊,128G的内存居然被用光了!!! 登上这台机器,验证一下,发现确实啥也不剩了,没有任何缓存,而且连交换分区都用了 # free -g total used free shared buffers cached Mem: 125 125 0 0 0 0 -/+ buffers/cache: 125 0 Swap: 8 7 0 看看上面跑了什么,居然跑了12台虚机 virsh list --all Id...
发表于
比较古怪的需求,公司拉了根专线到机房。 而使用专线的机器是一台虚机,实机有自己的路由。 虚机就只能使用实机的第三块网卡,上连出去了,而且必须制定host的路由,这里给的子网掩码是255.255.255.252,所以只能虚机有ip,实机根本不能配ip地址。 首先把实机dell r720的第三块网卡em3改一下,连接到网桥br1 cat /etc/sysconfig/network-scripts/ifcfg-em3 DEVICE=em3 HWADDR=XX:XX:XX:XX:XX:XX TYPE=Ethernet UUID=6b68220d-d5ed-496f-b8d1-4c6d9cbb1234 ONBOOT=yes NM_CONTROLLED=no BRIDGE=br1 再做个网桥br1 cat /etc/sysconfig/network-scripts/ifcfg-br1 DEVICE=br1 BOOTPROTO=...
发表于
同事扩容kvm的硬盘,结果写坏了kvm虚机上的/etc/fstab,虚机重启爬不起来了,需要修复。 到网上拷贝一个systemrescuecd-x86-4.7.3.iso的系统恢复盘,拷过去 然后编辑虚机: virsh edit vis-16-45-23 给虚机增加一个iso虚拟光驱 <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/export/kvm/systemrescuecd-x86-4.7.3.iso'/> <target dev='hdc' bus='ide'/> <readonly/...
发表于
在京东和公司生产kvm虚机的时候,虚机命名都是有规则的。 统统是vis-16-100-1这种格式,vis表示虚机,16-100-1是ip地址的后三位。第一位是一样的。 这样做的好处是,你用virsh list --all列虚机的时候,一目了然,一眼就能看出来虚机的ip,就不会改错或者杀错了。 那么问题又来了,如果一台虚机已经装好了,需要修改ip,那么如果修改对应的虚机name呢? 很简单,首先把旧机器的配置给dump出来 virsh dumpxml name_of_vm > name_of_vm.xml 然后删掉虚机,其实文件什么都没动 virsh undefine name_of_vm 然后修改nameofvm.xml中的name,改好后重新定义虚机 virsh define new_name_of_vm.xml 最后启动就好了 virsh start new_...
发表于
最近都在研究gpxe和iscsi,那么如何让kvm使用存储在iscsi上面的文件卷呢? 假设我们已经按之前的文章架好了iscsi: 造个10G文件(因为萝卜花园的clone需要10G): dd if=/dev/zero of=/export/iscsi/disk03.img count=0 bs=1 seek=10G 增加iscsi target vi /etc/tgt/targets.conf <target iqn.2016-07.com.renhe:renhe-16-8-6.disk03> backing-store /export/iscsi/disk03.img write-cache off </target> tgt-admin --execute isci准备好了,然后我们去kvm定义池子:...
发表于
什么是SR-IOV呢? 简单的说,SR-IOV是一种虚拟化方案,用来使一个PCIe的物理设备,能虚拟出多个设备,这些虚拟出来的设备看起来就像是多个真实的物理设备一样,并获得能够与本机性能媲美的 I/O 性能。 SR-IOV现在最多是用在网卡上,kvm虚拟机的网卡功能一般会下降到实体机的30-50%,如果改用SR-IOV会大大提高网卡性能。 SR-IOV 有2种功能: 物理功能 (Physical Function, PF) 就是标准的PCIe的功能了 虚拟功能 (Virtual Function, VF) 与物理功能关联的一种功能。VF 是一种轻量级 PCIe 功能,可以与物理功能以及与同一物理功能关联的其他 VF 共享一个或多个物理资源。VF 仅允许拥有用于其自身行为的配置资源。 好的,如何在生产环境中使用它呢? 场景如下: 如上: 机房分为两类交换机: switch-1用来连接各机器的eth0口 switch-2用来连接各机器的eth1口 switch-1和switch-2互联 这是一种机房的标准连法,eth0和eth1做bonding,做线路冗余 server-2是一台Dell R730的服务器,eth0连switch-1,eth1连switch-2,上面跑了三个虚机:...
发表于
环境如上: 两边一个是ubuntu,一个是centos,都是双网卡绑定。 步骤: 两台机器都建立网桥: ovs-vsctl add-br remibr0 可以增加一个vlan tag=101的管理网桥挂到remibr0上去 ovs-vsctl add-br mgmt0 remibr0 101 更进一步,两个网卡bonding,注意,这里需要硬件交换机配置802.3ad才能支持balance-tcp: ovs-vsctl add-bond remibr0 bond0 em49 em50 bond_mode=balance-tcp lacp=active other_config:lacp-time=fast 在ubuntu机器上执行: ovs-vsctl add-br remibr0 ovs-vsctl add-port remibr0 vxlan0 -- set Interface vxlan0 type=...
发表于
Open vSwitch如果利用vlan将kvm或者docker-lxc虚机连接起来的话,设备多的话,就无法承受,尤其是openstack这种海量大规模虚机的环境。 所以,用vxlan来连接比较好,毕竟vxlan是可以支持到16百万虚拟2层网络的。 场景:两台实体机,都跑ovs,用vxlan互联,上面的交换机可以通联。 实体机1:host1 eth0: 123.123.123.1 实体机2:host2 eth0: 123.123.123.2 首先在host1和host2上分别建立网桥 ovs-vsctl add-br ovsbr0 接下来用virt-install安装kvm的时候就可以指定ovs参数来安装: virt-install ... -w bridge=ovsbr0,virtualport_type=openvswitch 如果是用克隆或者机器来生产虚机的话,网络部分的xml应该如下: <interface type='bridge'> < source bridge='ovsbr0'/...
发表于
前几篇文章,讲述了如何用Open vSwitch配置vlan,那么更进一步,如何手动给ovs配置vlan trunk呢?方法其实很简单。 首先什么事vlan trunk呢? VLAN的中继端口叫做trunk。trunk技术用在交换机之间互连,使不同VLAN通过共享链路与其它交换机中的相同VLAN通信。交换机之间互连的端口就称为trunk端口。 简单说vlan trunk就是承载了多个vlan信息的端口。 给出场景,ovs和kvm已经都配好了,无vlan的信息。 首先找出要配vlan的port,ifconfig看一下,这里kvm对应的interface是vnet0 ovs-vsctl list interface vnet0 定义trunks ovs-vsctl set port vnet0 trunks=20,30,40 查看: ovs-vsctl list port vnet0 如果这个端口既能收到带vlan tag的流量,又能收到不带vlan tag的流量(native VLAN),需要这么设置: ovs-vsctl set port vnet0...
发表于
前面有一篇: http://www.rendoumi.com/open-vswitchshe-zhi-vlande-ce-shi/ 我们描述了ovs与kvm使用vlan的文章,在kvm里是手动配置的。下面是比较进阶的过程: 一、在kvm里非手动配置vlan网卡: 假设我们kvm的网卡是eth0,基本配置是: # vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 TYPE=Ethernet BOOTPROTO=none ONBOOT=yes 我们来配一个vlan id是192: # vi /etc/sysconfig/network-scripts/ifcfg-eth0.192 DEVICE=eth0.192 BOOTPROTO=none ONBOOT=yes IPADDR=192.168.1.1 PREFIX=24 NETWORK=192....
发表于
Open vSwitch 跟实体交换机的功能相似,那么如何设置一个mirror端口呢?一般mirror端口是用来监控流量,或者挂snort进行安全扫描的,ovs是也支持这个功能的。 场景: 我们先装好2台kvm,然后连接到ovs网桥ovsbr0,两个kvm的两个网卡的mac地址只是最后1位不同,如下: ------ <interface type='bridge'> <mac address='52:54:bb:bb:11:11'/> <source bridge='ovsbr0'/> <virtualport type='openvswitch'> </virtualport> <model type='virtio'/> </interface> ------...
发表于
公司的系统是基于kvm的,基本是一台物理及虚拟出十台kvm来用,网络是基于linux bridge的,现在想改用 Open vSwitch ,来改改看: 基本场景:一开始装好的基本系统是没有bridge的,只有eth0配了ip地址,连接到交换机。 先生成ovs 网桥: ovs-vsctl add-br ovsbr0 将ovsbr0和eth0加入网桥: ovs-vsctl add-port ovsbr0 eth0 注意,执行add-port命令的时候如果是远程,就死定了,网络会断开。所以最好还是在配置文件里把ovs的配置给固定下来。 将eth0的地址交给ovsbr0来处理: ifconfig eth0 0.0.0.0 ifconfig ovsbr0 192.168.100.1/24 看一下结果: ovs-vsctl show 79437d32-5f9f-48bf-a2cf-42d87374bd4b Bridge "ovsbr0" Port "eth0" Interface...
发表于
场景是这样的,公司的idc里部署了cobbler,所以虚机安装的时候可以从pxe来启动,这样起来会自动安装好一一切,那么kvm的安装命令virt-install怎么选择从pxe启动呢? virt-install --name=guest-name --ram=2048 --vcpus=1 \ --disk path=/var/lib/libvirt/images/guest-disk.qcow2,bus=virtio \ --pxe --noautoconsole --graphics=vnc --hvm \ --network network=net-name,model=virtio \ --os-variant=ubuntuprecise 非常简单,-pxe这个参数就指明了启动的方式。...
发表于
首先设置一下linux的主机,增加一个网桥,把物理网卡eth0加进网桥中,这样虚机就可以通过这块物理万卡跟外界通讯了。 # ovs-vsctl add-br br0 # ovs-vsctl add-port br0 eth0 把eth0的地址交给br0处理 # ifconfig eth0 0.0.0.0 # ifconfig br0 192.168.100.1/24 注意: # ifcofnig eth0 0.0.0.0 更加全面和完备的方法如下: # ip add flush eth0 # ifconfig down eth0 # ifconfig eth0 promisc up 定义网络: # cat ovsnet.xml <network&...
发表于
用bash的随机生成网卡地址: echo 52:54:$(dd if=/dev/urandom count=1 2>/dev/null | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4/') 52:54:f6:65:52:39 另一种做法: openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'...