当前位置: 首页 > news >正文

RAID和LVM配置指南:创建、扩容和管理RAID设备和逻辑卷的方法

文章目录

  • 1. 简介
    • 1.1 什么是RAID和LVM
    • 1.2 RAID和LVM的作用和优势
  • 2. RAID配置命令:mdadm
    • 2.1 安装mdadm
    • 2.2 创建RAID设备
      • 2.2.1 RAID 0
      • 2.2.2 RAID 1
      • 2.2.3 RAID 5
      • 2.2.4 RAID 10
    • 2.3 添加磁盘到RAID设备
    • 2.4 删除磁盘从RAID设备
    • 2.5 查看和管理RAID设备
    • 2.6 故障处理与恢复
  • 3. LVM配置命令:pvcreate、vgcreate、lvcreate
    • 3.1 安装LVM工具
    • 3.2 创建物理卷(Physical Volume)
    • 3.3 创建卷组(Volume Group)
    • 3.4 创建逻辑卷(Logical Volume)
    • 3.5 扩容和缩减逻辑卷
    • 3.6 删除逻辑卷、卷组和物理卷
    • 3.7 查看和管理LVM
  • 4. 实际应用示例
    • 4.1 使用mdadm和LVM创建RAID和扩展逻辑卷的案例演示
  • 5. 总结
    • 5.1 RAID和LVM的应用场景和总结
    • 5.2 使用RAID和LVM的注意事项
  • python精品专栏推荐
    • python基础知识(0基础入门)
    • python爬虫知识

1. 简介

1.1 什么是RAID和LVM

RAID(Redundant Array of Inexpensive Disks)即磁盘阵列技术,是一种将多个硬盘组合起来以提升性能、数据冗余和数据保护能力的技术。LVM(Logical Volume Manager)即逻辑卷管理器,是一种将硬盘上的物理存储空间抽象成逻辑存储空间并进行统一管理的技术。

1.2 RAID和LVM的作用和优势

RAID的作用在于提高数据冗余性和读写性能,使用RAID技术可以将多个硬盘组合成一个更具备冗余和读写性能的逻辑硬盘。LVM的作用在于将物理存储空间进行抽象和管理,用户可以通过LVM来创建、扩容和收缩逻辑卷,从而更加灵活地使用硬盘存储。

2. RAID配置命令:mdadm

2.1 安装mdadm

在Ubuntu系统中,通过以下命令安装mdadm:

sudo apt-get install mdadm

2.2 创建RAID设备

2.2.1 RAID 0

# 创建名为md0的RAID 0设备,由/dev/sdb和/dev/sdc组成
sudo mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc# 查看RAID设备状态
sudo mdadm --detail /dev/md0# 格式化并挂载RAID设备到/mnt/raid0目录
sudo mkfs.ext4 /dev/md0
sudo mkdir /mnt/raid0
sudo mount /dev/md0 /mnt/raid0

2.2.2 RAID 1

# 创建名为md1的RAID 1设备,由/dev/sdd和/dev/sde组成
sudo mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdd /dev/sde# 查看RAID设备状态
sudo mdadm --detail /dev/md1# 格式化并挂载RAID设备到/mnt/raid1目录
sudo mkfs.ext4 /dev/md1
sudo mkdir /mnt/raid1
sudo mount /dev/md1 /mnt/raid1

2.2.3 RAID 5

# 创建名为md2的RAID 5设备,由/dev/sdf、/dev/sdg和/dev/sdh组成
sudo mdadm --create /dev/md2 --level=5 --raid-devices=3 /dev/sdf /dev/sdg /dev/sdh# 查看RAID设备状态
sudo mdadm --detail /dev/md2# 格式化并挂载RAID设备到/mnt/raid5目录
sudo mkfs.ext4 /dev/md2
sudo mkdir /mnt/raid5
sudo mount /dev/md2 /mnt/raid5

2.2.4 RAID 10

# 创建名为md3的RAID 10设备,由/dev/sdi、/dev/sdj、/dev/sdk和/dev/sdl组成
sudo mdadm --create /dev/md3 --level=10 --raid-devices=4 /dev/sdi /dev/sdj /dev/sdk /dev/sdl# 查看RAID设备状态
sudo mdadm --detail /dev/md3# 格式化并挂载RAID设备到/mnt/raid10目录
sudo mkfs.ext4 /dev/md3
sudo mkdir /mnt/raid10
sudo mount /dev/md3 /mnt/raid10

2.3 添加磁盘到RAID设备

# 向md0设备添加/dev/sdd磁盘
sudo mdadm --add /dev/md0 /dev/sdd# 查看RAID设备状态
sudo mdadm --detail /dev/md0

2.4 删除磁盘从RAID设备

# 将/dev/sdb从md0设备中删除
sudo mdadm --fail /dev/md0 /dev/sdb
sudo mdadm --remove /dev/md0 /dev/sdb# 查看RAID设备状态
sudo mdadm --detail /dev/md0

2.5 查看和管理RAID设备

# 查看所有RAID设备状态
sudo mdadm --detail --scan# 卸载RAID设备
sudo umount /dev/md0# 停止RAID设备
sudo mdadm --stop /dev/md0

2.6 故障处理与恢复

RAID设备出现故障时,可以通过以下命令进行处理和恢复:

# 查看RAID设备状态
sudo mdadm --detail /dev/md0# 替换故障磁盘
sudo mdadm --manage /dev/md0 --remove /dev/sdb
sudo mdadm --manage /dev/md0 --add /dev/sdb1

3. LVM配置命令:pvcreate、vgcreate、lvcreate

3.1 安装LVM工具

在Ubuntu系统中,通过以下命令安装LVM工具:

sudo apt-get install lvm2

3.2 创建物理卷(Physical Volume)

# 创建/dev/sdb上的物理卷
sudo pvcreate /dev/sdb

3.3 创建卷组(Volume Group)

# 将物理卷/dev/sdb添加到名为vg0的卷组中
sudo vgcreate vg0 /dev/sdb

3.4 创建逻辑卷(Logical Volume)

# 在vg0卷组中创建名为lv0的逻辑卷,大小为10G
sudo lvcreate -L 10G -n lv0 vg0# 格式化并挂载逻辑卷到/mnt/lv0目录
sudo mkfs.ext4 /dev/vg0/lv0
sudo mkdir /mnt/lv0
sudo mount /dev/vg0/lv0 /mnt/lv0

3.5 扩容和缩减逻辑卷

# 将lv0逻辑卷扩容到20G
sudo lvextend -L 20G /dev/vg0/lv0# 更新文件系统大小
sudo resize2fs /dev/vg0/lv0# 将lv0逻辑卷缩减到15G
sudo umount /mnt/lv0
sudo e2fsck -f /dev/vg0/lv0
sudo resize2fs /dev/vg0/lv0 15G
sudo lvreduce -L 15G /dev/vg0/lv0
sudo mount /dev/vg0/lv0 /mnt/lv0

3.6 删除逻辑卷、卷组和物理卷

# 删除逻辑卷lv0
sudo umount /mnt/lv0
sudo lvremove /dev/vg0/lv0# 删除卷组vg0
sudo vgremove vg0# 删除物理卷/dev/sdb
sudo pvremove /dev/sdb

3.7 查看和管理LVM

# 查看卷组vg0信息
sudo vgdisplay vg0# 查看逻辑卷lv0信息
sudo lvdisplay /dev/vg0/lv0

4. 实际应用示例

4.1 使用mdadm和LVM创建RAID和扩展逻辑卷的案例演示

在Ubuntu系统中,通过以下命令创建名为raid_lv的RAID 5设备和逻辑卷lv0:

# 创建名为md0的RAID 5设备,由/dev/sdb、/dev/sdc和/dev/sdd组成
sudo mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd# 创建物理卷/dev/md0
sudo pvcreate /dev/md0# 将物理卷添加到vg0卷组中
sudo vgcreate vg0 /dev/md0# 在vg0卷组中创建逻辑卷lv0,大小为10G
sudo lvcreate -L 10G -n lv0 vg0# 格式化并挂载逻辑卷到/mnt/lv0目录
sudo mkfs.ext4 /dev/vg0/lv0
sudo mkdir /mnt/lv0
sudo mount /dev/vg0/lv0 /mnt/lv0

之后,在需要扩容时,可以通过以下命令将lv0逻辑卷扩容到20G:

sudo lvextend -L 20G /dev/vg0/lv0
sudo resize2fs /dev/vg0/lv0

5. 总结

5.1 RAID和LVM的应用场景和总结

RAID可以在多个硬盘上提高数据冗余性和读写性能,是服务器常用的技术之一;LVM可以将硬盘上的物理存储空间进行抽象和管理,并支持方便的扩容和缩减,也是服务器上的常用技术之一。

5.2 使用RAID和LVM的注意事项

使用RAID和LVM时需要注意硬件的兼容性,以及RAID和LVM带来的数据冗余性、性能和存储扩展的影响。在实际应用中,建议提前做好备份并进行测试,以确保RAID和LVM的正确性和稳定性。


python精品专栏推荐


python基础知识(0基础入门)

【python基础知识】0.print()函数
【python基础知识】1.数据类型、数据应用、数据转换
【python基础知识】2.if条件判断与条件嵌套
【python基础知识】3.input()函数
【python基础知识】4.列表和字典
【python基础知识】5.for循环和while循环
【python基础知识】6.布尔值和四种语句(break、continue、pass、else)
【python基础知识】7.实操-用Python实现“文字PK”小游戏(一)
【python基础知识】7.实操-用Python实现“文字PK”小游戏(二)
【python基础知识】8.编程思维:如何解决问题-思维篇
【python基础知识】9.函数的定义和调用
【python基础知识】10.用函数编写程序 - 实操篇
【python基础知识】10.用Python实现石头剪刀布小游戏-函数实操篇
【python基础知识】11.如何debug -常见报错原因及排查思路 - 思维篇
【python基础知识】12.类与对象(一)
【python基础知识】12.类与对象(二)
【python基础知识】13.类与对象(三)
【python基础知识】13.类与对象(四)
【python基础知识】14.图书管理系统的搭建(类与对象实操)
【python基础知识】15.编码基础知识
【python基础知识】16.文件读写基础及操作
【python基础知识】16.“古诗默写题”的python实现(文件读写和编码-实操篇)
【python基础知识】17.模块的概念以及如何引入
【python基础知识】18.实操-使用python自动群发邮件
【python基础知识】19.产品思维以及流程图的使用 - 思维篇
【python基础知识】20.“午饭吃什么”的python实现(产品思维-实操篇)
【python基础知识】21.高效偷懒的正确打开方式-毕业篇
【python文件处理】CSV文件的读取、处理、写入
【python文件处理】Excel自动处理(使用 openpyxl)
【python文件处理】-excel格式处理


python爬虫知识

【python爬虫】1.爬虫基础知识
【python爬虫】2.网页基础知识
【python爬虫】3.爬虫初体验(BeautifulSoup解析)
【python爬虫】4.爬虫实操(菜品爬取)
【python爬虫】5.爬虫实操(歌词爬取)
【python爬虫】6.爬虫实操(带参数请求数据)
【python爬虫】7.爬到的数据存到哪里?
【python爬虫】8.温故而知新
【python爬虫】9.带着小饼干登录(cookies)
【python爬虫】10.指挥浏览器自动工作(selenium)
【python爬虫】11.让爬虫按时向你汇报
【python爬虫】12.建立你的爬虫大军
【python爬虫】13.吃什么不会胖(爬虫实操练习)
【python爬虫】14.Scrapy框架讲解
【python爬虫】15.Scrapy框架实战(热门职位爬取)
【python爬虫】16.爬虫知识点总结复习

相关文章:

RAID和LVM配置指南:创建、扩容和管理RAID设备和逻辑卷的方法

文章目录 1. 简介1.1 什么是RAID和LVM1.2 RAID和LVM的作用和优势 2. RAID配置命令:mdadm2.1 安装mdadm2.2 创建RAID设备2.2.1 RAID 02.2.2 RAID 12.2.3 RAID 52.2.4 RAID 10 2.3 添加磁盘到RAID设备2.4 删除磁盘从RAID设备2.5 查看和管理RAID设备2.6 故障处理与恢复…...

MapStruct使用方法

一、用途 1.1 优势 与动态映射框架相比,MapStruct 具有以下优势: (1)通过使用普通方法getter、setter调用,而不是反射来快速执行,效率很高。 (2)编译时类型安全:只能映…...

【LeetCode】50. Pow(x, n)

1 问题 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即, x n x^n xn )。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000 示例 2: 输入:x 2.10000, n 3 输出&a…...

vue2技能树(2)-模板语法、vue的工具链、渐进式框架

目录 Vue2技能树Vue 2 简单的模板语法详解插值绑定属性指令v-if 和 v-elsev-forv-on 计算属性过滤器插槽 Vue 2 生态系统详解1. Vue Router2. Vuex3. Vue CLI4. Axios5. Vue Devtools6. Element UI、Vuetify、Quasar等UI框架7. Nuxt.js8. Vue Apollo、Vue Router、Vue Fire等插…...

【Git系列教程-目录大纲】

《Git系列教程-目录大纲》 完完全全从零开始深入学习Git,教程配图200张,其中包括包括Git基本命令、命令原理、Git底层命令、分支、分支的原理、Git代码冲突原理/解决、tag标签、Git存储状态、分支合并原理、典型合并、快进合并、同轴开发、非同轴开发、…...

【高等数学】导数与微分

文章目录 1、导数的概念1.1、引例1.1.1、变速直线运动瞬时速度1.1.2、曲线的切线 1.2、导数的定义1.3、证明常用导数1.4、导数的几何意义1.5、可导与连续的关系 2、函数的求导法则2.1、函数的和、差、积、商的求导法则2.2、反函数的求导法则2.3、复合函数的求导法则2.4、基本初…...

springboot之quartz动态可控定时任务

Quartz Quartz是一个开源的任务调度框架,可以用来实现定时任务的调度,如定时发送邮件、定时备份数据等。Quartz具有很高的可靠性和灵活性,支持集群部署和分布式调度,并且提供了丰富的API和插件,可以轻松实现复杂的调度…...

什么是CSS的外边距重叠?

区块的上下外边距有时会合并(折叠)为单个边距,其大小为两个边距中的最大值(或如果它们相等,则仅为其中一个),这种行为称为外边距折叠。注意:有设定浮动和绝对定位的元素不会发生外边…...

设计模式之抽象工厂模式

前言 工厂模式一般指的是简单工厂模式、工厂方法模式、抽象工厂模式,这是三种工厂模式的最后一篇,其他两种的文章链接如下: 设计模式之简单工厂模式-CSDN博客 设计模式之工厂方法模式-CSDN博客 建议三种模式放在一起对比学习,…...

Compose预处理组件大比拼:性能、应用场景和可视化对比总结

在机器学习的世界里,预处理组件就像是厨师的烹饪工具。选择合适的工具不仅可以让整个烹饪过程更加顺畅,还能确保最终的菜肴更加美味。 本文将深入探讨四种“烹饪工具”:TransformedTargetRegressor、make_column_transformer、make_column_selector和ColumnTransformer。通…...

【小米】Linux 实习生

下午不准备去图书馆自习来着,中午就狠狠地多睡了一个小时,三点起床靠在椅子上剥柚子,太爽了,这秋天的下午。“邮件:小米公司邀请你预约面试时间”.......... 我擦,投了一个月了,认真准备的时候…...

python一点通:coroutine (协程)是什么和重要知识点?

协程已经成为Python用于编写并发和异步代码的重要工具之一。在这篇博客文章中,我们将深入探讨协程是什么,它们的优点,以及它们与传统的线程和进程有何不同。 什么是协程? 协程是用于合作式多任务处理的子程序(或函数…...

QCC51XX-QCC30XX系列开发教程(实战篇) 之 12.1-空间音频相关模块的概述

查看全部教程开发请点击:全网最全-QCC51xx-QCC30xx(TWS)系列从入门到精通开发教程汇总(持续更新中) ==================================================================== 版权归作者所有,未经允许,请勿转载。 ==========================================...

Servlet的生命周期

2023.10.18 WEB容器创建的Servlet对象,这些Servlet对象都会被放到一个集合当中(HashMap),这个集合当中存储了Servlet对象和请求路径之间的关系 。只有放到这个HashMap集合中的Servlet才能够被WEB容器管理,自己new的Ser…...

2.4 如何在FlinkSQL使用DataGen(数据生成器)

1、DataGen SQL 连接器 FLinkSQL中可以使用内置的DataGen SQL 连接器来生成测试数据 官网链接:DataGen SQL 连接器 2、随机数数据生成器 随机数数据生成器支持随机生成 char、varchar、binary、varbinary、string 类型的数据 它是一个无界流的数据生成器 -- TO…...

Gin + Ant Design Pro JWT认证

文章目录 一:介绍二:Gin JWT 后台1. Claims 定义2. 创建和解析Token3. Gin中间件编写4. 辅助函数 三:Ant Design Pro JWT认证四:Gin中间件和使用示范 一:介绍 JWT现在比较流行的认证方式,微服务中使用特别…...

canvas实现图片标注,绘制区域

使用canvas绘制通过多边形标注区域 AI视频项目中需要分析图片&#xff0c;需要前台绘制区域&#xff0c;后端获取坐标然后识别图像&#xff0c;通过canvas 获取点然后连线绘图 HEML代码段 <div class"areaDrawing"><img src"/assets/images/snapPhotos…...

SELECT COUNT(*) 会造成全表扫描吗?

前言 SELECT COUNT(*)会不会导致全表扫描引起慢查询呢&#xff1f; SELECT COUNT(*) FROM SomeTable 网上有一种说法&#xff0c;针对无 where_clause 的 COUNT(*)&#xff0c;MySQL 是有优化的&#xff0c;优化器会选择成本最小的辅助索引查询计数&#xff0c;其实反而性能…...

python考前复习(90题)

文章目录 1.Python特性的是( )。 A. 面向对象 B. 高可移植性 C. 开源、免费 2.临时改变Python语言安装源应当使用的选项是 –index-url 3.Python脚本文件的扩展名为( ) .py 4.安装Python语言的软件包使用的命令是&#xff08; &#xff09; pip install 5 . (单选题)以下哪项是…...

根据SpringBoot Guides完成进行示例学习(详细步骤)

目录 1.打开Spring | Guides官网&#xff0c;或者直接搜索springboot都可 2.选择要学习的内容 3.根据提示的网址&#xff0c;Git到本地 4.将文件用IDEA打开&#xff0c;根据教程完成示例&#xff0c;这里不做细致讲解 5.运行项目 6.在终端查看运行结果 以Scheduling Task…...

waf、yakit和ssh免密登录

WAF安全狗 脏数据适用于所有漏洞绕过waf&#xff0c;但是前提条件垃圾信息必须放在危险信息前&#xff0c;是不能打断原有数据包的结构&#xff0c;不能影响后端对数据包的解析。 以DVWA靶场文件上传为例 新建php文件 上传文件被安全狗拦截 使用bp抓包查看 在数据包Content-…...

【AIGC核心技术剖析】大型语言和视觉助手——LLaVA(论文+源码)

🔥 [新!LLaVA-1.5 在 11 个基准测试上实现了 SoTA,只需对原始 LLaVA 进行简单的修改,利用所有公共数据,在单个 1-A8 节点上在 ~100 天内完成训练,并超越使用数十亿级数据的方法。 LLaVA代表了一种新颖的端到端训练大型多模态模型,结合了视觉编码器和骆马 对于通用的视…...

IBM的WAS简介与基本使用手册

IBM的WAS简介与基本使用手册 1. 基本介绍 WebSphereApplication Server(简称WAS)是IBM的应用服务器 基本结构:单元(cell) ——> 多个节点(node) ——> 多个服务(server) ——> 多个应用(app) 单元是整个分布式网络中一个或多个节点的逻辑分组单元是一个配置概念, 是…...

Deno 快速入门

目录 1、简介 2、安装Deno MacOS下安装 Windows下安装 Linux 下安装 3、创建并运行TypeScript程序 4、内置Web API和Deno命名空间 5、运行时安全 6、导入JavaScript模块 7、远程模块和Deno标准库 8、使用deno.json配置您的项目 9、Node.js API和npm包 10、配置IDE…...

【计算机网络笔记】OSI参考模型基本概念

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…...

ConnectTimeout和ReadTimeout所代表的意义

ConnectTimeout和ReadTimeout所代表的意义 ConnectTimeout 指的是建立连接所用的时间&#xff0c;适用于网络状况正常的情况下&#xff0c;两端连接所用的时间。在java中&#xff0c;网络状况正常的情况下&#xff0c;例如使用HttpClient或者HttpURLConnetion连接时设置参数c…...

使用Python计算平面多边形间最短距离,数据需要从excel表格中导入

使用Python计算平面多边形间最短距离&#xff0c;数据需要从excel表格中导入&#xff0c; * 多边形种类包括&#xff08;圆形、矩形、六边形、五边形、跑道形/胶囊形&#xff09;&#xff0c; * Python代码需要使用gjk算法进行判断两个多边形间是否重叠&#xff0c; * 如果未重…...

华为数通方向HCIP-DataCom H12-831题库(多选题:1-20)

第01题 如图所示,路由器所有的接口开启OSPF,图中标识的ip地址为设备的Loopback0接口的IP地址,R1、R2,R3的Loopback0通告在区域1,R4的Loopback0通告在区域0、R5的Lopback0通告在区域2,下列哪些IP地址之间可以相互Ping通? A、10.0.3.3和10.0.5.5 B、10.0.4.4和10.0.2.2 …...

CCC数字钥匙设计【NFC】--通过NFC进行车主配对Phase3

1、车主配对流程介绍 车主配对可以通过车内NFC进行&#xff0c;若支持UWB测距&#xff0c;也可以通过蓝牙/UWB进行。通过NFC进行车主配对总共有5个Phase。本文档主要对Phase3进行介绍。 1) Phase0&#xff1a;准备阶段&#xff1b; 2) Phase1&#xff1a;启动流程&#xff1…...

开源OA协同办公系统,集成Flowable流程引擎 可拖拽创建个性表单

源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/88403340 源码下载2&#xff1a; 关注我留言 开源OA协同办公系统&#xff0c;集成Flowable流程引擎 可拖拽创建个性表单。基于RuoYi-VUE版本开发。 1、使用RuoYi-Vue的基础上开发。 2、集成flowable&a…...