一、练习
1.创建一个可用空间为10G的RAID1设备,要求其chunk大小为128k,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录?
[root@wybaron_host1015 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-62914559,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-62914559,默认为 62914559):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (10487808-62914559,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-62914559,默认为 62914559):+5G
分区 2 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p):
Using default response p
分区号 (3,4,默认 3):
起始 扇区 (20973568-62914559,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-62914559,默认为 62914559):+5G
分区 3 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):2
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc329d258
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 fd Linux raid autodetect
/dev/sdb2 10487808 20973567 5242880 fd Linux raid autodetect
/dev/sdb3 20973568 31459327 5242880 fd Linux raid autodetect
命令(输入 m 获取帮助):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)
正在同步磁盘。
[root@wybaron_host1015 ~]# mdadm -C /dev/md1 -a yes -c 128 -l 1 -n 2 -x 1 /dev/sdb{1,2,3}
mdadm: /dev/sdb1 appears to contain an ext2fs file system
size=20971520K mtime=Thu Jan 1 08:00:00 1970
mdadm: /dev/sdb1 appears to be part of a raid array:
level=raid5 devices=3 ctime=Tue Oct 9 15:54:30 2018
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: /dev/sdb2 appears to be part of a raid array:
level=raid5 devices=3 ctime=Tue Oct 9 15:54:30 2018
mdadm: /dev/sdb3 appears to be part of a raid array:
level=raid5 devices=3 ctime=Tue Oct 9 15:54:30 2018
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
[root@wybaron_host1015 ~]# mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Tue Oct 9 17:44:00 2018
Raid Level : raid1
Array Size : 5237760 (5.00 GiB 5.36 GB)
Used Dev Size : 5237760 (5.00 GiB 5.36 GB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Tue Oct 9 17:44:30 2018
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
Consistency Policy : resync
Name : wybaron_host1015:1 (local to host wybaron_host1015)
UUID : 658aff9d:ac759ec8:b90faf6b:71423c56
Events : 17
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 18 1 active sync /dev/sdb2
2 8 19 - spare /dev/sdb3
[root@wybaron_host1015 ~]# mkfs.ext4 /dev/md1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1309440 blocks
65472 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 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
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@wybaron_host1015 ~]# mkdir /backup
[root@wybaron_host1015 ~]# mount /dev/md1 /backup/
[root@wybaron_host1015 ~]# mount | tail -n 1
/dev/md1 on /backup type ext4 (rw,relatime,data=ordered)
[root@wybaron_host1015 ~]# blkid /dev/md1
/dev/md1: UUID="9470aaab-380e-4022-976a-b37888010904" TYPE="ext4"
[root@wybaron_host1015 ~]# echo "UUID=9470aaab-380e-4022-976a-b37888010904 /backup ext4 defaults 0 0" >> /etc/fstab
[root@wybaron_host1015 ~]# tail -n 1 /etc/fstab
UUID=9470aaab-380e-4022-976a-b37888010904 /backup ext4 defaults 0 0
2.创建一个可用空间为10G的RAID10设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录?
[root@wybaron_host1015 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-62914559,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-62914559,默认为 62914559):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (10487808-62914559,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-62914559,默认为 62914559):+5G
分区 2 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p):
Using default response p
分区号 (3,4,默认 3):
起始 扇区 (20973568-62914559,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-62914559,默认为 62914559):+5G
分区 3 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
已选择分区 4
起始 扇区 (31459328-62914559,默认为 31459328):
将使用默认值 31459328
Last 扇区, +扇区 or +size{K,M,G} (31459328-62914559,默认为 62914559):+5G
分区 4 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):t
分区号 (1-4,默认 4):1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):t
分区号 (1-4,默认 4):2
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):t
分区号 (1-4,默认 4):3
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):t
分区号 (1-4,默认 4):4
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:32.2 GB, 32212254720 字节,62914560 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc329d258
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 fd Linux raid autodetect
/dev/sdb2 10487808 20973567 5242880 fd Linux raid autodetect
/dev/sdb3 20973568 31459327 5242880 fd Linux raid autodetect
/dev/sdb4 31459328 41945087 5242880 fd Linux raid autodetect
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
## 通知内核分区变化
[root@wybaron_host1015 ~]# partx -a /dev/sdb
partx: /dev/sdb: error adding partitions 1-4
[root@wybaron_host1015 ~]# partx -a /dev/sdb
partx: /dev/sdb: error adding partitions 1-4
## 创建RAID 1
[root@wybaron_host1015 ~]# mdadm -C /dev/md2 -a yes -l 1 -c 256 -n 2 /dev/sdb{1,2}
mdadm: /dev/sdb1 appears to contain an ext2fs file system
size=20971520K mtime=Thu Jan 1 08:00:00 1970
mdadm: /dev/sdb1 appears to be part of a raid array:
level=raid1 devices=2 ctime=Tue Oct 9 17:44:00 2018
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: /dev/sdb2 appears to be part of a raid array:
level=raid1 devices=2 ctime=Tue Oct 9 17:44:00 2018
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md2 started.
[root@wybaron_host1015 ~]# mdadm -C /dev/md3 -a yes -c 256 -l 1 -n 2 /dev/sdb{3,4}
mdadm: /dev/sdb3 appears to be part of a raid array:
level=raid1 devices=2 ctime=Tue Oct 9 17:44:00 2018
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: /dev/sdb4 appears to be part of a raid array:
level=raid5 devices=3 ctime=Tue Oct 9 15:54:30 2018
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md3 started.
## 查看阵列详细信息
[root@wybaron_host1015 ~]# mdadm -D /dev/md2
/dev/md2:
Version : 1.2
Creation Time : Wed Oct 10 14:55:16 2018
Raid Level : raid1
Array Size : 5237760 (5.00 GiB 5.36 GB)
Used Dev Size : 5237760 (5.00 GiB 5.36 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Wed Oct 10 14:55:44 2018
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Name : wybaron_host1015:2 (local to host wybaron_host1015)
UUID : 1194f033:928959d9:8ae1cb66:c7f8d6c5
Events : 17
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 18 1 active sync /dev/sdb2
[root@wybaron_host1015 ~]# mdadm -D /dev/md3
/dev/md3:
Version : 1.2
Creation Time : Wed Oct 10 14:56:49 2018
Raid Level : raid1
Array Size : 5237760 (5.00 GiB 5.36 GB)
Used Dev Size : 5237760 (5.00 GiB 5.36 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Wed Oct 10 14:57:39 2018
State : clean, resyncing
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Consistency Policy : resync
Resync Status : 68% complete
Name : wybaron_host1015:3 (local to host wybaron_host1015)
UUID : b8ec60ac:00ff3a6b:335478f2:bea89ed7
Events : 11
Number Major Minor RaidDevice State
0 8 19 0 active sync /dev/sdb3
1 8 20 1 active sync /dev/sdb4
## 创建为RAID 10
[root@wybaron_host1015 ~]# mdadm -C /dev/md10 -l 0 -n 2 -c 256 /dev/md{2,3}
mdadm: /dev/md2 appears to contain an ext2fs file system
size=5237760K mtime=Tue Oct 9 17:46:48 2018
mdadm: /dev/md3 appears to contain an ext2fs file system
size=5237760K mtime=Tue Oct 9 17:46:48 2018
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md10 started.
[root@wybaron_host1015 ~]# mdadm -D /dev/md10
/dev/md10:
Version : 1.2
Creation Time : Wed Oct 10 14:59:33 2018
Raid Level : raid0
Array Size : 10465280 (9.98 GiB 10.72 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Wed Oct 10 14:59:33 2018
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 256K
Consistency Policy : none
Name : wybaron_host1015:10 (local to host wybaron_host1015)
UUID : 36a15193:7ea94fed:3ba784f6:da6e76ee
Events : 0
Number Major Minor RaidDevice State
0 9 2 0 active sync /dev/md2
1 9 3 1 active sync /dev/md3
## 格式化为ext4格式后挂载
[root@wybaron_host1015 ~]# mkfs.ext4 /dev/md10
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=64 blocks, Stripe width=128 blocks
654080 inodes, 2616320 blocks
130816 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2151677952
80 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@wybaron_host1015 ~]# mkdir /webdata
[root@wybaron_host1015 ~]# mount /dev/md10 /webdata/
[root@wybaron_host1015 ~]# blkid /dev/md10
/dev/md10: UUID="990e0773-feff-4f50-bd84-56563c0c4aec" TYPE="ext4"
[root@wybaron_host1015 ~]# echo "UUID=990e0773-feff-4f50-bd84-56563c0c4aec /webdata ext4 defaults 0 0" >> /etc/fstab
[root@wybaron_host1015 ~]# tail -n 1 /etc/fstab
UUID=990e0773-feff-4f50-bd84-56563c0c4aec /webdata ext4 defaults 0 0
[root@wybaron_host1015 ~]# df -h /webdata/
文件系统 容量 已用 可用 已用% 挂载点
/dev/md10 9.7G 37M 9.2G 1% /webdata
二、补充
坏盘更换流程
[root@wybaron_host1015 ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Wed Oct 10 15:32:28 2018
Raid Level : raid5
Array Size : 10475520 (9.99 GiB 10.73 GB)
Used Dev Size : 5237760 (5.00 GiB 5.36 GB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Wed Oct 10 15:34:12 2018
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : wybaron_host1015:0 (local to host wybaron_host1015)
UUID : 872b5e62:19151a45:cde3974b:43473c28
Events : 18
Number Major Minor RaidDevice State
0 8 17 0 active sync /dev/sdb1
1 8 18 1 active sync /dev/sdb2
4 8 19 2 active sync /dev/sdb3
3 8 20 - spare /dev/sdb4
## 手动模拟磁盘损坏
[root@wybaron_host1015 ~]# mdadm /dev/md0 -f /dev/sdb3
mdadm: set /dev/sdb3 faulty in /dev/md0
## 刷新查看数据转移进度情况
[root@wybaron_host1015 ~]# watch -n1 'cat /proc/mdstat'
删除已有RAID阵列
[root@wybaron_host1015 ~]# umount /backup/
[root@wybaron_host1015 ~]# vim /etc/fstab
[root@wybaron_host1015 ~]# mdadm -S /dev/md1
mdadm: stopped /dev/md1
root@wybaron_host1015 ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [raid1]
unused devices: <none>
[root@wybaron_host1015 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):d
分区号 (1-3,默认 3):
分区 3 已删除
命令(输入 m 获取帮助):d
分区号 (1,2,默认 2):
分区 2 已删除
命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。