xen

Centos环境下搭建zabbix监控系统, zabbix5.0最新版

狂风中的少年 提交于 2020-07-28 02:44:11
Zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题 zabbix的优点: 开源,无软件成本投入 Server 对设备性能要求低 支持设备多,自带多种监控模板 支持分布式集中管理,有自动发现功能,可以实现自动化监控 开放式接口,扩展性强,插件编写容易 当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动 从server 端去下载需要监控的 item 然后取数据上传到 server 端。 这种方式对服务器的负载比较小。 Api 的支持,方便与其他系统结合 缺点: 需在被监控主机上安装 agent,所有数据都存在数据库里, 产生的数据很大,瓶颈主要在数据库。 监控对象: 数据库: MySQL,MariaDB,Oracle,SQL Server agent 应用软件:Nginx,Apache,PHP,Tomcat agent ------------------------------------------------------------------------------------------------------------------------------- 集群: LVS

Linux Driver 入门

孤街浪徒 提交于 2020-05-08 10:04:14
: Linux Driver Device Major and Minor Numbers he Internal Representation of Device Numbers Within the kernel, the dev_t type (defined in <linux/types.h>) is used to hold device numbers—both the major and minor parts. As of Version 2.6.0 of the kernel, dev_t is a 32-bit quantity with 12 bits set aside for the major number and 20 for the minor number. Your code should, of course, never make any assumptions about the internal organization of device numbers; it should, instead, make use of a set of macros found in <linux/kdev_t.h>. To obtain the major or minor parts of a dev_t, use:   MAJOR(dev_t

将Windows cmd标准输出和stderr重定向到单个文件

故事扮演 提交于 2020-05-06 10:25:48
问题: I'm trying to redirect all output (stdout + stderr) of a DOS command to a single file: 我正在尝试将 DOS 命令的所有输出(stdout + stderr)重定向到单个文件: C:\>dir 1> a.txt 2> a.txt The process cannot access the file because it is being used by another process. Is it possible, or should I just redirect to two separate files? 是可能的,还是应该重定向到两个单独的文件? 解决方案: 参考一: https://stackoom.com/question/5xen/将Windows-cmd标准输出和stderr重定向到单个文件 参考二: https://oldbug.net/q/5xen/Redirect-Windows-cmd-stdout-and-stderr-to-a-single-file 来源: oschina 链接: https://my.oschina.net/u/3797416/blog/4267895

QEMU和QEMU-KVM的关系

荒凉一梦 提交于 2020-05-03 20:50:24
不同的基于KVM的虚拟化平台,可能会采用不同的虚拟化组件,目前主流的采用QEMU-KVM组件,但在不同的产品里版本有所不同,功能也有差异,下面就几个概念进行梳理下 KVM:Kernel-Based Virtual Machine 基于内核的虚拟机,是Linux内核的一个可加载模块,通过调用Linux本身内核功能,实现对CPU的底层虚拟化和内存的虚拟化,使Linux内核成为虚拟化层,需要x86架构的,支持虚拟化功能的硬件支持(比如Intel VT,AMD-V),是一种全虚拟化架构。KVM在2007年年2月被导入Linux 2.6.20内核中。从存在形式来看,它包括两个内核模块:kvm.ko 和 kvm_intel.ko(或kvm_amd.ko),本质上,KVM是管理虚拟硬件设备的驱动,该驱动使用字符设备/dev/kvm(由KVM本身创建)作为管理接口,主要负责vCPU的创建,虚拟内存的分配,vCPU寄存器的读写以及vCPU的运行。 QEMU:是一套由Fabrice Bellard编写的模拟处理器的自由软件,它是一个完整的可以单独运行的软件,可以独立模拟出整台计算机,包括CPU,内存,IO设备,通过一个特殊的“重编译器”对特定的处理器的二进制代码进行翻译,从而具有了跨平台的通用性。QEMU有两种工作模式:系统模式,可以模拟出整个电脑系统,另一种是用户模式

IAAS-libvirt介绍。

二次信任 提交于 2020-05-01 03:42:50
Libvirt介绍 Libvirt 与 hypervisor 无关,其提供与多种操作系统虚拟化能力进行交互的 API 与工具库。 Libvirt 提供了一个通用稳定的抽象层,可以安全的操作物理机上的虚拟机,同时为了可以远程交互, Libvirt 在 hypervisor 支持的范围内提供了创建,修改,监控,迁移,停止 domain 的一系列 API ,虽然可以使用 Libvirt 同时访问多个物理机,但是 API 层做了限制,只允许访问单个物理机。 Libvirt 被设计为可以支持多种虚拟化环境,这意味着大部分通用的能力在 API 上是被支持的,也因为此,在于通用型之间为了平衡,一些特殊的能力是不被支持的,譬如不支持虚拟化的告警策略或者多节点管理,不过 API 的稳定性确保这些特性可以在 Libvirt 实现。为了保持这种稳定性, Libvirt 视图隔离这些虚拟化框架中频繁变更的应用。 Libvirt 意在作为单虚拟化节点上的高级管理工具和应用,唯一例外的是虚拟机在多个物理机的迁移能力。提供了一系列 API 用来定义,监控,和使用管理节点的资源,这些资源包括 cpu , memory , storage , network 以及 NUMA 分区,虽然一个单独的物理机可以被管理程序分配一个管理节点,但是这应该确保使用安全的协议来操作。 术语定义: 术语 定义 Domain 运行在被

第三方软件源安装Xen

大憨熊 提交于 2020-04-25 06:24:08
因为从RHEL6版本开始,RedHat就不在原生支持Xen,改为投奔KVM的怀抱,尽管KVM号称支援HVM技术的全虚拟化,但KVM毕竟起步晚,远不如Xen技术成熟,运行多个实例时经常发生系统崩溃的现象,当然也不排斥未来KVM会更加高效的可能,所以安装Xen的方法只有两种,一种是自己下载源代码自行编译,但这种方法太耗费精力,所以忽略,另一中就是使用第三方软件源进行安装,互联网有大量的第三方源以及开源组织提供编译好的源码,其中Xen made Easy开源项目为我们提供了Xen4在RHEL6/CentOS6的安装,本文采用Xen Made Easy项目网站提供的第三方安装源,方便快捷。 1.环境 硬件:HP DL360 G6(E5520,16G,2*146GB) 系统版本:CentOS-6.6-x86_64-minimal.iso 2. 系统初始化 wget http://blog.linuxeye.com/lnmp-full.tar.gz tar xzf lnmp-full.tar.gz cd lnmp ./install.sh #所有都选择no chkconfig iptables off #关闭iptables 3. 安装bridge-utils yum -y install bridge-utils 4. 安装crc.id.au安装源 yum -y install http:/

【翻译】ARM虚拟化软件和架构支持的设计,实现和评估

为君一笑 提交于 2020-04-24 03:41:48
这是一篇论文:https://academiccommons.columbia.edu/doi/10.7916/D8D238J2/download 学习ARM虚拟化非常好的材料,这里翻译了其中几个章节。 ----------------------------------------------------------------------------------------------------------- 2.1 ARM虚拟化扩展 由于ARM体系结构不是经典的可虚拟化(参见第1章),因此ARM引入了虚拟化扩展(VE)作为ARMv7 [11]和ARMv8 [13]体系结构的可选扩展。 诸如Cortex-A15之类的ARM CPU [10]包括对虚拟化的硬件支持,针对服务器和网络市场的所有ARMv8 CPU都包括虚拟化扩展。 我简要介绍了ARM虚拟化扩展。 2.1.1 CPU虚拟化 要运行VM,必须虚拟化特权CPU模式以保持隔离,并使管理程序保持对物理硬件的控制。如果允许VM完全控制底层硬件,那么它们会妨碍系统上的其他任务和VM运行,关闭CPU,甚至危及系统其他部分的完整性。如第1章所述,可虚拟化体系结构可以通过在非特权用户模式下运行所有​​VM(包括guest内核)来虚拟化特权CPU模式,并将每个敏感操作捕获到管理程序并在软件中模拟操作。要在非虚拟化架构(如ARM

关于云服务器 ECS 建站教程:镜像部署Windows环境篇

血红的双手。 提交于 2020-04-18 15:31:41
镜像部署Windows环境 您可以根据业务需要,选择下列任意一种方式部署 云服务器 ECS 实例的使用环境: 镜像部署 手动部署 下表列出了两种部署方式的特点。一般推荐镜像部署。如果您需要个性化定制部署,建议使用手动部署。 对比项 镜像部署 手动部署 部署所需时间 3-5分钟,快速部署上云 1-2天。选择适合的操作系统、中间件、数据库、各类软件、插件、脚本,再进行安装和配置 专业性 IOPS 由运维过万级用户的优质服务商提供 依赖开发人员的开发水平 个性化 支持主流应用场景 可满足个性化的部署要求 安全性 经过严格安全审核,集成最稳定安全的版本 依赖开发人员的开发水平 售后服务 专业售后工程师团队支持 依赖运维人员的经验,或由外包团队支持 注意: 本文档只介绍通用的操作步骤。一般镜像软件安装包都包含了操作指南,请阅读镜像操作指南进行具体的安装和配置。 阿里云的云市场 提供了丰富的镜像资源。镜像集成了操作系统和应用程序。在创建实例时,您可以选择包含了应用环境的镜像,创建后无需再部署环境。 注意:云服务器 ECS 不支持虚拟化软件(如 KVM、Xen、VMware 等)的安装部署。 操作步骤 说明:本节介绍的方法适用于已经购买实例、但想使用镜像重新部署环境的用户。您也可以在创建实例的时候就选择镜像,请参考创建实例。 如果您想使用镜像市场的镜像来替换当前实例的操作系统

用遗传算法GA改进CloudSim自带的资源调度策略

不羁岁月 提交于 2020-04-15 08:52:18
【推荐阅读】微服务还能火多久?>>> 首先理解云计算里,资源调度的含义: 看了很多云计算资源调度和任务调度方面的论文,发现很多情况下这两者的意义是相同的,不知道这两者是同一件事的不同表述还是我没分清吧,任务调度或者资源调度大概就是讲这样一件事情: 用户有n个计算任务(Task),{t1,t2,t3,...tm},将这n个任务分配到m个资源(其实就是指虚拟机,Virtual Machine)上,用这m个资源来计算这n个任务(注意,一般n>m,且很多时候n>>m),直到所有任务都计算完成。如何分配使得这n个任务的总的计算时间最少?这里,总的计算时间是指,最后一个计算完成的任务的完成时刻,而不是每个任务的计算时间求和。 关于这个问题的准确的描述,引用王登科 李 忠《基于粒子群优化与蚁群优化的云计算任务调度算法》的描述: 举个例子: 假设某云计算系统的一台主机上运行了3个虚拟机{VM0,VM1,VM2},它们的计算能力( 即单位时间内能够执行的指令数量,CloudSim里用mips来衡量 )分别是{3000,1000,500}. 某用户有5个计算任务{t0,t1,t2,t3,t4},任务大小( 就是要执行的指令数量,CloudSim里用length来表示 )分别是{4000,2000,2500,10000,500},提交到cloudsim系统中进行模拟运算。

全虚拟化和半虚拟化的区别 cpu的ring0 ring1又是什么概念? - 转

我的未来我决定 提交于 2020-03-17 06:09:11
http://www.cnblogs.com/xusongwei/archive/2012/07/30/2615592.html ring0是指CPU的运行级别,ring0是最高级别,ring1次之,ring2更次之…… 拿Linux+x86来说, 操作系统(内核)的代码运行在最高运行级别ring0上,可以使用特权指令,控制中断、修改页表、访问设备等等。 应用程序的代码运行在最低运行级别上ring3上,不能做受控操作。如果要做,比如要访问磁盘,写文件,那就要通过执行系统调用(函数),执行系统调用的时候,CPU的运行级别会发生从ring3到ring0的切换,并跳转到系统调用对应的内核代码位置执行,这样内核就为你完成了设备访问,完成之后再从ring0返回ring3。这个过程也称作用户态和内核态的切换。 那么,虚拟化在这里就遇到了一个难题,因为宿主操作系统是工作在ring0的,客户操作系统就不能也在ring0了,但是它不知道这一点,以前执行什么指令,现在还是执行什么指令,那肯定不行啊,没权限啊,玩不转啊。所以这时候虚拟机管理程序(VMM)就要避免这件事情发生。 (VMM在ring0上,一般以驱动程序的形式体现,驱动程序都是工作在ring0上,否则驱动不了设备) 一般是这样做,客户操作系统执行特权指令时,会触发异常(CPU机制,没权限的指令,触发异常),然后VMM捕获这个异常