OpenStack所支持的虚拟化技术和KVM、Xen、Hyer-V、QEMU、Libvirt说明

在这里插入图片描述

OpenStack所支持的虚拟化技术主要包括以下几种:

  1. KVM (Kernel-based Virtual Machine):

    • 基于Linux内核的虚拟化技术。
    • 在Linux内核中添加一个虚拟化模块来实现虚拟机的运行。
    • 是OpenStack用户使用较多的虚拟化技术,支持OpenStack的所有特性。
    • 通过QEMU模拟器模拟硬件设备,使虚拟机能在不同平台上运行。
    • 提供高效性、可扩展性、灵活性、高可用性和可管理性。
      在这里插入图片描述
  2. Xen:

    • 部署快速、安全、开源的虚拟化软件技术。
    • 支持多个同意的操作系统或不同操作系统的虚拟机运行在同一主机上。
    • OpenStack通过XenAPI支持XenServer和XCP两种虚拟化技术。
    • 在RHEL等平台上,OpenStack使用的是基于Libvirt的Xen。
      在这里插入图片描述
  3. Hyper-V:

    • 微软推出的企业级虚拟化解决方案。
    • 设计借鉴了Xen,管理程序采用微内核的架构,兼顾了安全性。
    • 注意:尽管Hyper-V是OpenStack支持的虚拟化技术之一,但在OpenStack的文档和社区中,对Hyper-V的支持可能不如KVM和Xen广泛。
      在这里插入图片描述
  4. 容器技术(如Docker和LXC):

    • 容器是在单一Linux主机上提供多个隔离的Linux环境的操作系统级虚拟化技术。
    • 不需要运行专用的客户操作系统。
    • Docker是一个开源的应用容器引擎,LXC提供了在单一可控主机节点上支持多个相互隔离的服务器容器同时执行的机制。
    • 目前OpenStack社区对容器的驱动支持还不如虚拟化管理程序。
  5. 其他虚拟化技术:

    • OpenStack还支持其他虚拟化技术,如VMware等,但具体的支持程度和功能可能因版本和配置而异。
    • 在OpenStack中,这些虚拟化技术通常通过Nova(计算服务)进行管理和调度。Nova负责资源分配、计算任务调度和虚拟机生命周期的管理,通过与其他组件如Keystone(身份验证)、Glance(镜像)和Neutron(网络)的交互,实现虚拟机的创建和管理。同时,OpenStack还提供了其他服务,如Cinder(块存储服务)和Swift(对象存储服务),以支持更广泛的云计算需求。

KVM虚拟化解决方案

KVM(Kernel-based Virtual Machine)是一个开源的系统虚拟化模块,它允许Linux作为主机操作系统运行多个隔离的虚拟机(VMs)。KVM是Linux内核的一部分,结合QEMU(一个通用的开源机器模拟器和虚拟化器)提供硬件模拟,使得KVM能够创建和运行虚拟机。

KVM模块

  • KVM是Linux内核的一个模块,它提供了CPU和内存的虚拟化功能。
  • Linux内核本身也提供了设备模型、I/O虚拟化等功能。

KVM模块是一个可加载的内核模块kvm.ko。由于KVM对x86硬件架构的依赖,因此KVM还需要一个处理器规范模块。如果使用Intel架构,则加载kvm-intel.ko模块;使用AMD架构,则加载kvm-amd.ko模块。

KVM模块负责对虚拟机的虚拟CPU和内存进行管理及调度,主要任务是初始化CPU硬件,打开虚拟化模式,然后将虚拟机运行在虚拟模式下,并对虚拟机的运行提供一定的支持。

至于虚拟机的外部设备交互,如果是真实的物理硬件设备,则利用Linux系统内核来管理;如果是虚拟的外部设备,则借助于QEMU(Quick Emulator,快速仿真)来处理。

由此可见,KVM本身只关注虚拟机的调度和内存管理,是一个轻量级的Hypervisor,很多Linux发行版集成KVM作为虚拟化解决方案,CentOS也不例外。

QEMU

  • QEMU是一个模拟器,它可以模拟不同的CPU和硬件设备。
  • 在KVM虚拟化中,QEMU作为前端,提供硬件模拟和用户界面,通过KVM内核模块进行实际的虚拟化操作。

KVM模块本身无法作为一个Hypervisor模拟出一个完整的虚拟机,而且用户也不能直接对Linux内核进行操作,因此需要借助其他软件来进行,QEMU就是KVM所需的这样一个软件。

QEMU并非KVM的一部分,而是一个开源的虚拟机软件。与KVM不同,作为一个宿主型的Hypervisor,没有 KVM,QEMU 也可以通过模拟来创建和管理虚拟机,只因为是纯软件实现,所以性能较低。

QEMU的优点是,在支持QEMU编译运行的平台上就可以实现虚拟机的功能,甚至虚拟机可以与主机不是同一个架构。KVM在QEMU的基础上进行了修改。虚拟机运行期间,QEMU会通过KVM模块提供的系统调用进入内核,由KVM模块负责将虚拟机置于处理器的特殊模式运行。遇到虚拟机进行输入/输出(I/O)操作(外设交互),KVM 模块转交给 QEMU 解析和模拟这些设备。

QEMU 使用 KVM 模块的虚拟化功能,为自己的虚拟机提供硬件虚拟化的加速,从而极大地提高了虚拟机的性能。除此之外,虚拟机的配置和创建,虚拟机运行依赖的虚拟设备,虚拟机运行时的用户操作环境和交互,以及一些针对虚拟机的特殊技术(如动态迁移),都是由 QEMU 自己实现的。

KVM虚拟机的创建和运行是一个用户空间的QEMU程序和内核空间的KVM模块相互配合的过程。KVM模块作为整个虚拟化环境的核心工作在系统空间,负责CPU和内存的调度。QEMU作为模拟器工作在用户空间,负责虚拟机I/O模拟。

Libvirt

  • libvirt是一个用于管理虚拟化功能的API、守护进程和管理工具集合。
  • 它提供了统一的接口来管理KVM、Xen、QEMU等虚拟化技术。
  • 通过libvirt,可以使用virsh命令行工具或virt-manager图形化工具来管理虚拟机。

Libvirt是一个软件集合,是一套为方便管理平台虚拟化技术而设计的开源代码的应用程序接口、守护进程和管理工具。它不仅提供了对虚拟机的管理,而且提供了对虚拟网络和存储的管理。

Libvirt最初是为Xen虚拟化平台设计的一套API,目前还支持其他多种虚拟化平台,如KVM、ESX和QEMU等。在KVM解决方案中,Qemu用来进行平台模拟,面向上层管理和操作;而Libvirt用来管理KVM,面向下层管理和操作。

Libvirt是目前使用广泛的虚拟机管理应用程序接口,一些常用的虚拟机管理工具(如virsh)和云计算框架平台(如OpenStack)都是在底层使用Libvirt的应用程序接口。

Libvirt包括两部分,一部分是服务(守护进程名为libvirtd),另一部分是API。作为一个运行在主机上的服务端守护进程,libvirtd为虚拟化平台及其虚拟机提供本地和远程的管理功能,基于Libvirt开发出来的管理工具可通过libvirtd服务来管理整个虚拟化环境。也就是说,libvirtd在管理工具和虚拟化平台之间起到一个桥梁的作用。

Libvirt API是一系列标准的库文件,给多种虚拟化平台提供一个统一的编程接口,相当于管理工具需要基于Libvirt的标准接口来进行开发,开发完成后的工具可支持多种虚拟化平台。

作为免费的开源软件项目,OpenStack由一个名为OpenStack Community的社区开发和维护,来自世界各地的云计算开发人员和技术人员共同开发、维护OpenStack项目。与其他开源的云计算软件相比,OpenStack具有以下优势。
(1)模块松耦合。OpenStack模块分明,容易添加独立功能的组件。往往无须通读OpenStack整个源代码,只需了解其接口规范及API使用,就能添加一个新的模块。

(2)组件配置灵活。OpenStack的组件安装非常灵活,可以全部集中装在一台主机上,也可以分散安装到多台主机中,甚至可以把所有的节点都部署在虚拟机中。
(3)二次开发容易。OpenStack发布的OpenStack API是RESTful API,所有组件采用这种统一的规范,加上模块松耦合设计,二次开发较为简单。

KVM镜像文件

在KVM中使用的Image主要有以下3种文件格式:

**raw:**原始的格式,它直接将文件系统的存储单元分配给虚拟机使用,采取直读直写的策略。该格式实现简单,不支持诸如压缩、快照、加密和CoW等特性。

qcow2: QEMU引入的镜像文件格式,也是目前KVM默认的格式。qcow2文件存储数据的基本单元是簇(cluster),每一簇由若干个数据扇区组成,每个数据扇区的大小是512字节。在qcow2中,要定位镜像文件的簇,需要经过两次地址查询操作,qcow2根据实际需要来决定占用空间的大小,而且支持更多的主机文件系统格式。

qed: qcow2的一种改进,qed的存储、定位、查询方式,以及数据块大小与qcow2一样,它的目的是为了克服qcow2格式的一些缺点,提高性能,不过目前还不够成熟。

提示:

如果需要使用虚拟机快照,需要选择qcow2格式。对于大规模数据的存储,可以选择raw格式。

qcow2格式只能增加容量,不能减少容量,而raw格式可以实现增加或者减少容量。

OpenStack Nova

如果是在OpenStack环境中使用KVM,Nova服务会利用libvirt来管理KVM虚拟机。
Nova负责虚拟机的生命周期管理,包括创建、启动、停止、迁移和删除等。

实施步骤参考

实施KVM虚拟化解决方案时,需要考虑以下几个步骤:

  1. 安装和配置Linux主机操作系统。
  2. 安装和配置KVM和QEMU。
  3. (可选)安装和配置libvirt。
  4. (可选)安装和配置OpenStack Nova(如果在OpenStack环境中使用)。
  5. 配置虚拟化存储和网络。
  6. 创建和管理虚拟机。
  7. 配置和维护虚拟化安全性。

请注意,这只是一个基本的概述,并且具体的实施步骤可能因您的环境和需求而有所不同。在实施KVM虚拟化之前,建议仔细规划并测试您的解决方案。

QEMU

QEMU(Quick Emulator)是一个开源的虚拟化和仿真软件,能够模拟多种硬件平台,并在这些平台上运行各种操作系统。

QEMU 是一款强大的开源模拟器(emulator)和虚拟化软件,能够模拟多种硬件平台并在其上运行操作系统。QEMU 本身并不包含虚拟化技术,但它可以通过与 KVM(Kernel-based Virtual Machine)等内核模块集成,提供高性能的虚拟化解决方案。下面将详细解释 QEMU 的主要特点、功能以及应用场景。

主要特点

  1. 跨平台:QEMU 可以在多种操作系统上运行,包括 GNU/Linux、Windows、macOS 等。
  2. 多架构支持:QEMU 支持模拟多种 CPU 架构,如 x86、x86_64、ARM、MIPS 等,允许用户在不同的硬件平台上运行不同的操作系统。
  3. 设备模拟:QEMU 能够模拟各种硬件设备,如硬盘、网络接口卡、图形卡等,以提供完整的虚拟化环境。
  4. 高性能:当与 KVM 一起使用时,QEMU 可以提供接近物理机性能的虚拟化体验。
  5. 丰富的配置选项:QEMU 提供了大量的命令行选项和配置文件,允许用户根据需要进行详细的配置和定制。

主要功能

  1. 虚拟机管理:QEMU 可以创建、启动、停止、暂停和恢复虚拟机,以及进行虚拟机的迁移和备份。
  2. 设备模拟:QEMU 可以模拟各种硬件设备,如磁盘驱动器、网络接口卡、显卡等,以便在虚拟机中运行各种操作系统和应用程序。
  3. 网络配置:QEMU 支持多种网络配置选项,包括桥接、NAT、用户空间网络等,以便虚拟机与主机或其他虚拟机进行网络通信。
  4. 图形显示:QEMU 支持多种图形显示方式,包括 SDL、GTK+、Qt 等,以便在虚拟机中运行图形界面应用程序。
  5. 快照和迁移:QEMU 支持虚拟机的快照和迁移功能,方便用户进行虚拟机的备份和迁移。

应用场景

  1. 开发测试:QEMU 可以用于在开发过程中模拟不同的硬件环境和操作系统,以便进行跨平台测试和兼容性测试。
  2. 教育培训:QEMU 可以用于教学环境中,让学生体验和学习不同的操作系统和硬件平台。
  3. 云计算:QEMU 可以与 OpenStack、CloudStack 等云管理平台集成,用于构建和管理云计算基础设施。
  4. 安全研究:QEMU 可以用于创建隔离的虚拟化环境,用于安全研究、恶意软件分析和渗透测试等场景。

安装与使用

QEMU 的安装相对简单,可以通过包管理器(如 apt、yum 等)在 Linux 系统中进行安装。安装完成后,用户可以通过命令行或配置文件创建和管理虚拟机。QEMU 的命令行选项非常丰富,用户可以通过查看官方文档或使用 --help 选项来获取更多信息。

总之,QEMU 是一款功能强大、灵活的虚拟化软件,适用于各种场景下的虚拟机创建和管理。无论是开发测试、教育培训还是云计算和安全研究等领域,QEMU 都能够为用户提供稳定可靠的虚拟化解决方案。

Xen

Xen是一个开源的虚拟化技术,允许你在单台物理机上运行多个虚拟机(VMs)。Xen最初由剑桥大学计算机实验室开发,后来由Xen.org(现在是Xen Project)维护。Xen的架构主要基于半虚拟化(paravirtualization)技术,但也支持硬件辅助虚拟化(如Intel VT-x和AMD-V)。

以下是Xen的一些关键特性和组件:

1. Xen Hypervisor

  • Xen Hypervisor是Xen的核心组件,它直接运行在硬件之上,负责虚拟机的创建、管理和资源分配。
  • Xen Hypervisor提供了一套API(XenAPI),允许管理工具与Hypervisor通信。

2. XenAPI

  • XenAPI是一个开放的网络API,允许客户端(如XenCenter或开源的Xen管理工具)与Xen Hypervisor通信。
  • 通过XenAPI,你可以执行各种虚拟机管理任务,如创建、启动、停止、迁移和删除虚拟机。

3. XenCenter

  • XenCenter是Citrix(Xen的原始开发者之一)提供的一个图形用户界面(GUI)管理工具,用于管理Xen Hypervisor和虚拟机。
  • XenCenter通过XenAPI与Xen Hypervisor通信,提供了一个直观易用的界面来管理虚拟机。

4. 半虚拟化(Paravirtualization)

  • Xen最初采用半虚拟化技术,这意味着它要求客户操作系统(即虚拟机中运行的操作系统)知道它正在一个虚拟化环境中运行。
  • 半虚拟化通常通过修改客户操作系统的内核或使用特定的驱动程序来实现,以便与Xen Hypervisor更有效地通信。

5. 硬件辅助虚拟化(Hardware-Assisted Virtualization)

  • 随着处理器技术的发展,Intel和AMD引入了硬件辅助虚拟化技术(如Intel VT-x和AMD-V),这些技术允许虚拟机更高效地运行。
  • Xen支持这些硬件辅助虚拟化技术,可以在不修改客户操作系统的情况下提供接近原生性能的虚拟机。

6. 虚拟机迁移

  • Xen支持虚拟机迁移,这意味着你可以将一个正在运行的虚拟机从一个物理服务器迁移到另一个物理服务器,而无需中断服务。
  • 这对于负载均衡、维护和高可用性非常有用。

7. 存储和网络支持

  • Xen支持多种存储和网络后端,包括本地存储、网络文件系统(如NFS、SMB/CIFS)、SAN/NAS存储等。
  • Xen还支持多种网络配置,包括桥接、NAT、VLAN等。

8. 社区和生态系统

  • Xen有一个活跃的社区和生态系统,提供了大量的文档、教程、插件和工具,帮助用户更好地使用Xen。
  • Xen也与许多其他开源项目(如OpenStack、CloudStack等)集成,用于构建云计算基础设施。

总之,Xen是一个功能强大且灵活的虚拟化技术,适用于各种场景,包括私有云、公共云、数据中心和企业IT等。

Hyer-V

Hyper-V是微软推出的一款虚拟化产品,它为创建和运行虚拟机(VMs)提供了强大的功能。以下是关于Hyper-V的详细概述:

1. 技术背景与定位

  • Hyper-V是微软首个基于hypervisor的虚拟化技术,类似Vmware ESXi和Citrix Xen。
  • 旨在为用户提供更熟悉、成本效益更高的虚拟化基础设施软件,以降低运作成本、提高硬件利用率、优化基础设施并提高服务器的可用性。

2. 系统要求

  • 处理器:支持Intel或AMD的64位处理器(从Windows 10预览版更新19559开始,ARM64位处理器也受支持)。
  • 操作系统:Windows Server 2008 R2及以上(服务器操作系统);Windows 7及以上(桌面操作系统)。
  • 虚拟化支持:硬件辅助虚拟化,如Intel VT或AMD-V,以及CPU的硬件数据执行保护(DEP)功能。
  • 内存:最低限度为2GB。

3. 主要特点

  • 多平台支持:Hyper-V不仅支持Windows虚拟机,还可以运行Linux和其他操作系统的虚拟机。
  • 管理工具:提供Hyper-V管理器和System Center Virtual Machine Manager等丰富的管理工具,方便管理员进行虚拟机的管理和监控。
  • 安全性:提供强大的安全功能,包括隔离和访问控制,确保虚拟机之间的安全性。
  • 高效性:采用微内核架构和基于VMbus的高速内存总线架构,提供高性能和快速的响应速度。
  • 内存管理:支持内存过量使用、内存缓冲区和内存权重等特性,优化虚拟机内存的使用。

4. 架构特点

  • Hyper-V底层的Hypervisor运行在最高的特权级别(ring -1),而虚拟机的OS内核和驱动运行在ring 0,应用程序运行在ring 3下。
  • 这种架构不需要采用复杂的BT(二进制特权指令翻译)技术,进一步提高了安全性。

5. 虚拟硬盘空间

  • 在Hyper-V虚拟机创建过程中,最大虚拟硬盘可以达到2040GB。

6. 管理和优化

  • 提供Hyper-V管理解决方案,包括数据保护、性能监控和容量规划等功能,帮助管理员提高IT基础架构效率。

7. 虚拟机迁移

  • Hyper-V支持虚拟机的迁移,可以在不中断服务的情况下将虚拟机从一个物理服务器迁移到另一个物理服务器。

综上所述,Hyper-V作为一款功能强大的虚拟化产品,为企业提供了灵活、高效、安全的虚拟化解决方案。

Libvirt

Libvirt是一个开源的API、后台程序和管理工具,主要用于管理虚拟化平台。以下是关于Libvirt的详细概述:

1. 基本介绍

  • 定义:Libvirt是用于管理虚拟化平台的开源的API、后台程序和管理工具。
  • 支持技术:Libvirt可以管理多种虚拟化技术,包括KVM、Xen、VMware ESX、QEMU等。
  • 应用场景:Libvirt在云计算的解决方案中广泛使用,提供了一个方便的方式来管理虚拟机和其他虚拟化功能,如存储和网络接口管理。

2. 主要组件

  • API库:提供与多种虚拟化技术交互的接口。
  • 守护进程(Libvirtd):作为后台程序运行,管理虚拟机的生命周期和配置。
  • 命令行实用程序(virsh):提供了与Libvirt交互的命令行界面,方便用户进行虚拟机管理。

3. 主要功能

  • 虚拟机管理
    • 支持虚拟机的启动、停止、暂停、保存、恢复和迁移等生命周期操作。
    • 支持多种设备类型的热插拔操作,包括磁盘、网卡、内存和CPU。
  • 远程机器支持:只要机器上运行了libvirt daemon,包括远程机器,所有的libvirt功能就都可以访问和使用。
  • 存储管理:管理不同类型的存储,如创建不同格式的文件映像(qcow2、vmdk、raw等)、挂接NFS共享、列出现有的LVM卷组等。
  • 网络接口管理:管理物理和逻辑的网络接口,包括列出现有的接口卡、配置和创建接口、桥接、VLAN和关联设备等。
  • 虚拟NAT和基于路由的网络:管理和创建虚拟网络,使用防火墙规则作为路由器,让虚拟机可以透明访问主机的网络。

4. 架构和工作原理

  • Libvirt提供了一个通用稳定的抽象层,可以安全地操作物理机上的虚拟机。
  • 提供了创建、修改、监控、迁移、停止domain等一系列API,用于远程交互。
  • 视图隔离虚拟化框架中频繁变更的应用,以保持API的稳定性。

5. 使用语言和平台支持

  • 支持的语言包括C、C++、Python、Go、Perl、Ruby、OCaml、Java、JavaScript、PHP等。
  • 支持的虚拟化平台广泛,包括KVM、Xen、QEMU、LXC、OpenVZ、VMware ESX等。

6. 应用场景

  • Libvirt已被业界广泛应用,包括命令行工具、GUI工具、持续集成、IaaS服务(如OpenStack)和web应用程序等。

综上所述,Libvirt是一个功能强大、灵活的虚拟化管理工具,通过提供统一的API和管理界面,支持多种虚拟化技术和平台,为虚拟化环境的创建、管理和优化提供了便利。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/683635.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【NoSQL数据库】Redis——哨兵模式

Redis——哨兵模式 Redis哨兵 Redis——哨兵模式1.什么是哨兵机制(Redis Sentinel)1.1 哨兵的作用 2.哨兵的运行机制3.故障处理redis常见问题汇总1、redis缓存击穿是什么?如何解决?2、redis缓存穿透是什么?如何解决&am…

详解!Python怎么配置环境变量

详解!Python怎么配置环境变量 许多刚开始学习编程的初学者在 python的安装上会抱有一定的疑惑,为什么明明已经安装好了 python 环境,但并不能运行python 代码,这是因为 python 的安装过程中还有一步环境变量的配置,接…

微信“对方正在输入”背后的小心思:保持隐秘感,享受宁静的交流

微信,这个伴随我们起居、工作的超级应用,不仅仅是一款聊天软件,它几乎成为了我们社交生活的一部分。它的便捷,让我们的日常沟通如鱼得水。然而,在这个几乎完美的社交工具中,有一个功能,让不少人…

CSS真题合集(二)

CSS真题合集(二) 11. css3新增特性12. css3动画12.1 关键帧动画 (keyframes)12.2 animation12.3 transition12.4 transform 13. grid网格布局13.1 使用display: grid或display: inline-grid的HTML元素。13.2 定义网格13.3 13.4 自动填充和自动放置13.4 对…

信号发生器如何将频率调大,步尽值改成10

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

PPT文件损坏且无法读取怎样修复?文档损坏修复方法推荐

PPT文件已经成为工作汇报、商务演示、学术交流以及教学培训中最常用到的文件,随着文件数量的增多和存储设备的频繁使用,我们有时会遇到PPT文件损坏无法打开的情况,这无疑给工作和学习带来了极大的困扰。 PPT文件损坏的原因可能多种多样&#…

FreeRTOS手表项目多级菜单的实现

一、首先介绍一下智能手表项目的背景: 如图,关注焦点是任务: 1、在一个确定时刻,在那一圈任务中(写有只有一个任务解挂)只有一个任务处在运行,界面显示的是该任务应该显示的内容; …

韩国Neowine推出第三代强加密芯片ALPU-CV

推出第三代加密芯片;是ALPU系列中的高端IC;是一款高性能车规级加密芯片;其加密性更强、低耗电、体积小;使得防复制、防抄袭板子的加密性能大大提升,该芯片通过《AEC-Q100》认证,目前已经在国产前装车辆配件…

代理记账公司哪家好,深度剖析与选择指南

代理记账,作为企业会计管理和运营的重要环节,已经逐渐被越来越多的企业所重视,在众多的代理记账公司中,如何选择一家专业、高效且值得信赖的代理记账机构呢?以下是一些深度解析和推荐。 公司的规模 规模较大的代理记账…

docker实战命令大全

文章目录 1 环境准备1.1 移除旧版本Docker1.2安装工具包1.3配置docker yum源 2 安装最新docker2.1 设置开机自启docker2.2配置加速器 3 实操-镜像3.1搜索镜像3.2下载镜像3.3查看镜像3.4 删除镜像 4 实操-容器4.1运行nginx容器4.2 查看容器4.3启动容器4.5关闭容器4.6查看容器日志…

Linux中Apache网站基于Http服务的访问限制(基于地址/用户)

🏡作者主页:点击! 👨‍💻Linux高级管理专栏:点击! ⏰️创作时间:2024年6月3日11点44分 🀄️文章质量:95分 为了更好地控制对网站资源的访问,可…

基于SSM+Jsp的高校二手交易平台

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

前端怎么预览pdf

1.背景 后台返回了一个在线的pdf地址,需要我这边去做一个pdf的预览(需求1),并且支持配置是否可以下载(需求2),需要在当前页就能预览(需求3)。之前我写过一篇预览pdf的文…

ant design的upload组件踩坑记录

antd版本 v4.17.0 1.自定义了onpreview和onchange事件,上传文件后,文件显示有preview的icon但是被禁用,无法调用onpreview事件。 问题展现: 苦苦查找原因,问题出在了这里,当文件没有url的时候&#xff0c…

基于FPGA的图像一维FFT变换IFFT逆变换verilog实现,包含tb测试文件和MATLAB辅助验证

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 fpga仿真结果 matlab调用FPGA的仿真结果进行图像显示 2.算法运行软件版本 vivado2019.2 matlab2022a 3.部分核心程序 ......................…

mac系统内存占用过高怎么办 优化电脑内存的方法系统加速

不少Mac用户都对mac系统内存占用过高非常头痛,不过这是mac在使用过程中一个很常见的问题,它会影响用户的操作体验,导致系统运行速度缓慢,甚至出现明显的卡顿现象。面对mac系统内存占用过高怎么办这个问题,其实很好解决…

C#操作MySQL从入门到精通(11)——对查询数据使用正则表达式过滤

前言 对于之前提到的使用匹配、比较、通配符等过滤方式能解决大部分的项目问题,但是有时候也会遇到一些比较复杂的过滤需求,这时候就需要正则表达式来实现了,正则表达式使用regexp这个关键字来实现。 本次测试的数据库表的内容如下: 1、基本字符匹配(包含某些字符) 匹…

git一次提交多个项目之windows

方案1:【快速】单个/多个项目提交到一个已有地址 步骤: 1,在git仓库,创建新的地址 2,在代码所在文件夹,编辑脚本 2.1,获得所有文件名:编写bat脚本,获得所有文件名称【非必须】; dir *.* /b/s>test.txt 获取所有文件之后,复制对应的文件名; 2.2,编写bat脚…

如何做好电子内窥镜的网络安全管理?

电子内窥镜作为一种常用的医疗器械,其网络安全管理对于保护患者隐私和医疗数据的安全至关重要。以下是一些基本原则和步骤,用于确保电子内窥镜的网络安全: 1. 数据加密 为了防止数据泄露,电子内窥镜在传输患者图像数据时应采取有…

嵌入式软件跳槽求指导?

嵌入式软件行业的跳槽确实需要一些特定的策略和技巧。我这里有一套嵌入式入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习嵌入式,不妨点个关注,给个评论222,私信22,我在后台发给你。 因为这个…