虚拟化

Linux大页之复合页

独自空忆成欢 提交于 2021-02-09 06:03:25
大页的基础是复合页。在使用伙伴系统分配页时,如果指定了 GFP 标志 __GFP_COMP ,那么在分配到页后,会调用 prep_compound_page 将一组连续的页组合成一个复合页。 include/linux/gfp.h #define ___GFP_COMP 0x4000u #define __GFP_COMP ((__force gfp_t)___GFP_COMP) /* Add compound page metadata */ 对于复合页中的每个 page 描述符,都会设置 相应的 标志来让内核是首页还是尾页: include/linux/page-flags.h enum pageflags { #ifdef CONFIG_PAGEFLAGS_EXTENDED PG_head, /* A head page */ PG_tail, /* A tail page */ #else PG_compound, /* A compound page */ #endif PG_reclaim, /* To be reclaimed asap */ } 注意了,对于复合页的标志有两种情况: 1. CONFIG_PAGEFLAGS_EXTENDED 的情况: include/linux/page-flags.h #ifdef CONFIG_PAGEFLAGS_EXTENDED

Openstack平台搭建之第三天

旧巷老猫 提交于 2020-11-27 04:24:30
Openstack平台搭建之第三天 Author :xxbAndy If you have any question ,please contact me by weichuangxxb@sina.cn or 371990778 (qq) 注意:主控节点为server10.example.com; 新增nova节点为desktop10.example.com 在实验环境中已经对各个主机做了DNS解析 1.管理neutron节点服务,为nova-compute节点进行配置网络服务 [root@server10 ~]# source /root/keystonrc_admin [root@server10 ~(keystone_admin)]# vim /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini tenant_network_type = vlan tenant类型 network_vlan_ranges = physnet1:1:100 vlan地址池 bridge_mappings = physnet1:br-eth1 桥接口 创建相应的接口: [root@server10 ~(keystone_admin)]#ovs-vsctl add-br br-eth1 [root@server10 ~(keystone

docker容器虚拟化

白昼怎懂夜的黑 提交于 2020-04-06 11:21:54
目录 1.虚拟化网络 2.单节点容器间通信 3.不同节点容器间通信 1.虚拟化网络 Network Namespace 是 Linux 内核提供的功能,是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自网络栈信息。不管是虚拟机还是容器,运行的时候仿佛自己都在独立的网络中。而且不同Network Namespace的资源相互不可见,彼此之间无法通信。 假如我们的物理机有4块物理网卡,我们要创建4个名称空间,而这些设备是可以单独关联至某个单独的名称空间使用的 如上图所示,把第一块网卡分配给第一个名称空间,第二块分给第二个名称空间,第三块分给第三个名称空间,第四块分给第四个名称空间。此时其它名称空间都是看不见当前所在名称空间的,因为一个设备只能属于一个名称空间。 这种方式使得每一个名称空间都能配置IP地址,并且与外部网络直接通信,因为它们使用的是物理网卡。 但如果我们所拥有的名称空间数量超过物理网卡数量呢?此时我们可以使用虚拟网卡设备,用纯软件的方式来模拟一组设备来使用。Linux内核级支持2种级别设备的模拟,一种是二层设备,一种是三层设备。 Linux内核模拟的二层设备,每个网络接口设备是成对出现的,可以模拟为一根网线的两端,其中一端模拟主机的虚拟网卡,另一端模拟虚拟交换机,就相当于让一个主机连到一个交换机上去。Linux内核原生支持二层虚拟网桥设备

kvm虚拟化之kvm虚拟机克隆

两盒软妹~` 提交于 2020-03-20 22:11:30
kvm虚拟机的克隆分为两种情况,本文也就通过以下两种情况进行克隆,克隆虚拟机为OEL5.8X64。 (1) KVM主机本机虚拟机直接克隆。 (2) 通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移)。 1. 本机虚拟机直接克隆 (1) 查看虚拟机配置文件 [root@node1 ~]# cat /etc/libvirt/qemu/oeltest01.xml <!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: virsh edit oeltest01 or other application using the libvirt API. --> <domain type='kvm'> <name>oeltest01</name> <uuid>8f2bb4a7-c7ed-32aa-3676-9fb05923269d</uuid> <memory unit='KiB'>524288</memory> <currentMemory unit='KiB'>524288</currentMemory> <vcpu

RHEL7 Docker 虚拟化使用(二)

给你一囗甜甜゛ 提交于 2020-03-08 13:03:27
Docker是一个开源工具,它可以让创建和管理 linux 容器变得简单。容器就像是轻量级的虚拟机,作为一种新兴的虚拟化方式,Docker跟传统的虚拟化方式相比具有众多优势。 环境: Centos 7 ip:172.16.1.10 Docker version 1.13.1 运行一个容器、“-i”捕获标准输入输出、“-t分配一个控制台” [root@localhost ~]# docker run -i -t centos /bin/bash [root@86a46aa13531 /]# ls bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var [root@86a46aa13531 /]# 创建镜像 -a 作者信息,-m 提交信息,-p 提交时暂停容器运行,如果提交成功会返回一个id数字串。 [root@localhost ~]# docker commit -m "aaa" -a "chao" 86a46aa13531 sha256:6efd478542f1a99b20796c9372c2976b87344263a051dbf39fd385ea4dbb8873 查看镜像 [root@localhost ~]# docker images

虚拟磁盘空间不足虚拟电脑运行发生错误的原因及解决

十年热恋 提交于 2020-03-01 08:29:39
我用virtualBox装了一台Centos虚拟机,20G空间的动态扩展的虚拟硬盘,今天突然提示错误: 虚拟电脑运行发生错误! 详细的错误信息显示在下面. 你可以试着修复这个描述的错误并恢复虚拟电脑的运行. The I/O cache encountered an error while updating data in medium "ahci-0-0" (rc=VERR_DISK_FULL). make sure there is enough free space on the disk and that the disk is working properly. Opera tion can be resumed afterwards. 错误 ID: BLKCACHE_IOERR 严重: 非致命性错误 虚拟磁盘文件.vol约4G大小,但剩余物理磁盘空间还有80多G足够用了,这是怎么回事呢? 我查了查资料,发现了问题,我的电脑的文件系统是FAT32,支持的最大文件为4G,这正好与虚拟磁盘文件.vol的大小相符,当虚拟磁盘因需要动态扩展时,由于FAT32最大支持4G文件,所以导致虚拟磁盘无法扩容,所以VirtualBox出现上述错误,提示空间不足。 解决思路: 解决思路就是将FAT32文件系升级为NTFS文件系统即可,通过命令执行转换后,不影响磁盘上现有的数据。注意

部署虚拟化的关键几步

拈花ヽ惹草 提交于 2020-02-29 15:43:47
虚拟化服务器技术的概念现在已经很普及了,虚拟化也在部分企业部署成功并运行,在尚未部署虚拟化的企业也在着手做着准备,国外国内的虚拟化的产品提供选择的余地较多。每一款虚拟化产品都有其优点,但作为企业本身如何选择适合自己,性价比合理的产品却产生了困惑。 当前的企业对虚拟化的选型、构建还是存在着认知的不足,还有人员、经验的方面的短缺,更缺少第三方的客观、公正的保证。 作为国内虚拟化厂商,就我们的对众多用户的实际经验和实施方案,给出几点关键步奏供参考。 一.评估; 用户需求不同,系统要求也不一样,需要与客户的主要人员进行深入的沟通,客户在获得充足的信息的基础上就虚拟化再其环境中发挥最大的作用做出决定。我们也就其业务类型、特征、状况作了调查。然后在投资回报率、总成本上做出初步的评估。 二.规划; 在初步评估完成后,了解了客户业务的周期、峰值及谷值等覆盖业务的状态后,提供给客户一份全面、详细的满足其计算、存储、网络的基础设施的虚拟化架构和实施计划,使客户透彻的了解在其环境下如何成功实施,并在实施中把对业务的影响降到最低。 三.实施; 通过对架构的规划,双方相关人员再对解决方案进行验证,以保证整个的部署达到预期的希望值,既能在当前运行畅通还会在未来有升级的空间,充分体现虚拟化的优势。 完成了虚拟化部署实施及交付使用,我们还会借助自己专业优势对客户的进行培训

[Docker]保持屋子整洁,开始使用docker

六月ゝ 毕业季﹏ 提交于 2020-02-29 03:40:34
关于Docker Docker是一个使用Go语言编写的虚拟化解决方案,非常轻量、易于使用。 ###为什么要使用Docker 至于为什么要使用Docker,相信你可以很轻松地在网上找到许多使用Docker的优点。一次配置、到处运行,更高效的虚拟化,更简单地管理等等。 但是,对于我个人来说,使用Docker,可以让我的工作环境变得整洁、干净。说到这里,就要说一下工作方式了。 1. 石器时代 在最开始时候,个人电脑就是工作电脑,工作娱乐都是在同一台电脑上进行的。一般情况下,会稍微对它们做下整理,比如放到不同文件夹,或者放到不同的磁盘。但是不管怎样,随着软件安装、删除、升级,文件的增删,慢慢的电脑中的文件碎片就越来越多。常见的比如windows电脑C盘越来越大,里面都是一些奇怪文件名的文件,都不知道哪些可以删,哪些不可以删,最后索性重装系统。 2. 青铜时代 在了解过一些虚拟机以及双系统的知识后,可以会选择安装双系统、装虚拟机,来保证工作环境的隔离。比如我以前就用Virtualbox装不同的系统做不同的事情。但是这类虚拟机启动缓慢,抽象看来它就是另外一台电脑,所以只是你的一台电脑变成两台或者多台电脑而已。 3. 工业时代 除了虚拟机启动缓慢、效率性能比较低之外,一台电脑还是同一套环境,如果你想切换环境,还是比较麻烦。比如你要做一个项目使用的是PHP5.3,但是你想试用PHP5

实施虚拟化存储的五大理由

匆匆过客 提交于 2020-02-28 14:37:24
一、支持服务器虚拟化和高可用 存储虚拟化提供的共享存储,让虚拟机之间做迁移和负载均衡时不需要在存储系统之间迁移,同时也简化了动态虚拟化环境下存储资源的优化。共享存储池支持虚拟机集群技术以实现虚拟机的高可用,也就是在检测到错误时自动切换并能快速重启虚拟机。同样的,共享存储池也支持物理服务器上关键应用程序的高可用,也就是手动切换存储系统并能支持应用程序的集群技术。 二、简化管理 从管理的角度来看,与管理服务器直连存储相比,一个大的共享存储意味着更少的管理工作。当需要扩展现有存储或者在存储系统之间迁移数据的时候,存储虚拟化能够提供无干扰的存储空间扩容。越大的磁盘阵列越发拥有更好的管理工具,从而能更简化给服务器分配存储这类日常工作,减少管理员的工作量。 三、存储资源整合和分级存储 尤其是在NAS设备上,存储虚拟化可以被用来整合存储和对存储资源进行重复利用。举个例子,越来越多的对性能要求很高的数据会被迁移到更新的列上,而老的磁盘阵列作为二级存储则被用来存放备份数据。很多存储设备和虚拟化设备也有存储分级功能,能够实现这样的数据分层存储。 四、简化数据保护和灾难恢复 存储虚拟化技术能够帮助数据在本地和异地直接的拷贝以实现灾难恢复,很多存储虚拟化解决方案自带了远程异步复制功能。 五、易于部署 数据块级别虚拟化通常的实现方式有三种。它可以是运行在操作系统管理程序上的软件

[原] KVM 虚拟化原理探究 —— 目录

风格不统一 提交于 2020-02-11 02:56:08
KVM 虚拟化原理探究 —— 目录 标签(空格分隔): KVM KVM 虚拟化原理探究(1)— overview KVM 虚拟化原理探究(2)— QEMU启动过程 KVM 虚拟化原理探究(3)— CPU 虚拟化 KVM 虚拟化原理探究(4)— 内存虚拟化 KVM 虚拟化原理探究(5)— 网络IO虚拟化 KVM 虚拟化原理探究(6)— 块设备IO虚拟化 来源: https://www.cnblogs.com/Bozh/p/5788431.html