- 博客(689)
- 资源 (6)
- 收藏
- 关注
转载 Ironic Inspector安装、使用及流程分析
Hardware introspection for OpenStack Bare MetalThis is an auxiliary service for discovering hardware properties for a node managed by Ironic. Hardware introspection or hardware properties discovery is a process of getting hardware parameters required...
2021-05-08 10:38:28 1212
转载 【转】万级K8s集群背后etcd稳定性及性能优化实践
万级K8s集群背后etcd稳定性及性能优化实践背景与挑战随着腾讯自研上云及公有云用户的迅速增长,一方面,腾讯云容器服务TKE服务数量和核数大幅增长, 另一方面我们提供的容器服务类型(TKE托管及独立集群、EKS弹性集群、edge边缘计算集群、mesh服务网格、serverless knative)也越来越丰富。各类容器服务类型背后的核心都是K8s,K8s核心的存储etcd又统一由我们基于K8s构建的etcd平台进行管理。基于它我们目前管理了千级etcd集群,背后支撑了万级K8s集群。在万级K8s
2021-04-19 20:35:13 595
转载 OpenStack Suspend和Pause区别
Suspend/Resume有时需要长时间暂停 instance,可以通过 Suspend 操作将 instance 的状态保存到宿主机的磁盘上。当需要恢复的时候,执行 Resume 操作,从磁盘读回 instance 的状态,使之继续运行。这里需要对 Suspend 和 Pause 操作做个比较:相同点两者都是暂停 instance 的运行,并保存当前状态,之后可以通过 Resume 操作恢复不同点1. Suspend 将 instance 的状态保存在磁盘上;Pause 是保存在内存
2021-04-07 09:38:40 2392
转载 Cloudinit简介
Cloudinit如何判断虚拟机为初始化状态Cloudinit简介cloudinit是专为云环境中虚拟机的初始化而开发的工具,它从各种数据源读取相关数据并据此对虚拟机进行配置。常见的数据源包括:云平台的metadata服务、ConfigDrive等,常见的配置包括:设定虚拟机的hostname、hosts文件、设定用户名密码、更新apt-get的本地缓存、调整文件系统的大小等。Cloudinit数据源Cloud-init github仓库地址:https://github.com/cloud-ini
2021-04-01 20:33:15 7585
转载 DHCP租约时间
DHCP租约时间一旦DHCP 客户端成功地从服务器哪里取得DHCP 租约之后,除非其租约已经失效并且IP地址也重新设定回0.0.0.0,否则就无需再发送DHCPdiscover信息了,而会直接使用已经租用到的IP 地址向之前之DHCP 服务器发出DHCPrequest信息,DHCP服务器会尽量让客户端使用原来的IP地址,如果没问题的话,直接响应DHCPack 来确认则可。如果该地址已经失效或已经被其它机器使用了,服务器则会响应一个DHCPNACK 封包给客户端,要求其从新执行DHCPdiscover。
2021-03-31 17:56:48 5516
转载 如何远程拷贝稀疏文件(scp sparse file -- raw or qcow2)
如何远程拷贝稀疏文件?how to remote copy sparse file?何谓稀疏文件就是有空洞的文件,空洞并没有实际占用硬盘的物理空间。Linux中常见的qcow2文件和raw文件,都是稀疏文件。上图中的disk size < virtual size 的文件就是sparse file.how to query sparse file’s real size ?最通用的方式是:qemu-img info很多地方写着ls -ls [sparse file] 也能显示出 s
2021-03-26 20:14:47 2081
转载 如何定制虚拟机smbios信息
如何定制虚拟机smbios信息在某些需要给机器做认证和加密的场景下,会需要读取机器的厂家和主板等信息,这些信息都存放在SMBIOS信息中。在虚拟化场景下可以定制虚拟机的SMBIOS信息。SMBIOS是什么SMBIOS(System Management BIOS)是由工业化组织DMTF提出的通过系统固件传递管理信息的标准。详见 https://www.dmtf.org/cn/standards/smbios在SMBIOS标准中规定了若干的Type,每种Type都包含特定信息。例如:BIOS Inf
2021-03-18 15:49:39 2210 2
转载 HAproxy配置参数说明
HAproxy配置参数说明HAproxy配置参数说明:根据功能用途不同,其配置文件主要由五个部分组成,分别为global部分,defaults部分,frontend部分,backend部分,listen部分1)global部分用于设置全局配置参数,属于进程级的配置,通常与操作系统配置相关defaults部分 默认参数的配置部分。在些部分设置的参数,默认会自动引用到下面的frontend, backend和listen部分 frontend部分 用于设置接收用户请求的前端虚拟节点。fro
2021-03-17 15:13:04 2109
转载 haproxy日志格式
haproxy日志格式官网链接如下http://cbonte.github.io/haproxy-dconv/configuration-1.4.html#8英文的没办法 慢慢看吧haproxy日志级别有tcp跟http 2种 现在来讲例子吧 因为我线上没tcp的日志 我就用官网的来举例吧 (相当于翻译下)Feb 6 12:12:56 这个不用多讲吧localhost 这个大家也知道haproxy[14387] haproxy pid10.0.1.2...
2021-03-17 15:04:30 1689
转载 IDE, virtio, virtio-scsi 硬盘区别
整体上来看这三者的最大不同还是挂载磁盘的数量。根据在ovirt的上测试,一台win7的虚拟机,最多可以创建3个ide硬盘,当再次创建新的ide硬盘时候,会提示无法创建。同时,实验中最多创建了14块virtio硬盘,虽然界面允许创建更多virtio硬盘,但是超过14块,虚拟机是无法启动的。virtio-scsi可以创建足够多的硬盘,以至于协议自身并不是限制因素,而内核的限制反而成了硬盘数目的极限。需要注意的是,在virtio生成的虚拟机里面,硬盘是以/dev/vdX的形式存在的。同时virti..
2021-03-16 14:26:51 8570
转载 PCI/PCIe基础
PCI/PCIe基础处理器系统中的PCIPCI总线全称Peripheral Component Interconnect,它是处理器系统的一部分,属于局部总线,其主要功能是连接外部设备。PCI总线有独立的地址空间,它与处理器地址空间是隔离的。隔离两者的是一种叫做Host Bus Controller的组件。下面是一个具有PCI总线的系统的逻辑示意图:首先是CPU的结构,下面以Intel I7处理器为例:上图还没有涉及到PCI的部分,PCI部分位于上图的Chipset中(其实CP.
2021-03-15 17:13:43 491
转载 SSO常见解决方案及基本原理
sso完整的写法是Single Sign On,中文的意思是单点登陆,更详细的解释是:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。如果不采用单点登陆系统,那么用户访问多个应用时是这样的:但如果采用了单点登陆系统,那就简便了很多:也就是,当你有多个系统时(一般大型企业应用中会有这种需求,比如阿里巴巴),用户只需要登陆一次,即可访问所有应用系统,而不需要频繁登陆。为什么为什么要采用sso,它有什么样的应用场景呢?前面我们提了一句,就是为了增加用户体验,避免用户重复登陆。特别
2021-03-12 15:19:29 1023
转载 KVM内存交换策略
计算公式看起来很简单:一台KVM主机配置了16GB内存,如果每台虚拟机的内存大小为512MB,那么你最多应该能够运行32台虚拟机。然而通过应用某些技巧,可以优化内存使用并能够在物理服务器上运行更多的虚拟机。首先,你需要记住从hypervisor的角度看,一台KVM虚拟机仅仅是一个Linux进程,这意味着其遵循有关虚拟以及常驻内存的通用法则。当KVM虚拟机启动时,KVM虚拟机设置指向虚拟内存地址的指针。然而虚拟内存并非物理内存,仅仅是允许进程设置指针指向的地址空间。一般来讲,一个进程正在使用的虚拟内存的具体
2021-03-10 11:26:31 595
转载 KVM提供的看门狗设备使虚拟机更健壮
背景:当虚拟机的资源耗尽无响应,磁盘只读,虚机如何自救呢?自动重启就好了。虚机怎么检测到资源耗尽和磁盘只读呢?这就借用了Kvm模拟设备的能力,模拟出来一个看门狗设备,虚拟机在资源充足前提下,会不断喂狗,但是资源不足,看门狗奕无法喂狗则被KVM重启。KVM模拟设备KVM作为软件实现了许多虚拟机的核心设备。这些模拟硬件设备对于虚拟化操作系统至关重要。仿真设备是完全以软件存在的虚拟设备。另外,KVM提供了仿真驱动程序。这些形成了虚拟机和Linux内核(管理源设备)之间的转换层。设备级别的指令完全由KVM管理
2021-02-18 11:19:29 1087
转载 OpenStack Octavia 中 TLS termination 功能测试
OpenStack Octavia 中 TLS termination 功能测试什么是 TLS termination关于 TLS termination 的具体实现原理可以自行 google,我自己也讲不清楚。但简单地说,TLS termination 通常用于负载均衡器中对 https 协议的处理。为什么要单单为 https 做处理呢?https相比与http多了安全支持,其中最关键的步骤就是建立server和client的SSL安全连接通道。HTTP使用 TCP 三次握手建立连接,客户端.
2021-02-04 11:04:07 690
转载 TLS termination and TLS Origination
HTTP 代理服务器两个常见的功能,TLS Termination 和 Origination。TLS Termination这可能是我们用得最多的场景了。它的主要作用是,作为一个前置代理服务器接收外部到达的加密 TLS 流量,然后将其解密为 HTTP 明文,最后再将流量转发到内部的某个服务。在实际应用中,内部的服务通常是以 HTTP 明文的方式通信,然后通过一个边界入口网关(ingress gateway)统一处理所有的 TLS 流量。这样 TLS 对所有的内部服务都是透明的,无需对每个服务去配置
2021-02-04 10:51:52 1433
转载 如何使用systemd-nspawn进行Linux系统恢复
systemd linux_如何使用systemd-nspawn进行Linux系统恢复systemd linux只要存在GNU / Linux系统,系统管理员就需要从根文件系统损坏,意外的配置更改或其他阻止系统启动到“正常”状态的情况中恢复。Linux发行版通常在启动时提供一个或多个菜单选项(例如,在GRUB菜单中),这些菜单选项可用于营救损坏的系统。 通常,他们在禁用大多数系统服务的情况下将系统引导到单用户模式。 在最坏的情况下,用户可以修改引导加载程序中的内核命令行,以将标准外壳用作初始化.
2021-02-01 16:04:00 1856
转载 容器技术:systemd-nspawn
容器是什么?一个容器就是一个用户空间实例,它能够在与托管容器的系统(叫做宿主系统)相隔离的环境中运行一个程序或者一个操作系统。这和 chroot 或 虚拟机 的思想非常类似。运行在容器中的进程是由与宿主操作系统相同的内核来管理的,但它们是与宿主文件系统以及其它进程隔离开的。什么是 systemd-nspawn?systemd 项目认为应当将容器技术变成桌面的基础部分,并且应当和用户的其余系统集成在一起。为此,systemd 提供了 systemd-nspawn,这款工具能够使用多种 Linux 技术创
2021-02-01 11:30:46 1595
转载 OpenStack barbican 重要概念
# 总体架构图# 各个抽象概念的关系图抽象概念解释Secrets:Secrets是需要存储的密钥,可能的形式如:私钥、证书、密码等。ACL:除了基于角色的权限控制外,ACL可以提供基于用户访问列表的权限控制。即可以指定哪些用户对该密钥有访问权限。Containers:Containers是一个容器,用于存储多个secret引用。当不得不跟踪、访问上百个secret时,container非常有用。barbican支持3种类型的container:Ge..
2021-01-28 10:34:41 1016 1
转载 logrotate故障排除分享:使用copytruncate轮询日志文件
我使用iotop工具定期抓取本地的io统计数据,通过zabbix客户端的key发送给zabbix服务器。这样就可以在zabbix上实时看到所有服务器的io数据了。在使用过程中发现。存放io数据的文件iotop.log增长很快。为了有效利用磁盘,就使用logrotate功能,对iotop.log文件进行rotate。配置如下:/var/log/iotop.log { daily dateext rotate 5 create 0755 root root ...
2021-01-26 14:53:12 3592
转载 Filebeat如何保证logrotate时依然正确读取文件
我们的日志收集系统使用Filebeat来收集日志文件,部署时并没有多想,只配置了一下监控的日志文件名。上线几个月,日志监控从没出过问题。后来想想其实这里面有很多点需要考虑的,没出问题真是感谢Filebeat默认配置下想的就很周全。业务系统使用logback作为日志框架。通过查看源码,发现logback日志切割用的是JDK里File#renameTo()方法。如果该方法失败,就再尝试使用复制数据的方式切割日志。查找该方法相关资料得知,只有当源文件和目标目录处于同一个文件系统、同volumn(即window
2021-01-25 13:59:37 2539 4
转载 图解三种备份方式(LAN,LAN free,Server free)
1、LAN备份这种方式很简单,直接在生产服务器上安装备份代理,部署一台备份服务器,这样即可完成备份,不过这种方式不适合数据量非常大的环境。因为如果备份数据量非常大,会占用以太网的带宽,虽然说备份操作一般在晚上进行。但是这种方式还是不适合大数据量的情况。因此有了LAN free备份。、2、LAN free备份Lan free,顾名思义,即释放了LAN的压力。如上图所示,数据流直接从File server经过FC switch备份到Tape,而不经过Lan,这样就不会占用主网络的带宽。但是.
2021-01-13 11:23:12 5951
转载 防止ceph 集群 IO hang
在ceph集群的使用过程中,经常会遇到一种情况,当ceph集群出现故障,比如网络故障,导致集群无法链接时,作为客户端,所有的IO都会出现hang的现象。这样的现象对于生产业务来说是很不能忍受的。举例如下:环境./vstart.sh -l -k --bluestoreid: 338b8b2e-fe88-4f2c-af4d-2359994a7da9 application not enabled on 1 pool(s)mon: 3 daemons, quorum...
2021-01-12 17:23:40 882
转载 PVID和VID的理解
VID解释 VID(VLAN ID)是VLAN的标识,在交换机里面用来划分端口。比如一个交换机有8个端口,现在将port1,port2,port5三个端口的VID设置成1111,那么这三个端口就能接收vlantag=1111的数据包。 拥有和数据帧TAG标记一致的VID的物理端口,不论是否在这个VID上是Untagged Port或者tagged Port,都可以接受来自交换机内部的标记了这个TAG标记的tagged 数据帧。 拥有和数据帧TAG标记一致的VID的物理端口,只有在这个VID..
2021-01-11 11:31:27 5049
转载 分布式锁及在OpenStack上的应用
本文首先介绍了分布式锁的概念,详细介绍了分布式锁多种实现方式以及它们的优缺点。然后介绍了OpenStack Tooz项目,该项目实现了分布式锁的通用框架,支持对接不同的DLM。最后介绍了OpenStack Cinder实现高可用的痛点问题以及讨论了社区当前正如何使用分布式锁来实现cinder-volume服务的AA高可用模式。一、分布式锁介绍1.1 何谓“锁”?锁(Lock),在我们生活当中再熟悉不过了,它的主要作用就是锁住某个物体或者某个区域空间,一方面阻止无锁者进入查看受隐私保护的东西...
2021-01-08 10:29:19 495
转载 Openshift与Kubernetes的区别
OpenShift被其供应商——Red Hat称为“ Enterprise Kubernetes”。在本文中,我将描述OpenShift和Kubernetes之间的真正差异。由于Red Hat倾向于将其描述为PaaS,因此常常令人困惑,有时掩盖了Kubernetes是OpenShift不可或缺的一部分,并围绕它构建了更多功能这一事实。让我们深入研究一下两者之间的真正区别。1. OpenShift产品与Kubernetes项目Kubernetes是一个开源的项目(甚至框架),而OpenShi...
2020-12-31 10:47:35 1020 1
原创 高可用,容灾,RTO,RPO等解释
基本概念可用性(availability)是系统能够正常运行的时间比例。经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。可靠性(reliability)是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功能特性的基本能力。高可用性(High Availability)是指提供在本地系统单个组件故障情况下,能继续访问应用的能力,无论这个故障是业务流程、物理设施、IT软/硬件的故障。MTBF(Mean Time Between Failure),系统.
2020-12-17 11:35:37 6831 1
转载 OpenStack Trove概要
Trove简介Openstack Trove是openstack为用户提供的数据库即服务(DBaaS)。所谓DBaaS,即trove既具有数据库管理的功能,又具有云计算的优势。使用trove,用户可以:"按需"获得数据库服务器 配置所获得的数据库服务器或者数据库服务器集群 对数据库服务器或者数据库服务器集群进行自动化管理 根据数据库的负载让数据库服务器集群动态伸缩与openstack的其他组件一样,trove也提供RESTful API,并通过RESTful API和其他组件进行交互。T
2020-12-03 09:43:35 1171
转载 prometheus和zabbix的对比
一、两种监控工具的历史简介:prometheus:Kubernetes自从2012年开源以来便以不可阻挡之势成为容器领域调度和编排的领头羊,Kubernetes是Google Borg系统的开源实现,于此对应Prometheus则是Google BorgMon的开源实现。Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库。从字面上理解,Prometheus由两个部分组成,一个是监控报警系统,另一个是自带的时序数据库(TSDB)。2016年,由Google发起的Linux基金
2020-11-26 15:23:22 307
转载 MySQL Galera Cluster grastate.dat文件详解
介绍一个Galera 集群中非常重要的一个文件即grastate.dat,他位于MySQL的数据文件目录,即datadir1. 定位最近状态的节点当我们关闭一个节点时,其seqno会写入grastate.dat文件中,这时后续的seqno该节点将无法接收到注意数据库开启状态或者异常关闭时seqno值为-1当我们将所有节点关闭,准备重启时我们需要知道哪个节点是最后关闭的,并使用它来引导集群这时查看seqno的值即可,最大的即可2. 安全引导保护...
2020-11-23 16:46:22 1977
转载 Linux bridge hairpin mode
hairpin中文翻译为发卡。bridge不允许包从收到包的端口发出,比如bridge从一个端口收到一个广播报文后,会将其广播到所有其他端口。bridge的某个端口打开hairpin mode后允许从这个端口收到的包仍然从这个端口发出。这个特性用于NAT场景下,比如docker的nat网络,一个容器访问其自身映射到主机的端口时,包到达bridge设备后走到ip协议栈,经过iptables规则的dnat转换后发现又需要从bridge的收包端口发出,需要开启端口的hairpin mode。Seehttps:/.
2020-11-19 10:22:02 3098
转载 Linux下使用kpartx挂载虚拟文件系统
在linux中,如果映像文件(.img)含有分区表的话,那么用losetup这个程序来加载文件系统就有点力不从心了。因为losetup只能加载无分区的文件系统映像文件。不过有一个好东西配合losetup却可以来挂载带有分区表的映像文件。这就是kpartx了。#先创建一个1G大小的映像文件来做实验dd bs=4096 if=/dev/zero of=~/hd.img count=262144#将映像文件挂接到loopX中去losetup /dev/loopX ~/hd.img#对loop.
2020-11-12 21:14:13 1754
转载 Linux中loop设备详解
一、简单介绍首先我们在命令行终端中输入man loop出现如下内容:摘要:Loop设备是一种块设备,但是它并不指向硬盘或者光驱,而是指向一个文件块或者另一种块设备。一种应用的例子:将另外一种文件系统的镜像文件保存到一个文件中,例如iso文件,然后将一个Loop设备指向该文件,紧接着就可以通过mount挂载该loop设备到主文件系统的一个目录下了,我们就可以正常访问该镜像中的内容,就像访问一个文件系统一样。二、详细介绍loop设备是一种伪设备,是使用文件来模拟块设备的一..
2020-11-12 21:08:34 7968
转载 OpenStack文件和元数据注入
openstack在创建实例的时候,可以对实例进行文件注入,注入的内容可为:key ssh公钥;network 网络参数;admin_password 注入超级用户bai root 的密码;metadata 注入元数据meta.js;首先来看各种文件注入的命令行实现:# 注入ssh密钥创建密钥(ssh-keygen),添加密钥对;nova keypair-add --pub_key.ssh/id_rsa.pub mykey创建实例的时候注入密钥;nova boot --key_name
2020-11-07 18:29:15 1005
转载 OpenStack 性能测试工具Rally使用
OpenStack 性能测试工具Rally使用Rally是OpenStack社区推出开源测试工具,可用于对OpenStack各个组件进行性能测试。可以自动化并统一 多节点OpenStack部署,验证,测试和性能分析。它可用作OpenStack CI / CD系统的基本工具,可以不断提高其SLA,性能和稳定性。对于不同的使用场景,Rally在测试中的流程也有所不同,主要支持以下三种场景:1) 开发测试,可以评估处于开发阶段的OpenStack系统的性能,能够完成安装部署、仿真测试并输出测试结果等一系
2020-10-24 14:26:35 2121
转载 openstack下热迁移机制
热迁移,也叫在线迁移(live migration),是虚拟机从一台主机上迁移到另一台主机上但是“不中断VM服务”的一种机制。这里“不中断”指的是在用户观感上,VM一直提供服务。而实际上,在热迁移的过程中,VM会短暂地暂停一段时间。openstack的热迁移是nova组件调用libvirtd完成的。我们一般通过nova配置文件(path:/etc/nova/nova.conf)来设置有关热迁移的参数,从而让VM按照我们希望的方式进行在线迁移。nova配置文件有关热迁移的参数有如下几个:live_
2020-10-19 15:17:40 2493 1
原创 openstack nova 热迁移 migration job: canceled by client
在进行热迁移时由于数据量较大,出现了token过期导致client鉴权失败,终止了热迁移,导致迁移失败。Nova的一些操作可能需要很长时间才能完成。在这与此请求关联的用户令牌可能过期。在处理实时迁移等长时间运行的任务时提供的服务。Keystone middlewere信任服务在何时获得用户令牌,它是有效的,不要检查证书的有效期。将nova配置为使用服务用户令牌来补充用于初始化操作的常规用户令牌。然后,如果用户令牌已经过期,keystone将使用服务用户令牌对请求进行身份验证。[serv
2020-10-19 10:26:52 400
转载 简析云桌面中的几种常见远程显示协议
基于VDI的云桌面的实现原理是将远程服务器上虚拟机的输出画面投影(传输)到终端上,这个传输过程中就需要采用“远程显示协议”。协议的优化程度将直将影响到云桌面的流畅性与用户体验,比如出现画面卡顿、丢帧等现象。很多厂商都在此领域投入了大量的研发。如今在vGPU(GPU虚拟化)、视频解码重定向等技术的支持下,即使在VDI下云桌面也能获得不错的图形处理能力,甚至可以胜任三维渲染、图形图像处理、高清解码编码工作。一改人们以往对VDI在图形处理方面能力不佳的印象。这些都得益于远程显示协议的不断优化。目前比较具代表性的协
2020-10-12 14:40:43 4276
转载 Chrome访问https页面显示ERR_CERT_INVALID,且无法跳过继续访问
Chrome访问https页面显示ERR_CERT_INVALID,且无法跳过继续访问在访问网页的时候,因为浏览器自身的安全设置问题,对于https的网页访问会出现安全隐私的提示,甚至无法访问对应的网站,尤其是chrome浏览器,因此本文主要讲解如何设置chrome浏览器的设置,来解决该问题,具体如下:问题Chrome访问https页面显示ERR_CERT_INVALID,以往版本可以选择跳过,继续访问,但是新版本Chrome不允许继续,且提示:您的连接不是私密连接攻击者可能会试图从.
2020-09-28 17:52:54 3681 1
原创 Openstack Cinder generic volume group
cinder提供了是一致性组(consistency group),但是一致性组的功能只有一部分的driver支持。详见:https://docs.openstack.org/cinder/rocky/reference/support-matrix.html#operation_consistency_groups——通过一致性组可以对组内的块存储进行统一的操作,保证数据的一致性——可以把一类或者某个应用使用的多个块归到一个组中,便于管理N版本之后cinder提供了generic vo
2020-09-21 22:22:09 632
ulogd2-2.0.7-2.mips64el.rpm
2020-05-12
《中国联通5G MEC边缘云平台架构及商用实践白皮书》
2020-05-12
H3C CAS虚拟化平台产品彩页.pdf
2020-05-12
ulogd-2.0.7.tar.bz2
2020-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人