码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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
    
    • 1

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2.3 添加磁盘到RAID设备

    # 向md0设备添加/dev/sdd磁盘
    sudo mdadm --add /dev/md0 /dev/sdd
    
    # 查看RAID设备状态
    sudo mdadm --detail /dev/md0
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2.5 查看和管理RAID设备

    # 查看所有RAID设备状态
    sudo mdadm --detail --scan
    
    # 卸载RAID设备
    sudo umount /dev/md0
    
    # 停止RAID设备
    sudo mdadm --stop /dev/md0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

    3.1 安装LVM工具

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

    sudo apt-get install lvm2
    
    • 1

    3.2 创建物理卷(Physical Volume)

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

    3.3 创建卷组(Volume Group)

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

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

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

    # 删除逻辑卷lv0
    sudo umount /mnt/lv0
    sudo lvremove /dev/vg0/lv0
    
    # 删除卷组vg0
    sudo vgremove vg0
    
    # 删除物理卷/dev/sdb
    sudo pvremove /dev/sdb
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    3.7 查看和管理LVM

    # 查看卷组vg0信息
    sudo vgdisplay vg0
    
    # 查看逻辑卷lv0信息
    sudo lvdisplay /dev/vg0/lv0
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

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

    sudo lvextend -L 20G /dev/vg0/lv0
    sudo resize2fs /dev/vg0/lv0
    
    • 1
    • 2

    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.爬虫知识点总结复习

  • 相关阅读:
    STM32 不同时钟频率有什么不同的影响
    Linux下OpenJDK的下载和安装
    R语言ggplot2可视化:可视化多行文本内容并添加箭头和文本框、指定文本可视化内容右对齐(right alignment)
    Git的使用
    QT动态加载qss和rcc方式
    vector插入元素技巧
    npm包管理相关命令
    数组常见算法代码总结
    【三维AIGC】扩散模型LDM辅助3D Gaussian重建三维场景
    【算法】动态规划dynamic programing
  • 原文地址:https://blog.csdn.net/qq_41308872/article/details/133922229
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号