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

Linux磁盘阵列

RAID磁盘冗余阵列

RAID LEVEL0:N块相同大小的存储空间,数据分割为N份,每个空间存1/N,提高读写速度,数据安全性不变

RAID 1:N块相同大小的存储空间,同一份数据,拷贝N份,提高数据安全性,浪费数据空间。大小为1块存储空间的大小。

RAID 5:至少3块空间,2块空间存储分割的数据,第3块空间校验,硬盘可以损坏1块,读写速度变慢,数据利用率高,数据安全性有一定提高。

热备盘:平时不工作,当有数据硬盘损坏时,作为数据硬盘参加工作。

RAID 10:RAID 1+RAID 0,至少4块存储空间

RAID 50:RAID 5+RAID 0,至少6块存储空间

实现

mdadm # 添加若干个分区或硬盘# 最小安装的Linux,需要安装工具mdadmlsblk # 查看磁盘名称# 选项:-C # 创建阵列,或者-create-v # 显示详细过程-n # 指定阵列中成员盘个数,或者--raid-devices-l # 设置raid级别,或者--level-x # 指定阵列中热备盘个数,或者--spare-devices-r # 从阵列中移除指定设备,或者--remove-a # 将指定设备添加到阵列中,或者-add-D # 显示一个阵列的详细信息,或者--detail-S # 停止阵列,被停止的阵列需要重新组装后才能使用,或者--stop--zero-superblock # 将包含合法md信息的superblock区域置为零,停止阵列后,若需要清理磁盘上的阵列信息,需要执行该操作。

实验步骤:

主机:192.168.100.70

添加一个硬盘sdb,大小为20G,设置为gpt,新建18个分区,每个分区大小1G(将一个分区当成一块硬盘进行实验)

1、创建raid0

mdadm -Cv /dev/md0 -l 0 -n 2 /dev/sdb{1..2}

要使用它只需对/dev/md0格式化后,创建挂载点挂载即可

2、删除raid0

# 删除时如果挂载了,需要先卸载:umount 挂载点mdadm -S /dev/md0 # 停止阵列rm -rf 挂载点 # 删除创建的挂载点# 清理磁盘上的阵列信息mdadm --zero-superblock /dev/sdb1mdadm --zero-superblock /dev/sdb2

3、创建raid1

mdadm -Cv /dev/md1 -l 1 -n 2 /dev/sdb{3..4}

4、创建raid5

mdadm -Cv /dev/md5 -l 5 -n 3 /dev/sdb{5..7} --spare-devices=1 /dev/sdb8

mdadm -D /dev/mdb5 # 查看md5

# 模拟硬盘故障mdadm -f /dev/md5 /dev/sdb5

如图所示,数据硬盘sdb5损坏时,热备盘sdb8作为数据盘参加工作。

# 将数据硬盘sdb5从阵列中移除mdadm -r /dev/md5 /dev/sdb5

# 将sdb5添加进阵列中
mdadm -a /dev/md5 /dev/sdb5

如果所示,添加的sdb5作为热备盘使用。

5、创建raid10

先创建raid1

mdadm -Cv /dev/md101 -l 1 -n 2 /dev/sdb9 /dev/sdb10
mdadm -Cv /dev/md102 -l 1 -n 2 /dev/sdb11 /dev/sdb12

再创建raid0

mdadm -Cv /dev/md10 -l 0 -n 2 /dev/md101 /dev/md102

6、创建raid50

先创建raid5

mdadm -Cv /dev/md501 -l 5 -n 3 /dev/sdb13 /dev/sdb14 /dev/sdb15
mdadm -Cv /dev/md502 -l 5 -n 3 /dev/sdb16 /dev/sdb17 /dev/sdb18

再创建raid0

mdadm -Cv /dev/md50 -l 0 -n 2 /dev/md501 /dev/md502

http://www.dtcms.com/a/336839.html

相关文章:

  • 开源Verilog仿真即波形模拟工具iVerilog初步教程
  • 香港数据合集:建筑物、手机基站、POI、职住数据、用地类型
  • Java 中表示数据集的常用集合类
  • 【快速解决】Redis配置问题以及解决方法
  • 世界模型之自动驾驶
  • 实战架构思考及实战问题:Docker+‌Jenkins 自动化部署
  • 基于Android的随身小管家APP的设计与实现/基于SSM框架的财务管理系统/android Studio/java/原生开发
  • Rust 教程之简介000
  • 【网络安全实验报告】实验六: 病毒防护实验
  • Rust 异步中的 Waker
  • reGeorg、dnscat2--安装、使用
  • moe并行
  • 【Linux系统】进程间通信:System V IPC——消息队列和信号量
  • 灯哥FOC笔记(3) --FOC开环程序原理
  • 轨迹优化 | 基于边界值问题(BVP)的无约束路径平滑(附ROS C++/Python仿真)
  • 第二章:C语言数据类型和变量
  • PyTorch数据处理工具箱详解|深入理解torchvision与torch.utils.data
  • Gemini CLI 系统配置小结
  • ±2cm精度破壁者:有鹿机器人如何重写清洁行业规则?
  • java自动化更新
  • Git+Jenkins 基本使用
  • Win11安装WSL、Docker Desktop
  • MySQL集群、分布式
  • 如何生成结婚登记档案目录套打文件
  • 上下文切换及线程操作相关内容
  • Zephyr 中 BT_GATT_SERVICE_DEFINE 使用详解
  • 信创产业:从技术突围到生态重构的强国之路
  • 云计算- KubeVirt 实操指南:VM 创建 、存储挂载、快照、VMI全流程 | 容器到虚拟机(镜像转换/资源调度)
  • Python之Django框架开发Web应用,并部署到服务器
  • 【LeetCode题解】LeetCode 74. 搜索二维矩阵