magedu pro 第四周作业

1、创建一个10G分区,并格式为ext4文件系统;

(1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;
(2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
# 创建分区

[hzz@magedu ~]$ sudo fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x9cfbcaa9 创建新的 DOS 磁盘标签。

命令(输入 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-31457279,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-31457279,默认为 31457279):+10G
分区 1 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[hzz@magedu ~]$

# 格式化分区并按要求创建 ext4 文件系统

[hzz@magedu ~]$ sudo mkfs.ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=MYDATA
OS type: Linux
块大小=2048 (log=1)
分块大小=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 5242880 blocks
104857 blocks (2.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=273678336
320 block groups
16384 blocks per group, 16384 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104,
2048000, 3981312

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[hzz@magedu ~]$

# 确认默认挂载属性(Default mount options)

[hzz@magedu ~]$ sudo tune2fs -l /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name: MYDATA
Last mounted on: <not available>
Filesystem UUID: d857478c-911f-4888-a4ee-2fbbf22671a1
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 655360
Block count: 5242880
Reserved block count: 104857
Free blocks: 5121266
Free inodes: 655349
First block: 0
Block size: 2048
Fragment size: 2048
Group descriptor size: 64
Reserved GDT blocks: 512
Blocks per group: 16384
Fragments per group: 16384
Inodes per group: 2048
Inode blocks per group: 256
Flex block group size: 16
Filesystem created: Thu Jul 27 20:49:22 2017
Last mount time: n/a
Last write time: Thu Jul 27 20:49:22 2017
Mount count: 0
Maximum mount count: -1
Last checked: Thu Jul 27 20:49:22 2017
Check interval: 0 (<none>)
Lifetime writes: 65 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: cb8604c6-6cfd-4aae-9734-0c775d88a2c1
Journal backup: inode blocks
[hzz@magedu ~]$

# 如默认存在 acl ,则去掉另配(练习操作)

[hzz@magedu ~]$ sudo tune2fs -o ^acl /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
[hzz@magedu ~]$ sudo tune2fs -l /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name: MYDATA
Last mounted on: <not available>
Filesystem UUID: d857478c-911f-4888-a4ee-2fbbf22671a1
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 655360
Block count: 5242880
Reserved block count: 104857
Free blocks: 5121266
Free inodes: 655349
First block: 0
Block size: 2048
Fragment size: 2048
Group descriptor size: 64
Reserved GDT blocks: 512
Blocks per group: 16384
Fragments per group: 16384
Inodes per group: 2048
Inode blocks per group: 256
Flex block group size: 16
Filesystem created: Thu Jul 27 20:49:22 2017
Last mount time: n/a
Last write time: Thu Jul 27 20:53:33 2017
Mount count: 0
Maximum mount count: -1
Last checked: Thu Jul 27 20:49:22 2017
Check interval: 0 (<none>)
Lifetime writes: 65 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: cb8604c6-6cfd-4aae-9734-0c775d88a2c1
Journal backup: inode blocks
[hzz@magedu ~]$

[hzz@magedu ~]$ sudo tune2fs -o acl /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
[hzz@magedu ~]$ sudo tune2fs -l /dev/sdb1
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name: MYDATA
Last mounted on: <not available>
Filesystem UUID: d857478c-911f-4888-a4ee-2fbbf22671a1
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 655360
Block count: 5242880
Reserved block count: 104857
Free blocks: 5121266
Free inodes: 655349
First block: 0
Block size: 2048
Fragment size: 2048
Group descriptor size: 64
Reserved GDT blocks: 512
Blocks per group: 16384
Fragments per group: 16384
Inodes per group: 2048
Inode blocks per group: 256
Flex block group size: 16
Filesystem created: Thu Jul 27 20:49:22 2017
Last mount time: n/a
Last write time: Thu Jul 27 20:54:15 2017
Mount count: 0
Maximum mount count: -1
Last checked: Thu Jul 27 20:49:22 2017
Check interval: 0 (<none>)
Lifetime writes: 65 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: cb8604c6-6cfd-4aae-9734-0c775d88a2c1
Journal backup: inode blocks
[hzz@magedu ~]$

# 按要求挂载分区

[hzz@magedu ~]$ sudo mkdir -p /data/mydata
[hzz@magedu ~]$ sudo mount -o noexec,noatime /dev/sdb1 /data/mydata
[hzz@magedu ~]$ mount | grep mydata
/dev/sdb1 on /data/mydata type ext4 (rw,noexec,noatime,seclabel,data=ordered)
[hzz@magedu ~]$

2、创建一个大小为1G的swap分区,并创建好文件系统,并启用之;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# 创建分区

[hzz@magedu ~]$ sudo fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p):
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (20973568-31457279,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-31457279,默认为 31457279):+1G
分区 2 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):t
分区号 (1,2,默认 2):
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 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)
正在同步磁盘。
[hzz@magedu ~]$ sudo partx -av /dev/sdb
分区:none,磁盘:/dev/sdb,从分区:0,到分区:0
/dev/sdb:检测到分区表类型“dos”
partx: /dev/sdb:添加分区 #1 失败: 设备或资源忙
partx: /dev/sdb:添加分区 #2 失败: 设备或资源忙
partx: /dev/sdb: error adding partitions 1-2
[hzz@magedu ~]$

# 创建并启动 swap 分区

[hzz@magedu ~]$ sudo mkswap /dev/sdb2
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=40bdf643-604f-468d-aafc-d7a906bda2ac
[hzz@magedu ~]$ sudo swapon -v /dev/sdb2
swapon /dev/sdb2
swapon: /dev/sdb2:找到交换区签名:版本为 1,页面大小为 4,相同 字节顺序
swapon: /dev/sdb2:页大小=4096,交换区大小=1073741824,设备大小=1073741824
[hzz@magedu ~]$ sudo swapon -s
文件名 类型 大小 已用 权限
/dev/dm-1 partition 839676 0 -1
/dev/sdb2 partition 1048572 0 -2
[hzz@magedu ~]$

3、写一个脚本;

(1)、获取并列出当前系统上的所有磁盘设备;
(2)、显示每个磁盘设备上每个分区相关的空间使用信息;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# 脚本编写

[hzz@magedu ~]$ vi show_disk_info.sh

######## 脚本内容开始 ########

#/bin/bash
set -e

echo -e "\nshow disk info:\n"

sudo fdisk -l |grep -o "磁盘 /dev/[sh]d[a-z]"

echo -e "\nshow partition info:\n"

disks=$(sudo fdisk -l |grep -o "/dev/[sh]d[a-z][[:digit:]]")

for i in ${disks}
do
sudo fdisk -l ${i}
done

######## 脚本内容结束 ########

# 执行脚本结果

[hzz@magedu ~]$ bash show_disk_info.sh

show disk info:

磁盘 /dev/sda
磁盘 /dev/sdb

show partition info:


磁盘 /dev/sda1:1073 MB, 1073741824 字节,2097152 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sda2:7515 MB, 7515144192 字节,14678016 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sdb1:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sdb2:1073 MB, 1073741824 字节,2097152 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[hzz@magedu ~]$

4、总结RAID的各个级别及其组合方式和性能的不同;

RAID-0:至少两块磁盘组成,将数据切割后,分别存入两个磁盘,读取时再从两个磁盘同时读取,提高了整体IO性能,无容错能力。

RAID-1:至少两块硬盘组成,将数据分别存入两个磁盘,读取时分别从两个磁盘读取,磁盘写入性能下降,但读取性能提升,并提高了容错能力。

RAID-4:针对RAID-0的优化,至少三块硬盘组成,数据分别存入两块盘,第三块盘存校验吗,以便进行数据恢复;读写性能及容错能力均有提升。

RAID-5:针对RAID-4的提升,至少三块硬盘组成,三块硬盘轮流当校验盘,减轻了校验盘的压力,并且容错能力进一步提升。

RAID-6:至少由四块硬盘组成,相对于RAID-5,增加1个磁盘作校验盘,大大提高了容错能力,缺点是磁盘容量利用率相对变小。

RAID-10:混合型用法,至少四块硬盘,先把硬盘两两RAID-1,然后再整体RAID-0。优点是读写性能提升,有一定的容错能力;缺点是RAID-1中的两块磁盘同时坏掉,整个组合将不可用。

RAID-01:混合型用法,至少四块硬盘,先把硬盘两两RAID-0,然后再整体RAID-1。优点是读写性能提升,有一定的容错能力;缺点是任意一块磁盘坏点,都将导致RAID-0不可用,只剩下其他组的硬盘在运行,可靠性较低,若RAID-1下的RAID-0中各有一块磁盘坏掉,整合组合将不可用。

RAID-50:至少六块硬盘,先把每三块硬盘组成RAID-5,再结合成RAID-0,相当于在RAID-5的基础上再次提升了性能和容错能力,缺点是容量利用率稍低。

RAID-60:至少八块硬盘,和RAID-50相似,容错能力进一步提升,但容量利用率也进一步降低。

JBOD:把各磁盘进行串联,虚拟成一个大容量的磁盘,读写能力由各磁盘分别决定。

5、创建一个大小为10G的RAID1,要求有一个空闲盘,而且CHUNK大小为128k;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# 在 /dev/sdc 上创建三个分区来进行练习

[hzz@magedu ~]$ sudo fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xbea964b7 创建新的 DOS 磁盘标签。

命令(输入 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-83886079,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079):+10G
分区 1 已设置为 Linux 类型,大小设为 10 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):
起始 扇区 (20973568-83886079,默认为 20973568):
将使用默认值 20973568
Last 扇区, +扇区 or +size{K,M,G} (20973568-83886079,默认为 83886079):+10G
分区 2 已设置为 Linux 类型,大小设为 10 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):
起始 扇区 (41945088-83886079,默认为 41945088):
将使用默认值 41945088
Last 扇区, +扇区 or +size{K,M,G} (41945088-83886079,默认为 83886079):+10G
分区 3 已设置为 Linux 类型,大小设为 10 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[hzz@magedu ~]$

# 更新分区类型

[hzz@magedu ~]$ sudo fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 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):3
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[hzz@magedu ~]$

# 创建 RAID1

[hzz@magedu ~]$ sudo mdadm -C /dev/md0 -l 1 -n 2 -x 1 -c 128 /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? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

# 查看结果

[hzz@magedu ~]$ sudo mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Jul 27 22:26:24 2017
Raid Level : raid1
Array Size : 10477568 (9.99 GiB 10.73 GB)
Used Dev Size : 10477568 (9.99 GiB 10.73 GB)
Raid Devices : 2
Total Devices : 3
Persistence : Superblock is persistent

Update Time : Thu Jul 27 22:27:19 2017
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1

Name : magedu:0 (local to host magedu)
UUID : 100c30dd:e7ce5938:5c2aeb09:ae906d62
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
[hzz@magedu ~]$

# 格式化并挂载分区(格式化暂不作要求)

[hzz@magedu ~]$ sudo mkfs.xfs /dev/md0
meta-data=/dev/md0 isize=512 agcount=4, agsize=654848 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2619392, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[hzz@magedu ~]$ sudo mkdir -p /tmp/myRaidTest
[hzz@magedu ~]$ sudo mount /dev/md0 /tmp/myRaidTest
[hzz@magedu ~]$ mount | grep myRaidTest
/dev/md0 on /tmp/myRaidTest type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[hzz@magedu ~]$

6、创建一个大小为4G的RAID5设备,chunk大小为256k,格式化ext4文件系统,要求可开机自动挂载至/backup目录,而且不更新访问时间戳,且支持acl功能;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# 在 /dev/sdd 上创建三个分区用来练习

[hzz@magedu ~]$ sudo fdisk /dev/sdd
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x656a4229 创建新的 DOS 磁盘标签。

命令(输入 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-31457279,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-31457279,默认为 31457279):+4G
分区 1 已设置为 Linux 类型,大小设为 4 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):
起始 扇区 (8390656-31457279,默认为 8390656):
将使用默认值 8390656
Last 扇区, +扇区 or +size{K,M,G} (8390656-31457279,默认为 31457279):+4G
分区 2 已设置为 Linux 类型,大小设为 4 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):
起始 扇区 (16779264-31457279,默认为 16779264):
将使用默认值 16779264
Last 扇区, +扇区 or +size{K,M,G} (16779264-31457279,默认为 31457279):+4G
分区 3 已设置为 Linux 类型,大小设为 4 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[hzz@magedu ~]$

# 更新分区类型

[hzz@magedu ~]$ sudo fdisk /dev/sdd
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 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):3
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[hzz@magedu ~]$

# 创建 RAID5

[hzz@magedu ~]$ sudo mdadm -C /dev/md1 -l 5 -n 3 -c 256 /dev/sdd{1,2,3}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
[hzz@magedu ~]$

# 验证 RAID5

[hzz@magedu ~]$ sudo mdadm -D /dev/md1
/dev/md1:
Version : 1.2
Creation Time : Thu Jul 27 22:42:01 2017
Raid Level : raid5
Array Size : 8380416 (7.99 GiB 8.58 GB)
Used Dev Size : 4190208 (4.00 GiB 4.29 GB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent

Update Time : Thu Jul 27 22:42:22 2017
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 256K

Name : magedu:1 (local to host magedu)
UUID : 62b0bc87:f1566d5a:6a44faca:7c49dd48
Events : 18

Number Major Minor RaidDevice State
0 8 49 0 active sync /dev/sdd1
1 8 50 1 active sync /dev/sdd2
3 8 51 2 active sync /dev/sdd3
[hzz@magedu ~]$

# 格式化并挂载分区(格式化暂不作要求)

[hzz@magedu ~]$ sudo mkfs.ext4 /dev/md1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=64 blocks, Stripe width=128 blocks
524288 inodes, 2095104 blocks
104755 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2145386496
64 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

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[hzz@magedu ~]$

# 查看是否支持 acl

[hzz@magedu ~]$ sudo tune2fs -l /dev/md1
tune2fs 1.42.9 (28-Dec-2013)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 82d82e6f-9d2e-44d7-9a72-3067d07b6030
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 524288
Block count: 2095104
Reserved block count: 104755
Free blocks: 2020218
Free inodes: 524277
First block: 0
Block size: 4096
Fragment size: 4096
Group descriptor size: 64
Reserved GDT blocks: 1022
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
RAID stride: 64
RAID stripe width: 128
Flex block group size: 16
Filesystem created: Thu Jul 27 22:45:12 2017
Last mount time: n/a
Last write time: Thu Jul 27 22:45:12 2017
Mount count: 0
Maximum mount count: -1
Last checked: Thu Jul 27 22:45:12 2017
Check interval: 0 (<none>)
Lifetime writes: 132 MB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 6a158056-3a5a-442a-87f8-5760f8987d2d
Journal backup: inode blocks
[hzz@magedu ~]$

# 设置开机自动挂载

[hzz@magedu ~]$ sudo sh -c "echo '/dev/md1 /backup ext4 defaults,noatime,acl 0 0' >> /etc/fstab"
[hzz@magedu ~]$ sudo mount -a
[hzz@magedu ~]$ sudo mount | grep backup
/dev/md1 on /backup type ext4 (rw,noatime,seclabel,stripe=128,data=ordered)
[hzz@magedu ~]$

06-黄中章