Raid0:
Raid 0(条带): 读写速度得到提升,但不具备数据冗余。
环境要求: 新添加一块磁盘,大小为10G。并且分区,先分2个分区,每个分区大小为1G。分区类型为Linux RAID
[root@localhost ~]# echo "- - -" >> /sys/class/scsi_host/host0/scan
[root@localhost ~]# echo "- - -" >> /sys/class/scsi_host/host1/scan
[root@localhost ~]# echo "- - -" >> /sys/class/scsi_host/host2/scan
[root@localhost ~]# fdisk -l
...
Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 7AF3AD69-8BCE-4DA6-9DCD-2EC2029BF10B
# Start End Size Type Name
1 2048 2099199 1G Linux RAID Linux RAID
2 2099200 4196351 1G Linux RAID Linux RAID
创建一个2G的Raid 0
思路:可以可以使用两个1G的分区,也可以使用4个512M的分区。再提醒大家一次,这里我们用分区做的是 没有意义的,只不过是演示过程。
一、创建RAID0。
语法格式:mdadm [参数]
-C:创造模式
-l:指定级别
-n: 设备个数
-a: {yes|no} 自动为其创建设备文件
-c: chunk大小,默认为64k,(数据块) 2的N次方
-x: 指定空闲盘的个数
[root@localhost ~]# mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb{1,2}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
二、查看当前系统上所有启用 了Raid的设备。
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdb2[1] sdb1[0]
2093056 blocks super 1.2 512k chunks
unused devices: <none>
三、格式化raid硬盘。
[root@localhost ~]# mkfs.xfs /dev/md0
meta-data=/dev/md0 isize=512 agcount=8, agsize=65408 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=523264, imaxpct=25
= sunit=128 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
这里可以查看到我们刚才创建的硬盘信息,格式化之后,可以直接挂载使用了。
四、挂载
[root@localhost ~]# mkdir /mnt/Raid0
[root@localhost ~]# mount /dev/md0 /mnt/Raid0/
[root@localhost ~]# mount | tail -1
/dev/md0 on /mnt/Raid0 type xfs (rw,relatime,seclabel,attr2,inode64,sunit=1024,swidth=2048,noquota)
[root@localhost ~]# df -hT /mnt/Raid0/
Filesystem Type Size Used Avail Use% Mounted on
/dev/md0 xfs 2.0G 33M 2.0G 2% /mnt/Raid0
当然,这里是临时挂载,想要加入开机自动挂载,编辑/etc/fstab文件即可。
Raid1:
Raid 1(镜像): 写性能下降,读性能提升,相反冗余能力提升。但磁盘利用率是1/2,最少2块硬盘
创建一个2G的Raid1(有效存储空间)
思路:想要创建2个一个2G的Raid1,那么假设说用两块硬盘来实现,那么每一块大小应该是多大的那? 对了,就是2G,而且它实际空间使用率只有2G。那么就再创建2个2G的分区。
[root@localhost ~]# gdisk /dev/sdb
...
Number Start (sector) End (sector) Size Code Name
1 2048 2099199 1024.0 MiB FD00 Linux RAID
2 2099200 4196351 1024.0 MiB FD00 Linux RAID
3 4196352 8390655 2.0 GiB FD00 Linux RAID
4 8390656 12584959 2.0 GiB FD00 Linux RAID
一、直接用mdadm命令创造。
[root@localhost ~]# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdb{3,4}
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/md1 started.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid0] [raid1]
md1 : active raid1 sdb4[1] sdb3[0]
2094080 blocks super 1.2 [2/2] [UU]
md0 : active raid0 sdb2[1] sdb1[0]
2093056 blocks super 1.2 512k chunks
unused devices: <none>
二、格式化并挂载。
[root@localhost ~]# mkfs.xfs /dev/md1
meta-data=/dev/md1 isize=512 agcount=4, agsize=130880 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=523520, 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
[root@localhost ~]# mkdir /mnt/Raid1
[root@localhost ~]# mount /dev/md1 /mnt/Raid1/
[root@localhost ~]# mount | tail -1
/dev/md1 on /mnt/Raid1 type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@localhost ~]# df -hT /mnt/Raid1/
Filesystem Type Size Used Avail Use% Mounted on
/dev/md1 xfs 2.0G 33M 2.0G 2% /mnt/Raid1
完成!