磁盘管理(二)

RAID

  什么是RAID?

  RAID:Redundant Arrays of Inexpensive(Independent) Disks1988年由加利福尼亚大学伯克利分
校(University of California-Berkeley) “A Case for Redundant Arrays of Inexpensive 
Disks”
  多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供

  RAID
 
  提高IO能力:磁盘并行读写
  提高耐用性:磁盘冗余来实现
  级别:多块磁盘组织在一起的工作方式有所不同

  RAID实现的方式:

  外接式磁盘阵列:通过扩展卡提供适配能力
  内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
  软件RAID:通过OS实现

  RAID级别

  RAID-0:条带卷,strip
  RAID-1: 镜像卷,mirror
  RAID-2
  ..
  RAID-5
  RAID-6
  RAID-10
  RAID-01

  RAID0
  
  读、写性能提升;
  可用空间:N*min(S1,S2,...)
  无容错能力
  最少磁盘数:2, 2+
{DLX}S~IBNWO80%J)}GZYCT  RAID1
  
  读性能提升、写性能略有下降;
  可用空间:1*min(S1,S2,...)
  有冗余能力
  最少磁盘数:2, 2N
  
  RAID-4
  多块数据盘异或运算值存于专用校验盘
  SKF77HT2{360CA@C%7K@`TG
  RAID-5:

  读、写性能提升
  可用空间:(N-1)*min(S1,S2,...)
  有容错能力:允许最多1块磁盘损坏
  最少磁盘数:3, 3+
S{$MDW$A9J)F5F23W$12EVQ
  RAID-6:

  读、写性能提升
  可用空间:(N-2)*min(S1,S2,...)
  有容错能力:允许最多2块磁盘损坏
  最少磁盘数:4, 4+
SYVC@2QBFS70$8[Q4QOK%~M
  RAID-10:

  读、写性能提升
  可用空间:N*min(S1,S2,...)/2
  有容错能力:每组镜像最多只能坏一块
  最少磁盘数:4, 4+
AMWLV283CHA3XPMGG$M5ZRH
  RAID-01

  多块磁盘先实现RAID0,再组合成RAID1
PWH}2U3$XH9E7TCH8$TSQV3
  JBOD:Just a Bunch Of Disks

  功能:将多块磁盘的空间合并一个大的连续空间使用
  可用空间:sum(S1,S2,...)
)[XM0_]519B~EC_Q9QXS_}7
  RAID7

  可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID
模式

  常用级别:
  RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD

  软RAID

  mdadm:为软RAID提供管理界面
  为空余磁盘添加冗余
  结合内核中的md(multi devices)
  RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等

  软件RAID的实现
  mdadm:模式化的工具
  命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
  支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10 
   模式:
    创建:-C
    装配: -A
    监控: -F
    管理:-f, -r, -a
  <raiddevice>: /dev/md#
  <component-devices>: 任意块设备
   -C: 创建模式
   -n #: 使用#个块设备来创建此RAID
   -l #:指明要创建的RAID的级别
   -a {yes|no}:自动创建目标RAID设备的设备文件
   -c CHUNK_SIZE: 指明块大小,单位k
   -x #: 指明空闲盘的个数
   -D:显示raid的详细信息
   mdadm -D /dev/md#

  管理模式:
  -f: 标记指定磁盘为损坏
  -a: 添加磁盘
  -r: 移除磁盘
 
  观察md的状态:
  cat /proc/mdstat

  软RAID配置示例
  使用mdadm创建并定义RAID设备
  mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
  用文件系统对每个RAID设备进行格式化
  mke2fs -j /dev/md0

  测试RAID设备
  使用mdadm检查RAID设备的状况
   mdadm --detail|D /dev/md0

  增加新的成员
   mdadm –G /dev/md0 –n4 -a /dev/sdf1
 
  软RAID测试和修复
  模拟磁盘故障
   mdadm /dev/md0 -f /dev/sda1
  移除磁盘
   mdadm /dev/md0 –r /dev/sda1
  
  从软件RAID磁盘修复磁盘故障
   替换出故障的磁盘然后开机
   在备用驱动器上重建分区
   mdadm /dev/md0 -a /dev/sda1
   mdadm、/proc/mdstat及系统日志信息

   软RAID管理
   生成配置文件:mdadm –D –s >> /etc/mdadm.conf
   停止设备:mdadm –S /dev/md0
   激活设备:mdadm –A –s /dev/md0 激活
   强制启动:mdadm –R /dev/md0
   删除raid信息:mdadm --zero-superblock /dev/sdb1

  练习
   1:创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup
目录
  2:创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机
可自动挂载至/mydata目录

  
 1.1先准备三个1G大小的磁盘或者分区,分区需要改分区格式为fd

┌─[root@centos6]─[~]
└──╼ #fdisk -l /dev/sdc

Disk /dev/sdc: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x675ef717

Device Boot Start End Blocks Id System
/dev/sdc1 1 132 1060258+ fd Linux raid autodetect
/dev/sdc2 133 264 1060290 fd Linux raid autodetect
/dev/sdc3 265 396 1060290 fd Linux raid autodetect
┌─[root@centos6]─[~]
└──╼ #lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 3.7G 0 rom /mnt/cdrom
sdb 8:16 0 20G 0 disk 
└─myvg-mylv (dm-0) 253:0 0 10.2G 0 lvm 
sdc 8:32 0 20G 0 disk 
├─sdc1 8:33 0 1G 0 part 
├─sdc2 8:34 0 1G 0 part 
└─sdc3 8:35 0 1G 0 part 
sda 8:0 0 200G 0 disk 
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 48.8G 0 part /
├─sda3 8:3 0 29.3G 0 part /data
├─sda4 8:4 0 1K 0 part 
├─sda5 8:5 0 2G 0 part [SWAP]
└─sda6 8:6 0 3G 0 part 
  
  1.2创建RAID1 

┌──[root@centos6]─[~]
└──╼ #mdadm -C /dev/md0 -a yes -l1 -n2 -x1 /dev/sdc{1,2,3}
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
Continue creating array? yes
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
┌─[root@centos6]─[~]
└──╼ #mdadm -D /dev/md0
/dev/md0:
 Version : 1.2
 Creation Time : Thu Apr 26 10:46:27 2018
 Raid Level : raid1
 Array Size : 1059264 (1034.44 MiB 1084.69 MB)
 Used Dev Size : 1059264 (1034.44 MiB 1084.69 MB)
 Raid Devices : 2
 Total Devices : 3
 Persistence : Superblock is persistent

Update Time : Thu Apr 26 10:46:33 2018
 State : clean 
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
 Spare Devices : 1

Name : centos6.NO10:0 (local to host centos6.NO10)
 UUID : b3b80825:bc7b09a9:7985cd23:7fc67a02
 Events : 17

Number Major Minor RaidDevice State
 0 8 33 0 active sync /dev/sdc1
 1 8 34 1 active sync /dev/sdc2

 2 8 35 - spare /dev/sdc3

  1.3创建文件系统
   
   mkfs -t ext4 /dev/md0
 
  1.4创建挂载点
  
   mkdir /backup
  
  1.5 将挂载信息写入/etc/fstab文件中

  blkid | tail -1,查看新设备的UUID
  UUID=bb2731ef-c4c2-4ac6-9d6f-5b121547ff51  /backup ext4 defaultS 0 0
  



  
  

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/97069

(0)
上一篇 2018-04-26 11:10
下一篇 2018-04-26 15:03

相关推荐

  • 用户、组和权限

    安全3A Authentication:认证 Authorization:授权 Accouting|Audition:审计 用户user 令牌token,identity Linux用户:username/UID 管理员:root,0(玉玺) 普通用户:1-65535 系统用户:1-499,1-999(centos7)(通关文牒) 对守护进程获取资源进行权限…

    2018-04-04
  • mysql主从复制

    首先配置主从复制结构 主节点: # vim /etc/my.cnf.d/server.cnf [mysqld] server_id=1 log_bin=master-bin innodb_file_per_table=on skip_name_resolve=on # systemctl start mairadb mysql> grant repli…

    Linux笔记 2018-06-10
  • 脚本基础课后练习

    (1)编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 #!/bin/bash echo “MY hostname is `hostname`”echo “My IPv4 address is `ifconfig …

    Linux笔记 2018-04-13
  • 运维自动化之ansible

    ansible的基本架构 ​ host inventory主机清单 ​ playbook相当于脚本, ​ modules模块 ansible工作原理 ​ 通过执行命令,或ansible playbook,cmdb ansible配置文件 ​ /etc/ansible/ansible.cfg主配置文件,配置ansible工作特性 ​ /etc/ansible/…

    Linux笔记 2018-06-03
  • 批量部署工具Ansibale笔记

    自动化运维

    2018-05-28