企业级批量无人值守安装

news2024/9/20 0:37:56

企业级批量无人值守安装

    • 一、批量无人值守安装
      • 1.简介
        • PXE工作流程
      • 2.核心技术(dhcp、httpd、tftp)
      • 3.实验
        • 3.1 准备环境
        • 3.2 防护关闭
        • 3.3 软件安装
        • 3.4 软件配置
          • DHCP服务设置
          • httpd服务配置
          • tftp服务配置
        • 3.5 编写引导安装相关文件,放到指定位置
          • 3.5.1 需要共享的文件
          • 3.5.2 导入必要文件到指定位置(内核文件、引导菜单文件)
          • 3.5.3 复制并编写引导菜单文件
        • 3.6 创建并编写无人值守安装模板文件
        • 3.7 自定义模板内容实现更多的安装需求
    • 二、网络无人值守批量装机-cobbler
      • 简介
      • 工作原理
      • cobbler部署流程
        • 1.准备工作
        • 2.安装cobbler和相关软件
        • 3.配置cobbler
        • 4.导入镜像绑定ks文件
          • 4.1 导入镜像
          • 生成ks模板文件
          • 查看指定镜像的profile配置文件,将ks文件绑定到指定镜像
          • 创建测试虚拟机进行验证
          • web管理终端
        • 5.相关目录和命令帮助

一、批量无人值守安装

1.简介

PXE(Pre-boot Execution Environment)是由intel设计的协议,它可以使计算机通过网络启动。

PXE协议分为clientserver两端,PXE client在网卡的ROM中,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。PXE在其启动过程中,客户端请求服务器分配IP地址,之后PXE Client使用TFTP Client通过TFTP(Trivial File Transfer Protocol)协议下载启动安装程序所需的文件。

PXE网络安装:客户机通过支持PXE的网卡向网络中发送请求DHCP信息的广播请求IP地址等信息,DHCP服务器给客户端提供IP地址和其它信息(TFTP服务器、启动文件等),之后请求并下载安装需要的文件。

Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录需要人工干预填写的各种参数,并记录生成一个名为anaconda-ks.cfg的文件。

装机模式:网络批量装机U盘介质批量装机

PXE工作流程

在这里插入图片描述

  1. PXE Client 从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP和安装相关文件
  2. DHCP 服务器返回分配给客户机的IP地址,以及PXE文件的存放位置(文件一般是放在一台TFTP服务器上)
  3. PXE Client 向本网络中的TFTP服务器索取pxelinux.0 文件
  4. PXE Client 取得pxelinux.0 文件后之执行该文件
  5. 根据pxelinux.0 的执行结果,通过TFTP服务器加载内核和文件系统
  6. 进入安装画面, 此时可以通过选择HTTP、FTP、NFS 方式之一进行安装相关软件包

2.核心技术(dhcp、httpd、tftp)

dhcp:网络参数共享、tftp服务器地址、共享文件名

tftp:引导文件、菜单文件、内核和驱动文件系统

httpd:系统镜像、软件仓库、装机脚本

cobbler:批量管理server端相关软件(dhcp、tftp、httpd、dns…)rsync

cobbler优点:对于初级运维管理人员非常的友好、增加web管理页面,同时共享多个linux的发行版本

3.实验

3.1 准备环境
准备两台虚拟机,一台虚拟机进行软件配置,另一台进行测试
软件工具:dhcp、tftp-server、httpd
虚拟客户机需要关闭启动时连接
3.2 防护关闭
#SELinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#Firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service
3.3 软件安装
yum -y install httpd dhcp tftp-server syslinux 
system-config-kickstart

注意:如果CentOS 7有图形界面可以安装system-config-kickstart软件,实现手动创建*.ks.cfg文件。

3.4 软件配置
DHCP服务设置
  • 修改配置文件

    cp -a /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
    
    vim /etc/dhcp/dhcpd.conf
    option domain-name-servers 114.114.114.114;
    default-lease-time 600;
    max-lease-time 7200;
    log-facility local7;
    subnet 192.168.48.0 netmask 255.255.255.0 {
      range 192.168.48.200 192.168.48.249;
      option domain-name-servers 114.114.114.114;
      option routers 192.168.48.2;
      default-lease-time 600;
      max-lease-time 7200;
      next-server 192.168.48.110;	#填写tftp服务器IP地址
      filename "pxelinux.0";		#填写引导文件名称
    }
    
  • 启动dhcpd服务,并设置开机自启动

    systemctl enable --now dhcpd
    ss -tlunp|grep dhcpd  #检查启动状态
    
httpd服务配置
  • 使用httpd实现光盘共享

    mkdir /var/www/html/centos7
    mount /dev/sr0 /var/www/html/centos7
    
  • 启动httpd服务、并设置开机自启

    systemctl enable --now httpd
    
  • 检查httpd服务启动状态,以及镜像共享情况

    ss -tlunp|grep httpd
    http://192.168.48.110/centos7/
    
tftp服务配置
  • 配置xinetd服务下的tftp服务

    vim /etc/xinetd.d/tftp
    service tftp
    {
            socket_type         = dgram
            protocol              = udp
            wait                     = yes
            user                     = root
            server                  = /usr/sbin/in.tftpd
            server_args          = -s /var/lib/tftpboot
            disable                 = no		#修改为no
            per_source           = 11
            cps                       = 100 2
            flags                     = IPv4
    }
    
  • 启动tftp.socket,并设置开机自启动

    systemctl enable --now tftp.socket
    
  • 检查tftp服务启动状态

    systemctl status tftp
    ss -tlunp | grep ":69"
    
3.5 编写引导安装相关文件,放到指定位置
3.5.1 需要共享的文件
  • 引导文件 - pxelinux.0
  • 引导菜单 - default{isolinux.cfg} – 开机后选择启动项的菜单文{该文件存放在一个叫:pxelinux.cfg的目录下}
  • 内核文件 - vmlinuz initrd.img
3.5.2 导入必要文件到指定位置(内核文件、引导菜单文件)
cp -a /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/
#引导文件

cp -a /var/www/html/centos7/isolinux/{vesamenu.c32,boot.msg,splash.png}   /var/lib/tftpboot/
#用来辅助完成菜单的显示

cp -a /var/www/html/centos7/images/pxeboot/{vmlinuz,initrd.img}   /var/lib/tftpboot/
#用来预加载的内核和驱动文件,然后使用预加载内核进行系统安装

ls /var/lib/tftpboot/
boot.msg  initrd.img pxelinux.0  splash.png  vesamenu.c32  vmlinuz
3.5.3 复制并编写引导菜单文件
mkdir /var/lib/tftpboot/pxelinux.cfg/
#创建菜单文件目录

cp -a /var/www/html/centos7/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
#引导菜单文件,复制并改名产生

#修改配置文件
vim /var/lib/tftpboot/pxelinux.cfg/default
default vesamenu.c32
timeout 300  #开机安装倒计时

display boot.msg
menu background splash.png

label linux
  menu label install CentOS 7 by Kickstart
  menu default
  kernel vmlinuz
  append initrd=initrd.img inst.repo=http://192.168.48.110/centos7 inst.ks=http://192.168.48.110/ks_config/centos7.cfg quiet
3.6 创建并编写无人值守安装模板文件
#创建模板目录
mkdir /var/www/html/ks_config
#编写模板文件
vim /var/www/html/ks_config/centos7.cfg

#version=DEVEL
auth --enableshadow --passalgo=sha512      #加密方式
url --url=http://192.168.88.110/centos7/  #dhcp地址
graphical
firstboot --enable
ignoredisk --only-use=sda
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
network  --bootproto=dhcp --device=ens33 --onboot=on --ipv6=auto --no-activate
network  --hostname=localhost.localdomain
rootpw --iscrypted $6$LO0oxqvmJfQOFW7p$cgV.4sVUp7UgEDSwUToHSIhRCmX4ETF2S/CoRmhnf.NHkCJvS1.Or8HENDSPkCrfnCgUlnVdxNWR0iK20GZF70	#设置root密码
firewall --disabled
selinux --disabled
services --disabled="chronyd"
timezone Asia/Shanghai --isUtc --nontp
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
clearpart --none --initlabel
part /boot --fstype="xfs" --ondisk=sda --size=1024
part swap --fstype="swap" --ondisk=sda --size=2048
part / --fstype="xfs" --ondisk=sda --grow --size=1

%packages
@^web-server-environment
@base
@core
@web-server
kexec-tools
gcc
lrzsz
mariadb-server
mariadb
%end

reboot
3.7 自定义模板内容实现更多的安装需求

设置将剩余所有空间设置成根分区

--grow --size=1

在安装后顺便执行脚本配置某些参数(以yum源为案例)

[root@localhost ~]# vim /var/www/html/ks_config/centos7.cfg
%post --interpreter=bash
cd /etc/yum.repos.d/
mkdir back
mv C* back/
echo "[centos7]
name=centos7 repo for kickstart
baseurl=http://192.168.63.133/centos7
enable=1
gpgcheck=0" >> CentOS-Media.repo
%end

reboot

注意

修改正在使用repo软件仓库配置文件,repo文件中第一行写成[development]

注意:*.ks.cfg文件可以直接找别人写好的模板用,也可以通过安装system-config-kickstart命令手动创建,但一定注意,在安装此软件包之前先做以下操作
修改正在使用repo软件仓库配置文件,repo文件中第一行写成[development]

python -c 'import crypt; print(crypt.crypt("123456", crypt.mksalt(crypt.METHOD_SHA512)))'   #使用该命令生成sha512加密之后的密码

二、网络无人值守批量装机-cobbler

简介

​ pxe+kickstart已经能解决网络批量装机的问题,但是存在局限的问题他只能针对某一个版本的操作系统批量安装,无法满足复杂环境的部署需求,而且安装较为复杂

​ 本次使用cobbler是基于pxe+kickstart技术的二次封装工具,简化安装部署流程,增加对多发行版本的支持,拥有web页面进行管理,上手更加的容易。

工作原理

cobbler二次封装后的工作原理:
在这里插入图片描述

cobbler部署流程

1.准备工作

添加一块新的硬盘100GB,分成两个分区,然后,分别挂载至:/iso 和 /var/www 目录上,然后再进行后续实验。

gdisk /dev/sdb

在这里插入图片描述

mkfs.xfs /dev/sdb1
mkfs.xfs /dev/sdb2

mkdir /iso
mkdir /var/www/

vim /etc/fstab
/dev/sdb1 /iso xfs defaults 0 0
/dev/sdb1 /var/www xfs defaults 0 0

关闭防火墙和SELINUX

systemctl stop firewalld
systemctl disable firewalld
#关闭firewalld

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#关闭SELinux

配置连接到互联网

vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BOOTPROTO=none
NAME=ens33
UUID=4b1e5f8a-1eda-4f66-bbb3-119bf51479fc
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.88.110
PREFIX=24
GATEWAY=192.168.88.2
DNS1=114.114.114.114

——————————————————————
systemctl restart network

配置基础网络yum源和epel扩展yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum clean all
yum makecache
2.安装cobbler和相关软件

安装软件

 yum -y install cobbler cobbler-web tftp-server dhcp httpd xinetd

启动&设置开机自启动

systemctl enable --now httpd cobblerd
3.配置cobbler

1.检查cobbler配置,根据提示完成修改

cobbler check
——————————————————————
The following are potential configuration items that you may want to fix:

1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work.  This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
3 : change 'disable' to 'no' in /etc/xinetd.d/tftp
4 : Some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
5 : enable and start rsyncd.service with systemctl
6 : debmirror package is not installed, it will be required to manage debian deployments and repositories
7 : ksvalidator was not found, install pykickstart
8 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
9 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

Restart cobblerd and then run 'cobbler sync' to apply changes.
——————————————————————

2.依次解决问题

  • 问题1和问题2
vim /etc/cobbler/settings		#修改以下配置文件内容
allow_dynamic_settings: 1
server: 192.168.48.100
next_server: 192.168.48.100
pxe_just_once: 1
manage_dhcp: 1

systemctl restart cobblerd
#一定要先重启服务然后执行下面两条命令
  • 问题3
$ vim  /etc/xinetd.d/tftp
disable = no
  • 问题4
cobbler get-loaders
#这个是原来的解决方案,但是最近官方做了重大更新,不在提供引导程序的下载功能了,so这个会报错

接下来是这个解决方案报错的解决方案!
#https://github.com/hbokh/cobbler-loaders

下载大神做好的文件
https://raw.githubusercontent.com/hbokh/cobbler-loaders/main/files/cobbler-loaders.tar.gz

yum -y install grub2-efi-x64-modules grub2-pc-modules

tar -xf /root/cobbler-loaders.tar.gz
cd /var/lib/cobbler/loaders/
cp -a /root/var/lib/cobbler/loaders/* ./
  • 问题5
systemctl enable rsyncd
systemctl start rsyncd
  • 问题6:忽略即可

  • 问题7

yum -y install pykickstart
  • 问题8
openssl passwd -1 -salt 'root' '123456'
$1$root$j0bp.KLPyr.u9kgQ428D10
#以上内容是加密密码,最终在kickstart文件中生效

vim /etc/cobbler/settings   #修改成以下内容
default_password_crypted: "$1$root$j0bp.KLPyr.u9kgQ428D10"
  • 问题9
yum -y install fence-agents

3.配置cobbler-dhcp

vim /etc/cobbler/dhcp.template
subnet 192.168.48.0 netmask 255.255.255.0 {
     option routers             192.168.48.2;
     option domain-name-servers    114.114.114.114;
     option subnet-mask          255.255.255.0;
     range dynamic-bootp         192.168.48.110 192.168.88.254;    
#未列出所有,仅列出了修改内容

systemctl restart cobblerd

4.将cobbler控制的各个服务和文件复制到指定位置

#切记,一定要在以上所有的操作都正常完成并生效后再指定以下命令。

$ cobbler sync
——————————————————————
如果又报错:dhcpd -t failed
原因:python文件内命令错误
解决:
cp -a /usr/lib/python2.7/site-packages/cobbler/modules/sync_post_restart_services.py /tmp
cd /tmp
vim sync_post_restart_services.py
#修改前dhcp_restart_command = "service %s restart" % dhcp_service_name
#修改后dhcp_restart_command = "/usr/bin/systemctl restart %s " % dhcp_service_name
python -m compileall  sync_post_restart_services.py
python -O -m compileall  sync_post_restart_services.py
#重新编译
cp -a *  /usr/lib/python2.7/site-packages/cobbler/modules/
#复制粘贴回去
systemctl restart cobbler
cobbler sync
——————————————————————

5.所有服务全部重启

systemctl restart httpd rsyncd dhcpd xinetd cobblerd tftp.socket
systemctl enable httpd rsyncd dhcpd xinetd cobblerd tftp.socket
4.导入镜像绑定ks文件
4.1 导入镜像
mkdir /iso/centos7.6/
mount -r /dev/sr0 /iso/centos7.6/
cobbler import --name="CentOS-7.6-x86_64" --path=/iso/centos7.6
#此步骤极其缓慢,主要原因是镜像太大了
#cobbler会将镜像中的所有安装文件拷贝到本地一份,放在/var/www/cobbler/ks_mirror下的CentOS-7.6-x86_64目录下。因此/var/www/cobbler目录必须具有足够容纳安装文件的空间。
ll /var/www/cobbler/ks_mirror/

cobbler profile list
#列出所有导入的镜像列表
生成ks模板文件
cd /var/lib/cobbler/kickstarts/

#可以直接导入之前pxe用的文件
vim centos7.cfg
#version=DEVEL
auth --enableshadow --passalgo=sha512      #加密方式
url --url=http://192.168.48.100/cobbler/ks_mirror/CentOS-7.6-x86_64/
#修改为指定目录
graphical
firstboot --enable
ignoredisk --only-use=sda
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
network  --bootproto=dhcp --device=ens33 --onboot=on --ipv6=auto --no-activate
network  --hostname=localhost.localdomain
rootpw --iscrypted $6$LO0oxqvmJfQOFW7p$cgV.4sVUp7UgEDSwUToHSIhRCmX4ETF2S/CoRmhnf.NHkCJvS1.Or8HENDSPkCrfnCgUlnVdxNWR0iK20GZF70	#设置root密码
firewall --disabled
selinux --disabled
services --disabled="chronyd"
timezone Asia/Shanghai --isUtc --nontp
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
clearpart --none --initlabel
part /boot --fstype="xfs" --ondisk=sda --size=1024
part swap --fstype="swap" --ondisk=sda --size=2048
part / --fstype="xfs" --ondisk=sda --grow --size=1

%packages
@^web-server-environment
@base
@core
@web-server
kexec-tools
gcc
lrzsz
mariadb-server
mariadb
%end

reboot
查看指定镜像的profile配置文件,将ks文件绑定到指定镜像
cobbler profile report --name=CentOS-7.6-x86_64
#根据提示修改内容,将自定义ks文件绑定到该镜像上
cobbler profile edit --name=CentOS-7.6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg
创建测试虚拟机进行验证

注意:虚拟机的内存必须大于2G,否则会出现无法安装的情况

web管理终端

https://192.168.48.110/cobbler_web

设置用户密码

grep -A 1 "\[authentication\]" /etc/cobbler/modules.conf 
[authentication]
module = authn_configfile

$ htdigest -c /etc/cobbler/users.digest Cobbler admin
Adding password for admin in realm Cobbler.
New password:
Re-type new password:

在这里插入图片描述

5.相关目录和命令帮助

配置文件目录:

/etc/cobbler
/etc/cobbler/settings : cobbler 主配置文件
/etc/cobbler/iso/: iso模板配置文件
/etc/cobbler/pxe: pxe模板文件
/etc/cobbler/power: 电源配置文件
/etc/cobbler/user.conf: web服务授权配置文件
/etc/cobbler/users.digest: web访问的用户名密码配置文件
/etc/cobbler/dhcp.template : dhcp服务器的的配置末班
/etc/cobbler/dnsmasq.template : dns服务器的配置模板
/etc/cobbler/tftpd.template : tftp服务的配置模板
/etc/cobbler/modules.conf : 模块的配置文件

数据目录:

/var/lib/cobbler/config/: 用于存放distros,system,profiles 等信 息配置文件
/var/lib/cobbler/triggers/: 用于存放用户定义的cobbler命令
/var/lib/cobbler/kickstart/: 默认存放kickstart文件
/var/lib/cobbler/loaders/: 存放各种引导程序 ,镜像目录
/var/www/cobbler/ks_mirror/: 导入的发行版系统的所有数据
/var/www/cobbler/images/ : 导入发行版的kernel和initrd镜像用于 远程网络启动
/var/www/cobbler/repo_mirror/: yum 仓库存储目录

日志目录:

/var/log/cobbler/installing: 客户端安装日志
/var/log/cobbler/cobbler.log : cobbler日志
cobbler commands 介绍:
cobbler check 核对当前设置是否有问题
cobbler list 列出所有的cobbler元素
cobbler report 列出元素的详细信息
cobbler sync 同步配置到数据目录,更改配置最好都要执行下
cobbler reposync 同步yum仓库
cobbler distro 查看导入的发行版系统信息
cobbler system 查看添加的系统信息
cobbler profile 查看配置信息

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SpringCloud的能源管理系统-能源管理平台源码-能源在线监测平台-双碳平台源码-SpringCloud全家桶-能管管理系统源码

介绍 适用于高能耗企业、建筑、工厂、园区的水、电、气、热、油、空压机等能源数据采集、分析、报表; 基于SpringCloud的能源管理系统-能源管理平台源码-能源在线监测平台-双碳平台源码-SpringCloud全家桶-能管管理系统源码 软件架构 软件功能 数字大屏 使用说明

关于鸣潮启动器450张图片杂谈—从代码分析为何使用帧动画

关于鸣潮启动器450张图片杂谈—从代码分析为何使用帧动画 前言 在鸣潮启动器的目录下 Wuthering Waves\kr_game_cache\animate_bg\99de27ae82e3c370286fba14c4fcb699打开该目录发现有450张图片,不难看出启动器的背景动画是由这450张图片不断切换实现的 qt框架 从…

小白公式量化--用Python指标公式模块做量化策略研究

《小白公式量化系统》是纯Python开发的,因此我们可以借用《小白公式量化系统》的金融模块,来实现自己的Python量化框架,以及用Python实现量化研究、选股、人工智能机器学习,以及打造自己的行情软件和量化平台。我们后面文章讲介绍…

【大模型从入门到精通27】开源库框架LangChain 语义搜索:高级检索策略1

这里写目录标题 语义搜索:高级检索策略简介最大边际相关性 (MMR)自我查询检索上下文压缩增强语义搜索的高级文档检索技术引言设置环境导入必要的库初始化向量数据库以进行相似性搜索导入 Chroma 向量存储库和 OpenAI 嵌入 填充向量数据库定义文本列表以填充数据库创…

基于YOLOv8-pose的手部关键点检测(3)- 实现实时手部关键点检测

目录 前言 1.扩大检测框区域 2.先检测手部,后检测手部关键点 3.正面视角检测 4.侧面视角检测 5.摄像头视角检测 6.遮挡视角检测 7.结论 前言 使用YOLOv8-m对图像进行手部检测,然后扩大检测框区域,并对该区域使用YOLOv8-s-pose使用关键…

达梦数据库版本介绍

达梦数据库根据不同用户的不同需求,提供了三种版本的数据库:DM Standard Edition 标准版、DM Enterprise Edition 企业版、DM Security Edition 安全版。那么这三种版本有什么区别,我们该如何选择合适的版本?下面先介绍三种版本各…

【笔记】泰山派环境配置遇到E: Unable to locate package repo

答案来自通义千问,解决了我的问题,做一些记录 你尝试在Ubuntu或Debian系统上使用apt命令安装repo工具,但是遇到了问题,因为repo不是直接在软件源中作为一个独立的包提供的。repo是Google的一个Git仓库管理工具,通常用…

【系统架构设计】系统性能评价(二)

【系统架构设计】系统性能评价(二) 性能指标性能计算性能设计阿姆达尔解决方案负载均衡 性能评估基准测试程序Web 服务器的性能评估 性能指标 性能计算 性能设计 阿姆达尔解决方案 阿姆达尔定律: 系统中对某部件采用某种更快的执行方式&a…

Centos8和stream 9防火墙基本使用

查发行版: [rootlocalhost nps-0.26.10]# cat /etc/redhat-releaseCentOS Stream release 9查看防火墙状态 systemctl status firewalld firewall-cmd --state开启/关闭/重启防火墙 systemctl start firewalld[rootlocalhost conf]# systemctl start firewalld …

Eureka原理与实践:深入探索微服务架构的核心组件

在微服务架构日益盛行的今天,服务之间的注册与发现成为了保证系统高可用性和灵活性的关键。Eureka,作为Netflix开源的服务注册与发现框架,凭借其简单、健壮的特性,在微服务领域占据了举足轻重的地位。本文将深入剖析Eureka的原理&…

ubuntu 24.04 安装 Nvidia 显卡驱动 + CUDA + cuDNN,配置 AI 深度学习训练环境,简单易懂,一看就会!

ubuntu 24.04 安装 Nvidia 显卡驱动 CUDA cuDNN,配置 AI 深度学习训练环境,简单易懂,一看就会! 1.查看本机显卡型号 lspci | grep -i nvidia输出如下: 01:00.0 3D controller: NVIDIA Corporation GM108M [GeForc…

焦虑迷雾中的幻觉挑战?专家教你如何拨云见日!

在这个快节奏、高压力的时代,焦虑症已成为许多人难以言说的秘密。它不仅让人心情沉重,更有可能在极端情况下引发幻觉,仿佛置身于一个光怪陆离、难以分辨真假的世界。面对这样的困境,我们该如何自救,如何找到那束穿透焦…

ansible【自动化配置】(thirty day)

回顾 1、mysql和python (1)不需要执行mysql_ssl_rsa_setup (2)Change_master_to.不需要get public key 2、可以使用pymysql非交互的管理mysql (1)connpymysql.connect(host,user,password,database,prot) …

OpenCV图像处理——积分图像计算(C++/Python)

概述 积分图像是一种高效的图像处理技术,最初由Crow在1984年提出,目的是为了提高多尺度透视投影的渲染速度。它通过构建一个积分图,使得图像中任意矩形区域的像素和能够在常数时间内快速计算出来,极大地减少了在图像模糊、边缘提…

WARNING: There was an error checking the latest version of pip. 解决方案

WARNING: There was an error checking the latest version of pip. 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开…

【单片机】51单片机入门教程(二):定时器的模式详解与中断应用实例

文章目录 51单片机定时器教程:模式详解与中断应用实例1. 介绍2. 51单片机定时器/计数器概述3. 定时器控制寄存器与中断入口4. 模式0:13位定时器/计数器5. 模式1:16位定时器/计数器6. 模式2:8位自动重装载定时器/计数器7. 模式3:分割两个独立的8位定时器/计数器8. 总结51单…

Vue.js入门系列(十):深入理解Vue指令及自定义指令的使用

个人名片 🎓作者简介:java领域优质创作者 🌐个人主页:码农阿豪 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[2435024119qq.com] &#x1f4f1…

【技术前沿】MetaGPT入门安装部署——用多个大语言模型解决任务!一键安装,只需填写OpenAI API

项目简介 MetaGPT 是一个多智能体框架,旨在构建全球首家 “AI 软件公司”。该项目通过为 GPT 分配不同的角色,模拟产品经理、架构师、工程师等职业,协同完成复杂的软件开发任务。MetaGPT 将一个简单的需求转化为完整的软件开发流程&#xff…

点接触导致Fluent Meshing网格划分出错的处理

问题概述 在CFD建模中,几何处理有时会出现两个面是单点接触的情形。 举例如下图所示,在球形计算域内部,存在分别用黄色和粉红色标记的内部悬浮面,两者接触区域为一个点,而非一条曲线。 上述几何模型可正确的导入Flue…

从零搭建xxl-job(四):xxljob进行一些性能优化

之前的代码这部分并没有补充完毕,假如调度中心如果判断有定时任务要执行了,该怎么远程通知给执行定时任务的程序呢?当定时任务要把自己的信息发送给调度中心时,是通过一个RegistryParam对象发送的。该对象内部封装了定时任务相关的…