【linux】管理磁盘——RAID10(含备份)与逻辑卷管理
RAID概念
- 当今CPU性能每年可提升30%-50%但硬盘仅提升7%
- 硬盘在服务器中需要持续、频繁、大量的I/O操作,故障机率较大,则需要对硬盘进行技术改造,提 升读写性能、可靠性
- 1988年,加利福尼亚大学伯克利分校首次提出并定义了RAID技术概念
- 原理:RAID(Redundant Array of Independent Disks)将多个硬盘设备组成一个大容量、安全更 好的硬盘阵列,并将数据切割成多个片段后分别存储到不同的物理硬盘上,利用分散读写技术来来 提升硬盘性能,同时也备份了多个副本到不同硬盘中,拥有了备份冗余功能
常见的RAID组建方案
(1)RAID0
- 原理:把至少2块硬盘通过硬件或软件方式串联,组成一个大的卷组,并将数据依次写入到各个硬 盘
- 优点:数据同步传输,读取/写入分开,性能大大提升
- 缺点:若任意一块硬盘故障会导致整个系统的数据损坏,无备份冗余能力错误修复能力
- 总结:使用率100%,至少2块硬盘才能使用,优点是快,提升硬盘的读写速度,缺点是不安全
- 图:
(2)RAID1
- 产生原因:若生产环境对硬盘的读写速度没有较大要求,但希望增加数据安全性时可使用RAID
- 原理:把至少2块硬盘绑定起来,写入数据时将数据同时也写入另一或多块硬盘中
- 本质:多个硬盘作为镜像备份 优点:数据备份冗余安全性大大提升
- 缺点:硬盘利用率下降
- 总结:是镜像,使用两块硬盘,一式两份的方式,支持容错,冗余,数据安全不丢失,缺点是速度不快,使用率50%,成本较大。
- 图:
(3)RAID5
- 产生原因:兼顾“读写速度”、“数据安全”、“成本”的一种折中方式
- 原理:需至少三块硬盘,将数据分块存储到不同硬盘中,硬盘中必须存储其它一个硬盘的parity(奇 偶校验信息)
- 优点:兼顾性能,通过“奇偶校验”替代“镜像备份”
- 缺点:硬盘数据安全性较低
- 总结:使用率(n-1)/n*容量,硬盘坏了会立即补上,数据会恢复
- 图:
(4)RAID10(RAID1+RAID0)——主流
本质:RAID1+RAID0 的组合
- 原理:至少需要4块硬盘,先制作两两的RAID1阵列,以保证安全性,在两两制作RAID0,以提高读 写速度
- 优点:兼具速度和安全性
- 缺点:成本较高
- 图
mdada命令创建软raid
(1)作用:管理系统中的RAID硬盘阵列
(2)格式
mdadm [模式] <RAID设备名> -选项 [成员设备名称]
(3)参数
-a :检测设备名称
-n :指定硬盘数量
-l :指定RAID级别
-C :创建RAID
-v :显示过程
-f :模拟设备损坏
-r :移除设备
-Q : 查看摘要
-D :查看详细信息
-S :停止RAID硬盘阵列
(4)示例
列1:
- 关机后添加4块硬盘,创建RAID10
- 使用命令查看硬盘:
- 使用mdadm命令创建RAID10
-Cv:创建RAID 并显示过程
/dev/md0:新的RAID阵列名
-a yes:检测并自动创建RAID设备文件
-n 4:硬盘数量为4块
-l 10:RAID级别为RAID10
- 查看信息-D
- 格式化和挂载并配置开机挂载
- 检验是否挂载正确
- 模拟某一个硬盘损坏的情况
- 将sde磁盘添加进行修复损坏的盘 (注意先取消挂载,并把/etc/fstab文件内的挂载也取消掉)
- 重新挂载,并把/etc/fstab文件内的挂载也挂载
注意:显然这种方法在实际的工作中加盘和配置花费的时间可能会导致磁盘在修复的时候,恰好另一个备份盘也损坏,那么数据将永远丢失,因此我们可以时先就配置好备份盘。如果有盘损坏将自动换盘备份,降低风险!下面就讲这种含备份盘的方法
列2:
带自动修复的RAID(含备份磁盘)
- 创建RAID10+备份盘系统
注意:-x 1 表示备份盘 1块硬盘 ,一般命令最后一个硬盘为备份盘
- 使用-D查看详细信息,看到sde盘时刻准备进行备份
- 格式化和挂载
- 检验
- 当某一个盘损坏时如下图
管理逻辑卷
逻辑卷介绍
硬盘分区或部署为RAID后在修改分区大小时就非常不容易,此时用户随着实际的需求变化而动态调整硬 盘分区大小时受到限制,无灵活性。
(1)认识linux逻辑卷
- LVM是 Logical Volume Manager(逻辑卷管理)的简写,LVM将若干个硬盘或者硬盘分区连接为一个 整块的卷组,形成一个存储池。
- 通过LVM技术,屏蔽了硬盘分区的底层差异,管理员可以在卷组上任意创建逻辑卷,并进一步在逻 辑卷上创建文件系统
- 管理员通过LVM可以方便的调整存储卷组的大小,并且可以对硬盘存储按照组的方式进行命名、管 理和分配。
- 假设有三块硬盘/dev/sdb、/dev/sdc和/dev/sdd用来划分逻辑卷,LVM模型如图所示:
(2)LVM基本概念
- PE(physical extent)物理区域:物理区域是物理卷中可用于分配的最小存储单元,物理区域的大 小默认为4MB。物理区域大小一旦确定将不能更改,同一卷组中的所有物理卷的物理区域大小需要 一致
- 物理卷(physical volume):简称PV,物理卷可以是整个硬盘、硬盘分区或从逻辑上与硬盘分区 具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、硬 盘等)比较,却包含有与LVM相关的管理参数
- 卷组(Volume Group):简称VG,可以看成单独的逻辑硬盘,建立在PV之上,一个卷组中至少 要包括一个PV,在卷组建立之后可以动态的添加PV到卷组中。卷组的名称可以自定义
- 逻辑卷(logical volume):简称LV,相当于物理分区。逻辑卷建立在卷组之上,卷组中的未分配 空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态的扩展或缩小空间。系统中的多个逻辑卷, 可以属于同一个卷组,也可以属于不同的多个卷组
部署逻辑卷
(1)常用的LVM部署命令
功能/命令 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
扫描 | pvscan | vgscan | lvscan |
建立 | pvcreate | vgcreate | lvcreate |
显示 | pvdisplay | vgdisplay | lvdisplay |
删除 | pvremove | vgremove | lvremove |
扩展 | vgextend | lvextend | |
缩小 | vgreduce | lvreduce |
列2:
恢复快照,在虚拟机中添加3块新硬盘,2块硬盘创建物理卷及卷组,划分出150MB空间的逻 辑卷并格式化挂载使用
- 创建物理卷
- 创建卷组/dev/VG1
- 创建逻辑卷
- 格式化
- 挂载
基于上例,VG1卷组划分出200MB空间的逻辑卷并格式化挂载使用
- 扩展卷组
- 将lv1文件系统类型的lvm的扩容
- 注意:此时文件系统没有扩容,需要使用xfs_growfs命令进行激活 不同格式化的命令不同
相关文章:
【linux】管理磁盘——RAID10(含备份)与逻辑卷管理
RAID概念 当今CPU性能每年可提升30%-50%但硬盘仅提升7%硬盘在服务器中需要持续、频繁、大量的I/O操作,故障机率较大,则需要对硬盘进行技术改造,提 升读写性能、可靠性1988年,加利福尼亚大学伯克利分校首次提出并定义了RAID技术概…...
Day3 蓝桥杯省赛冲刺精炼刷题 —— 排序算法与贪心思维
一、0实现插入排序 - 蓝桥云课 算法代码: #include <stdio.h>const int N 10000; // 定义数组的最大大小int arr[N 10], temp[N 10]; // arr为待排序的数组,temp为辅助数组// 合并操作:将两个已经排好序的子数组合并为一个有序数…...
查看iphone手机的使用记录-克魔实战
如何查看 iOS 设备近期的详细使用数据 在日常使用手机时,了解设备的运行状态和各项硬件的使用情况可以帮助分析耗电情况、优化应用使用方式。iOS 设备提供了一些数据记录,能够显示应用的启动和关闭时间、后台运行情况,以及应用在使用过程中调…...
Tcp——客户端服务器
Tcp——客户端服务器 目录 一、基本概念 二、代码 2.1 ser服务器 2.2 cil客户端 一、基本概念 TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP/IP模型中,TCP位于IP层之上,应用层之下&#x…...
《HarmonyOS Next开发进阶:打造功能完备的Todo应用华章》
章节 6:日期选择器与日期处理 目标 学习如何使用DatePicker组件。理解日期格式化和日期计算。 内容 日期选择器基础 使用DatePicker组件。处理日期选择事件。 日期格式化 格式化日期为友好的文本。 日期计算 判断日期是否过期或即将到期。 代码示例 Entry Com…...
化学方程式配平 第33次CCF-CSP计算机软件能力认证
很经典的大模拟题目 但是还不算难 大模拟题最需要注意的就是细节 写代码一定要考虑全面 并且要细心多debug 多打断点STL库的熟练使用 istringstream真的处理字符串非常好用 注意解耦合思想 这样改代码debug更加清晰 https://www.acwing.com/problem/content/5724/ #includ…...
数据结构【链表】
链表 1.单链表1.1概念与结构1.1.1结点1.1.2链表的性质1.1.3链表的打印 1.2实现单链表1.3链表的分类 2.双向链表2.1概念与结构2.2实现双链表 3.顺序表与链表的分析 1.单链表 1.1概念与结构 概念:链表是⼀种物理存储结构上非连续、非顺序的存储结构,数据…...
AIP-210 Unicode
编号210原文链接AIP-210: Unicode状态批准创建日期2018-06-28更新日期2018-06-28 API在处理(解释、限制长度、计费)字符串值和字符串编码时,应当保持一致,范围从理解上的歧义(如域“限制为1024个字符”)到…...
WiFi(无线局域网)技术的多种工作模式
WiFi(无线局域网)技术支持多种工作模式,以满足不同的网络需求和应用场景。以下是主要的WiFi工作模式及其详细说明: 1. 基础设施模式(Infrastructure Mode) [无线接入点 (AP)]/ | \ [客户端…...
游戏引擎学习第198天
回顾并为今天的内容设定 今天我们有一些代码需要处理。昨天我们进行了一些调试界面的整合工作,之前我们做了一些临时的、粗糙的操作,将一些东西读进来并放到调试界面中。今天,我们并不打算进行大规模的工作,更多的是对之前的代码…...
git命令简陋版本
git push git pull 临时仓库暂存区 ##############创建提交################ git init #创建git地址 git config --global user.name "***YQ1007" git config --global user.email "***gmail.com" git remote…...
MySQL 进阶 面经级
会用数据库,找大厂工作是远远不够的。 本人2025美团暑期AI面试好几个MySQL场景问题不会答,已脏面评。遂在此整理学习! 文章目录 美团AI面1.数据库分片sharding的概念,它有什么优势和挑战?优势Sharding 挑战 2. 分库分表的常见策…...
JavaScript数组Array的使用:添加、删除、排序、遍历、互转
1、数组的概述 数组是存储于一个连续空间且具有相同数据类型的元素集合。可以把数组看作一张单行表格,该表格的每一个单元格都可以存储一个数据,而且各单元格中存储的数据类型可以不同。这些单元格被称为数组元素,每个数组元素都有一个索引号,通过索引号可以方便地引用数组…...
Vue Transition组件类名+TailwindCSS
#本文教学结合TailwindCSS实现一个Transition动画的例子# 举例代码: <transition enter-active-class"transition-all duration-300 ease-out"enter-from-class"opacity-0 translate-y-[-10px]"enter-to-class"opacity-100 translate-…...
蓝桥杯备赛:动态规划入门
写题的时候我发现:除了输入输出、循环、条件等基本语句一类的题目之外,我就什么都不会了,题目根本写不下去。 需要学:动态规划、哈希表、二分法、贪心算法等基本算法 现在什么都不会,对这些东西也是一点都不会懂&…...
【VSCode SSH 连接远程服务器】:身份验证时,出现 key: invalid format 的问题
从其它电脑上把私钥文件复制后,出现格式错误 很有可能是复制的时候引入了乱码 很有可能是复制的时候引入了乱码 因此直接从其它电脑上把私钥文件复制到新设备上即可!(不直接复制私钥的内容) 亲测有效。...
git和VScode
游戏存档保存的是游戏的进度 git保存的是代码的进度 Vscode和git 要正常的使用git首先要设置姓名和邮箱 要配合gitee(也可以是其他平台,以gitee举例)使用,首先创造一个gitee账号,复制邮箱和用户名 在VScode中找到…...
c语言数据结构——八大排序算法实现
文章目录 八大排序算法排序算法种类选择排序类堆排序算法思路时间复杂度和空间复杂度 选择排序算法思路算法优化时间复杂度和空间复杂度 插入排序类插入排序算法思路时间复杂度和空间复杂度 希尔排序算法思路时间复杂度和空间复杂度 非比较排序类计数排序时间复杂度和空间复杂度…...
Python入门(5):异常
目录 1 异常处理基础概念 1.1 什么是异常? 1.2 异常与错误的区别 2 异常处理基础 2.1 常见内置异常类型 2.2 try-except 基本结构 2.3 捕获多个异常 2.4 抛出异常 2.4.1 使用raise语句 2.4.2 自定义异常类 3 高级异常处理技巧 3.1 不要过度捕…...
OpenCv(五)——边缘检测
目录 边缘检测 一、sobel算子边缘检测 (1)原理 1、X轴方向的边缘检测 2、Y轴方向的边缘检测 (2)sobel算子参数 (3)X轴方向边缘检测代码演示 1、显示圆的图像 2、x方向上的边缘检测…...
论文笔记:Instruction-Tuning Llama-3-8B Excels in City-Scale MobilityPrediction
2024 Sigspatial Hummob Workshop 第2/3名 提出了 Llama-3-8B-Mob——一个基于 Llama-3-8B的指令微调版本,专为长期、多城市人类移动预测而设计。 1 问题定义 2 方法 将轨迹预测问题重构为一个带有指令的问答任务 通过 GPT-3.5 和 4 进行实验,发现虽然…...
基础框架系列分享:一个通用的Excel报表生成管理框架
由于我们系统经常要生成大量的Excel报表(Word,PDF报表也有,另行分享),最初始他们的方案是,设计一个表,和Excel完全对应,然后读表,把数据填进去,这显然是非常不…...
Linux安装Ubuntu24.04系统 并安装配置Nvidia 4090 显卡驱动
目录标题 方式一、离线安装一、检查确认系统的版本首先在终端输入下载注意:注意, 后面带notebook的是笔记本的驱动,不要下载错了点击view点击下载二、安装我选择的是 NVIDIA Proprietary.安装完成之后,再次检查补充步骤三:禁用默认nouveau显卡驱动,后重启系统补充步骤四:…...
Deepdiff的使用实战记录
使用场景:在做数据库迁移 或 底层代码重构优化,用于对比新旧代码的接口层返回数据对比 1.模拟在新改造的接口上新加了字段is_ok,且时间戳字段精度变成毫秒,img字段域名变更,能准确对比。 api_old {"ret":…...
C语言:多线程
多线程概述 定义 多线程是指在一个程序中可以同时运行多个不同的执行路径(线程),这些线程可以并发或并行执行。并发是指多个线程在宏观上同时执行,但在微观上可能是交替执行的;并行则是指多个线程真正地同时执行&…...
Linux(25)——进程调度
目录 一、Linux 进程调度: 二、进程优先级: 1、普通调度策略: 2、完全公平调度程序: 三、nice 值: 1、nice 值范围: 2、nice 值修改权限: (1)降低: …...
SAP CO88根据标准价格拆分增量错误解决
CO88事务码可能出现如下错误,错误消息号 MLCCS015。出现该错误,表示成本组件分解出现了问题,参照 MLCCS015 错误的帮助文档: 其实这里已经说明了原因和解决方法,但不是很具体。note 632752 - Use of the program MLCCS…...
spring boot 整合redis
1.在pom文件中添加spring-boot-starter-data-redis依赖启动器 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2.编写三个实体类 RedisHash("p…...
游戏被外挂攻破?金融数据遭篡改?AI反作弊系统实战方案(代码+详细步骤)
一、背景与需求分析 随着游戏行业与金融领域的数字化进程加速,作弊行为(如游戏外挂、金融数据篡改)日益复杂化。传统基于规则的防御手段已难以应对新型攻击,而AI技术通过动态行为分析、异常检测等能力,为安全领域提供了革命性解决方案。本文以游戏反作弊系统和金融数据安…...
【JavaWeb】前端基础
JavaWeb 前端三大件:HTML(主要用于网页主体结构的搭建),CSS(页面美化),JavaScript(主要用于页面元素的动态代理) 1. HTML 1.1 html概述 HTML:Hyper Text …...
STM32智能手表——任务线程部分
RTOS和LVGL我没学过,但是应该能硬啃这个项目例程 ├─Application/User/Tasks # 用于存放任务线程的函数 │ ├─user_TaskInit.c # 初始化任务 │ ├─user_HardwareInitTask.c # 硬件初始化任务 │ ├─user_RunModeTasks.c…...
Java线程池详解
摘要:线程池是Java高并发编程的核心组件,有效管理线程生命周期并提升系统性能。本文将深入剖析Java线程池的实现原理、配置策略及生产环境中的实战技巧,助您构建高效稳定的多线程应用。 一、线程池核心价值 1.1 为什么需要线程池?…...
Git Fetch 和 Git Pull 的区别
Git fetch和git pull的区别 二者都能够从远程获取最新版本到本地。 1. Git fetch 仅从远程获取最新版本到本地,不会进行 merge(合并)操作。 操作示例 从远程的 origin的 master 主分支上获取最新版本到 origin/master 分支上:…...
《2核2G阿里云神操作!Ubuntu+Ollama低成本部署Deepseek模型实战》
简介: “本文为AI开发者揭秘如何在阿里云2核2G轻量级ECS服务器上,通过Ubuntu系统与Ollama框架实现Deepseek模型的高效部署。无需昂贵硬件,手把手教程涵盖环境配置、资源优化及避坑指南,助力初学者用极低成本在云端跑通行业领先的大…...
Rust闭包详解
文章目录 闭包捕获外部变量移动和借用闭包的特性闭包和性能闭包和生命周期 闭包 Rust中的闭包是一种匿名函数,可以捕获并存储环境中的变量,有点类似于Lambda表达式 闭包允许在其定义的作用域之外访问变量,并且可以在需要时将其移动或者借用…...
科技潮流出行新体验 方程豹全新车型钛3正式开启预售
科技潮流出行新体验,比亚迪个性化品牌方程豹旗下全新车型钛3正式开启预售,钛3定位科技潮品SUV,搭载独有的潮流配置“1机3舱”,以及“iCT”安全三件套、“E2C”智能三件套,实现了科技越级、空间越级、配置越级ÿ…...
如何将AI模型返回的字符串转为html元素?
场景: 接入deepseek模型的api到我们平台,返回的字符串需要做下格式化处理。 返回的数据是这样的: {"role": "assistant","content": "<think>\n嗯,用户问的是“星体是什么”。首先&am…...
使用SpringBoot + Thymeleaf + iText实现动态PDF导出
使用SpringBoot Thymeleaf iText实现动态PDF导出 1.前端模版代码,需要注意,iText有很多高级样式兼用性不好,需要自己试错: <!DOCTYPE html> <html lang"en" xmlns:th"http://www.thymeleaf.org"…...
Redis 源码硬核解析系列专题 - 扩展篇:Gossip协议的具体实现
1. 引言 Redis Cluster使用Gossip协议实现节点间的状态同步和一致性维护。Gossip协议是一种去中心化的通信机制,通过节点间的“谣言传播”方式交换信息,具有高容错性和扩展性。本篇将深入剖析Redis中Gossip协议的具体实现,包括消息格式、传播机制和故障检测逻辑。 2. Gossi…...
scGPT环境安装
scGPT环境安装 conda create -n scgpt_2 conda activate scgpt_2 conda install python3.10.11 cudatoolkit11.7 cudatoolkit-dev gxx>6.0.0,<12.0 cudnn -c conda-forge pip install torch1.13.0cu117 torchvision0.14.0cu117 torchaudio0.13.0 --extra-index-url https…...
linux服务器组建与管理
环境: DNSSamba服务器 ip:192.168.177.153 FTP服务器 ip:192.168.177.152 pc ip:192.168.177.151 这里先把DNS的ip及DNS固定给固定了,免得我关机了还会更改 网络配置:(前面的命令是DNS/Samba的后面的是FTP的,下面那张是示例图) sudo nmcli con mod ens33 ipv4.addres…...
vue3 生命周期函数(挂载、更新、销毁)
在这之前,相必用户也是用过vue2的经历,所以,在讲解之前先对vue2和vue3的生命周期进行对比: Option API组合APIbeforeCreate-setupcreated-setupbeforeMountonBeforeMountmountedonMountedbeforeUpdateonBeforeUpdateupdatedonUpd…...
树莓派超全系列教程文档--(20)树莓派配置自动息屏
树莓派配置自动息屏 配置自动息屏桌面Raspberry Pi 配置CLI 控制台设置控制台模式自动息屏查看当前自动息屏设置 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置自动息屏 您可以将 Raspberry Pi 配置为在一段时间不活动后自动息屏。默认情况…...
基于 Qt / HTTP/JSON 的智能天气预报系统测试报告
目录 一、项目概述 1.1项目背景 1.2项目目标 二、功能需求 2.1 用户界面功能 2.2 后台功能 三、技术选择 3.1 开发框架与工具 3.2 第三方 API 四、UI设计 4.1界面展示 4.2stylesheet样式 五、代码实现 1.构造函数 2.网络请求响应处理函数 3.处理json数据 4.更新…...
Oracle数据库数据编程SQL<3.7 PL/SQL 触发器(Trigger)>
触发器是Oracle数据库中的一种特殊存储过程,它会在特定数据库事件发生时自动执行。触发器通常用于实现复杂的业务规则、数据验证、审计跟踪等功能。 目录 一、触发器基本概念 1. 触发器特点 2. 触发器组成要素 二、触发器类型 1. DML触发器 2. DDL触发器 3.…...
反常积分和定积分的应用 1
网课 还是得跟上网课的进度。但是不要给自己太大的压力。看到数学题确实有点慌张。老师为什么说写对了不要打对号,我感觉打对号可以给自己充足的正反馈。关键问题就是能做对的题不多。这篇笔记主要整理网课的一些笔记。网课落下的比较多,大概还需要补好…...
Day49 | 11. 盛最多水的容器、16. 最接近的三数之和、33. 搜索旋转排序数组、36. 有效的数独
11. 盛最多水的容器 题目链接:11. 盛最多水的容器 - 力扣(LeetCode) 题目难度:中等 代码: class Solution {public int maxArea(int[] height) {int i0,jheight.length-1,res0;while(i<j){resheight[i]<heig…...
31天Python入门——第20天:魔法方法详解
你好,我是安然无虞。 文章目录 魔法方法1. __new__和__del__2. __repr__和__len__3. __enter__和__exit__4. 可迭代对象和迭代器5. 中括号[]数据操作6. __getattr__、__setattr__ 和 __delattr__7. 可调用的8. 运算符 魔法方法 魔法方法: Python中的魔法方法是一类…...
WPF 浅述IsHitTestVisible属性
WPF 浅述IsHitTestVisible属性 IsHitTestVisible 属性是 WPF 中一个非常重要的属性,它决定了一个控件是否可以作为 hit test 的一部分被检测到。理解这个属性对于处理交互事件(如鼠标点击、触摸等)非常重要。 IsHitTestVisible 属性的含义&am…...
WSN 经典定位算法
WSN 经典定位算法 包括: Centoid, Bounding_box, Grid_Scan, RSSI, DV_hop, MDS_MAP,APIT-WSN Localization/Amorphous/Amorphous.m , 3351 Localization/APIT/APIT.m , 4169 Localization/APIT/PPIT.m , 3889 Localization/Bounding Box/Bounding_Box.…...