1. 程式人生 > >raid0和raid5的 實驗過程

raid0和raid5的 實驗過程

tin warning des col symmetric ins write rep device

raid:獨立的磁盤冗余陣列

創建raid0:

環境準備:準備三塊大小相同的磁盤或分區,此處要特別註意:紅色字體

[[email protected] home]#fdisk /dev/sdd   ##對/dev/sdd磁盤進行分區
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x55958e14.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won
t be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. Its strongly recommended to switch off the mode (command ‘c‘) and change display units to sectors (command ‘u‘). Command (m for help): n    #增加一塊分區
Command action e extended p primary partition (
1-4) p                #增加主分區 Partition number (1-4): 1 First cylinder (1-6527, default 1): #分區編碼為1 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-6527, default 6527): +20G #分區大小為20G Command (m for help): t   #改變分區系統的編碼
Selected partition
1 Hex code (type L to list codes): L   0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx 5 Extended 42 SFS 86 NTFS volume set da Non-FS data 6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility 8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt 9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT f W95 Extd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary 16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT 1e Hidden W95 FAT1 Hex code (type L to list codes): fd      #此處做raid測試,故選擇fd Changed system type of partition 1 to fd (Linux raid autodetect) Command (m for help): w    #存盤退出 The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [[email protected] home]#lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 3.7G 0 rom /media/CentOS_6.8_Final sda 8:0 0 200G 0 disk ├─sda1 8:1 0 500M 0 part /boot ├─sda2 8:2 0 48.8G 0 part / ├─sda3 8:3 0 39.1G 0 part /home ├─sda4 8:4 0 1K 0 part ├─sda5 8:5 0 2G 0 part [SWAP] └─sda6 8:6 0 109.6G 0 part /apps sdb 8:16 0 100G 0 disk ├─sdb2 8:18 0 2G 0 part ├─sdb1 8:17 0 5G 0 part /mnt/sdb1 └─sdb3 8:19 0 20G 0 part sdc 8:32 0 50G 0 disk └─sdc1 8:33 0 20G 0 part sdd 8:48 0 50G 0 disk └─sdd1 8:49 0 20G 0 part

下面以/dev/sdc2和/dev/sdd2做raid0,以/dev/sdb3,/dev/sdc1,/dev/sdd1為例做raid5:

[[email protected] home]#lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1   3.7G  0 rom  /media/CentOS_6.8_Final
sda      8:0    0   200G  0 disk 
├─sda1   8:1    0   500M  0 part /boot
├─sda2   8:2    0  48.8G  0 part /
├─sda3   8:3    0  39.1G  0 part /home
├─sda4   8:4    0     1K  0 part 
├─sda5   8:5    0     2G  0 part [SWAP]
└─sda6   8:6    0 109.6G  0 part /apps
sdb      8:16   0   100G  0 disk 
├─sdb2   8:18   0     2G  0 part 
├─sdb1   8:17   0     5G  0 part /mnt/sdb1
└─sdb3   8:19   0    20G  0 part 
sdc      8:32   0    50G  0 disk 
├─sdc1   8:33   0    20G  0 part 
└─sdc2   8:34   0    20G  0 part 
sdd      8:48   0    50G  0 disk 
├─sdd1   8:49   0    20G  0 part 
└─sdd2   8:50   0    20G  0 part 
#-C:創建raid0 後跟-a{yes|no}:自動創建raid設備的設備文件
-l level:指定要創建的raid的級別

-n number:指定用多少塊設備來創建raid,還要詳細的寫出設備
[[email protected] home]#mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdc2 /dec/sdd2  #寫錯了設備 mdadm: cannot open /dec/sdd2: No such file or directory [[email protected] home]#mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdc2 /dev/sdd2 mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.

#-D:顯示raid創建的詳細信息
[[email protected] home]#mdadm -D /dev/md0 /dev/md0:            #raid0的名稱 Version : 1.2 Creation Time : Sun Apr 23 18:46:38 2017 Raid Level : raid0    #raid設備的級別 Array Size : 41928704 (39.99 GiB 42.93 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Sun Apr 23 18:46:38 2017 State : clean    #設備目前的狀態
Active Devices :
2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0      #備用設備數,目前沒有備用設備,可用-x來指定備用設備的個數 Chunk Size : 512K    #chunk的默認大小,即條帶卷的默認大小;可用-c 修改默認大小 Name : localhost6.8.localdomain:0 (local to host localhost6.8.localdomain) UUID : 4975f63e:b94df707:df8c64b1:0f502244  #raid0的UUID Events : 0 Number Major Minor RaidDevice State    #raid0包含的成員 0 8 34 0 active sync /dev/sdc2 1 8 50 1 active sync /dev/sdd2

[[email protected] home]#mkfs.ext4 /dev/md0  #raid0的格式化,必須是raid0整體進行格式化,而不是每個成員獨立的進行格式化
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
2621440 inodes, 10482176 blocks
524108 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[[email protected] home]#blkid    #查看格式化之後的磁盤的UUID
/dev/sda1: UUID="b3ef8664-92fc-4639-a78c-9db880895677" TYPE="ext4" 
/dev/sda2: UUID="6c72c208-95ae-4b37-9890-7b4327770a4d" TYPE="ext4" 
/dev/sda3: UUID="a2a735cb-20a0-4bfa-af8f-f33c4b3e3477" TYPE="ext4" 
/dev/sda5: UUID="e7081f48-f426-4050-86d9-dd9309523cb1" TYPE="swap" 
/dev/sda6: UUID="9da8eb51-8801-4a49-955b-6ed82a6d41dd" TYPE="ext4" 
/dev/sdb1: UUID="8251e11e-e770-4447-b6ba-e8ca57519544" TYPE="ext4" 
/dev/sdb2: UUID="615eb63b-18df-4004-b11b-6590436e186c" TYPE="ext4"   #有UUID和UUID_SUB,UUID是相同的,都是raid0中的,type類型如下:
/dev/sdc2: UUID="4975f63e-b94d-f707-df8c-64b10f502244" UUID_SUB="41ca2361-2c4d-ce5e-37ef-e6588755bfe7" LABEL="localhost6.8.localdomain:0" TYPE="linux_raid_member" 
/dev/sdd2: UUID="4975f63e-b94d-f707-df8c-64b10f502244" UUID_SUB="40d2db11-ac16-84a6-10a9-74370a01a26f" LABEL="localhost6.8.localdomain:0" TYPE="linux_raid_member" 
/dev/md0: UUID="8cefdce6-b198-47e2-b96f-6dbd43b11432" TYPE="ext4" 

[[email protected] ~]#mkdir /mnt/raid0  #為raid0的掛載建目錄
[[email protected] ~]#mount /dev/md0 /mnt/raid0  #掛載raid0
[[email protected] raid0]#dd if=/dev/zero of=file1 bs=1M count=2048   #設備名寫錯
dd: opening `/dev/z1ero‘: No such file or directory
[[email protected] raid0]#dd if=/dev/zero of=file1 bs=1M count=2048   #對raid0進行寫操作的測試
2048+0 records in 2048+0 records out 2147483648 bytes (2.1 GB) copied, 2.97907 s, 721 MB/s

[[email protected] raid0]#dd if=file1  of=/dev/null  #對raid0進行讀的操作測試
4194304+0 records in 4194304+0 records out 2147483648 bytes (2.1 GB) copied, 4.23014 s, 508 MB/s
#將創建的raid寫入配置文件/etc/fstab
# /etc/fstab # Created by anaconda on Thu Mar 23 04:54:05 2017 # # Accessible filesystems, by reference, are maintained under ‘/dev/disk‘ # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=6c72c208-95ae-4b37-9890-7b4327770a4d / ext4 defaults 1 1 UUID=9da8eb51-8801-4a49-955b-6ed82a6d41dd /apps ext4 defaults 1 2 UUID=b3ef8664-92fc-4639-a78c-9db880895677 /boot ext4 defaults 1 2 UUID=a2a735cb-20a0-4bfa-af8f-f33c4b3e3477 /home ext4 usrquota,grpquota 1 2 UUID=e7081f48-f426-4050-86d9-dd9309523cb1 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 UUID=8251e11e-e770-4447-b6ba-e8ca57519544 /mnt/sdb1 ext4 acl 0 0 UUID=8cefdce6-b198-47e2-b96f-6dbd43b11432 /mnt/raid0 ext4 defaults 0 0

創建raid5:

#-x:備用設備的個數,備用設備一般寫到最後邊,前邊的-n 代表的是成員,故沒有加上備用設備的數量
[[email protected] raid0]#mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sdb3 /dev/sdc1 /dev/sdd1 /dev/sdb4 mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md5 started.

[[email protected] raid0]#mdadm -D /dev/md5   #查看raid的詳細信息
/dev/md5:
        Version : 1.2
  Creation Time : Sun Apr 23 19:34:50 2017
     Raid Level : raid5
     Array Size : 41928704 (39.99 GiB 42.93 GB)
  Used Dev Size : 20964352 (19.99 GiB 21.47 GB)
   Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Sun Apr 23 19:35:44 2017
          State : clean, degraded, recovering 
 Active Devices : 2
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 2

         Layout : left-symmetric
     Chunk Size : 512K

 Rebuild Status : 53% complete

           Name : localhost6.8.localdomain:5  (local to host localhost6.8.localdomain)
           UUID : 946c8dfd:9bc77d44:381d0edc:985e0ba3
         Events : 9

    Number   Major   Minor   RaidDevice State  #raid的成員只有三個,sdb4只是備用0       8       19        0      active sync   /dev/sdb3
       1       8       33        1      active sync   /dev/sdc1
       4       8       49        2      spare rebuilding   /dev/sdd1

       3       8       20        -      spare   /dev/sdb4

[[email protected] raid0]#blkid    #查看磁盤的UUID信息
/dev/sda1: UUID="b3ef8664-92fc-4639-a78c-9db880895677" TYPE="ext4" 
/dev/sda2: UUID="6c72c208-95ae-4b37-9890-7b4327770a4d" TYPE="ext4" 
/dev/sda3: UUID="a2a735cb-20a0-4bfa-af8f-f33c4b3e3477" TYPE="ext4" 
/dev/sda5: UUID="e7081f48-f426-4050-86d9-dd9309523cb1" TYPE="swap" 
/dev/sda6: UUID="9da8eb51-8801-4a49-955b-6ed82a6d41dd" TYPE="ext4" 
/dev/sdb1: UUID="8251e11e-e770-4447-b6ba-e8ca57519544" TYPE="ext4" 
/dev/sdb2: UUID="615eb63b-18df-4004-b11b-6590436e186c" TYPE="ext4" 
/dev/sdc2: UUID="4975f63e-b94d-f707-df8c-64b10f502244" UUID_SUB="41ca2361-2c4d-ce5e-37ef-e6588755bfe7" LABEL="localhost6.8.localdomain:0" TYPE="linux_raid_member" 
/dev/sdd2: UUID="4975f63e-b94d-f707-df8c-64b10f502244" UUID_SUB="40d2db11-ac16-84a6-10a9-74370a01a26f" LABEL="localhost6.8.localdomain:0" TYPE="linux_raid_member" 
/dev/md0: UUID="8cefdce6-b198-47e2-b96f-6dbd43b11432" TYPE="ext4" 
/dev/sdb3: UUID="946c8dfd-9bc7-7d44-381d-0edc985e0ba3" UUID_SUB="5ad41266-add6-4399-7666-0a29db8ad4d9" LABEL="localhost6.8.localdomain:5" TYPE="linux_raid_member" 
/dev/sdb4: UUID="946c8dfd-9bc7-7d44-381d-0edc985e0ba3" UUID_SUB="c5da8eae-6aaf-c3fa-4df7-df2ccf377976" LABEL="localhost6.8.localdomain:5" TYPE="linux_raid_member" 
/dev/sdc1: UUID="946c8dfd-9bc7-7d44-381d-0edc985e0ba3" UUID_SUB="e19a457c-327c-2076-0791-fadb8b65b7ca" LABEL="localhost6.8.localdomain:5" TYPE="linux_raid_member" 
/dev/sdd1: UUID="946c8dfd-9bc7-7d44-381d-0edc985e0ba3" UUID_SUB="bdc8eb2e-6f9f-9dd0-3a3d-7bb1ace8a394" LABEL="localhost6.8.localdomain:5" TYPE="linux_raid_member" 
[[email protected] raid0]#

[[email protected] raid0]#mkfs.ext4 /dev/md5  #格式化整個raid設備
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
2621440 inodes, 10482176 blocks
524108 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

[[email protected] raid0]#mkdir /mnt/md5  #為掛載raid設備創建目錄
[[email protected] raid0]#mount /dev/md5 /mnt/md5   #掛載raid設備

[[email protected] md5]#dd if=/dev/zero of=file1 bs=1M count=2048  #raid設備的寫測試,沒有raid0高
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 4.94279 s, 434 MB/s

[[email protected] md5]#dd if=file1 of=/dev/null   #raid設備的讀測試
4194304+0 records in
4194304+0 records out
2147483648 bytes (2.1 GB) copied, 4.1317 s, 520 MB/s

#mdadm.conf 是raid默認的配置文件
#-s scan:掃描raid的配置文件

[[email protected] md5]#mdadm -Ds > /etc/mdadm.conf    #此配置文件的用途是其中一塊設備因故障停了再激活使用時,必須首先掃描配置文件。這條命令可認為是生成配置文件。

#-A:激活raid設備
#-S stop:停用raid設備
[[email protected] md5]#mdadm -S /dev/md0 #停用raid設備必須先取消掛載 mdadm: Cannot get exclusive access to /dev/md0:Perhaps a running process, mounted filesystem or active volume group? [[email protected] md5]#umount /mnt/raid0  #取消掛載 [[email protected] md5]#mdadm -S /dev/md0  #停用raid設備 mdadm: stopped /dev/md0 [[email protected] md5]#ll /dev/md0      #停用的raid設備查不到 ls: cannot access /dev/md0: No such file or directory [[email protected] md5]#mdadm -As /dev/md0  #重新激活raid設備。這時需要配置文件/etc/mdadm.conf的存在並掃描確認 mdadm: /dev/md0 has been started with 2 drives.

#將raid的創建寫入配置文件/etc/fstab
# /etc/fstab # Created by anaconda on Thu Mar 23 04:54:05 2017 # # Accessible filesystems, by reference, are maintained under ‘/dev/disk‘ # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=6c72c208-95ae-4b37-9890-7b4327770a4d / ext4 defaults 1 1 UUID=9da8eb51-8801-4a49-955b-6ed82a6d41dd /apps ext4 defaults 1 2 UUID=b3ef8664-92fc-4639-a78c-9db880895677 /boot ext4 defaults 1 2 UUID=a2a735cb-20a0-4bfa-af8f-f33c4b3e3477 /home ext4 usrquota,grpquota 1 2 UUID=e7081f48-f426-4050-86d9-dd9309523cb1 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 UUID=8251e11e-e770-4447-b6ba-e8ca57519544 /mnt/sdb1 ext4 acl 0 0 UUID=8cefdce6-b198-47e2-b96f-6dbd43b11432 /mnt/raid0 ext4 defaults 0 0 UUID=ae77fa79-8a9a-41f8-9aac-90bbcedca246 /mnt/md5 ext4 defaults 0 0

raid0和raid5的 實驗過程