Linux-服务器硬件及RAID配置实验
系列文章目录
` 提示:仅用于个人学习,进行查漏补缺使用。
1.Linux介绍、目录结构、文件基本属性、Shell
2.Linux常用命令
3.Linux文件管理
4.Linux 命令安装(rpm、install)
5.Linux账号管理
6.Linux文件/目录权限管理
7.Linux磁盘管理/文件系统
8.Linux逻辑卷管理LVM
9.Linux磁盘配额
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 系列文章目录
- 前言
- 一.RAID磁盘阵列介绍
- 二.RAID主要优点
- 三.RAID级别
- RAID 0 (称为带区卷,性能最佳)
- RAID 1
- RAID 5
- RAID 6
- RAID 10
- RAID 01
- RAID总结如下:
- 配置示例1:
- 步骤1. 检查是否已安装mdadm软件包【mdadm是用于管理软件磁盘阵列的工具】
- 步骤2. 虚拟机设置”里添加四个50G硬盘,确认添加后输入命令lsblk查看分区列表
- 步骤3. 给这四个硬盘分区,之后lsblk查看 _PS:这里可以打个快照,留做案例2_
- 步骤4. 为了后面实验方便,给dev/sde1 sdf1 sdg1 sdh1转换成raid格式
- 步骤5. 使用步骤一工具命令,查看分区的盘有无被使用
- 步骤6. 使用mdadm -C命令用e、f、g、h 盘创建RAID5磁盘阵列
- 步骤7. 系统创建中需要一会儿时间,可用相关命令查看进度
- 步骤8. 检查磁盘是否已做RAID
- 步骤9. 创建并挂载文件系统
- 步骤10. 实现模拟故障查看故障恢复
- _PS:这里制作的RAID5(n>=3)有四块物理硬盘,所以这里可以允许有两块物理硬盘出现问题。_
- 示例2:
- 将示例1的RAID5磁盘阵列(/dev/md0),恢复最初状态,并用efgh四个盘做RAID10.【也可到快照开始做,直接从步骤7开始】
- 步骤1.移除RAID5的设备
- 步骤2.解除RAID5的挂载
- 步骤3.停止RAID5的运行
- 步骤4.删除RAID5目录并vim/etc/fstab进入系统自动挂载文件里删除记录
- 步骤5.解挂载,停止raid设备,删除raid里所有硬盘后,擦除RAID超级块:
- 步骤6.删除配置文件
- 步骤7.用lsblk命令查看磁盘使用情况
- 步骤8.删除各个主分区,接着每个物理盘分四个区,sde1,sdf1,sdg,sdh1都给10G,最后用lsblK命令查看
- 步骤7.创建 RAID 10设备(先做镜像,再做条带)
- 步骤8.检查磁盘是否已做RAID
- 步骤9.创建并挂载文件系统
- 步骤10.实现故障恢复
- 步骤11.创建 /etc/mdadm.conf 配置文件,方便管理软RAID的配置,比如启动、停止
- 内容补充:
前言
本章大概内容有:
RAID磁盘阵列介绍、RAID主要优点、RAID级别、RAID配置实例实验等
提示:以下是本篇文章正文内容,下面案例可供参考
一.RAID磁盘阵列介绍
- RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列)是一种利用多个硬盘驱动器(HDD或SSD)组合起来提供更大存储容量、更高的数据传输速率和/或数据的冗余性的技术。
- 通过将多个物理硬盘虚拟化为一个或多个逻辑硬盘,RAID允许操作系统将它们视为一个单一的存储资源。
二.RAID主要优点
- 性能提升:通过并行处理I/O请求,RAID可以提高数据读写速度。例如,RAID 0通过条带化技术将数据分散存储在多个硬盘中,从而提供更高的吞吐量。
- 数据冗余:某些RAID级别(如RAID 1、RAID 5、RAID 6等)提供了数据的冗余存储,即使一个或多个硬盘损坏,也不会丢失数据。
- 容错能力:RAID可以检测和纠正某些类型的错误,确保数据的完整性和系统的连续运行。
- 灵活性:可以根据需要添加或移除硬盘,扩展存储容量或更换故障硬盘。
三.RAID级别
根据不同的应用场景和需求,RAID有多种不同的级别,每个级别都有其特定的优点和限制。以下是一些常见的RAID级别:
- RAID 0:提供最大的性能,但没有数据冗余。
- RAID 1:提供数据镜像,具有很好的冗余性,但存储效率低。
- RAID 5:提供数据分条存储和分布式奇偶校验,具有较好的性能和冗余性。
- RAID 6:类似于RAID 5,但提供独立的奇偶校验块,允许两个硬盘同时损坏而不丢失数据。
- RAID 10:结合了RAID 0的性能优化和RAID 1的数据冗余,提供高速度和高可靠性。
RAID 0 (称为带区卷,性能最佳)
- **性能**:RAID 0通过将数据分散存储在多个硬盘上,实现了数据的并行读写,从而提供了最高的存储性能。它非常适合需要高吞吐量的应用,如视频编辑、游戏服务器和一些数据库应用。- **缺点**:RAID 0没有冗余能力,如果其中一个硬盘失败,所有数据都会丢失。因此,它不适合需要数据保护的环境。
RAID 1
- **性能**:RAID 1提供了良好的读性能,但写性能可能会受到影响,因为数据需要写入两个硬盘。- **冗余性**:RAID 1通过将数据完全复制到两个硬盘上来实现冗余,如果一个硬盘失败,另一个硬盘仍然可以继续工作,不会丢失数据。- **存储效率**:由于数据被复制,RAID 1的存储效率只有50%,因为它需要两倍的存储空间来保持数据的冗余。
RAID 5
- **性能**:RAID 5在读取操作上表现良好,尤其是在大容量配置。写入性能也比RAID 1好,因为它不需要像RAID 1那样写入两次。- **冗余性**:RAID 5通过分布式奇偶校验来实现冗余,每个硬盘上都存储有用于恢复数据的奇偶校验信息。- **存储效率**:RAID 5的存储效率为(n-1)/n,其中n是硬盘。
RAID 6
- **性能**:RAID 6在写入性能上与RAID 5相似,但读取性能可能略好,因为它有两个独立的奇偶校验块。- **冗余性**:RAID 6可以承受两个硬盘同时失败而不丢失数据,这提供了比RAID 5更高的数据保护水平。- **存储效率**:RAID 6的存储效率为(n-2)/n。
RAID 10
- **性能**:RAID 10结合了RAID 0的条带化和RAID 1的镜像技术,提供了出色的读写性能和数据保护。- **冗余性**:RAID 10具有很高的冗余性,因为它可以承受多个硬盘的失败,具体取决于配置。- **存储效率**:RAID 10的存储效率为(n/2)/n,因为它需要至少两个硬盘来创建一个镜像。- **优点:**1. 高性能: 具有RAID 0的高性能,因为数据可以并行读写。2. 高可靠性**:** 具有RAID 1的高可靠性,因为数据被镜像到多个磁盘上。- **缺点:**1. 成本高: RAID 10需要大量磁盘,因此成本较高。2. 存储效率低**:** 与RAID 1一样,存储效率较低。
RAID 01
RAID 01是RAID 0和RAID 1的组合,它将多个RAID 0阵列进行镜像。
优点:
高性能: 具有RAID 0的高性能,通过并行读写多个RAID 0阵列。
数据冗余: 具有RAID 1的数据冗余,通过在RAID 0阵列之间进行镜像。
缺点:
故障容忍性低: 无法容忍多块磁盘的故障,一旦一个RAID 0阵列中的任何一块磁盘出现问题,整个系统都会受到影响。
存储效率低: 需要更多的磁盘来实现相同的存储容量,存储效率较低。
RAID总结如下:
配置示例1:
步骤1. 检查是否已安装mdadm软件包【mdadm是用于管理软件磁盘阵列的工具】
rpm -q mdadm
yum install -y mdadm
步骤2. 虚拟机设置”里添加四个50G硬盘,确认添加后输入命令lsblk查看分区列表
lsblk
查看到sde,sdf,sdg,sdh四个已添加
步骤3. 给这四个硬盘分区,之后lsblk查看 PS:这里可以打个快照,留做案例2
fdisk /etc/sde sdf sdg sdh ### n 1 ....
lsblk
步骤4. 为了后面实验方便,给dev/sde1 sdf1 sdg1 sdh1转换成raid格式
fdisk /dev/sde1 sdf1 sdg1 sdh1 ###t fd w
步骤5. 使用步骤一工具命令,查看分区的盘有无被使用
mdadm -E /dev/sd[e-h]1
步骤6. 使用mdadm -C命令用e、f、g、h 盘创建RAID5磁盘阵列
mdadm -C -v /dev/md0 [-a yes] -l5 -n3 /dev/sd[efg]1 -x1 /dev/sde1-C:表示新建,类似tar里面的 -C
-v:显示创建过程中的详细信息。
/dev/md0:创建 RAID5 的名称。【/dev目录cat下名称为md0】
-a yes:--auto,表示如果有什么设备文件没有存在的话就自动创建,可省略。
-l:指定 RAID 的级别,l5 表示创建 RAID5。
-n:指定使用几块硬盘创建 RAID,n3 表示使用 3 块硬盘创建 RAID。
/dev/sd[efg]1:指定使用这3块磁盘分区去创建 RAID。
-x:指定使用几块硬盘做RAID的热备用盘,x1表示保留1块空闲的硬盘作备用
/dev/sde1:指定用作于备用的磁盘记忆:使用mdadm命令创建磁盘阵列并显示详细信息,在/dev/目录下的名字为md0,级别为RAID5,
sd[efg]3个设备做主要的,1个使用/dev/sde1做热备
步骤7. 系统创建中需要一会儿时间,可用相关命令查看进度
cat /proc/mdstat #查看创建RAID的进度
或
mdadm -D /dev/md0 #查看磁盘阵列的详细信息
PS:可用watch命令来每隔一段时间刷新 /proc/mdstat 的输出
watch -n 1 ‘cat /proc/mdstat’
watch -n 1 'cat /proc/mdstat' #每隔1秒刷新时间刷新 /proc/mdstat 的输出
成功页面如下:
步骤8. 检查磁盘是否已做RAID
mdadm -E /dev/sd[efgh]1
步骤9. 创建并挂载文件系统
mkfs -t xfs /dev/md0 ###将刚创建的RAID5磁盘阵列,即/dev/目录下的md0制作文件系统
mkdir /myraid ###创建目录myraid,以便待会用来挂载
mount /dev/md0 /myraid/ ###将1里的md0设备挂载到 2里的myraid
df -Th ###查看磁盘使用情况,是否挂载到myraid
cp /etc/fstab /etc/fstab.bak ###将/et/fstab复制到 /etc/fstab.bak,已做备份【没有bak可以往下走】
vim /etc/fstab ###fstab是系统启动时自动挂载文件系统的信息,编辑
/dev/md0 /myraid xfs defaults 0 0 ###添加记录
mount -a ###系统启动自动挂载刷新
步骤10. 实现模拟故障查看故障恢复
mdadm /dev/md0 -f /dev/sde1 #模拟/dev/sde1 故障 ,即移除dev/sde1设备
mdadm -D /dev/md0 #查看发现sdh1已顶替sdbe1
1.故障前:
2.模拟故障后:
PS:这里制作的RAID5(n>=3)有四块物理硬盘,所以这里可以允许有两块物理硬盘出现问题。
例如:
mdadm /dev/md0 -f /dev/sdf1 ###移除sdf1
mdadm -D /dev/md0 ### 再次查看
继续移除sdg1
mdadm /dev/md0 -f /dev/sdg1 ###移除sdg1
mdadm -D /dev/md0 ### 再次查看
示例2:
将示例1的RAID5磁盘阵列(/dev/md0),恢复最初状态,并用efgh四个盘做RAID10.【也可到快照开始做,直接从步骤7开始】
步骤1.移除RAID5的设备
mdadm /dev/md0 -f /dev/sdf1
mdadm /dev/md0 -f /dev/sde1
mdadm /dev/md0 -f /dev/sdh1
步骤2.解除RAID5的挂载
umount /dev/md0
补充:mdadm命令其它常用选项
- -r:移除设备
- -a:添加设备
- -S:停止RAID
- **-A: 启动RAID **
mdadm /dev/md0 -f /dev/sdb1 ###从RAID阵列 `/dev/md0` 中移除故障的硬盘 `/dev/sdb1`。这通常在检测到硬盘故障时执行。
mdadm /dev/md0 -r /dev/sdb1###从RAID阵列 `/dev/md0` 中恢复被移除的硬盘 `/dev/sdb1`。这通常在修复了故障的硬盘后执行。
mdadm /dev/md0 -a /dev/sde1###将新硬盘 `/dev/sde1` 添加到已存在的RAID阵列 `/dev/md0` 中,这通常在需要扩展阵列或替换故障硬盘时执行。
步骤3.停止RAID5的运行
mdadm -S /dev/md0
步骤4.删除RAID5目录并vim/etc/fstab进入系统自动挂载文件里删除记录
步骤5.解挂载,停止raid设备,删除raid里所有硬盘后,擦除RAID超级块:
mdadm --misc --zero-superblock /dev/sde
mdadm --misc --zero-superblock /dev/sdf
mdadm --misc --zero-superblock /dev/sdg
mdadm --misc --zero-superblock /dev/sdg或者整合成下面这一条指令
mdadm --misc --zero-superblock /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1
##- `--misc` 是一个选项,它允许 `mdadm` 用于一些特殊的操作,
##- `--zero-superblock` 选项用于擦除设备上的 RAID 超级块
步骤6.删除配置文件
rm -rf /etc/mdadm.conf
至此,RAID5已经处理干净
步骤7.用lsblk命令查看磁盘使用情况
lsblk
步骤8.删除各个主分区,接着每个物理盘分四个区,sde1,sdf1,sdg,sdh1都给10G,最后用lsblK命令查看
步骤7.创建 RAID 10设备(先做镜像,再做条带)
mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[ef]1
mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[gh]1
mdadm -Cv /dev/md10 -l0 -n2 /dev/md0 /dev/md1或
mdadm -Cv /dev/md0 -l10 -n4 -x1 /dev/sd{e,f,g,h}1
cat /proc/mdstat ###查看创建RAID10的进度
步骤8.检查磁盘是否已做RAID
mdadm -E /dev/sd[efgh]1 ###检查和显示Linux 中多个设备的详细信息的命令。
步骤9.创建并挂载文件系统
mkfs -t xfs /dev/md10 ###给/dev/目录下的md10设备制作文件系统
mkdir /myraid ###创建目录挂载点myraid
mount /dev/md10 /myraid/ ###将文件系统md10挂载到挂载点myraid
df -Th ###显示 Linux 系统中文件系统的磁盘空间使用情况
vim /etc/fstab ###进入系统启动挂载盘目录文件fstab
/dev/md10 /myraid xfs defaults 0 0 ###加入系统启动挂载
步骤10.实现故障恢复
1.故障前使用mdadm -D /dev/md10,正常工作
2.模拟故障
mdadm /dev/md0 -f /dev/sde1 ###模拟sde1设备移除
3.故障后查看
mdadm -detail /dev/md0 ###查看md0设备状态,有一个盘有问题,正常运行
mdadm -D /dev/md10 ###查看md10设备状态,也能正常运行
步骤11.创建 /etc/mdadm.conf 配置文件,方便管理软RAID的配置,比如启动、停止
echo 'DEVICE /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1'>/etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
### 配置 `/etc/mdadm.conf` 文件,并扫描现有的 RAID 阵列
内容补充:
### 删除raid10过程:
1.先umount组建好的raid umount /dev/md102.停止raid设备:mdadm -S /dev/md103.此时如果忘了raid中的硬盘名称,要么重启系统,要么运行:mdadm -A -s /dev/md10
然后再用mdadm -D /dev/md10查看raid
中包含哪几个硬盘。再次运行第二步停止命令:mdadm -S /dev/md104.删除raid里的所有硬盘:mdadm --misc --zero-superblock /dev/sde,mdadm --misc --zero-superblock /dev/sdfmdadm --misc --zero-superblock /dev/sdgmdadm --misc --zero-superblock /dev/sdh
有几块硬盘,就按格式删几次,注意最后面的硬盘名称,也可以写在一条命令:
[root@localhost ~]# mdadm --misc --zero-superblock /dev/sdb10 /dev/sdf1 /dev/sdg1 /dev/sdh15.删除配置文件:rm -rf /etc/mdadm.conf
相关文章:

Linux-服务器硬件及RAID配置实验
系列文章目录 提示:仅用于个人学习,进行查漏补缺使用。 1.Linux介绍、目录结构、文件基本属性、Shell 2.Linux常用命令 3.Linux文件管理 4.Linux 命令安装(rpm、install) 5.Linux账号管理 6.Linux文件/目录权限管理 7.Linux磁盘管理/文件系统 8.Linu…...

白屏检测系统的设计与实现
目录 一、 什么是白屏问题?二、 问题分析与拆解2.1 人工判定一个白屏问题的逻辑2.2 自动化判定一个白屏问题的算法思想 三、 白屏检测算法3.1 图像灰度化3.2 图像二值化3.3 计算(判定为白屏)置信度 四、 白屏检测系统的设计与实现4.1 UI自动化…...

Real-Time Open-Vocabulary Object Detection:使用Ultralytics框架进行YOLO-World目标检测
Real-Time Open-Vocabulary Object Detection:使用Ultralytics框架进行YOLO-World目标检测 前言相关介绍前提条件实验环境安装环境项目地址LinuxWindows 使用Ultralytics框架进行YOLO-World目标检测进行训练进行预测进行验证 扩展目标跟踪设置提示 参考文献 前言 由…...

区块链用什么编程语言实现?
. 主流区块链的开发语言主要有:C、Go、Java、Rust、C#。 C使用率最高,其次是Go,很少有人用python开发区块链。...

【网络编程】UDP通信基础模型实现
udpSer.c #include<myhead.h> #define SER_IP "192.168.119.143" #define SER_PORT 7777 int main(int argc, const char *argv[]) {//1.创建int sfd socket(AF_INET,SOCK_DGRAM,0);if(sfd -1){perror("socket error");return -1;}//2.连接struct…...
Docker Compose 常用命令详解
Docker Compose 常用命令详解 Docker Compose 是 Docker 官方编排工具之一,用于定义和运行多容器 Docker 应用程序。通过 docker-compose.yml 文件,开发者可以轻松管理服务、网络、卷以及各服务之间的依赖关系。以下将介绍一些常用的 Docker Compose 命…...

超级外链工具,可发9600条优质外链
超级外链工具,是一款在线全自动化发外链的推广工具。使用本工具可免费为网站在线批量增加外链,大大提高外链发布工作效率,是广大草根站长们必备的站长工具。 外链工具只是网站推广的辅助工具,一般适用于短时间内无法建设大量外链…...

VisionPro二次开发学习笔记13-使用CogToolBlock进行图像交互
该程序演示了如何使用CogToolBlock进行图像交互. 从vpp文件中加载一个ToolBlock。 用户可以通过应用程序窗体上的数字增减控件修改ToolBlock输入端子的值。 用户还可以从coins.idb或采集FIFO中选择图像。 “运行一次”按钮执行以下操作: 获取下一个图像或读取下一…...

比特币价格分析:市场重置完成,下一个目标:70,000 美元
比特币再次处于关键支撑位,面临可能影响其短期前景的关键考验。分析师们正密切关注比特币是否重复熟悉的模式,暗示可能出现重大走势。 OKNews分析师Josh表示,比特币一直处于看跌趋势,正如 4 日图上的超级趋势指标所示。这种趋势的…...

大模型笔记5 Extractive QA任务评估
目录 Extractive QA任务评估 Extractive QA评测指标 precision, recall, f1 ROUGE 划分训练与评估数据集 token位置评估 单个token位置评估 输入label的token位置 预测token位置 评估 Wandb 共享机器同时登录 样本类别平衡 标记token label时对窗口进行筛选 训练…...

RCE绕过方式
目录 小于8个字符突破限制 无字母数字执行 php7的做法 php5的思考 PHP5shell 深入理解glob通配符 构造POC,执行任意命令 无参数读文件和RCE总结 代码解读 构造. 另一种构造方法 小于8个字符突破限制 但也只能执行一些非常短的命令,没有什么意义…...
Flutter 电视投屏模块
前言 村里的老人说:“珍爱生命,远离低头族。“ 之前开发的一个 DIM 项目 Tarsier,里面有一个分享视频的功能,同时包含在线视频播放、电视直播等。 考虑到用户在手机上看视频的体验问题,需要增加一个投屏功能,以便用户可以电影、电视直播等投到电视上用大屏幕观看。 用…...

【机器学习】卷积神经网络简介
🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 💫个人格言: "如无必要,勿增实体" 文章目录 卷积神经网络简介1. 引言2. CNN的基本概念2.1 什么是卷积神经网络2.2 CNN与传统…...

时间函数链接函数等
1. 2.top相当于windows任务管理器 3.命令模式下不加冒号20G直接跳转行数 4. 相当于strcat 5.:13,15y 13行到15行复制 6. Ctrl 右 】是追踪命令 7. vi off_t -t看类型 8. qa关闭所有 9.gg 移动最前面 GG移动到最后面 10.终端中的全选命令1. 使用快捷键&…...

Android控件(示例)
在Android应用程序中,界面由布局和组件组成。布局相当于框架,而控件则是框架里面的内容。了解过Android布局后,如果要设计ui界面,还需要了解和掌握各个控件的应用。 一个界面的设计,先从创建容器开始,再向…...

图论------贝尔曼-福德(Bellman-Ford)算法
算法概述: Bellman-Ford算法核心代码如下 for(int i 1;i<n-1;i) for(int j 1;j<m;j) if(dic[v[j]]> dic[u[j]] w[j]] dic[v[j]] dic[u[j]] w[j]; 首先我们要了解一个点就是我们这次不再使用邻接矩阵来存储图的信息,而是定义三个一维数组来…...

带你彻底搞懂useLayoutEffect的使用场景
开篇第一句: useLayoutEffect 可能会影响性能。尽可能使用 useEffect。 useLayoutEffect 是 useEffect 的一个版本,在浏览器重新绘制屏幕之前触发。 使用方法 useLayoutEffect(setup, dependencies?)调用 useLayoutEffect 在浏览器重新绘制屏幕之前进行布局测量&…...
大厂进阶之二:React高级用法HOC、Hooks对比、异步组件
本文分文三部分: HOC高阶组件 higher order componentHooks 16.8版本后新增的钩子API异步组件使用lazy和suspense两个api实现组件代码打包分割和异步加载 一、HOC高阶组件 1、定义 高阶组件不是组件而是函数,是react中用于复用组件逻辑的高级技巧&am…...

【扒代码】ope.py
文件目录: 引用方式 if not self.zero_shot: # 非零样本情况下,计算边界框的宽度和高度 box_hw torch.zeros(bboxes.size(0), bboxes.size(1), 2).to(bboxes.device) box_hw[:, :, 0] bboxes[:, :, 2] - bboxes[:, :, 0] # 宽度 box_hw[:, :, 1] bbox…...
【Rust光年纪】探索Rust终端编程:从跨平台操作到用户界面设计
构建跨平台终端应用的完美选择:Rust 库综述 前言 随着终端应用程序的发展,越来越多的开发者开始寻找跨平台的、易于使用的库来构建终端用户界面和执行终端操作。本文将介绍几个流行的 Rust 库,它们提供了丰富的功能和灵活的 API 来满足不同…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...