Linux部署磁盘阵列、损坏磁盘阵列及修复、磁盘阵列+备份盘、LVM

Linux部署磁盘阵列、损坏磁盘阵列及修复、磁盘阵列+备份盘、LVMA 部署磁盘阵列 mdadm 用于管理 Linux 系统中的软件 RAID 磁盘阵列 格式为 mdadm 模式 RAID 设备名称 选项 成员设备名称 mdadm 常用的参数有 a 检测设备名称 n 指定设备数量 l 指定 RAID 级别 C 创建 v 显示过程 f 模拟设备损坏 r 移除设备 Q 查看摘要信息 D 查看详细信息 RAID 设备名称

A.部署磁盘阵列

    mdadm用于管理Linux系统中的软件RAID磁盘阵列,格式为:mdadm  [模式] 

  [选项]  [成员设备名称]。mdadm常用的参数有:

-a 检测设备名称 -n 指定设备数量 -l 指定RAID级别 -C 创建 -v 显示过程 -f 模拟设备损坏 -r 移除设备 -Q 查看摘要信息 -D 查看详细信息 -S 停止RAID磁盘阵列

    在虚拟器中添加4块硬盘,模拟RAID10:

    1.mdadm  -Cv  /dev/md0  -a yes  -n 4  -l  10  /dev/sd[b-e]。-C代表创建一个RAID阵列卡,-v显示创建过程,/dev/md0中的md0为磁盘阵列的名称,-a  yes代表自动创建设备文件,-n代表使用几块硬盘,-l代表创建RAID级别。

    2.mkfs.ext4  /dev/md0。把制作好的磁盘阵列格式化为ext4格式。

    3.mkdir  /raid10。创建一个目录。

    4.mount  /dev/md0  /raid10。将md0挂载到/raid10目录。

    5.df  -h,查看挂载信息,mdadm  -D  /dev/md0查看磁盘阵列的详细信息。

    6.echo “/dev/md0  /raid10  ext4  defaults  0  0”  >>  /etc/fstab,编辑/etc/fstab文件使得挂载重启后继续生效。

B.损坏磁盘阵列及修复

    1.mdadm  /dev/md0  -f  /dev/sdb。模拟/dev/sdb盘坏了。

    2.mdadm  -D  /dev/md0,查看详细信息,得到/dev/sdb盘损坏

    3.umount  /dev/md0,卸载/dev/md0。

    4.添加一块硬盘,然后检测,命令为:mdadm  /dev/md0  -a  /dev/sdb。

    5.查看/dev/md0的详细信息,已恢复正常。

C.磁盘阵列+备份盘

    1.mdadm  -Cv  /dev/md0  -n  3  -l  5  -x  1  /dev/sd[b-e]。-x代表有几块备份盘。

    2.mkfs.ext4  /dev/md0,将/dev/md0格式化为ext4。

    3.mkdir  /raid5。创建挂载点。

    3.echo  “/dev/md0  /raid5  ext4  defaults  0  0”  >>  /etc/fstab。编辑/etc/fstab文件,使得重启后挂载继续生效。

    4.mdadm  /dev/md0  -f  /dev/sdb,模拟/dev/sdb盘损坏。

    5.mdadm  -D  /dev/md0。查看详细信息,发现已自动将坏盘置换。

D.LVM(逻辑卷管理器)

    LVM技术可以允许用户对硬盘资源进行动态调整。LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并,这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。

    物理卷(pv  Physical Volume)处在LVM中的最底层,可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列。卷组(vg  Volume  Group)建立在物理卷之上,一个卷组可以包含多个物理卷,而且在卷组创建之上也可以继续向其中添加新的物理卷。逻辑卷(pe  Physical  Extent)是用卷组中空闲的资源建立的,并且逻辑卷在建立后可以动态的扩展或缩小空间。

    部署逻辑卷:

    1.pvcreate  /dev/sdb  /dev/sdc,添加两块硬盘使其支持LVM技术。

    2.vgcreate  juanzu  /dev/sdb  /dev/sdc,把两块硬盘加入到juanzu卷组中。

    3.vgdisplay,查看卷组的状态。

    4.lvcreate  -n  vo  -L  150M  juanzu。-n是逻辑卷的名称,-L是划分出来的大小。

    5.mkfs.ext4  /dev/juanzu/vo。格式化逻辑卷。

    6.df  -h查看挂载状态。

    7.mkdir  /linuxprobe,创建挂载点。

    8.echo  “/dev/juanzu/vo  /linuxprobe  ext4  defaults  0  0”  >>  /etc/fstab。是重启后挂载继续生效。

    扩容逻辑卷:

    1.umount  /dev/juanzu/vo,扩展前一定要卸载设备。

    2.lvextend  -L  290M  /dev/juanzu/vo,将容量扩展为290M。

    3.e2fsck  -f  /dev/juanzu/vo,检查硬盘完整性,并重置硬盘容量。

    4.mount  /dev/juanzu/vo  /linuxprobe,重新挂载。

    5.df  -h,查看挂载状态。

    缩小逻辑卷:

    在对逻辑卷缩容的时候,需要先备份数据,而且要先检查文件系统的完整性(扩容是后检查文件系统完整性,缩容是先检查文件系统完整性)。

    1.umout  /dev/juanzu/vo,缩容前一定要卸载设备。

    2.e2fsck  -f  /dev/juanzu/vo,检查文件系统完整性。

    3.resize2fs  /dev/juanzu/vo  120M,将容量缩小为120M。

    4.mount  /dev/juanzu/vo  /linuxprobe,重新挂载。

    5.df  -h,检查系统状态。

    逻辑卷快照:

    LVM还有一个快照卷的功能,该功能类似于虚拟机软件的还原时间功能,如果日后发现数据被改错了,就可以用快照卷进行覆盖还原。LVM的快照卷有两个特点:1.快照卷的容量必须等同与逻辑卷的容量;2.快照卷仅一次有效,一旦执行还原操作后即立即删除。

    1.echo  “Welcome  to  linux”  >  /linuxprobe/readme.txt,创建一个文本。

    2.lvcreate  -L  120M  -s  -n  SNAP  /dev/juanzu/vo。-s生成一个快照卷,-L指定切割的大小。

    3.dd  if=/dev/zero  of=/linuxprobe/aaa  count=1  bs=120M。创建一个120M的垃圾文件。

    4.umount  /dev/juanzu/vo,还原前需要卸载设备。

    5.lvconvert  –merge  /dev/juanzu/vo/SNAP,还原。

    6.mount  -a,挂载。

    7.ls  /linuxprobe,查看目录。

    删除逻辑卷:

    删除逻辑卷的顺序为:依次删除逻辑卷、卷组、物理卷。

    1.umount  /dev/juanzu/vo,卸载设备。

    2.删除/etcfstab中的相关信息。

    3.lvremove  /dev/juanzu/vo。删除逻辑卷。

    4.vgremove  juanzu,删除卷组。

    5.pvremove /dev/sdb  /dev/sdc。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226966.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午10:15
下一篇 2026年3月16日 下午10:16


相关推荐

  • Cursor MCP 完整教程:让 AI 连接外部工具的配置方法

    Cursor MCP 完整教程:让 AI 连接外部工具的配置方法

    2026年3月16日
    1
  • Flutte接入firebase messaging(FCM)

    Flutte接入firebase messaging(FCM)flutter 接入 firebasemess 其实文档说的还算比较详细 但有些东西没有更新 照着文档无法正常集成 pub 地址使用添加依赖 firebasefire messaging 6 0 16Android 配置在 firebase 后台添加应用使用 Firebase 控制台将 Android 应用添加到您的项目中 跟随助手 下载生成的 google services json 文件 并将其放置在 android app 中 dependencies

    2026年3月17日
    2
  • 海康sdk java_java调用海康sdk案例

    海康sdk java_java调用海康sdk案例实例简介 基于海康 SDK 和 java 版 ClientDemo 移植到 idea 完全可用 出现无法加载 jar 包情况请选择 lib 下的 jaraddaslibr 最后选中 ClientDemo java 右击选择运行 就完成了 实例截图 核心代码 hk hk AudioRender dll HCCore dll HCNetSDK dll HCNetS

    2026年3月18日
    2
  • 小程序跳转到其他小程序

    小程序跳转到其他小程序我记得在之前的几个月小程序跳转必须是同一主体 同一公众号 但是现在不用了 可以随便跳转了 一 使用限制 1 需要用户触发跳转从 2 3 0 版本开始 若用户未点击小程序页面任意位置 则开发者将无法调用此接口自动跳转至其他小程序 2 需要用户确认跳转从 2 3 0 版本开始 在跳转至其他小程序前 将统一增加弹窗 询问是否跳转 用户确认后才可以跳转其他小程序

    2026年3月18日
    2
  • 批量下载ts视频文件

    批量下载ts视频文件第一步使用chrome按F12进入开发模式,拖动视频进度条到视频结束;然后找到.m3u8以结尾的文件并保存为文本文件。第二步点开查看里面是否存在如下以ts结尾的文件内容……/20180802/eXLFMdky/800kb/hls/QV7N1B14122999.ts/20180802/eXLFMdky/800kb/hls/QV7N1B14123000.ts…

    2022年7月18日
    24
  • 手动实现一维离散数据小波分解与重构

    手动实现一维离散数据小波分解与重构前言本文集中前面主要介绍了离散数据的傅里叶变换,并且得到了较好的效果!那既然有了傅里叶变换这个工具,为什么还需要小波变换呢?因为:傅里叶变换只能告诉你原始信号中有哪些频率,但不能告诉你这些频率的信号出现在什么时间!也就说明:如果信号是”时变”的(频率随着时间是改变的),那么单纯用傅里叶变换所能反映的信息就十分有限了!因此,针对时变信号,我们使用小波变换。图1展示”时变信号”与”时不变信号”区别:图1:时不变信号与时变信号时不变与时变的区别,看下面的实现的代码就很轻易理解:x=0:0.001:1

    2022年10月7日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号