05 2020 档案
摘要:KVM 网络的配置有一下几种 用户模式,即创建 vm 时默认的网络模式 Bridge 模式 NAT 模式 VT-d 技术 Bridge 模式 bridge 是二层转发设备,主要功能是多个 LAN 间的的数据帧转发,即包括 MAC 学习,生成树协议等。 Qemu vm 启动时的网桥配置,是使用 tap
阅读全文
摘要:01 准备环境 环境:ubuntu 16.04 环境(物理 or 虚拟) 确认 CPU 是否支持虚拟化: # egrep -o '(vmx|svm)' /proc/cpuinfo # vmx 如果不支持,开启 KVM 嵌套虚拟化之后再重启。 1.1 安装 KVM 环境 sudo apt-get in
阅读全文
摘要:1. 虚拟迁移 迁移: 系统的迁移是指把源主机上的操作系统和应用程序移动到目的主机,并且能够在目的主机上正常运行。在没有虚拟机的时代,物理机之间的迁移依靠的是系统备份和恢复技术。在源主机上实时备份操作系统和应用程序的状态,然后把存储介质连接到目标主机上,最后在目标主机上恢复系统。随着虚拟机技术的发展
阅读全文
摘要:1. 虚拟化分类 1.1 虚拟化 虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互相不影响,从而显著提高计算机的工作效率。 虚拟化使用软件的方法重新定义划分 IT 资源,可
阅读全文
摘要:1. 利用virt-manager创建虚拟机 1> 打开图像化界面,打开虚拟系统管理器 2> 新建虚拟机 3> 选择本地介质安装 此处需要先将镜像文件导入图形化服务器的 /var/lib/libvirt.images/目录下 [root@localhost images]# cd /var/lib/
阅读全文
摘要:1. kvm虚拟化存储介绍 KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的。Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种型; Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,V
阅读全文
摘要:1. Linux Bridge网桥管理 一个网桥上添加多个虚拟机,虚拟机之间是可以相互通信的的,同时虚拟机也都可以通外网。 kvm的网桥管理可以通过brctl命令 [root@localhost ~]# brctl ....... #桥 addbr <bridge> add bridge delbr
阅读全文
摘要:引言桥接模式NAT模式路由模式隔离模式默认配置 1. 引言Libvirt虚拟网络使用虚拟网络交换机的概念。虚拟网络交换机是在主机物理机器服务器上运行的软件结构,虚拟机(客户机)通过它连接到该物理主机服务器。客户机的网络流量通过这个交换机被引导: Linux主机物理机服务器将虚拟网络交换机表示为网络接
阅读全文
摘要:前一段时间,我们机房中一台Linux服务器运行缓慢,系统服务出现间歇性停止响应,让我过去处理一下这一问题,登录到服务器之后,发现此服务器的物理内存是16G,而最初装机的时候,系统管理人员却只分配了4G的虚拟内存。查看内存的使用状况,物理内存并没有完全耗尽,但虚拟内存已经耗尽,整个系统CPU负载和磁盘
阅读全文
摘要:对于linux内核来说,网络报文由网络设备来进行接收。设备驱动程序从网络设备中读取报文,通过内核提供的网络接口函数,将报文传递到内核中的网络协议栈。报文经过协议栈的处理,或转发、或丢弃、或被传送给某个进程。网络报文的发送与之相反,进程通过系统调用将数据送入网络协议栈,或者由网络协议栈自己发起报文的发
阅读全文
摘要:什么是桥接? 简单来说,桥接就是把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。 交换机就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。于是,与交换机相连的若干主机就能够通过交换机的报文转发而互相通
阅读全文
摘要:1. 前言 本文结合网络上关于Linux网桥的说明、 Linux平台的代码阅读记录,整理的一篇总结性文档。由于时间仓促,分析可能存在不足之外,望大家见谅和指正。 对于接触过Linux 网络的童鞋,对网桥功能应该不陌生。概括来说,网桥实现最重要的两点: 1.<span "=""> MAC学习:学习MA
阅读全文
摘要:a. 网桥的工作原理初识 l 缓存:网桥首先会对收到的数据帧进行缓存并处理; 学习:当帧经过网桥,网桥首先在网桥表中查找帧的源MAC地址,如果该地址不在网桥表中,则将有该MAC地址及其所对应的网桥端口信息加入(逆向学习法); l 过滤:判断入帧的目标节点是否位于发送这个帧的网段中(同一端口中) ,如
阅读全文
摘要:一、Linux 抽象网络设备简介 和磁盘设备类似,Linux 用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来完成。一个常见的情况是,系统里装有一个硬件网卡,Linux 会在系统里为其生成一个网络设备实例,
阅读全文
摘要:摘要:KVM虚拟机网络配置的两种方式:NAT方式和Bridge方式。Bridge方式的配置原理和步骤。Bridge方式适用于服务器主机的虚拟化。NAT方式适用于桌面主机的虚拟化。 NAT的网络结构图: Bridge的网络结构见图: 一、Bridge方式 问题 客户机安装完成后,需要为其设置网络接口,
阅读全文
摘要:宿主服务器安装完成KVM,首先要设定网络,以便和主机网络,客户机之间的网络通信在libvirt中运行KVM网络有两种方法:NAT和Bridge,默认为NAT KVM 客户机网络连接有两种方式: (1)用户模式(NAT):这种方式是默认网络,数据包由NAT方式通过主机的接口进行传送,可以访问外网,但是
阅读全文
摘要:Linux网关模式下将有线LAN和无线LAN共享网段实现局域网内互联: 思路其实很简单:就是将虚拟出一个bridge口,将对应的有线LAN和无线LAN都绑定在这个虚拟bridge口上,并给这个bridge口分配一个地址,其他子网微机配置网关为bridge口的地址便可以了。当然,因为是设备是网关模式,
阅读全文
摘要:linux bridge(网桥)是linux上用来做tcp/ip做二层协议交换的设备,就是为了狙击绝虚拟机网卡连接问题。创建网桥后,就像网络交换机具有物理网络接口一样你,可以进一步在网桥上创建多个虚拟的物理接口,然后再将每个接口与虚拟机的网卡连接。 一、安装与使用bridge-utils cento
阅读全文
摘要:隔离模型 虚拟机网卡被分成前半段和后半段,彼此之间存在对应关系。前半段在虚拟机上通常表现为eth0、eth1等接口,后半段是物理主机上是一个虚拟接口,通常表现为vnet0、vnet1,与网桥关联(vnet0、vnet1通常称为tap设备)。任何时候guest1发往eth0的报文都发往vnet0,gu
阅读全文
摘要:一个完整的数据包从虚拟机到物理机的路径是: 虚拟机--QEMU虚拟网卡--虚拟化层--内核网桥--物理网卡 KVM的网络优化方案,总的来说,就是让虚拟机访问物理网卡的层数更少,直至对物理网卡的单独占领,和物理机一样的使用物理网卡,达到和物理机一样的网络性能。 方案一 全虚拟化网卡和virtio Vi
阅读全文
摘要:KDE一个迷人的地方就在于它的扩展与设置项十分“庞杂”,可以满足不同人的口味。今晚推荐的是关于KDE的一些有趣的使用扩展。 第一件事:默认小键盘输入数字 在 /etc/sddm.conf 文件中加入一句 Numlock=on: [General] Numlock=on HaltCommand= Re
阅读全文
摘要:QEMU是什么? QEMU is a generic and open source machine emulator and virtualizer QEMU官网QEMU是一套由 Fabrice Bellard 开发者编写的模拟处理器的自由软件,是一个完整的可以单独运行的软件。可独立模拟出整台计算
阅读全文
摘要:QEMU简介 QEMU是个独立的虚拟化解决方案,从这个角度它并不依赖KVM。而KVM是另一套虚拟化解决方案,不过因为这个方案实际上只实现了内核中对处理器虚拟化特性的支持,换言之,它缺乏设备虚拟化以及相应的用户空间管理虚拟机的工具,所以它借用了QEMU的代码并加以精简,连同KVM一起构成了 另一个独立
阅读全文
摘要:QEMUQEMU提供了一个开源的服务器全虚拟化解决方案,它可以使你在特定平台的物理机上模拟出其它平台的处理器,比如在X86 CPU上虚拟出Power的CPU,此时的Guest OS感觉不到虚拟机的存在,就像运行在物理机上,QEMU可以单独使用模拟CPU和各种外设,也可以作为一个用户空间工具和运行在内
阅读全文
摘要:KVM是指在CPU硬件支持基础之上的虚拟化技术。没有CPU硬件虚拟化的支持,KVM是无法工作的。 准确来说,KVM是Linux的一个模块。可以用modprobe去加载KVM模块。加载了模块后(kvm和kvm-intel模块),才能进一步通过其他工具创建虚拟机。但仅有KVM模块是远远不够的,因为用户无
阅读全文
摘要:What's QEMU QEMU是一个主机上的VMM(virtual machine monitor),通过动态二进制转换来模拟CPU,并提供一系列的硬件模型,使guest os认为自己和硬件直接打交道,其实是同QEMU模拟出来的硬件打交道,QEMU再将这些指令翻译给真正硬件进行操作。通过这种模式,
阅读全文
摘要:IPv6仅仅只是“长”吗?IPv6的地址长什么样?平时我们是怎么使用IPv6的呢?编写网络程序的时候要怎么处理IPv6?且待本篇一一道来。 为什么需要IPv6? 全球的IP地址由一个名字叫IANA(Internet Assigned Numbers Authority)的机构管理,在它下面有5个分管
阅读全文
摘要:继前两篇介绍了tun/tap和veth之后,本篇将介绍Linux下常用的一种虚拟网络设备,那就是bridge(桥)。 本篇将通过实际的例子来一步一步解释bridge是如何工作的。 什么是bridge? 首先,bridge是一个虚拟网络设备,所以具有网络设备的特征,可以配置IP、MAC地址等;其次,b
阅读全文
摘要:在现在的云时代,到处都是虚拟机和容器,它们背后的网络管理都离不开虚拟网络设备,所以了解虚拟网络设备有利于我们更好的理解云时代的网络结构。从本篇开始,将介绍Linux下的虚拟网络设备。 虚拟设备和物理设备的区别 在Linux网络数据包的接收过程和数据包的发送过程这两篇文章中,介绍了数据包的收发流程,知
阅读全文
摘要:继上一篇介绍了数据包的接收过程后,本文将介绍在Linux系统中,数据包是如何一步一步从应用程序到网卡并最终发送出去的。 如果英文没有问题,强烈建议阅读后面参考里的文章,里面介绍的更详细。 本文只讨论以太网的物理网卡,并且以一个UDP包的发送过程作为示例,由于本人对协议栈的代码不熟,有些地方可能理解有
阅读全文
摘要:本文将介绍在Linux系统中,数据包是如何一步一步从网卡传到进程手中的。 如果英文没有问题,强烈建议阅读后面参考里的两篇文章,里面介绍的更详细。 本文只讨论以太网的物理网卡,不涉及虚拟设备,并且以一个UDP包的接收过程作为示例. 本示例里列出的函数调用关系来自于kernel 3.13.0,如果你的内
阅读全文
摘要:Linux 抽象网络设备简介 和磁盘设备类似,Linux 用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来完成。一个常见的情况是,系统里装有一个硬件网卡,Linux 会在系统里为其生成一个网络设备实例,如
阅读全文
摘要:一、Linux内核网桥的实现分析 Linux 内核分别在2.2 和 2.4内核中实现了网桥。但是2.2 内核和 2.4内核的实现有很大的区别,2.4中的实现几乎是全部重写了所有的实现代码。本文以2.4.0内核版本为例进行分析。 在分析具体的实现之前,先描述几个概念,有助于对网桥的功能及实现有更深的理
阅读全文
摘要:在我刚接触网络知识的时候,有时候总是会被一个问题所困扰,那就是桥接、交换和路由之间的区别,相信大部分初学计算机网络知识的网友朋友都会有这样的情况。前几天就遇到了一位网友朋友提出这样的疑问,今天我就带大家来了解什么是桥接、交换和路由,并且对于三者之间的区别及应用场景做个详细的介绍。一、什么是桥接桥接工
阅读全文
摘要:1、yum是什么 yum(全称为Yellowdog Updater Modified)是一个在CentOS、RedHat和Fedora操作系统中使用的Shell前端软件包管理器。 yum主要管理基于rpm的软件包,它可以自动升级、安装、删除rpm软件包,同时它还能够自动查找并解决rpm包之间的依赖关
阅读全文
摘要:Chrony是NTP(Network Time Protocol,网络时间协议,服务器时间同步的一种协议)的另一种实现,与ntpd不同,它可以更快且更准确地同步系统时钟,最大程度的减少时间和频率误差。 在CentOS6中,默认是使用ntpd来同步时间的,但ntpd同步时间并不理想,有可能需要数小时来
阅读全文
摘要:概述 ntpd 是一个操作系统Daemon进程,用于校正本地系统与Internet标准时钟源之间的时间。ntpd 完整的实现了 NTP 协议版本v4,但是同时兼容版本v3(RFC-1305)、版本v1与v2(分别由RFC-1059, RFC-1119定义)。ntpd 绝大多数情况下使用64位浮点数计
阅读全文
摘要:一、NTP简介 1.NTP简介 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。它的用途是把计算机的时钟同步到世界协调时UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。(1s=1000ms)
阅读全文
摘要:你可能设置过 cron 任务 来在特定时间备份重要文件或执行系统相关任务。也许你配置了一个日志服务器在特定时间间隔轮转日志。但如果你的时钟不同步,这些任务将无法按时执行。这就是要在 Linux 系统上设置正确的时区并保持时钟与互联网同步的原因。本指南介绍如何在 Ubuntu Linux 上设置时间同
阅读全文
摘要:在Linux系统中存在两个时钟时间,分别是 硬件时钟RTC(Real Time Clock)系统时钟(System Clock)硬件时钟是指的在主板上的时钟设备,也就是通常可以在BIOS画面设置的时钟,即使关机状态也可以计算时间。 而系统时钟则是指Kernel中的时钟,其值是由1970年1月1日00
阅读全文
摘要:最近因为测试的需要,需要改动虚拟机时间。用date -s "xxxx"修改后马上又会恢复,查看并没有时间同步任务。后来发现虚拟机的时间一直与主机同步。 解决:只需要关闭虚拟机与主机时间同步: 方案一 (测试成功VirtualBox6.1 环境)关闭时间同步,要先关闭虚拟机:VBoxManage se
阅读全文
摘要:timedatectl命令它作为systemd系统和服务管理器的一部分,代替旧的传统的用在基于Linux分布式系统的sysvinit守护进程的date命令。 timedatectl命令可以查询和更改系统时钟和设置,你可以使用此命令来设置或更改当前的日期,时间和时区,或实现与远程NTP服务器的自动系统
阅读全文
摘要:简介: 古代计时方式●在远古时期,人类用来确定时间的方式是一些自然界“相对”亘古不变的周期。如地球的公转是为一年,月球的公转是为一月,地球的自转是为一天等,最早的计时可以追溯到公元前大约2000年,古埃及人利用光线留下的影子用作计时的工具。影子拉得越长,计时越精确。古埃及人修建高耸入云的大型方尖碑,
阅读全文