前面我们讲了python爬虫用到的工具及模块:phantomjs、beautifulsoup4、selenium、lxml等,如果我们想随时随地用到这个已经搭建好的python环境,这就有两个方案:一是利用...vagrant打包python环境的box;二是创建一个python环境的docker镜像。...模块mysqldb && apt-get install -y python-dev libmysqlclient-dev \ && pip install MySQL-python 注意...: (1)安装python mysqldb连接数据模块时,一定要安装python-dev libmysqlclient-dev,否则会出现mysql_config等错误;可以避免先安装 mysql的麻烦...总结: 虽然我们可以直接基于python:2.7镜像建立一个适合我们用的python环境,而且相对于ubuntu镜像建立更加轻量,但是毕竟python:2.7基础只有python,无法安装phantomjs
最近发现每次启动pycharm的时候,发现加载python环境的时候特别慢,要等很久才能加载完成,原因是因为我安装了很多第三方包,而我需要知识其中的某些包。...二、virtualenv和virtualenvwrapper virtuanlenv是用来创建python虚拟环境的,假如的电脑里面存着多个python的版本,2.X和3.X版本,需要切换的时候可以通过...,使用mkvirtualenv mkvirtualenv -p python版本的路径 虚拟环境的名称 如果不指定python版本的路径,那么就默认使用当前的版本。...打开pycharm后,在菜单栏file-setting找到project Interpreter下拉框下选择C:\pyenv\pydanjo目录下的python就好。...找不到新建的虚拟环境,通过旁边的设置按钮add一个,在Existing enviroment选择虚拟环境的目录就可以了。
根据在I/O路径中实现虚拟化的位置不同,虚拟化存储可以分为主机的虚拟存储、网络的虚拟存储、存储设备的虚拟存储。根据控制路径和数据路径的不同,虚拟化存储分为对称虚拟化与不对称虚拟化。...通过存储虚拟化,应用程序就不会再与某个物理性的存储程序相联系了。 存储虚拟化可能帮助帮助存储容量扩增自动化。不需要手动的配置,存储虚拟化能够运用策略,分配更多的存储容量给所需的应用。...三层模型 根据云存储系统的构成和特点,可将虚拟化存储的模型分为三层:物理设备虚拟化层、存储节点虚拟化层、存储区域网络虚拟化层。...这个虚拟化层由虚拟存储管理模块在虚拟存储管理服务器上实现,以带外虚拟化方式管理虚拟存储系统的资源分配,为虚拟磁盘管理提供地址映射、查询等服务。...利用虚拟化技术,可以在统一的虚拟化基础架构中,实现跨数据中心的虚拟化管理。 政府信息系统:政府数据存储系统的建设正受到前所未有的重视。
yum install -y docker* docker pull nignx docker pull centos docker version ...
虚拟化 發佈於 2021-08-16 今天给公司搭建虚拟化平台,对其中用到的一些知识进行整理。 虚拟化平台 ---- 我们常说的虚拟化可以分为两种类型: TYPE I 和 TYPE II。...我们常见的 VMWare Workstation、VirtualBox、Parallels Desktop、Hyper-V 等均属于二型虚拟化软件,他们需要运行于宿主操作系统。...而企业级虚拟化平台例如 VMWare vSphere、KVM、Hyper-V server 等则属于一型虚拟化,他们直接运行于裸金属服务器。...公司虚拟化平台 ---- 公司新买的 DELL 服务器今天到了,要搭建虚拟化平台,由于自己对 ESXi 比较熟悉,因此决定采用该软件进行平台搭建。...创建虚拟机 创建虚拟机前,我们要先在存储中上载对应操作系统的镜像文件,创建虚拟机过程非常简单,在此不再赘述。
目前为止还没有连载完. 2021年10月10日 1 虚拟化技术简介 1.1 虚拟化概念 顾名思义,虚拟化是指计算元件在虚拟的基础而不是在真实的基础上运行。...,只需在虚拟层上运行操作系统和应用软件,和物理平台无关 在家用计算机的上安装常规软件属于非虚拟化,而在办公计算机上安装虚拟化软件就属于虚拟化应用了,典型的非虚拟化和虚拟化的物理架构如图1-1 所示...) 可以移植 通过相应工具可以实现原物理机到虚拟机的转换 部署灵活 虚拟机以文件的形式,可以在不同的服务器之间灵活部署服务器虚拟化主要有以下两种架构: 完全虚拟化 在完全虚拟化架构中,操作系统处于隔离的环境中... 硬件辅助虚拟化 在硬件辅助虚拟化中,使用Hypervisor(虚拟化管理系统)作为服务器宿主系统,虚拟机通过标准驱动访问硬件,这需要IT 技术(Intel VT/AMD-V)的支持,如图1-5 所示...图2-1 对于完全虚拟化来说,也就是在常规的虚拟化应用来说,一般通过本机的显卡和显示器以及外设来直接操作虚拟机;而对于硬件辅助虚拟化而言,由于在服务器上同时开启了多个虚拟机,每个虚拟机可以应用于不同的场合
1、Intel® VT 虚拟化技术概述 狭义的 Intel® VT 主要提供分别针对处理器、芯片组、网络的虚拟化技术。...抽象化的虚拟机硬件:即虚拟层呈现的虚拟化的硬件设备。虚拟机能够发现哪种硬件设施,完全由 VMM 决定。...2.4 X86 平台的虚拟化 ---- 正是因为 x86 平台指令集有上述缺陷,所以为了计算虚拟化技术在 x86 平台应用,各大虚拟化厂商推出了五花八门的虚拟化技术,其目的都是围绕“如何捕获模拟这 19...3、内存虚拟化 大型操作系统(比如 Linux)的都是通过虚拟内存进行内存管理,内存虚拟化需要对虚拟内存再进行虚拟化。 内存虚拟化技术主要包含两个方面:内存地址转换和内存虚拟化管理。...3.2 内存虚拟化管理技术 ---- 在虚拟化环境中,内存是保证虚拟机工作性能的关键因素。
) 3.虚拟网络类型 3.1桥接 Guest和Host连接到同一个交换机上(同一个网络内),通过桥接物理网卡,相当于直接连接到Host所在的网络 3.2 隔离模式 Guest可以访问统一虚拟交换机上的其他...充当路由器,开启转发(需要额外设置外网与Guest之间互访的路由) 二、安装KVM 1.安装KVM虚拟化相关包组 [root@svr5 桌面]# yum groupinstall virtualization...virtualization Client” “virtualization Platform” 注意:如果操作系统语言是中文的话,需要使用中文.例如↓: [root@svr5 桌面]# yum groupinstall 虚拟化...虚拟化平台 虚拟化工具 虚拟化客户端 2.启动服务/设置服务为开机启动 [root@svr5 桌面]# /etc/init.d/libvirtd restart [root@svr5 桌面]# chkconfig...2.新建并安装一台虚拟机 ? ? ? ? ? ? ? 至此,一台新的KVM虚拟机就创建完成了。
座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 前言 本章将会讲解云计算,内存虚拟化的知识 一.内存虚拟化 内存虚拟化抽象了物理内存,虚拟机每个进程都被赋予一块连续的,超大的虚拟内存空间...1.内存虚拟化类型 全虚拟化 半虚拟化 硬件辅助内存虚拟化 ---- 全虚拟化 为每个VM维护一个影子页表记录虚拟化内有与物理内存的映射关系。...内存复用技术有: 内存气泡:虚拟化层将较空闲VM内存,分配给内存使用较高的虚拟机。内存的回收和分配由虚拟化层实现,虚拟机上的应用无感知,提高物理内存利用率。...开启了内存虚拟化(这里以物理内存150%)物理内存由6G变为逻辑上的9G(虚拟上的9G)则每台虚拟机内存为3G. ---- 二.I/O虚拟化 1.I/O虚拟化类型 ---- 全虚拟化 通过软件模拟的形式模拟...硬件辅助虚拟化 通过硬件的辅助可以让虚拟机直接访问物理设备,而不需要通过VMM。
华为的云计算采用的是Xen的虚拟化,有时候我们要大致判断下主机是否为虚拟机。 Windows主机,直接资源管理器查看硬件设备。...而Linux主机可以用Python脚本来监测 判断 OpenVZ/Xen PV/UML 判断 OpenVZ/Xen PV/UML 是最容易的,直接检查 /proc 下的相关目录和文件就可以知道,比如 OpenVZ...VPS 上会有 /proc/vz 这个文件;Xen PV 虚拟机上会有 /proc/xen/ 这个目录,并且目录下有一些东西;UML 上打印 /proc/cpuinfo 会找到 UML 标志。...写了一个简单的 Python 脚本来检测: #!.../usr/bin/python # check if a linux system running on a virtual machine (openvz/xen pv/uml) import sys
前面 虚拟化技术总览 中从虚拟平台 VMM 的角度,将虚拟化分为 Hypervisor 模型和宿主模型,如果根据虚拟的对象(资源类型)来划分,虚拟化又可以分为计算虚拟化、存储虚拟化和网络虚拟化,再细一些...,又有中断虚拟化,内存虚拟化,字符/块设备虚拟化,网络功能虚拟化等。...,这两个词基本上是虚拟化的终极定义了,带着这两个词去看每一种虚拟化类型,会发现很容易理解和记忆。...CPU 软件虚拟化 基于软件的 CPU 虚拟化,故名思议,就是通过软件的形式来模拟每一条指令。通过前面的文章我们知道常用的软件虚拟化技术有两种:优先级压缩和二进制代码翻译。...CPU 硬件虚拟化 上面的这种截获再模拟的纯软件的虚拟化方式,势必是性能非常低的。
虚拟化技术 如果要用简单的语句来阐述虚拟化技术的话,那么可以这么解释: 虚拟化技术是一种将计算机物理资源进行抽象、转换为虚拟的计算机资源提供给程序使用的技术。...虚拟化的分类 说完虚拟化的起源和应用,我们得说说虚拟化的分类了。所谓虚拟化的分类,其实主要指的是我们在实现虚拟化的方式上的区别。...对于虚拟化技术的分类,有很多种不同的方式,有的之间也有互相重合的部分,但总体来说可以区分为两大类:硬件虚拟化、软件虚拟化。 所谓硬件虚拟化,指的是物理硬件本身就提供虚拟化的支持。...这些都是硬件虚拟化的体现。 而软件虚拟化则指的是通过软件的方式来实现虚拟化中关键的指令转换部分。...应用程序虚拟化:在操作系统和应用程序间实现虚拟化,只让应用程序运行在虚拟化环境中。 内存虚拟化:将不相邻的内存区,甚至硬盘空间虚拟成统一连续的内存地址,即我们常说的虚拟内存。
前言 网络虚拟化相对计算、存储虚拟化来说是比较抽象的,以我们在学校书本上学的那点网络知识来理解网络虚拟化可能是不够的。...带着这样一种思路去理解网络虚拟化可能会感觉云里雾里——这样一个庞大的网络如何实现虚拟化?...如果把传统的网络看作「宏观网络」的话,那网络虚拟化关注的就是「微观网络」。网络虚拟化的目的,是要节省物理主机的网卡设备资源。从资源这个角度去理解,可能会比较好理解一点。...虚拟化网络架构 为了解决这个问题,可以借助虚拟化技术对一台物理资源进行抽象,将一张物理网卡虚拟成多张虚拟网卡(vNIC),通过虚拟机来隔离不同的应用。...总结下来,网络虚拟化主要解决的是虚拟机构成的网络通信问题,完成的是各种网络设备的虚拟化,如网卡、交换设备、路由设备等。
内存虚拟化 除了 CPU 虚拟化,另一个关键是内存虚拟化,通过内存虚拟化共享物理系统内存,动态分配给虚拟机。...虚拟机的内存虚拟化很象现在的操作系统支持的虚拟内存方式,应用程序看到邻近的内存地址空间,这个地址空间无需和下面的物理机器内存直接对应,操作系统保持着虚拟页到物理页的映射。 ?...可见,KVM 为了在一台机器上运行多个虚拟机,需要增加一个新的内存虚拟化层,也就是说,必须虚拟 MMU 来支持客户操作系统,来实现 VA -> PA -> MA 的翻译。...VMM 内存虚拟化的实现方式: 软件方式:通过软件实现内存地址的翻译,比如 Shadow page table (影子页表)技术 硬件实现:基于 CPU 的辅助虚拟化功能,比如 AMD 的 NPT 和...除了降低各部虚拟机器在切换时所造成的效能损耗外,硬体指令集也比虚拟化软体处理来得可靠与稳定。
Proxmox VE是一个完整的企业虚拟化开源平台。...创建虚拟机 -> 初始化 -> 转换成模板 proxmoxer模块 pip install proxmoxer requests paramiko import pprint from proxmoxer
这种机制正是虚拟化软件做的事,也就是 MMU 内存管理单元。 ? 本文要说的不是这种虚拟内存,而是基于虚拟机的内存虚拟化,它们本质上是一样的,通过对虚拟内存的理解,再去理解内存虚拟化就比较容易了。...结合前面的文章,我们知道,虚拟化分为软件虚拟化和硬件虚拟化,而且遵循 intercept 和 virtualize 的规律。...内存虚拟化也分为基于软件的内存虚拟化和硬件辅助的内存虚拟化,其中,常用的基于软件的内存虚拟化技术为「影子页表」技术,硬件辅助内存虚拟化技术为 Intel 的 EPT(Extend Page Table,...常规软件内存虚拟化 虚拟机本质上是 Host 机上的一个进程,按理说应该可以使用 Host 机的虚拟地址空间,但由于在虚拟化模式下,虚拟机处于非 Root 模式,无法直接访问 Root 模式下的 Host...总结 内存虚拟化经历从虚拟内存,到传统软件辅助虚拟化,影子页表,再到硬件辅助虚拟化,EPT 技术的进化,效率越来越高。
前言: 这里作者再次自不量力了,以一点微末的道行分析一下KVM的CPU虚拟化部分的代码。...kvm_create_vm函数主要用来创建并初始化kvm数据结构,包括lock,memslot,mmu notifier等,并把数据结构加入到vm_list(双链表,用来保存本机上KVM创建的的所有vm...函数中初始化vcpu,并分配vmx数据结构,同时申请vmcs(vmcs很复杂,需要参考文档:https://software.intel.com/en-us/articles/intel-sdm,3B部分介绍.../x86.c)->__vcpu_run->vcpu_enter_guest->vmx_vcpu_run(linux-4.0.4/arch/x86/kvm/vmx.c) cpu进入到了vm模式,就在跑虚拟机中的代码...在虚拟机中,这就是一个cpu。
KVM 简介 基于内核的虚拟机 Kernel-based Virtual Machine(KVM)是一种内建于 Linux® 中的开源虚拟化技术。...安装步骤 准备环境 宿主机为 Ubuntu 16.04 LTS 操作系统 预安装 python3、python3-pip 软件 虚拟机操作系统的 cloud-init 镜像,比如 ubuntu-cloud-images.img...# genisoimage 为镜像生成工具,用于生成 cloud-init 初始化内容并挂载 # 安装 cloud-init 后,由于开机过程或自动启动 cloud-init 服务,会增长开机时间...小提示 暂未探索使用 Cloud-init 方式来初始化 Windows,后续补充。...(采用 CC BY-NC-SA 4.0 许可协议进行授权) 本文标题:《 KVM 虚拟化 》 本文链接:https://lisz.me/tech/kvm/kvm.html
Machine Monitor) 来实现虚拟化; 虚拟化的目的可以用一句话来概述:虚拟化技术的目的是希望能够截获上层操作系统应用对硬件资源的访问,然后重定向到 VMM 的资源池中,再由 VMM 来对片上资源进行管理...虚拟化分类 根据虚拟化实现的方法,我们可以大概分为 操作系统级别虚拟化(OS-level virtulization),全虚拟化(Full virtualization),类/半虚拟化(Para virtulization...2.1 全虚拟化(Full virtualization) 全虚拟化会模拟足够的硬件设备,而且不需要对操作系统内核进行修改; 客户机(Guest OS)不知道自己在一个虚拟化的环境,所以硬件的虚拟化都在...2.2 类/半虚拟化(Para virtulization) 完全虚拟化中会遇到一些,需要通过二进制代码翻译的方式来处理的不友好的特权指令集合,而类虚拟化采用另一种处理方式来解决这种问题; 类虚拟化(或称之为半虚拟化...根据片上硬件资源,我们将逐步介绍 CPU 虚拟化 / 内存虚拟化 / IO 虚拟化 / GPU 虚拟化 / .. 3.
01 macvlan 简介 前面的文章讲过了几种 Linux 虚拟网络设备:tap/tun、veth-pair、bridge,它们本质上是 Linux 系统 提供的网络虚拟化解决方案,今天要讲的 macvlan...也是其中的一种,准确说这是一种网卡虚拟化的解决方案。...因为 macvlan 这种技术能将 一块物理网卡虚拟成多块虚拟网卡 ,相当于物理网卡施展了 多重影分身之术 ,由一个变多个。 ?...macvlan 会根据收到包的目的 MAC 地址判断这个包需要交给哪个虚拟网卡,虚拟网卡再把包交给上层的协议栈处理。 ?...05 总结 macvlan 是一种网卡虚拟化技术,能够将一张网卡虚拟出多张网卡。 macvlan 的四种通信模式,常用模式是 bridge。
领取专属 10元无门槛券
手把手带您无忧上云