磁盤管理(二)

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.www58058.com/97069

(0)
parrotparrot
上一篇 2018-04-26
下一篇 2018-04-26

相關推薦

  • liunx常用命令

    【1】創建文件和文件夾

    2018-04-03
  • 詳細說明進行管理工具htop、vmstat等相關命令,并舉例

    htop命令: 選項: -d #:指定延遲時間間隔 -u UserName:僅顯示指定用戶的進程 -s COLUME:以指定字段進行排序 htop -u root -d 10 PID:進程ID USER:用戶名 PRI:優先級 NI:nice值 VIRT:Size in memory of the total program size RES:所使用的物理內…

    2018-06-15
  • ansible進階小技巧

    用ansible寫playbook的朋友可能會發現,當配置工作很多時,如果在中間過程出錯了,修改后想重新執行,前面的一大堆步驟讓人感覺很煩躁。雖然提供了“retry”文件,但是卻只是根據host來判斷重新執行,仍然不夠方便;又或者,中間的某些步驟特別耗時,比如下載一個很大的數據包,每次執行特別浪費時間,想要特別的跳過。怎么辦?我猜你就是把不需要的部分給注釋掉…

    Linux筆記 2018-06-03
  • linux下練習及答案

    1.顯示當前時間,格式:201-06-18 ?10:20:30 2.顯示前天是星期幾 3.設置當前日期為2019-08-07 06:05:10 4、在本機字符終端登錄時,除顯示原有信息外,再顯示當前登錄終端號,主機名和當前時間 6.今天19:30自動關機,并提示用戶 7.顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間出現至少一位數字的文件或目錄 …

    2018-03-31
  • ansible httpd

    卸載服務ansible all -m shell -a ‘yum -y remove nginx’ 檢查用戶 組 uid gidansible all -m shell -a ‘getent passwd nginx’ansible all -m shell -a ‘getent group ngi…

    Linux筆記 2018-07-23
  • 命令行展開案例

    [Azuth@azuth ~]$ mkdir /home/Azuth/tmp/{a,b}_{c,d}[Azuth@azuth ~]$ ll /home/Azuth/tmp/total 0drwxrwxr-x. 2 Azuth Azuth 6 May 20 20:35 a_cdrwxrwxr-x. 2 Azuth Azuth 6 May 20 20:35 a_…

    Linux筆記 2018-05-20
欧美性久久久久