Blog Posts

pFsense tcp offloading in kvm virtio

如果在KVM中创建 pFsense 实例用于 OpenStack 虚拟机的三层网关,在虚拟机之间的私有网络或者虚拟机对外网络会出现问题。例如虚拟机的DNS 解析(UDP Port 53)不正常,内部可以ping通dns 服务器,也可以ping通目标机器,但就是DNS解析无法工作。 在排除了是虚拟机的Egress规则以及pFsense中的防火墙问题外,那么可能就是由于虚拟网卡(VirtIO)以及物理网卡的问题。 通过勾选pFsense中的’Disable hardware checksum offload’和’Disable hardware TCP segmentation offload’ 可以解决问题。 TCP Offloading 的功能可能在ssl termination 中会有用处,但我们只用到了pFsense 的路由及防火墙功能,应用上面的负载均衡,漏洞扫描等尚未涉及到,所以关闭该功能对虚拟机来说没有影响。

Read More

VIM split ticks and tips

VIM is useful and powerful for the generic editor, it has lots of plugins to use for different language and purpose.

Read More

OpenStack Internal Service Design

API前端服务 每个 OpenStack 组件可能包含若干子服务,其中必定有一个 API 服务负责接收客户请求。 以 Nova 为例,nova-api 作为 Nova 组件对外的唯一窗口,向客户暴露 Nova 能够提供的功能。 当客户需要执行虚机相关的操作,能且只能向 nova-api 发送 REST 请求。 这里的客户包括终端用户、命令行和 OpenStack 其他组件。 设计 API 前端服务的好处在于:

Read More

OpenStack AIO Setup with Ansible

如果你是OpenStack 的developer的话,那么相信对DevStack的会十分的熟悉。 DevStack 可以在一台机器上快速的交付AIO(all-in-one)的OpenStack环境十分的方便。 OpenStack-Ansible 是一种通过ansible来部署OpenStack 环境的方案,具体的设计初衷、以及如果使用请参考rackspace 以及platform9开发博客 物理环境 名称 信息 OS Dist Ubuntu 16.

Read More

KVM guest host hardware passthrough

在vmware下,物理主机的硬件映射给虚拟机称为直通, 可以很方便的通过UI进行操作, 但kvm下,需要通过技术手段实现 kvm下的DMA(direct memory access) dma要存取的内存地址成为DMA地址(也称为bus address),dmar是DMA remapping ,是intel为支持虚拟机而设计的I/O虚拟化技术,I/O设备访问的DMA地址不再是物理内存地址,而要通过DMA remapping硬件进行转译,DMA remapping硬件会把DMA地址翻译成物理内存地址,并检查访问权限等等。负责DMA remapping操作的硬件称为IOMMU。

Read More