Linux创建RAID1实战

Linux创建RAID1

  1. RAID1俗称镜像,它最少由两个硬盘组成,且两个硬盘上存储的数据均相同,以实现数据冗余
  2. RAID1读操作速度有所提高,写操作理论上与单硬盘速度一样,但由于数据需要同时写入所有硬盘,实际上稍为下降
  3. 容错性是所有组合方式里最好的,只要有一块硬盘正常,则能保持正常工作
  4. 它对硬盘容量的利用率则是最低,只有50%,因而成本也是最高
  5. RAID1适合对数据安全性要求非常高的场景,比如存储数据库数据文件之类

创建RAID1,并格式化,挂载使用,故障模拟,重新添加热备份

  1. 添加三块10G的虚拟硬盘,分区,分区ID为fd(分区过程就不演示了,可以参照RAID0设置)
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 10G 0 disk
sdb 8:16 0 10G 0 disk
sdc 8:32 0 10G 0 disk
sr0 11:0 1 7.3G 0 rom
nvme0n1 259:0 0 80G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 79G 0 part
├─rhel-root 253:0 0 50G 0 lvm /
├─rhel-swap 253:1 0 2G 0 lvm [SWAP]
└─rhel-home 253:2 0 27G 0 lvm /home
  • 查看已经分区的三块10G的虚拟硬盘
[root@localhost ~]# fdisk -l |grep raid
/dev/sda1 2048 20971519 20969472 10G fd Linux raid autodetect
/dev/sdb1 2048 20971519 20969472 10G fd Linux raid autodetect
/dev/sdc1 2048 20971519 20969472 10G fd Linux raid autodetect
  1. 创建RAID1,并添加1个热备份盘
[root@localhost ~]# mdadm -C -v /dev/md1 -l1 -n2 /dev/sd{a,b}1 -x1 /dev/sdc1
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store '/boot' on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
--metadata=0.90
mdadm: size set to 10475520K
Continue creating array? yes
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
  1. 查看 raidstat 状态
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc1[2](S) sdb1[1] sda1[0]
10475520 blocks super 1.2 [2/2] [UU] unused devices: <none>
  1. 查看 RAID1 的详细信息
[root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Tue Dec 15 14:19:47 2020
Raid Level : raid1
Array Size : 10475520 (9.99 GiB 10.73 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent Update Time : Tue Dec 15 14:20:40 2020
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1 Consistency Policy : resync Name : ansible:1 (local to host ansible)
UUID : 219d1f6f:bf936912:6d94ec5c:a630c146
Events : 17 Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1 2 8 33 - spare /dev/sdc1
  1. 格式化 /dev/md1 ,类型为xfs
[root@localhost ~]# mkfs.xfs /dev/md1
meta-data=/dev/md1 isize=512 agcount=4, agsize=654720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=2618880, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# blkid /dev/md1
/dev/md1: UUID="d3ff27dc-c136-4c1c-8539-382832122242" TYPE="xfs"
  1. 挂载 /dev/md1
[root@localhost ~]# mkdir /raid1
[root@localhost ~]# mount /dev/md1 /raid1/
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 886M 0 886M 0% /dev
tmpfs 903M 0 903M 0% /dev/shm
tmpfs 903M 17M 886M 2% /run
tmpfs 903M 0 903M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 50G 4.5G 46G 9% /
/dev/mapper/rhel-home 27G 225M 27G 1% /home
/dev/nvme0n1p1 1014M 173M 842M 18% /boot
tmpfs 181M 0 181M 0% /run/user/0
/dev/md1 10G 104M 9.9G 2% /raid1
  1. 创建测试文件
[root@localhost ~]# touch /raid1/file{1..10}
[root@localhost ~]# cd /raid1/
[root@localhost raid1]# ls
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
  1. 故障模拟,其中 /dev/sda1 损坏
[root@localhost ~]# mdadm -f /dev/md1 /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md1
  1. 查看测试文件是否完整
[root@localhost ~]# ls /raid1/
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
  1. 再次查看 RAID1 状态
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc1[2] sdb1[1] sda1[0](F)
10475520 blocks super 1.2 [2/2] [UU] unused devices: <none> [root@localhost ~]# mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Tue Dec 15 14:19:47 2020
Raid Level : raid1
Array Size : 10475520 (9.99 GiB 10.73 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent Update Time : Tue Dec 15 14:33:04 2020
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 1
Spare Devices : 0 Consistency Policy : resync Name : ansible:1 (local to host ansible)
UUID : 219d1f6f:bf936912:6d94ec5c:a630c146
Events : 36 Number Major Minor RaidDevice State
2 8 33 0 active sync /dev/sdc1
1 8 17 1 active sync /dev/sdb1 0 8 1 - faulty /dev/sda1
  1. 移除损坏的磁盘 /dev/sda1
[root@ansible ~]# mdadm -r /dev/md1 /dev/sda1
mdadm: hot removed /dev/sda1 from /dev/md1
  • 再次查看 RAID1 状态
[root@ansible ~]# mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Tue Dec 15 14:19:47 2020
Raid Level : raid1
Array Size : 10475520 (9.99 GiB 10.73 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent Update Time : Tue Dec 15 14:41:22 2020
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0 Consistency Policy : resync Name : ansible:1 (local to host ansible)
UUID : 219d1f6f:bf936912:6d94ec5c:a630c146
Events : 37 Number Major Minor RaidDevice State
2 8 33 0 active sync /dev/sdc1
1 8 17 1 active sync /dev/sdb1
  1. 重新添加热备份硬盘 /dev/sda1
[root@ansible ~]# mdadm -a /dev/md1 /dev/sda1
mdadm: added /dev/sda1
  • 再次查看 RAID1 状态
[root@ansible ~]# mdadm  -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Tue Dec 15 14:19:47 2020
Raid Level : raid1
Array Size : 10475520 (9.99 GiB 10.73 GB)
Used Dev Size : 10475520 (9.99 GiB 10.73 GB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent Update Time : Tue Dec 15 14:44:19 2020
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1 Consistency Policy : resync Name : ansible:1 (local to host ansible)
UUID : 219d1f6f:bf936912:6d94ec5c:a630c146
Events : 38 Number Major Minor RaidDevice State
2 8 33 0 active sync /dev/sdc1
1 8 17 1 active sync /dev/sdb1 3 8 1 - spare /dev/sda1

Linux创建RAID1_实战的更多相关文章

  1. Linux创建RAID10_实战

    Linux创建RAID10_实战 Linux创建RAID10 RAID10 是先将数据进行镜像操作,然后再对数据进行分组,RAID1 在这里就是一个冗余的备份阵列,而RAID0则负责数据的读写阵列 至 ...

  2. Linux创建RAID5_实战

    Linux创建RAID5实战 Linux创建RAID5 RAID5最少由三个硬盘组成,它将数据分散存储于阵列中的每个硬盘,并且还伴有一个数据校验位,数据位与校验位通过算法能相互验证 RAID5最多能允 ...

  3. Linux创建RAID0_实战

    Linux创建RAID实战 一.Linux创建RAID0 RAID0俗称条带,它将两个或多个硬盘组成一个逻辑硬盘,容量是所有硬盘之和 因为是多个硬盘组合成一个,故可并行写操作,写入速度提高,但此方式硬 ...

  4. 优化系统资源ulimit《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》

    优化系统资源ulimit<高性能Linux服务器构建实战:运维监控.性能调优与集群应用> 假设有这样一种情况,一台Linux 主机上同时登录了10个用户,在没有限制系统资源的情况下,这10 ...

  5. (热死你)Resin https ssl Linux 配置,实战可用

    (热死你)Resin https ssl Linux 配置,实战可用 一.配置resin 1.在resin服务器中创建目录keys文件和openssl.conf,格式内容如下: #先复制以下的内容: ...

  6. Linux入门到实战

    关注公众号 cxytester 获取第一手资讯. 1. 全是干货-Linux命令大全 1.1 线上查询及帮助(1个) help 1.2 文件目录及操作(12个) ls tree pwd mkdir r ...

  7. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)

    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...

  8. 优化Linux内核参数/etc/sysctl.conf sysctl 《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》

    优化Linux内核参数/etc/sysctl.conf  sysctl  <高性能Linux服务器构建实战:运维监控.性能调优与集群应用> http://book.51cto.com/ar ...

  9. linux创建用户和用户组

    Linux创建用户.用户组 及 删除 在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组.创建用户user1的时候指定其所属工作组users,例 ...

随机推荐

  1. arthas使用

    博客原地址:https://blog.csdn.net/u013076044/article/details/83626202 arthas使用 文章目录 准备 启动Demo 进入arthas控制台 ...

  2. 从wav到Ogg Opus 以及使用java解码OPUS

    PCM 自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码.PCM通过抽样.量化.编码三个步骤将连续变化的模拟信号转换为数字编码. 采样率 采样频率,也称为采样速度或 ...

  3. OOUML系列总结及终章回顾

    盼望着,盼望着,OO课程终于结束了,但是,此刻的我却感到一丝失落,甚至想着再来一单元岂不妙哉? 目录 总结本单元三次作业架构 四个单元中架构设计及OO方法理解的演进 四个单元中测试理解与实践的演进 课 ...

  4. 树莓派WIFI

    树莓派WIFI设置 在"开始使用树莓派"中,我们在boot根目录下创wpa_supplicant.conf文件,实现了第一次连接wifi.以后开机后,树莓派会自动连接那个wifi. ...

  5. 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之镜像制作centos6.5-14

    自动化kolla-ansible部署ubuntu20.04+openstack-victoria之镜像制作centos6.5-14 欢迎加QQ群:1026880196 进行交流学习 制作OpenSta ...

  6. 亮相 LiveVideoStackCon,透析阿里云窄带高清的现在与未来

    2021.4.16-4.17,阿里云视频云亮相 LiveVideoStackCon 音视频技术大会上海站,带来三场不同视角的主题演讲,并与众多行业伙伴一同交流.在 "编解码的新挑战与新机会& ...

  7. Java代理简述

    1.什么是代理? 对类或对象(目标对象)进行增强功能,最终形成一个新的代理对象,(Spring Framework中)当应用调用该对象(目标对象)的方法时,实际调用的是代理对象增强后的方法,比如对功能 ...

  8. Pytest系列(30)- 使用 pytest-xdist 分布式插件,如何保证 scope=session 的 fixture 在多进程运行情况下仍然能只运行一次

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 背景 使用 pytest-xdis ...

  9. 【项目管理】关于Issue/Milestone的使用指导

    b[red] { color: rgba(255, 0, 0, 1) } 前言 本指导内容主要基于: 和邹欣老师的语音交流结论 邹欣老师<构建之法>的相关章节内容 现有开源项目在类似情况下 ...

  10. 01- Python语言简介

    Python的简介: 创始人:Guido van Rossum(创始人) 时间:1989年 圣诞节 Python的命名:源于一个喜剧团 Monty Python Python语言排名 目前Python ...