mdadm 명령어 상세 설명
mdadm 명령어 상세 설명 및 실험 과정
#🎜🎜 #온라인 학습 영상 공유: 1. 개념 mdadm은 Multiple Devices Admin의 약어로, 아래의 표준입니다. Neil Brown이 작성한 Linux 소프트웨어 RAID 관리 도구 분산된 프로그램 모음이 아닌 단일 통합 프로그램이므로 다양한 RAID 관리 명령에 대한 공통 구문이 있습니다. mdadm은 필요 없이 거의 모든 기능을 수행할 수 있습니다. 구성 파일(및 기본 구성 파일 없음) 3. 기능(인용) Linux 시스템에서 소프트웨어 RAID는 현재 MD(Multiple Devices) 형식으로 구현됩니다. ) 여러 기본 블록을 사용하는 가상 블록 장치 장치는 새로운 가상 장치를 가상화하고 스트라이핑 기술을 사용하여 데이터 블록을 여러 디스크에 균등하게 분산하여 가상 장치의 읽기 및 쓰기 성능을 향상시키고 다양한 데이터 중복 알고리즘을 사용하여 사용자 데이터를 보호합니다. 블록 장치 오류로 인한 전체 손실로 인한 손실을 방지하고 장치 교체 후 손실된 데이터를 새 장치에 복원할 수 있습니다. 현재 MD는 선형, 다중 경로, raid0(스트리핑)을 지원합니다. , raid1(미러), raid4, raid5, raid6, raid10 및 기타 다양한 중복 수준 및 등급 지정 방법은 물론 여러 RAID 어레이를 계단식으로 연결하여 raid1 0, raid5 1 및 기타 유형의 어레이를 형성하는 것도 지원할 수 있습니다#🎜🎜 #4. 실험
질문: 1G 크기의 디스크 4개를 만들고, 그 중 3개는 raid5 어레이 디스크로, 1개는 핫 백업 디스크로 만듭니다. 핫 스페어 디스크를 테스트하여 어레이의 디스크를 교체하고 데이터를 동기화합니다. 손상된 디스크를 제거하고 새 디스크를 핫 스페어로 추가합니다. 마지막으로 부팅 시 자동으로 마운트되어야 합니다.
4.1디스크 만들기
[root@xiao ~]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n First cylinder (10486-13054, default 10486): Using default value 10486 Last cylinder, +cylinders or +size{K,M,G} (10486-13054, default 13054): +1G Command (m for help): n First cylinder (10618-13054, default 10618): Using default value 10618 Last cylinder, +cylinders or +size{K,M,G} (10618-13054, default 13054): +1G Command (m for help): n First cylinder (10750-13054, default 10750): Using default value 10750 Last cylinder, +cylinders or +size{K,M,G} (10750-13054, default 13054): +1G Command (m for help): n First cylinder (10882-13054, default 10882): Using default value 10882 Last cylinder, +cylinders or +size{K,M,G} (10882-13054, default 13054): +1G Command (m for help): t Partition number (1-8): 8 Hex code (type L to list codes): fd Changed system type of partition 8 to fd (Linux raid autodetect) Command (m for help): t Partition number (1-8): 7 Hex code (type L to list codes): fd Changed system type of partition 7 to fd (Linux raid autodetect) Command (m for help): t Partition number (1-8): 6 Hex code (type L to list codes): fd Changed system type of partition 6 to fd (Linux raid autodetect) Command (m for help): t Partition number (1-8): 5 Hex code (type L to list codes): fd Changed system type of partition 5 to fd (Linux raid autodetect) Command (m for help): p Disk /dev/sda: 107.4 GB, 107374182400 bytes 255 heads, 63 sectors/track, 13054 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: 0x0008ed57 Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 10225 81920000 83 Linux /dev/sda3 10225 10486 2097152 82 Linux swap / Solaris /dev/sda4 10486 13054 20633279 5 Extended /dev/sda5 10486 10617 1058045 fd Linux raid autodetect /dev/sda6 10618 10749 1060258+ fd Linux raid autodetect /dev/sda7 10750 10881 1060258+ fd Linux raid autodetect /dev/sda8 10882 11013 1060258+ fd Linux raid autodetect Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: 设备或资源忙. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks.
4.2커널 로드
[root@xiao ~]# partx -a /dev/sda5 /dev/sda# 🎜🎜#
[root@xiao ~]# partx -a /dev/sda6 /dev/sda[root@xiao ~]# partx -a /dev/sda7 /dev/ sda[root@xiao ~]# partx -a /dev/sda8 /dev/sda4.3 raid5 및 핫 백업 디스크 만들기[root@xiao ~]# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sda{5,6,7,8} mdadm: /dev/sda5 appears to be part of a raid array: level=raid5 devices=3 ctime=Wed Dec 17 00:58:24 2014 mdadm: /dev/sda6 appears to be part of a raid array: level=raid5 devices=3 ctime=Wed Dec 17 00:58:24 2014 mdadm: /dev/sda7 appears to be part of a raid array: level=raid5 devices=3 ctime=Wed Dec 17 00:58:24 2014 mdadm: /dev/sda8 appears to be part of a raid array: level=raid5 devices=3 ctime=Wed Dec 17 00:58:24 2014 Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
[root@xiao ~]# cat /proc/mdstat Personalities : [raid1] [raid0] [raid6] [raid5] [raid4] md0 : active raid5 sda7[4] sda8[3](S) sda6[1] sda5[0] 2113536 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [=========>...........] recovery = 45.5% (482048/1056768) finish=0.3min speed=30128K/sec unused devices: <none> [root@xiao ~]# cat /proc/mdstat Personalities : [raid1] [raid0] [raid6] [raid5] [raid4] md0 : active raid5 sda7[4] sda8[3](S) sda6[1] sda5[0] 2113536 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices: <none> [root@xiao ~]# mke2fs -t ext3 /dev/md0 //格式化raid
4.5 /mnt 디렉터리에 레이드를 마운트하고 정상인지 확인합니다(lost+found는 정상적으로 표시됩니다)
[root@xiao ~]# mount /dev/md0 /mnt [root@xiao ~]# ls /mnt lost+found
4.6 RAID 어레이 세부 정보 보기
[root@xiao ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Dec 17 03:38:08 2014 Raid Level : raid5 Array Size : 2113536 (2.02 GiB 2.16 GB) Used Dev Size : 1056768 (1032.17 MiB 1082.13 MB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent Update Time : Wed Dec 17 03:55:11 2014 State : clean Active Devices : 3 Working Devices : 4 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Name : xiao:0 (local to host xiao) UUID : bce110f2:34f3fbf1:8de472ed:633a374f Events : 18 Number Major Minor RaidDevice State 0 8 5 0 active sync /dev/sda5 1 8 6 1 active sync /dev/sda6 4 8 7 2 active sync /dev/sda7 3 8 8 - spare /dev/sda8
4.7 디스크 중 하나의 손상을 시뮬레이션합니다. 여기서는 /dev/sda6 디스크를 선택합니다
[root@xiao ~]# mdadm /dev/md0 --fail /dev/sda6 mdadm: set /dev/sda6 faulty in /dev/md0
4.7 RAID 세부 정보를 봅니다. 배열을 찾아 /dev/sda8을 찾으면 손상된 /dev/sda6 디스크가 자동으로 교체됩니다.
[root@xiao ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Dec 17 03:38:08 2014 Raid Level : raid5 Array Size : 2113536 (2.02 GiB 2.16 GB) Used Dev Size : 1056768 (1032.17 MiB 1082.13 MB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent Update Time : Wed Dec 17 04:13:59 2014 State : clean, degraded, recovering Active Devices : 2 Working Devices : 3 Failed Devices : 1 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Rebuild Status : 43% complete Name : xiao:0 (local to host xiao) UUID : bce110f2:34f3fbf1:8de472ed:633a374f Events : 26 Number Major Minor RaidDevice State 0 8 5 0 active sync /dev/sda5 3 8 8 1 spare rebuilding /dev/sda8 4 8 7 2 active sync /dev/sda7 1 8 6 - faulty /dev/sda6 [root@xiao ~]# cat /proc/mdstat Personalities : [raid1] [raid0] [raid6] [raid5] [raid4] md0 : active raid5 sda7[4] sda8[3] sda6[1](F) sda5[0]
2113536 블록 슈퍼 1.2 레벨 5, 512k 청크, 알고리즘 2 [3/3] [UUU] # 일반적인 상황은 [UUU]이며, 첫 번째 디스크가 손상되면 [ _UU] .
4.8 손상된 하드 드라이브 제거
[root@xiao ~]# mdadm /dev/md0 -r /dev/sda6 mdadm: hot removed /dev/sda6 from /dev/md0
4.9 새 하드 드라이브를 핫 백업 디스크로 추가
[root@xiao ~]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n First cylinder (11014-13054, default 11014): Using default value 11014 Last cylinder, +cylinders or +size{K,M,G} (11014-13054, default 13054): +1G Command (m for help): t Partition number (1-9): 9 Hex code (type L to list codes): fd Changed system type of partition 9 to fd (Linux raid autodetect) Command (m for help): p Disk /dev/sda: 107.4 GB, 107374182400 bytes 255 heads, 63 sectors/track, 13054 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: 0x0008ed57 Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 10225 81920000 83 Linux /dev/sda3 10225 10486 2097152 82 Linux swap / Solaris /dev/sda4 10486 13054 20633279 5 Extended /dev/sda5 10486 10617 1058045 fd Linux raid autodetect /dev/sda6 10618 10749 1060258+ fd Linux raid autodetect /dev/sda7 10750 10881 1060258+ fd Linux raid autodetect /dev/sda8 10882 11013 1060258+ fd Linux raid autodetect /dev/sda9 11014 11145 1060258+ fd Linux raid autodetect Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: 设备或资源忙. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. [root@xiao ~]# partx -a /dev/sda9 /dev/sda [root@xiao ~]# mdadm /dev/md0 --add /dev/sda9 mdadm: added /dev/sda9 [root@xiao ~]# mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Dec 17 03:38:08 2014 Raid Level : raid5 Array Size : 2113536 (2.02 GiB 2.16 GB) Used Dev Size : 1056768 (1032.17 MiB 1082.13 MB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent Update Time : Wed Dec 17 04:39:35 2014 State : clean Active Devices : 3 Working Devices : 4 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Name : xiao:0 (local to host xiao) UUID : bce110f2:34f3fbf1:8de472ed:633a374f Events : 41 Number Major Minor RaidDevice State 0 8 5 0 active sync /dev/sda5 3 8 8 1 active sync /dev/sda8 4 8 7 2 active sync /dev/sda7 5 8 9 - spare /dev/sda9
5. 부팅 시#🎜 🎜#
/etc/fsab 파일 편집/dev/md0 /mnt ext3 기본값 0 0:wq#🎜 🎜# #🎜 🎜#
6.mdadm 중국 남자(인용문)기본 구문: mdadm [모드] [옵션]#🎜 🎜#[mode ] 7가지 종류가 있습니다.
Assemble: 현재 사용되는 배열에 이전에 정의한 배열을 추가합니다.
빌드: 레거시 어레이 구축, 각 장치에 슈퍼 블록 없음
Create: 새 어레이 생성, 각 장치에 슈퍼 블록 있음
관리: 관리 추가 또는 제거와 같은 어레이
Misc: 슈퍼블록 삭제 또는 사용 중인 어레이 종료와 같은 어레이의 장치에 대한 개별 작업을 허용합니다.
Follow 또는 Monitor: raid 1,4,5,6 및 다중 경로 상태 모니터링
Grow: raid 용량 또는 어레이의 장치 수 변경#🎜 🎜##🎜 🎜#Available [옵션]:
-A, --assemble: 이전에 정의된 배열 추가
-B, --build: 레거시 배열 구축 슈퍼블록 없이 .
-C, --create: 새 배열 만들기
-Q, --query: 장치를 보고 그것이 md 장치인지 확인합니다. md 배열의 일부
-D, --detail: 하나 이상의 md 장치에 대한 자세한 정보를 인쇄합니다.
-E, --examine: md 슈퍼블록을 인쇄합니다. device Content
-F, --follow, --monitor: 모니터 모드 선택
-G, --grow: 사용 중인 어레이의 크기나 모양 변경# 🎜🎜#
-h, --help: 도움말 정보, 위 옵션과 함께 사용 시 옵션 정보가 표시됩니다. --help-options#🎜🎜 #-V, - -version
-v, --verbose: 세부 정보 표시
-b, --brief: 세부 정보가 적습니다. --detail 및 --examine 옵션에 사용됨
-f, --force
-c, --config=: 구성 파일을 지정합니다. 기본값은 /etc입니다. / mdadm/mdadm.conf
-s, --scan: 누락된 정보가 있는지 구성 파일 또는 /proc/mdstat를 스캔합니다. 구성 파일 /etc/mdadm/mdadm.conf
create 또는 빌드 옵션 사용:
-c, --chunk=:청크 크기를 킬로바이트로 지정합니다. 기본값은 64입니다. .
--rounding=: 선형 배열에 대한 반올림 인수 지정(==청크 크기)
-l, --level=: raid 수준을 설정합니다.
--사용 가능 생성: 선형, raid0, 0, 스트라이프, raid1, 1 , 미러, raid4, 4, raid5, 5, raid6, 6, multipath, mp.
--빌드 사용 가능: 선형, raid0, 0, 스트라이프.
-p, --parity=: raid5의 패리티 설정 규칙: eft 비대칭, 왼쪽 대칭, 오른쪽 비대칭, 오른쪽 대칭, la, ra, ls, rs. 기본값은 왼쪽 대칭
--layout=: --parity
-n 과 유사합니다. -raid-devices=: 배열에서 사용 가능한 장치 수를 지정합니다. 이 숫자는 --grow
-x로만 수정할 수 있습니다. --spare-devices=: 초기 배열의 예비 장치 수를 지정합니다
-z, -- size=: RAID1/4/5/6
설정 후 각 장치에서 얻은 총 공간량
--assume-clean: 현재 --build 옵션
-R에만 사용됩니다. - -run: mdadm 배열의 특정 부분은 다른 배열이나 파일 시스템에 존재할 때 배열을 인식합니다. 이 옵션은 확인하지 않습니다.
-f, --force: 일반적으로 mdadm은 하나의 장치만으로 어레이 생성을 허용하지 않으며, raid5를 생성할 때 하나의 장치가 누락된 드라이브로 사용됩니다. 이 옵션은 정반대입니다.
-a, --auto{=no,yes,md,mdp,part,p}{NN}:더 많은 프로그래밍 관련 내용을 보려면 PHP 중국어 웹사이트
프로그래밍 소개🎜 칼럼을 주목해주세요! 🎜위 내용은 mdadm 명령에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!