一、查看系统磁盘分区状态
执行命令:
cat /proc/partitions
返回结果:
[[email protected] ~]# cat /proc/partitions
major minor #blocks name
11 0 4228096 sr0
8 0 16777216 sda
8 1 512000 sda1
8 2 16264192 sda2
8 32 41943040 sdc
8 16 41943040 sdb
253 0 14540800 dm-0
253 1 1679360 dm-1
7 0 2097152 loop0
7 1 21600256 loop1
253 2 20480 dm-2
253 3 20520960 dm-3
253 4 20520960 dm-4
253 5 20520960 dm-5
253 6 6291456 dm-6
253 7 20971520 dm-7
253 8 157286400 dm-8
253 9 10485760 dm-9
二、要将磁盘sdb 和 sdc 两个40G的磁盘组成raid1
注意:如果 sdb 和 sdc 不是新加的,需要把磁盘分区删除
三、进入/dev/sdb 进行创建磁盘
执行命令:
##进入 /dev/sdb
fdisk /dev/sdb
##查看磁盘信息
p
##创建磁盘(如果是空的就创建磁盘,不是空的,就把原有的删除,输入 d 即可删除),一路默认即可
n
##更改分区类型,改为raid 类型
t
fd
##查看结果
p
##确认无误,保存退出即可
w
返回结果:
[[email protected] ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x4364e246 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x4364e246
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-83886079,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-83886079,默认为 83886079):
将使用默认值 83886079
分区 1 已设置为 Linux 类型,大小设为 40 GiB
命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):fd
已将分区“Linux”的类型更改为“Linux raid autodetect”
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x4364e246
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 83886079 41942016 fd Linux raid autodetect
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
/dev/sdc 操作与以上操作一致,步骤略。
四、查看/dev/sdb 和 /dev/sdc 信息
执行命令:
fdisk -l /dev/sdb /dev/sdc
返回结果:
[[email protected] ~]# fdisk -l /dev/sdb /dev/sdc
磁盘 /dev/sdb:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x4364e246
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 83886079 41942016 fd Linux raid autodetect
磁盘 /dev/sdc:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xf432293b
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 83886079 41942016 fd Linux raid autodetect
五、确认信息无误,开始创建RAID
执行命令:
mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[b,c]1
返回结果:
[[email protected] ~]# mdadm -C /dev/md1 -ayes -l1 -n2 /dev/sd[b,c]1
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?
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md1 started.
六、查看RAID 信息状态
执行命令:
cat /proc/mdstat
cat /proc/partitions
返回结果:
[[email protected] ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc1[1] sdb1[0]
41908224 blocks super 1.2 [2/2] [UU]
[===>.................] resync = 15.3% (6443008/41908224) finish=7.8min speed=75004K/sec
unused devices: <none>
[[email protected] ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc1[1] sdb1[0]
41908224 blocks super 1.2 [2/2] [UU]
[===>.................] resync = 16.8% (7058432/41908224) finish=7.6min speed=76231K/sec
unused devices: <none>
[[email protected] ~]# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdc1[1] sdb1[0]
41908224 blocks super 1.2 [2/2] [UU]
[====>................] resync = 22.9% (9613312/41908224) finish=7.3min speed=73362K/sec
unused devices: <none>
[[email protected] ~]# cat /proc/partitions
major minor #blocks name
11 0 4228096 sr0
8 0 16777216 sda
8 1 512000 sda1
8 2 16264192 sda2
8 32 41943040 sdc
8 33 41942016 sdc1
8 16 41943040 sdb
8 17 41942016 sdb1
253 0 14540800 dm-0
253 1 1679360 dm-1
7 0 2097152 loop0
7 1 21600256 loop1
253 2 20480 dm-2
253 3 20520960 dm-3
253 4 20520960 dm-4
253 5 20520960 dm-5
253 6 6291456 dm-6
253 7 20971520 dm-7
253 8 157286400 dm-8
253 9 10485760 dm-9
9 1 41908224 md1
七、修改配置文件/etc/mdadm.conf
执行命令:
echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf
mdadm -Ds >> /etc/mdadm.conf
cat /etc/mdadm.conf
返回结果:
[[email protected] ~]# echo DEVICE /dev/sd{b,c}1 >> /etc/mdadm.conf
[[email protected] ~]# mdadm -Ds >> /etc/mdadm.conf
[[email protected] ~]# cat /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdc1
ARRAY /dev/md1 metadata=1.2 name=localhost.localdomain:1 UUID=c6cb716b:9f2c7668:76178668:88fc84e3
八、格式化RAID,为其选择分区格式
执行命令:
mkfs.ext4 /dev/md1
返回结果:
[[email protected] ~]# 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
2621440 inodes, 10477056 blocks
523852 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2157969408
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
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
到此,RAID1已经制作完成
十、设置开机自动挂载,/etc/fstab 和 /etc/rc.d/rc.local 都可以添加
添加到 /etc/fstab,执行命令:
##创建 raid 目录,把md1 挂载到 /raid 目录上
mkdir /raid
##将挂载内容输出到/etc/fstab 里
echo "/dev/md1 /raid ext4 defaults 0 0" >> /etc/fstab
##查看内容信息
cat /etc/fstab
##重新加载/etc/fstab 内容
mount -a
返回结果:
[[email protected] ~]# mkdir /raid
[[email protected] ~]# echo "/dev/md1 /raid ext4 defaults 0 0" >> /etc/fstab
[[email protected] ~]# cat /etc/fstab
# HEADER: This file was autogenerated at 2020-08-21 23:01:50 +0800
# HEADER: by puppet. While it can still be managed manually, it
# HEADER: is definitely not recommended.
#
# /etc/fstab
# Created by anaconda on Mon Jul 20 18:41:03 2020
#
# 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
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=f2bb4865-04fd-4a78-8c85-9181d0077b97 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/srv/loopback-device/swiftloopback /srv/node/swiftloopback ext4 noatime,nodiratime,nobarrier,loop,user_xattr 0
/dev/md1 /raid ext4 defaults 0 0
[[email protected] ~]# mount -a
十一、编辑 /etc/rc.d/rc.local 文件
执行命令:
echo "mount /dev/md1 /raid" >> /etc/rc.d/rc.local
返回结果:
[[email protected] ~]# echo "mount /dev/md1 /raid" >> /etc/rc.d/rc.local
注意:第十步和第十一步任选一个即可
十二、reboot 重启,df -Th 查看内容信息
执行命令:
df -Th
返回结果:
[[email protected] ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs tmpfs 3.9G 9.3M 3.9G 1% /run
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 14G 4.3G 9.7G 31% /
/dev/md1 ext4 40G 49M 38G 1% /raid
/dev/loop0 ext4 1.9G 6.1M 1.7G 1% /srv/node/swiftloopback
/dev/sda1 xfs 497M 168M 330M 34% /boot
tmpfs tmpfs 783M 4.0K 783M 1% /run/user/42
tmpfs tmpfs 783M 0 783M 0% /run/user/0