OpenStack-Glance组件

Glance

    • Glance使用
      • 磁盘格式和容器格式
      • 基础配置
      • 镜像转换

Glance 是 OpenStack 的镜像服务,负责存储、发现和管理虚拟机镜像。它允许用户创建和共享镜像,用于启动虚拟机实例。

Glance 的主要功能
(1)虚拟机镜像的管理
支持镜像的上传、下载、删除和更新。
用户可以通过命令行、API 或 OpenStack Dashboard 管理镜像。
(2)多种镜像格式支持
Glance 支持常见的虚拟机镜像格式,包括:

  • RAW:原始磁盘镜像,无压缩。
  • QCOW2:QEMU/KVM 的可扩展镜像格式,支持快照和压缩。
  • VMDK:VMware 的镜像格式。
  • VHD 和 VHDX:Hyper-V 的镜像格式。
  • ISO:光盘镜像,常用于安装系统。

(3)多种存储后端支持
Glance 支持多种存储后端,用于存储镜像数据:
本地文件系统。
分布式存储系统(如 Ceph、Swift)。
对象存储服务(如 Amazon S3)。
数据库存储。
(4)镜像共享和访问控制
私有镜像:仅限拥有者使用。
公共镜像:所有租户都可以使用。
共享镜像:拥有者可以指定其他租户访问。
(5)镜像的元数据管理
每个镜像都可以包含元数据(metadata),如操作系统类型、版本、创建时间等。
用户和管理员可以自定义元数据,用于描述镜像特性。

Glance 的架构
(1)核心组件
Glance 包括以下核心组件:

  • Glance API:
    提供 RESTful API 接口,供用户和服务调用。
    支持镜像的上传、下载、查询和删除等操作。

  • Glance Registry(已弃用):
    旧版本用于存储镜像的元数据和注册信息,现在的元数据通常直接存储在数据库中。

  • 数据库:
    存储镜像的元数据(如镜像的名称、大小、状态、创建时间等)。
    存储后端:

存放镜像文件的实际数据。可以是本地文件系统、对象存储(如 Swift)或块存储(如 Ceph,Cinder等)

工作流程

  • 镜像上传:
    用户通过 CLI 或 API 调用 Glance,将镜像文件上传到 Glance。
    Glance API 接收镜像数据,并存储在指定的存储后端,同时在数据库中记录元数据。
  • 镜像查询:
    用户通过 Glance 查询可用的镜像列表。
    Glance 从数据库中检索镜像元数据,并返回给用户。
  • 镜像下载:
    当 Nova 启动实例时,会从 Glance 下载指定镜像到计算节点。
    Glance API 从存储后端检索镜像文件,并提供给 Nova。

Glance使用

Ubuntu2404server环境,Glance版本4.4.0

glance服务

systemctl status glance-api

日志路径

tail -f /var/log/glance/glance-api.log

glance默认的镜像存储位置为本地,在配置文件glance-api.conf中进行指定

[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
[image_format]
disk_formats = ami,ari,aki,vhd,vhdx,vmdk,raw,qcow2,vdi,iso,ploop.root-tar

上传cirros测试镜像,web界面也可以上传镜像,但是如果镜像很大则可能失败,这时用命令行界面上传可以成功

Glance的其他命令可参考博文,这里不多概述了

root@controller:~# openstack image create --disk-format qcow2 --container-format bare --file cirros-0.3.4-x86_64-disk.img --progress cirros
[=============================>] 100%
+------------------+-----------------------------------------------------------------------------------------------------------+
| Field            | Value                                                                                                     |
+------------------+-----------------------------------------------------------------------------------------------------------+
| container_format | bare                                                                                                      |
| created_at       | 2024-12-03T08:39:25Z                                                                                      |
| disk_format      | qcow2                                                                                                     |
| file             | /v2/images/500df5b1-45e7-4cf0-acfe-621b2c61ae5b/file                                                      |
| id               | 500df5b1-45e7-4cf0-acfe-621b2c61ae5b                                                                      |
| min_disk         | 0                                                                                                         |
| min_ram          | 0                                                                                                         |
| name             | cirros                                                                                                    |
| owner            | e85a7093d85344378bb1b016fc6a1b1b                                                                          |
| properties       | os_hidden='False', owner_specified.openstack.md5='', owner_specified.openstack.object='images/cirros',    |
|                  | owner_specified.openstack.sha256=''                                                                       |
| protected        | False                                                                                                     |
| schema           | /v2/schemas/image                                                                                         |
| status           | queued                                                                                                    |
| tags             |                                                                                                           |
| updated_at       | 2024-12-03T08:39:25Z                                                                                      |
| visibility       | shared                                                                                                    |
+------------------+-----------------------------------------------------------------------------------------------------------+
root@controller:~# ls /var/lib/glance/images
500df5b1-45e7-4cf0-acfe-621b2c61ae5b

上传的镜像除了存储在本地外,还可以配置cinder,swift,ceph等作为后端存储

  • 镜像状态
    • Glance 中的图像可以处于以下状态之一:
      queued
      图像标识符已为 Glance 注册表中的图像保留。没有图像数据上传到 Glance,并且图像大小在创建时未明确设置为零。
      saving
      表示当前正在将图片的原始数据上传到 Glance。当使用POST /images调用注册图片并且存在x-image-meta-location标头时,该图片永远不会处于保存状态(因为图片数据已在其他位置可用)。
      uploading
      表示已进行导入数据放入调用。在此状态下,不允许调用PUT /file 。(请注意,对排队图像调用PUT /file会使图像进入保存状态。当图像处于保存状态时,不允许调用PUT /stage。因此,无法在同一图像上使用两种上传方法。)
      importing
      表示已进行导入调用但图像尚未准备好使用。
      active
      表示在 Glance 中完全可用的镜像。当上传镜像数据或创建时明确将镜像大小设置为零时,就会发生这种情况。
      deactivated
      表示不允许任何非管理员用户访问图像数据。禁止下载图像还会禁止可能需要图像数据的图像导出和图像克隆等操作。
      killed
      表示上传图像数据时发生错误,图像无法读取。
      deleted
      Glance 保留了有关该镜像的信息,但已不再可用。处于此状态的镜像将在稍后自动删除。
      pending_delete
      这与已删除类似,但是 Glance 尚未删除映像数据。处于此状态的映像不可恢复。

在这里插入图片描述
任务状态

  • Glance 中的任务可以处于以下状态之一:
    pending
    任务标识符已为 Glance 中的任务保留。尚未开始对其进行处理。
    processing
    该任务已被底层执行器接收,并正在使用该任务类型的后端 Glance 执行逻辑运行。
    success
    表示该任务已在 Glance 中成功运行。result 任务字段显示有关结果的更多详细信息。
    failure
    表示在执行任务期间发生错误,无法继续处理。message任务的字段显示错误是什么。

磁盘格式和容器格式

在 OpenStack 的 Glance 服务中,镜像文件需要指定磁盘格式和容器格式。这两个属性决定了镜像文件的组织方式,以及它如何被用作虚拟机实例的磁盘。

  • 磁盘格式(Disk Format)
    磁盘格式描述镜像文件中虚拟磁盘的存储方式。它决定了镜像如何被解码和加载到虚拟机中, 决定了镜像的存储结构,影响性能、存储占用和功能支持。
格式名称描述使用场景
RAW原始磁盘镜像文件,未压缩,未封装。直接复制磁盘的字节内容,效率高但占用空间较大。
QCOW2QEMU/KVM 的磁盘格式,支持动态分配和快照。文件占用空间小,支持压缩。 常用格式,适合 KVM/QEMU。
VMDKVMware 的磁盘格式,兼容 VMware 产品。使用 VMware 虚拟化平台时。
VHDMicrosoft Hyper-V 的磁盘格式,支持动态和固定大小。在 Hyper-V 环境中使用。
ISO光盘镜像格式,通常用于操作系统的安装盘(例如 Ubuntu、CentOS 的安装 ISO)。系统安装或启动时加载 ISO 文件。
AMIAmazon Machine Image,Amazon EC2 使用的镜像格式。使用 Amazon EC2 云的迁移场景。
VDIVirtualBox 的磁盘格式。VirtualBox 用户使用。
PLAIN非特定格式的数据块镜像,类似于 RAW 格式。特殊场景的自定义存储。
  • 容器格式(Container Format)
    容器格式定义了磁盘镜像的封装方式,以及它是否包含额外的元数据(如启动引导信息、分区表等)。决定了镜像的封装方式,影响其在虚拟化平台上的适用性。
格式名称描述使用场景
bare无容器封装的纯磁盘镜像,直接使用磁盘格式(如 RAW、QCOW2)。最常见的容器格式,直接加载磁盘镜像。
ovfOpen Virtualization Format,包含虚拟机描述文件和磁盘镜像。跨虚拟化平台迁移或分发镜像。
ovaOVF 的封装形式,通常打包为单个文件(包含 OVF 描述和磁盘镜像)。分发虚拟机模板。
akiAmazon Kernel Image,封装用于引导的内核镜像。使用 Amazon 相关服务时。
ariAmazon Ramdisk Image,封装用于引导的 ramdisk 镜像。使用 Amazon 相关服务时。
amiAmazon Machine Image,与磁盘格式 AMI 搭配使用,通常是 Amazon 的完整镜像。使用 Amazon 相关服务时。
dockerDocker 容器格式,用于分发和运行容器化应用。容器化场景。
  • 磁盘格式和容器格式的关系
    磁盘格式 和 容器格式 是独立的,但需要配合使用。

例如:
一个 RAW 磁盘镜像通常使用 bare 容器格式,因为它没有额外的封装。
一个 OVF 容器格式的镜像可能使用 QCOW2 或 VMDK 磁盘格式。

如何选择格式

需求磁盘格式容器格式
高性能,简单直接RAWbare
节省存储空间,支持快照QCOW2bare
VMware 平台迁移或集成VMDKovf
Hyper-V 平台VHD/VHDXbare
创建系统安装盘(如 ISO 文件)ISObare

基础配置

官网示例配置文件
官网参数说明

  • glance-api.conf可以在文件中的 部分下放置以下选项[DEFAULT]。它们分别启用 API 服务器的启动和绑定行为。
[DEFAULT]
bind_host=ADDRESS
#绑定到的主机的地址。
#可选。默认值:0.0.0.0
bind_port=PORT
#服务器应绑定到的端口。
#可选。默认值:9292用于 API 服务器
backlog=REQUESTS
#配置套接字的积压请求数。
#可选。默认值:4096
tcp_keepidle=SECONDS
#为每个服务器套接字设置 TCP_KEEPIDLE 的值(以秒为单位)。不支持 OS X。
#可选。默认值:600
client_socket_timeout=SECONDS
#客户端连接套接字操作的超时时间。如果传入连接在此期间处于空闲状态,则它将被关闭。值为0 表示永远等待。
#可选。默认值:900
workers=PROCESSES
#要启动的 Glance API 工作进程数。每个工作进程将侦听同一端口。增加此值可能会提高性能(尤其是在使用启用了压缩的 SSL 时)。通常建议
#每个 CPU 有一个工作进程。值0将阻止创建任何新的工作进程。当data_api设置为 时 glance.db.simple.api,workers必须设置为0或1。
#可选。默认值:默认使用可用的 CPU 数量。
max_request_id_length=LENGTH
#限制记录的 x-openstack-request-id 标头的最大大小。仅当在管道中配置了上下文中间件时才有效。
#可选。默认值:(64受 max_header_line 默认值限制:16384)image_size_cap=SIZE
#配置 Glance 镜像大小限制
#可通过 Glance API 服务器上传的最大图像大小(以字节为单位)。
#重要提示:只有经过仔细考虑后才能增加此值,并且必须将其设置为低于 8 EB (9223372036854775808) 的值。
#可选。默认值:1099511627776(1 TB)user_storage_quota=100G
#可选。默认值:0(无限制)。
#配置 Glance 用户存储配额
#此值指定每个用户可以在所有存储系统上使用的最大存储量。可以选择为该值指定单位。值可以以 B、KB、MB、GB 或 TB 为单位,分别表示字节、千字节、兆字节、千兆字节和太字节。默认单位为字节。
  • 配置 Glance 存储后端

使用多个存储配置文件系统存储后端

[glance_store]
stores = file,http
default_store = file
filesystem_store_datadirs = /var/glance/store
filesystem_store_datadirs = /var/glance/store1:100
filesystem_store_datadirs = /var/glance/store2:200

此选项只能在配置文件中指定,并且仅适用于文件系统存储后端。

filesystem_store_datadirs 选项允许管理员配置多个存储目录,以在文件系统存储后端保存 Glance 映像。每个目录都可以与其优先级结合使用。

  • 可以多次指定此选项以指定多个商店。
    必须在 gaze-api.conf 中指定 filesystem_store_datadir 或 filesystem_store_datadirs 选项
    优先级为 200 的商店优先于优先级为 100 的商店。
    如果没有指定优先级,则默认优先级为“0”。
    如果两个文件系统存储具有相同的优先级,则会选择具有最大可用空间的存储来存储图像。
    如果多次指定同一个商店,则会引发 BadStoreConfiguration 异常。

配置cinder为后端存储

[root@controller ~]# vi /etc/glance/glance-api.conf
#show_multiple_locations = false
改为
show_multiple_locations = True修改
[glance_store]
stores = cinder
default_store=cinder[root@controller ~]# systemctl restart openstack-glance-*
[root@controller ~]# vi /etc/cinder/cinder.conf
#allowed_direct_url_schemes =
改为
allowed_direct_url_schemes =cinder#image_upload_use_internal_tenant = false
改为
image_upload_use_internal_tenant = True
#最后重启cinder
[root@controller ~]# systemctl restart *cinder*

swift作为后端存储

[root@controller ~]# vi /etc/glance/glance-api.conf
[glance_store]
stores=glance.store.filesystem.Store,glance.store.swift.Store,glance.store.http.Store
default_store=swift
swift_store_region=RegionOne
swift_store_endpoint_type=internalURL
swift_store_container=chinaskill_glance
swift_store_large_object_size=5120
swift_store_large_object_chunk_size=200
swift_store_create_container_on_put=True
swift_store_multi_tenant=True
swift_store_admin_tenants=service
swift_store_auth_address=http://controller:5000/v3
swift_store_user=glance
swift_store_key=000000[root@controller ~]# systemctl restart openstack-glance-*

配置 VMware 存储后端

  • vmware_server_host=ADDRESS
    使用 VMware 存储后端时必需。
    只能在配置文件中指定。
    设置 ESX/ESXi 或 vCenter Server 目标系统的地址。该地址可以包含 IP ( 127.0.0.1)、IP 和端口 ( 127.0.0.1:443)、DNS 名称 ( www.my-domain.com) 或 DNS 和端口。
    此选项特定于 VMware 存储后端。
  • vmware_server_username=USERNAME
    使用 VMware 存储后端时必需。
    只能在配置文件中指定。
    用于通过 VMware ESX/ESXi 或 vCenter Server 进行身份验证的用户名。
  • vmware_server_password=PASSWORD
    使用 VMware 存储后端时必需。
    只能在配置文件中指定。
    用于对 VMware ESX/ESXi 或 vCenter Server 进行身份验证的密码。
  • vmware_datastores
    使用 VMware 存储后端时必需。
    此选项只能在配置文件中指定,并且特定于 VMware 存储后端。
  • vmware_datastores 允许管理员配置多个数据存储,以将 Glance 映像保存在 VMware 存储后端。该选项所需的格式为:<datacenter_path>:<datastore_name>:<optional_weight>。
    其中 datacenter_path 是数据存储所在数据中心的清单路径。可以给出可选权重来指定优先级。
  • vmware_api_retry_count=TIMES
    可选。默认值:10
    只能在配置文件中指定。
    出现连接相关问题时必须重试 VMware ESX/VC 服务器 API 的次数。
  • vmware_task_poll_interval=SECONDS
    可选。默认值:5
    只能在配置文件中指定。
    用于轮询在 VMware ESX/VC 服务器上调用的远程任务的间隔。
  • vmware_store_image_dir
    可选。默认值:/openstack_glance
    只能在配置文件中指定。
    访问数据存储中存储图像的文件夹的路径。
  • vmware_api_insecure=ON_OFF
    可选。默认值:False
    只能在配置文件中指定。
    允许对 ESX/VC 服务器执行不安全的 SSL 请求。
    例子:
[glance_store]
vmware_datastores = datacenter1:datastore1
vmware_datastores = dc_folder/datacenter2:datastore2:100
vmware_datastores = datacenter1:datastore3:200

可以多次指定此选项以指定多个数据存储。
必须在 gaze-api.conf 中指定 vmware_datastore_name 或 vmware_datastores 选项
权重为 200 的数据存储优先于权重为 100 的数据存储。
如果没有指定权重,则默认权重为“0”。
如果两个数据存储具有相同的权重,则将选择具有最大可用空间的数据存储来存储图像。
如果数据中心路径或数据存储名称包含冒号 :符号,则必须使用反斜杠进行转义。

配置S3存储后端

  • s3_store_host
    只能在配置文件中指定。
    S3 服务器正在监听的主机。此选项可以包含 DNS 名称(例如 s3.amazonaws.com、my-object-storage.com)或 IP 地址(127.0.0.1)。
  • s3_store_access_key
    只能在配置文件中指定。
    用于与 Amazon S3 或 S3 兼容存储服务器进行身份验证的访问密钥。
  • s3_store_secret_key
    只能在配置文件中指定。
    用于与 Amazon S3 或 S3 兼容存储服务器进行身份验证的密钥。
  • s3_store_bucket
    只能在配置文件中指定。
    在 S3 中存储 Glance 图像的存储桶名称。如果s3_store_create_bucket_on_put设置为 true,即使存储桶不存在也会自动创建。
  • s3_store_create_bucket_on_put
    可选。默认值:False
    只能在配置文件中指定。
    确定 S3 是否应创建新的 bucket。此选项采用布尔值来指示如果 bucket 不存在,Glance 是否应在 S3 中创建新的 bucket。
  • s3_store_bucket_url_format
    可选。默认值:auto
    只能在配置文件中指定。
    此选项采用用于指定 S3 存储桶中对象地址的访问模型。您可以将值设置为auto、virtual或 path。
  • s3_store_large_object_size
    可选。默认值:100
    只能在配置文件中指定。
    S3 应以什么大小(以 MB 为单位)开始对图像文件进行分块并在 S3 中执行分段上传。
  • s3_store_large_object_chunk_size
    可选。默认值:10
    只能在配置文件中指定。
    S3 在上传部分时应使用多部分上传部分的大小(以 MB 为单位)。
  • s3_store_thread_pools
    可选。默认值:10
    只能在配置文件中指定。
    在 S3 中执行分段上传的线程池数量。

示例:

[glance_store]
s3_store_host = http://s3-ap-northeast-1.amazonaws.com
s3_store_host = https://s3-ap-northeast-1.amazonaws.com
s3_store_host = http://my-object-storage.com
s3_store_host = https://my-object-storage.com:9000

在path风格中,对象的端点看起来像https://s3.amazonaws.com/bucket/example.img。
在virtual风格中,对象的端点看起来像https://bucket.s3.amazonaws.com/example.img。
如果您在存储桶名称中不遵循 DNS 命名约定,则可以获取路径样式的对象,但不能获取虚拟样式的对象。

配置镜像策略的yaml文件:官网

  • 配置格式如下
    该配置文件通过role:admin形式指定配置权限
root@controller:~# cat /etc/glance/policy.yaml
{"context_is_admin":  "role:admin","default": "role:admin","add_image": "role:admin","delete_image": "","get_image": "","get_images": "","modify_image": "","publicize_image": "role:admin","communitize_image": "","copy_from": "","download_image": "","upload_image": "","delete_image_location": "","get_image_location": "","set_image_location": "","add_member": "","delete_member": "","get_member": "","get_members": "","modify_member": "","manage_image_cache": "role:admin","get_task": "","get_tasks": "","add_task": "","modify_task": "","tasks_api_access": "role:admin","deactivate": "","reactivate": "","get_metadef_namespace": "","get_metadef_namespaces":"","modify_metadef_namespace":"","add_metadef_namespace":"","get_metadef_object":"","get_metadef_objects":"","modify_metadef_object":"","add_metadef_object":"","list_metadef_resource_types":"","get_metadef_resource_type":"","add_metadef_resource_type_association":"","get_metadef_property":"","get_metadef_properties":"","modify_metadef_property":"","add_metadef_property":"","get_metadef_tag":"","get_metadef_tags":"","modify_metadef_tag":"","add_metadef_tag":"","add_metadef_tags":""
}

镜像转换

qemu-img 是 QEMU 提供的一个用于创建、转换和操作虚拟机磁盘镜像的命令行工具。它支持多种磁盘镜像格式,如 QCOW2、RAW、VMDK 等,是管理虚拟磁盘镜像的核心工具之一

  • 查看镜像信息
    输出镜像的大小、格式、实际占用空间等信息
root@controller:~# qemu-img info cirros-0.3.4-x86_64-disk.img
image: cirros-0.3.4-x86_64-disk.img
file format: qcow2
virtual size: 39.2 MiB (41126400 bytes)
disk size: 12.7 MiB
cluster_size: 65536
Format specific information:compat: 0.10compression type: zlibrefcount bits: 16
Child node '/file':filename: cirros-0.3.4-x86_64-disk.imgprotocol type: filefile length: 12.7 MiB (13287936 bytes)disk size: 12.7 MiB
  • 转换磁盘格式
    将磁盘镜像从一种格式转换为另一种格式
    qemu-img convert -f <源格式> -O <目标格式> <源镜像文件> <目标镜像文件>
root@controller:~# qemu-img convert -f qcow2 -O raw cirros-0.3.4-x86_64-disk.img cirros-raw.img
root@controller:~# qemu-img info cirros-raw.img
image: cirros-raw.img
file format: raw
virtual size: 39.2 MiB (41126400 bytes)
disk size: 17.8 MiB
Child node '/file':filename: cirros-raw.imgprotocol type: filefile length: 39.2 MiB (41126400 bytes)disk size: 17.8 MiB
  • 扩展磁盘大小
    调整磁盘镜像的大小(只能扩展)需要在操作系统中调整分区才能实际使用扩展空间。
root@controller:~# qemu-img resize cirros-0.3.4-x86_64-disk.img +10M
Image resized.
root@controller:~# qemu-img info cirros-0.3.4-x86_64-disk.img
image: cirros-0.3.4-x86_64-disk.img
file format: qcow2
virtual size: 49.2 MiB (51612160 bytes)
disk size: 12.7 MiB
cluster_size: 65536
Format specific information:compat: 0.10compression type: zlibrefcount bits: 16
Child node '/file':filename: cirros-0.3.4-x86_64-disk.imgprotocol type: filefile length: 12.7 MiB (13287936 bytes)disk size: 12.7 MiB
root@controller:~#
  • 压缩磁盘镜像
    将磁盘镜像压缩以节省存储空间(适用于 QCOW2)
    qemu-img convert -O qcow2 -c <源镜像文件> <目标镜像文件>
root@controller:~# qemu-img convert -O qcow2 -c cirros-0.3.4-x86_64-disk.img cirros-qcow2.img

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode 每日一题 56.合并区间

目录 问题描述 示例 示例 1 示例 2 问题分析 算法设计 步骤 1&#xff1a;排序 步骤 2&#xff1a;合并区间 步骤 3&#xff1a;返回结果 过题图片 代码实现 复杂度分析 题目链接 结语 问题描述 给定一个区间数组 intervals&#xff0c;其中每个区间由两个整数 s…

Oceanbase离线集群部署

准备工作 两台服务器 服务器的配置参照官网要求来 服务器名配置服务器IPoceanbase116g8h192.168.10.239oceanbase216g8h192.168.10.239 这里选oceanbase1作为 obd机器 oceanbase安装包 选择社区版本的时候自己系统的安装包 ntp时间同步rpm包 联网机器下载所需的软件包 …

Bert的Transformer原理

多义词如何应对&#xff1a; 答&#xff1a;通过Self attention&#xff0c;不同的上下文&#xff0c;对同一个"苹果"&#xff0c;得到截然不同的embedding激活值&#xff1b; Multi-head的作用&#xff1a; 有些类似CNN里用的多个卷积核得到多个Channel的特征图&…

AIDD-人工智能药物设计-化学自然语言引导的扩散式类药分子编辑:DiffIUPAC的魔法之旅

J. Pharm. Anal. | 化学自然语言引导的扩散式类药分子编辑&#xff1a;DiffIUPAC的魔法之旅 AIDD药研. 制药工程和生命科学背景&#xff0c;重点关注于计算机辅助药物设计&#xff08;CADD&#xff09;/药物筛选、分子动力学模拟MD&#xff0c;兽药信息学VetInformatics&…

ThinkPHP+Layui开发的ERP管理系统

ERP采购生产销售系统&#xff0c;一款基于ThinkPHPLayui开发的ERP管理系统&#xff0c;帮助中小企业实现ERP管理规范化&#xff0c;此系统能为你解决五大方面的经营问题&#xff1a;1.采购管理 2.销售管理 3.仓库管理 4.资金管理 5.生产管理&#xff0c;适用于&#xff1a;服装…

Elasticsearch:使用 Elastic APM 监控 Android 应用程序

一、前言 人们通过私人和专业的移动应用程序在智能手机上处理越来越多的事情。 拥有成千上万甚至数百万的用户&#xff0c;确保出色的性能和可靠性是移动应用程序和相关后端服务的提供商和运营商面临的主要挑战。 了解移动应用程序的行为、崩溃的发生和类型、响应时间慢的根本…

杂发单的单据类型一个参数的逻辑

【核准中可改】被产线滥用了。它们可以这样做&#xff0c;开立一张杂发单&#xff0c;打印出来交领导层签名。单据要交财务做核算的。然后去修改杂发单的材料。以为可以瞒天过海。2个仓库&#xff0c;一个中掉坑里&#xff0c;一个发现了它们的拙劣的手段&#xff0c;上报之后没…

事务的介绍(spring)

什么是事务&#xff1a; 事务是一组操作的集合&#xff0c;是不可分割的操作。比如一系列sql语句在一个操作中执行&#xff0c;要么成功要么失败。 比如在转账的时候&#xff0c;a钱包-100&#xff0c;b钱包100&#xff0c;两个要么同时成功要么同时失败。 &#xff08;复习&a…

CSS一些小点 —— 12.7

1. box-sizing: border-box box-sizing 属性&#xff0c;默认值为 content-box box-sizing: border-box 使padding和border的值不会再影响元素的宽高&#xff1b;padding和border的值算在指定宽高的内部&#xff08;但是外边距依然算做外部&#xff09; 2. overflow: hidden …

51c嵌入式~单片机合集3

我自己的原文哦~ https://blog.51cto.com/whaosoft/12581900 一、STM32代码远程升级之IAP编程 IAP是什么 有时项目上需要远程升级单片机程序&#xff0c;此时需要接触到IAP编程。 IAP即为In Application Programming&#xff0c;解释为在应用中编程&#xff0c;用户自己的程…

将军令游戏源码(​全套源代码+数据库+全套工具+客户端+服务端)

将军令游戏源码&#xff08;​全套源代码数据库全套工具客户端服务端&#xff09; 下载地址&#xff1a; 通过网盘分享的文件&#xff1a;【源码】将军令游戏源码&#xff08;全套源代码数据库全套工具客户端服务端&#xff09; 链接: https://pan.baidu.com/s/1A5oOn7NsDU1woH…

渐冻症患者的饮食希望:五种食物带来的可能

渐冻症&#xff0c;一个令人胆寒的医学难题。目前&#xff0c;全球约有 50 万渐冻症患者&#xff0c;这个数字还在不断增长。渐冻症会逐渐剥夺患者的行动能力、语言能力&#xff0c;甚至呼吸能力&#xff0c;给患者及其家庭带来沉重的打击。然而&#xff0c;有传言称 “渐冻症最…

文件IO——01

1. 认识文件 1&#xff09;文件概念 “文件”是一个广义的概念&#xff0c;可以代表很多东西 操作系统里&#xff0c;会把很多的硬件设备和软件资源抽象成“文件”&#xff0c;统一管理 但是大部分情况下的文件&#xff0c;都是指硬盘的文件&#xff08;文件相当于是对“硬…

安装 pytorch lighting

1 搜寻配对版本 进入lighting官网&#xff0c;查看配对版本 比如我就选择Python3.11、torch2.4、lightning2.4.0 2 搜寻pytorch安装命令 进入pytorch官网&#xff0c;查看以前版本的下载命令 注意要选择是 gpu版本的pytorch查看自己显卡驱动命令&#xff1a;nvidia-smi查看…

2030. gitLab A仓同步到B仓

文章目录 1 A 仓库备份 到 B 仓库2 B 仓库修改main分支的权限 1 A 仓库备份 到 B 仓库 #!/bin/bash# 定义变量 REPO_DIR"/home/xhome/opt/git_sync/zz_xx_xx" # 替换为你的本地库A的实际路径 REMOTE_ORIGIN"http://192.168.1.66:8181/zzkj_software/zz_xx_xx.…

在GITHUB上传本地文件指南(详细图文版)

这份笔记简述了如何在GITHUB上上传文件夹的详细策略。 既是对自己未来的一个参考&#xff0c;又希望能给各位读者带来帮助。 详细步骤 打开目标文件夹&#xff08;想要上传的文件夹&#xff09; 右击点击git bash打开 GitHub创立新的仓库后&#xff0c;点击右上方CODE绿色按…

[每周一更]-(第126期):MQ解耦场景

消息队列&#xff08;MQ&#xff09;解耦是一种软件架构设计模式&#xff0c;主要通过中间件将系统中的生产者和消费者模块分离&#xff0c;减少模块之间的直接依赖&#xff0c;使系统具有更高的扩展性和灵活性。这种模式尤其适用于需要处理复杂业务逻辑、频繁请求或异步处理的…

学习Python的笔记--面向对象-继承

1、概念 多个类之间的所属关系&#xff0c;即子类默认继承父类的所有属性和方法。 注&#xff1a;所有类默认继承object类&#xff0c;object类是顶级类或基类&#xff1b; 其他子类叫做派生类。 #父类A class A(object):def __init__(self):self.num1def info_print(self)…

操作系统基本管理

操作系统基本原理 计算机的操作地位 文件系统 若某文件系统的目录结构如下图所示,假设用户要访问文件rw.dll&#xff0c;且当前工作目录为 stools 三态模型 进程管理 位示图 &#xff08;23&#xff09;4096/321129 &#xff08;24&#xff09;200*1024/1/326400 PV操作&a…

基于框架的逻辑回归:原理、实现与应用

目录 ​编辑 逻辑回归原理 损失函数与优化 正则化 基于框架的实现 1. 数据预处理 2. 模型初始化与训练 3. 模型评估与调优 4. 特征缩放 逻辑回归的应用 信用评分 医疗诊断 垃圾邮件识别 推荐系统 结论 在机器学习领域&#xff0c;逻辑回归是一种基础且强大的分类…