自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Ovirt vdsm创建虚拟机网卡的流程

vdsm 创建虚拟机过程中,配置网卡interface的流程

2024-03-12 15:52:13 289

原创 【虚幻引擎】材质:线性插值

线性插值可以叠加对象,通过Alpha通道控制两个对象的重叠程度

2023-02-08 10:01:32 279

原创 Golang定时任务框架GoCron源码分析及研究

我需要对Job进行上层的封装,并将要调用的方法和参数序列化后存入数据库,直到服务重启时,能够找到未完成的任务加载进scheduler重新执行我的计划任务只需要执行一次,而无须重复执行,这一点已经有SingletonMode保证我需要改造gocron,让它能够支持在某个时间范围内调度任务。

2022-11-01 22:04:06 4525 1

原创 OpenStack Neutron安全组机制探索

过去一直以为,neutron的安全组是由iptables实现,网上不少文章也印证这个想法,他们的依据如下图:ovs的Port不具备安全功能,因此接入一个qbr-xxx的bridge,这个bridge的实现载体是Linux Bridge,借助iptables实现防火墙功能——原本我也是这么认为的。直到有一次,在查找具体的安全组iptables规则时,并没有发现相关的rules,对此产生了怀疑。查看ml2_conf.ini的配置文件后,发现我们环境中的firewall driver是openvswitc

2022-02-20 00:27:29 1396 1

原创 neutron-metering解读分析

metering简介metering是l3层流量监控的插件,通过统计iptables规则的流量计数达到流量监控的目的。与iptables类似,创建metering label即创建一条自定义链,这条链被Forward表引用,针对某个ip创建metering label rule则生成相应的规则,进出方向的流量会留下它的痕迹。metering配置路径/etc/neutron,新增配置文件metering_agent.ini# metering_agent.iniinterface_drive

2021-06-06 13:54:52 387

原创 Neutron复盘及学习笔记

Neutron复盘及学习笔记前言对于openstack neutron,曾花费很多的时间去看它的源码,结果啥都没有看出来。openstack代码风格是,为了实现plugin的可插拔,运用了很多设计模式,设计思想也非常哲学。这样的好处是,开发者可以专注于自己需要开发的功能而不必关心底层细节,但对于新手,完全是一头雾水。我个人的经验是,一定要多问,从代码结构到实现方式,一旦有人告诉你它的分层结构,豁然开朗。当然你可以上网去搜,但据我所知,网上关于openstack的文档太过浅显,深入源码的分析又看不

2021-06-05 13:19:48 467 2

原创 iptables扩展模块

iprange模块使用iprange模块可以指定一段连续的IP地址范围--src-range--dst-range# exampleiptables -t filter -I INPUT -m iprange --src-range 192.168.1.1-192.168.1.100 -j DROP# 通过 ! 取反iptables -t filter -I INPUT -m iprange ! --src-range 192.168.1.1-192.168.1.100 -j DROP

2020-06-14 01:42:05 241

转载 Docker网络

四种网络模式bridge模式docker默认使用bridge模式使用一个 linux bridge,默认为 docker0使用 veth 对,一头在容器的网络 namespace 中,一头在 docker0 上该模式下Docker Container不具有一个公有IP,因为宿主机的IP地址与veth pair的 IP地址不在同一个网段内Docker采用 NAT 方式,将容器内部的服务监听的端口与宿主机的某一个端口port 进行“绑定”,使得宿主机以外的世界可以主动将网络报文发送至容器内部外界

2020-06-14 00:01:09 120

转载 Linux cgroups限制docker使用的资源

概念Linux cgroups可以为系统中所运行进程的用户定义组群并分配资源。Linux使用namespace隔离与运行环境,然而进程仍然可以不限地使用系统资源(CPU、内存、磁盘等)。占用资源太多会影响其它进程,资源耗尽时会触发OOM对Linux OOM的理解Linux内核存在OOM(out of memory)killer机制,通过配置它控制内存不足时内核的行为当物理内存和交换空间都被用完时,如果还有进程来申请内存,内核将触发OOM killer检查文件/proc/sys/vm/pan

2020-06-13 22:58:51 409

转载 Linux namespace隔离容器的运行环境

概念通过将某个特定的全局系统资源通过抽象方法使得namespace中的进程看起来拥有它们自己的隔离的全局系统资源实例、当Docker创建一个容器时,它会创建6种namespce的实例,然后把容器中的所有进程放到这些namespace中,使得Docker中的进程只能看到隔离的系统资源如下是Linux内核中的6种namespacenamespace被隔离的全局系统资源在容器语境下的隔离效果mount namespace         &

2020-05-24 19:50:27 246

转载 Docker镜像

概念容器镜像替代传统软件运行之前的环境准备+安装软件阶段镜像是动态的容器的静态表示,包括容器索要运行的应用代码以及运行时的配置Docker镜像包括一个或多个只读层(read-only layers),因此,镜像一旦创建即不可被修改容器运行时有一个可写层(writable layer or 容器层container layer),位于只读层之上,任何操作与更新都保存在可写层因此,容器运行就是通过镜像创建一个实例(同时创建一个可写层),底层的镜像不可修改镜像概念如图所示,Host OS是宿

2020-05-22 18:13:32 151

转载 Docker的基本用法

docker的安装各系统自行百度// 启动一个docker容器docker run -it ubuntu:latest /bin/bashdocker start [containerID]docker stop [containerID]docker exec -it [containerID] /bin/bashdocker psdocker ps --all// 容器中运行top命令docker top [containerID]// 现象容器PID为1的进程发送系统信号S

2020-05-21 09:32:21 202

原创 Openvswitch源码阅读笔记-从vport开始

Linux网络接收数据包与ovsLinux接收数据包Linux网络接收数据包是从网卡开始,网卡接收到数据包后写入内存中,随后向CPU发送中断,告诉CPU有数据到了。CPU根据中断表查找相应的中断函数,该函数会调用网卡驱动,网卡驱动向网卡发送一个软中断,阻止网卡继续向CPU发送中断。代表着CPU已经知道有数据到了。CPU会通过轮询逐一处理内存中的数据包。ovs接收数据包当Linux...

2020-04-22 00:15:24 1249

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除