Ubuntu18.04软RAID 0 1 5 10创建(附gparted/live使用)

若是图片没法查看, 请访问此处linux

目录

  • 前言
  • 磁盘准备
  • 建立RAID 0阵列
  • 格式化RAID
  • 保存RAID
  • 删除RAID
  • 建立RAID 1阵列
  • 建立RAID 5阵列
  • 磁盘测速
  • gparted live修改根目录大小
  • 建立RAID 10阵列
  • 最后

前言

关于RAID能够参看维基百科, 或者我推荐这篇博文, 简单来讲, RAID把多个硬盘组合成为一个逻辑硬盘, 所以, 操做系统只会把它看成一个硬盘. RAID常被用在服务器计算机上, 而且常使用彻底相同的硬盘做为组合. 因为硬盘价格的不断降低与RAID功能更加有效地与主板集成, 它也成为普通用户的一个选择, 特别是须要大容量存储空间的工做, 如: 视频与音频制做.git

RAID等级 最少硬碟 最大容错 可用容量 读取效能 写入效能 安全性 目的 应用产业
单一硬碟 (参考) 0 1 1 1
JBOD 1 0 n 1 1 无(同RAID 0) 增长容量 我的(暂时)储存备份
0 2 0 n n n 一个硬碟异常, 所有硬碟都会异常 追求最大容量、速度 影片剪接快取用途
1 2 n-1 1 n 1 高, 一个正常便可 追求最大安全性 我的、企业备份
5 3 1 n-1 n-1 n-1 追求最大容量、最小预算 我的、企业备份
6 4 2 n-2 n-2 n-2 安全性较RAID 5高 同RAID 5, 但较安全 我的、企业备份
10 4 n 综合RAID 0/1优势, 理论速度较快 大型资料库、伺服器
50 6 提高资料安全
60 8 提高资料安全
  1. n表明硬盘总数
  2. JBOD(Just a Bunch Of Disks)指将数个物理硬盘, 在操做系统中合并成一个逻辑硬盘, 以直接增长容量
  3. 依不一样RAID厂商实现算法对于性能表现会有不一样, 性能公式仅供参考 4.RAID十、50、60 依实现 Parity 不一样公式也不一样

可是很遗憾, 个人笔记本是没有那么多硬盘的, 为了完成演示, 我只能经过将单个磁盘进行分区来模拟.github


磁盘准备

注意数据备份!!!. 注意数据备份!!!. 注意数据备份!!!.算法

首先用指令看下目前磁盘状况:vim

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
复制代码

能够看到, 我这里是一个空的465G的固态, 而后被我划出3个5G的分区, 并且未进行文件系统的格式化. 可是你目前手上的磁盘基本不多是这样的. 因此要先进行处理: 首先推荐安装GParted:安全

sudo apt-get install gparted
复制代码

而后打开GParted, 这里就能够将分区删除, 而后看到是一整块固态, 而后用fdisk从新分区:bash

这里展现一下分区的操做, 最后分红3个5G的磁盘:服务器

在使用w保存以前, 都是能够用q进行撤销重来的:并发


建立RAID 0阵列

RAID 0: striping条带模式 特色: 在读写的时候能够实现并发, 因此相对其读写性能最好, 每一个磁盘都保存了完整数据的一部分, 读取也采用并行方式, 磁盘数量越多, 读取和写入速度越快. 由于没有冗余, 一个硬盘坏掉所有数据丢失. 至少两块硬盘才能组成Raid0阵列.
容量: 全部硬盘之和. 磁盘利用率为100%.工具

图片来自互联网

/dev/md0是磁盘名, --level=0指的是RAID 0, --raid-devices=3表明3个磁盘数, /dev/sda{1, 2, 3}是磁盘名:

sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=3 /dev/sda{1,2,3}
复制代码

用指令看下构建状况, 只要没有进度条, 就是构建完成:

cat /proc/mdstat
复制代码


格式化RAID

这个格式化是通用操做, 包括以后的RAID 1, RAID 5等等. 而后就是文件系统格式化, 创建文件夹, 挂载三连了:

sudo mkfs.ext4 -F /dev/md0
sudo mkdir -p /mnt/md0
sudo mount /dev/md0 /mnt/md0
复制代码

df -h -x devtmpfs -x tmpfs查看下是否可用:


保存RAID

这个保存是通用操做, 包括以后的RAID 1, RAID 5等等. 这样重启以后也会自动挂载. 注意名称上的对应, 由于你的命名可能与我不一样:

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u
echo '/dev/md0 /mnt/md0 ext4 defaults, nofail, discard 0 0' | sudo tee -a /etc/fstab
复制代码


删除RAID

卸载, 中止RAID.

sudo umount /dev/md0
sudo mdadm --stop /dev/md0
复制代码

查看下当前磁盘情况:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
复制代码

删除RAID并重置:

sudo mdadm --zero-superblock /dev/sda{1,2,3}
复制代码

打开/etc/fstab, 删除以前输入的配置.

sudo vim /etc/fstab
复制代码

删除RAID定义:

sudo vim /etc/mdadm/mdadm.conf
复制代码

最后, 更新initramfs:

sudo update-initramfs -u
复制代码

简单来讲, 就是将以前的操做反向操做一波, 若是没有删干净, 会致使启动时出问题, 进入修复模式, 在修复模式中也能够再删除.


建立RAID 1阵列

图片来自互联网

查看下当前磁盘情况:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
复制代码

其实和建立RAID 0就差一个level:

sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=3 /dev/sda{1,2,3}
复制代码

我就不重复操做了, 直接跳到RAID 5吧.


建立RAID 5阵列

要求: 至少3个存储设备

  • 主要好处: 具备更多可用容量的冗余.
  • 须要注意的事项: 在分配奇偶校验信息时, 一个磁盘的容量将用于奇偶校验. 在处于降级状态时, RAID 5可能会遭受很是差的性能.

图片来自互联网

sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda{1,2,3}
复制代码

RAID 5构建是比较慢的, 这里能够查看状态, 发现有进度条. 固然了, 我故意把大小设置成5G, 设置成200G, 这篇文章就无法写了.

cat /proc/mdstat
复制代码

等待完成.

而后请回头查看格式化RAID, 和保存RAID, 不重复写了.

磁盘测速

这里推荐hdparm指令.

hdparm -Tt /dev/md0
复制代码

这样就能够测速了. 固然了, 我这样测速没什么意义, 由于我是分区而后制成RAID的, 不是经过多个硬盘. 固然了, 也能够看出sda是SATA3固态, sdb是M.2固态或者其余, whatever, 反正和mac的PCIE固态比起来都是弟弟.


gparted live修改根目录大小

最后是RAID 10, 这是RAID 0和RAID 1的组合, 表现抢眼. 可是至少须要四块磁盘. 而一块硬盘只能分红3个主分区和一个扩展区, 也就是说, 没法靠当前磁盘分配进行演示.

思路就是从根目录所在固态借5G主分区出来. 可是根目录是不能再Linux启动的时候修改的, 这里就须要gparted live工具. 其实思路很简单, 就和装系统同样. 这里下载镜像, 用软件Universal USB Installer进行刻录, 以下图. 而后BIOS进入U盘一路默认, 选择gparted工具, resize大小便可:


建立RAID 10阵列

建立RAID 10思路也是同样同样的.

图片来自互联网

sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda{1,2,3} /dev/sdb3
复制代码

等待完成

再查看下磁盘状态.


最后

花费最大精力的就是修改根目录大小, 查阅了不少资料, 也失败了不少次. 总之, 各位若是要下载软件之类, 尽可能去官网下载, 避免没必要要的麻烦. gparted/live真的是个神器, 不但在Linux好用, 其余OS, 好比macOS也是同样. 顺带解释一下, 为何刻录的时候用的是Windows, 由于官网推荐的Tuxboot我安装以后打不开, 因此只能放弃. 喜欢记得点赞, 有意见或者建议评论区见哦~

相关文章
相关标签/搜索