云计算国产化之路 vnc登录 文件系统直通(virtio-9p) 扩展qemu接口 gpg WARNING 珍藏博客 虚拟内存情况dommemstat分析 免密码自动登录脚本 Linux网桥 测试网段IP占用情况 Linux 进程状态 systemc强制依赖 调试openstack ut uefi p2v 重做ubuntu内核 virsh创建虚拟机简介 virtio IO路径 虚拟化层升级后磁盘无法卸载卷 vmtouch使用 Taint flags 主机和虚拟机文件共享处理的几种方法 kvm分析工具 kvm中对磁盘的io cache 虚拟化不同导致的guestos中软件安装差异(未解决) 设备直通(PCI Assignment)到底是咋整的 virtio到底是咋整的 内核启动参数 虚拟化实时性提升(零)之配置步骤 中断虚拟化(pic)到底是咋整的 中断虚拟化(apic)到底是咋整的 Raid卡配置丢失导致服务器无法启动 tainted kernels cpu stuck for 23s问题分析 虚拟化实时性提升(一)之hostOS切换为强实时系统 内存虚拟化到底是咋整的 qemu-kvm中vcpu虚拟化到底是咋整的 风河虚拟化技术点分析 使用qga的好处 qemu迁移代码分析 虚拟机串口配置及其导出到主机pts和console.log System-based I/O vs. Raw I/O 虚拟机使用Hugepage(大页) 硬件辅助分页(hardware assisted paging) 修改centos7默认启动项目 virtio的工作流程——kernel中virtio-pci初始化(2) virtio的工作流程——qemu中virtio-backend初始化(1) qmp ceilometer取不到memory.usage指标 Virtio-Balloon超详细分析 slabtop输出 虚拟机磁盘cache导致的host os kernel崩溃 虚拟机cpu和memory性能优化测评 PCI配置空间(PCI Configuration Space) centos下网卡设备直通(VT-dpci passthrough)遇到的问题及其解决思路 libguestfs详解 yum卸载软件包及其依赖 通过原始Centos ISO来定制自己的ISO centos下网卡设备直通(VT-d,pci passthrough) (占位符)window虚拟机中拔盘如何通知到libvirt和qemu后端的 cirrus漏洞分析CVE-2017-2615 XSA-208 qcow2随笔 控制寄存器概览 ceilometer对接postgresql 解压initrd和vmlinuz qemu guest agent验证 QEMU升级指南(待续) ubuntu中kdump的配置 qemu(2.3)接口梳理 热迁移导致的FC存储场景下的multipath卷残留问题分析 virsh命令(4)secret,snapshot,pool,volume部分 virsh命令(3)之interface,filter,network virsh命令(2)monitor,host,nodedev部分 virsh命令(1)之domain部分 QEMU内存管理之FlatView模型(QEMU2.0.0) ovirt基于sanock的高可用(主机粒度HA) Sanlock防脑裂场景功能测试用例 gnocchi配置及与ceilometer对接指南 make patch for libvirt in centos centos使用sanlock指导 高可用nfs资料 ubuntu14中使用sanlock指导 LVM操作指南 sanlock相关功能验证流程汇总 make patch for libvirt in ubuntu libvirt.so.0-version `LIBVIRT_PRIVATE_1.2.7' not found gdb debug libvirt 基于ubuntu社区源码包编译libvirt compile libvirt(centos) No PCI buses available nfs lead to Linux halt nfs install and config anti-virus for cloud platform nova fetch image from glance(something about _base) token auth process ovs入门指南 virt software anti-virus something about ceilometer disk sample context interview questions openstack vm injection openstack Restful and RPC murano 概览 创建虚拟机流程(compute节点)之网络创建 创建虚拟机流程之compute_api之虚拟机实例填充之配额检测 创建虚拟机流程之compute_api之基本参数生成 创建虚拟机流程之compute_api 创建虚拟机流程(主) 创建虚拟机之image 创建虚拟机流程之准备网桥 创建虚拟机流程之virt 创建虚拟机流程之compute节点 CI/CD研发流程之工程创建 CI/CD研发流程之代码合入 CI/CD研发流程之UT(单元测试) 向openstack社区合入代码记 openstack/ceilometer/gnocchi杂谈 影子页表原理 mem_add(exec.c) qemu编译安装调试 openstack/ceilometer/gnocchi之Grafana简介 openstack wiki etcd openstack计量ceilometer openstack计费cloudKitty enventlet backdoor USB 安装VMWARE ESX pycharm设置指南 无法执行modprobe -a kvm-intel解决办法 QEMU配置项 网络不通小记 libvirt之XML(虚拟机定义文件) openstack-horizon 证书认证 ceilometer与ceph对接 openstack定时任务剖析(TODO) 服务器重启后mongodb进程无法启动 ubuntu14下新增openstack服务到service的导引 ERROR 1045(28000)-数据库连不上 Python两个内置函数—locals和globals unknown exit, hardware reason 31

Sanlock防脑裂场景功能测试用例

2016年08月19日

项目/软件 FitOS 版本 V0.0.1
作者 功能模块名 sanlock(虚拟机防脑裂)
用例编号 TEST_sanlock_001
功能特性 防止虚拟机HA后防脑裂
测试目的 虚拟机HA场景下,正常疏散虚拟机后,源节点和目标节点应该只有一个虚拟机进程与磁盘关联,不会出现两个或者多个虚拟机进程关联同一个磁盘(脑裂)的情况。
预置条件 HA服务正常启动, nfs服务正常,sanlock服务正常。
测试数据 N/A 测试步骤 a)在compute1上从镜像启动虚拟机testha-1;
b)设置testha-1为高可用虚拟机nova meta testha-1 set ha=True;
c)触发虚拟机testha-1的HA d)待HA完成后,恢复触发HA的条件(如触发HA的条件是compute1掉电,则此时恢复compute1的供电)
e)观察compute1节点和HA的目标节点上虚拟机存在情况
(可以使用virsh list 或者ps -ef|grep testha-1)
期望结果 只在其中一个节点上存在虚拟机进程,不会存在多个虚拟机进程(亦即不会存在脑裂的情况)
实际结果
测试人员 开发人员 测试日期

项目/软件 FitOS 版本 V0.0.1
作者 功能模块名 sanlock(虚拟机防脑裂)
用例编号 TEST_HA_002
功能特性 镜像启动的虚拟机测试sanlock功能生效(同一个节点)
测试目的 验证从镜像启动的虚拟机,sanlock生效,即可以保证同一个虚拟机盘,第二个虚拟机进程与其关联的时候,关联失败。
预置条件 nfs服务正常,sanlock服务正常
测试数据 N/A
测试步骤 a)在compute1上从镜像创建虚拟机testha-1
b)获取到虚拟机的配置文件libvirt.xml

c)注释掉/etc/libvirt/qemu.con中lock_manager = “sanlock”
d)重启libvirt服务
e)修改上述的虚拟机配置文件libxirt.xml
f)Virsh create libvirt.xml 确保虚拟机创建成功,如果失败请重复d,e步骤
(文末附libvirt.xml示例c-f步骤是为了确保libvirt.xml修改正确)
g)Virsh destroy 销毁掉f步骤的虚拟机

h)放开掉/etc/libvirt/qemu.con中lock_manager = “sanlock”
i)重启libvirt服务使h步骤的配置修改生效
j)修改上文中的libvirt.xml中虚拟机的name字段
k)执行virsh create libvirt.xml
l)查看执行结果,是不是报错file exist
(如果是,说明sanlock生效,不允许第二个进程关联磁盘)
m)Virsh destroy testha-1 销毁掉一开始创建的虚拟机
n)Virsh create libvirt.xml 查看没有虚拟机进程绑定的情况下,是不是可以正常启动虚拟机
期望结果 执行结果如上面步骤的每一步预期相符
实际结果
测试人员 开发人员 测试日期

项目/软件 FitOS 版本 V0.0.1
作者 功能模块名 sanlock(虚拟机防脑裂)
用例编号 TEST_HA_003
功能特性 卷启动的虚拟机测试sanlock功能生效(同一个节点)
测试目的 验证从卷启动的虚拟机,sanlock生效,即可以保证同一个虚拟机盘,第二个虚拟机进程与其关联的时候,关联失败。
预置条件 nfs服务正常,sanlock服务正常
测试数据 N/A
测试步骤 a.在compute1上从卷创建虚拟机testha-1
b.获取到虚拟机的配置文件libvirt.xml

c.注释掉/etc/libvirt/qemu.con中lock_manager = “sanlock”
d.重启libvirt服务
e.修改上述的虚拟机配置文件libxirt.xml
f.Virsh create libvirt.xml 确保虚拟机创建成功,如果失败请重复d,e步骤
(文末附libvirt.xml示例c-f步骤是为了确保libvirt.xml修改正确)
g.Virsh destroy 销毁掉f步骤的虚拟机

h.放开掉/etc/libvirt/qemu.con中lock_manager = “sanlock”
i.重启libvirt服务使h步骤的配置修改生效
j.修改上文中的libvirt.xml中虚拟机的name字段
k.执行virsh create libvirt.xml
l.查看执行结果,是不是报错file exist
(如果是,说明sanlock生效,不允许第二个进程关联磁盘)
m.Virsh destroy testha-1 销毁掉一开始创建的虚拟机
n.Virsh create libvirt.xml 查看没有虚拟机进程绑定的情况下,是不是可以正常启动虚拟机
期望结果 执行结果如上面步骤的每一步预期相符
实际结果
测试人员 开发人员 测试日期

项目/软件 FitOS 版本 V0.0.1
作者 功能模块名 sanlock(虚拟机防脑裂)
用例编号 TEST_HA_004
功能特性 镜像启动的虚拟机测试sanlock功能生效(不同节点上)
测试目的 验证从镜像启动的虚拟机,sanlock生效,即可以保证同一个虚拟机盘,第二个虚拟机进程与其关联的时候,关联失败。
预置条件 nfs服务正常,sanlock服务正常
测试数据 N/A
测试步骤 a.在compute1上从镜像创建虚拟机testha-1
b.获取到虚拟机的配置文件libvirt.xml

c.注释掉/etc/libvirt/qemu.con中lock_manager = “sanlock”
d.重启libvirt服务
e.修改上述的虚拟机配置文件libxirt.xml
f.Virsh create libvirt.xml 确保虚拟机创建成功,如果失败请重复d,e步骤
(文末附libvirt.xml示例c-f步骤是为了确保libvirt.xml修改正确)
g.Virsh destroy 销毁掉f步骤的虚拟机

h.放开掉/etc/libvirt/qemu.con中lock_manager = “sanlock”
i.重启libvirt服务使h步骤的配置修改生效
j.修改上文中的libvirt.xml中虚拟机的name字段
k.将libvirt.xml文件拷贝至compute2
l.登录compute2,执行virsh create libvirt.xml
m.查看执行结果,是不是报错file exist (如果是,说明sanlock生效,不允许第二个进程关联磁盘)
n.在compute1上Virsh destroy testha-1 销毁掉一开始创建的虚拟机
o.在compute12上Virsh create libvirt.xml 查看没有虚拟机进程绑定的情况下,是不是可以正常启动虚拟机
期望结果 执行结果如上面步骤的每一步预期相符
实际结果
测试人员 开发人员 测试日期

项目/软件 FitOS 版本 V0.0.1
作者 功能模块名 sanlock(虚拟机防脑裂)
用例编号 TEST_HA_005
功能特性 卷启动的虚拟机测试sanlock功能生效(不同节点上)
测试目的 验证从卷启动的虚拟机,sanlock生效,即可以保证同一个虚拟机盘,第二个虚拟机进程与其关联的时候,关联失败。
预置条件 nfs服务正常,sanlock服务正常
测试数据 N/A
测试步骤 a.在compute1上从卷启动虚拟机testha-1
b.获取到虚拟机的配置文件libvirt.xml

c.注释掉/etc/libvirt/qemu.con中lock_manager = “sanlock”
d.重启libvirt服务
e.修改上述的虚拟机配置文件libxirt.xml
f.Virsh create libvirt.xml 确保虚拟机创建成功,如果失败请重复d,e步骤
(文末附libvirt.xml示例c-f步骤是为了确保libvirt.xml修改正确)
g.Virsh destroy 销毁掉f步骤的虚拟机

h.放开掉/etc/libvirt/qemu.con中lock_manager = “sanlock”
i.重启libvirt服务使h步骤的配置修改生效
j.修改上文中的libvirt.xml中虚拟机的name字段
k.将libvirt.xml文件拷贝至compute2
l.登录compute2,执行virsh create libvirt.xml
m.查看执行结果,是不是报错file exist
(如果是,说明sanlock生效,不允许第二个进程关联磁盘)
n.在compute1上Virsh destroy testha-1 销毁掉一开始创建的虚拟机
o.在compute12上Virsh create libvirt.xml 查看没有虚拟机进程绑定的情况下,是不是可以正常启动虚拟机
期望结果 执行结果如上面步骤的每一步预期相符
实际结果
测试人员 开发人员 测试日期

项目/软件 FitOS 版本 V0.0.1
作者 功能模块名 sanlock(虚拟机防脑裂)
用例编号 TEST_HA_006
功能特性 Sanlock在不同平台上的功能验证
测试目的 在ubuntu和cenos(redhat)两个平台上,分别进行的打包
需要验证两个平台上的功能情况
预置条件 nfs服务正常,sanlock服务正常
测试数据 N/A
测试步骤 a.分别搭建ubuntu和centos的系统
b.在两套系统上分别验证上述用例
期望结果 功能正常
实际结果
测试人员 开发人员 测试日期

附录:
demo1 4194304 2 hvm 2048 </source>

devices中只保留disk相关内容即可