RADI:
简介:
可以把RAID理解成一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个磁盘驱动器来使用。
优点:
传输速率高
更高的安全性
分类:
1.raid0 条带
性能提升:读写
冗余能力:不具备
空间利用率:n 至少两块盘
2.raid1 镜像
性能提升:写性能下降,读性能提高
冗余能力:具备
空间利用率:1/2 正好两个
3.raid0+1(同组都可以坏,不能是不同组的相同标号坏)利用率都是1/2 raid1+0 (同组不能都坏掉
性能表现:读写提升
冗余能力:具备
空间利用率:1/2 至少4块
5.raid5 轮换成为校验盘的机制 性能表现:读写提升 冗余能力:具备 空间利用率:(n-1)/n 至少3
LVM
LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。
LVM是 Logical Volume Manager(逻辑卷管理)的简写
PV:是物理的磁盘分区
VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库统一管理了几个大的硬盘,形成了一个统一虚拟的存储资源池。
LV:也就是从VG中划分的逻辑分区
1.对硬盘进行分区并修改格式为Linux RAID
[dzqd-root@dqynj027061 ~]$ sudo fdisk -l | grep sd
磁盘 /dev/sda:480.1 GB, 480103981056 字节,937703088 个扇区
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 21997567 10485760 82 Linux swap / Solaris
/dev/sda3 21997568 937701375 457851904 83 Linux
磁盘 /dev/sdl:4000.8 GB, 4000787030016 字节,7814037168 个扇区
磁盘 /dev/sdm:4000.8 GB, 4000787030016 字节,7814037168 个扇区
[dzqd-root@dqynj027061 ~]$ sudo fdisk /dev/sdl
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
分区号 (1-128,默认 1):
第一个扇区 (34-7814037134,默认 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-7814037134,默认 7814037134):
已创建分区 1
命令(输入 m 获取帮助):l
1 EFI System C12A7328-F81F-11D2-BA4B-00A0C93EC93B
2 MBR partition scheme 024DEE41-33E7-11D3-9D69-0008C781F39F
3 BIOS boot partition 21686148-6449-6E6F-744E-656564454649
4 Microsoft reserved E3C9E316-0B5C-4DB8-817D-F92DF00215AE
5 Microsoft basic data EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
6 Microsoft LDM metadata 5808C8AA-7E8F-42E0-85D2-E1E90434CFB3
7 Microsoft LDM data AF9B60A0-1431-4F62-BC68-3311714A69AD
8 Windows recovery evironmnet DE94BBA4-06D1-4D40-A16A-BFD50179D6AC
9 IBM General Parallel Fs 37AFFC90-EF7D-4E96-91C3-2D7AE055B174
10 HP-UX data partition 75894C1E-3AEB-11D3-B7C1-7B03A0000000
11 HP-UX service partition E2A1E728-32E3-11D6-A682-7B03A0000000
12 Linux filesystem 0FC63DAF-8483-4772-8E79-3D69D8477DE4
13 Linux RAID A19D880F-05FC-4D3B-A006-743F0F84911E
14 Linux swap 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
15 Linux LVM E6D6D379-F507-44C2-A23C-238F2A3DF928
16 Linux reserved 8DA63339-0007-60C0-C436-083AC8230908
17 FreeBSD data 516E7CB4-6ECF-11D6-8FF8-00022D09712B
18 FreeBSD boot 83BD6B9D-7F41-11DC-BE0B-001560B84F0F
19 FreeBSD swap 516E7CB5-6ECF-11D6-8FF8-00022D09712B
20 FreeBSD UFS 516E7CB6-6ECF-11D6-8FF8-00022D09712B
21 FreeBSD ZFS 516E7CBA-6ECF-11D6-8FF8-00022D09712B
22 FreeBSD Vinum 516E7CB8-6ECF-11D6-8FF8-00022D09712B
23 Apple HFS/HFS+ 48465300-0000-11AA-AA11-00306543ECAC
24 Apple UFS 55465300-0000-11AA-AA11-00306543ECAC
25 Apple RAID 52414944-0000-11AA-AA11-00306543ECAC
26 Apple RAID offline 52414944-5F4F-11AA-AA11-00306543ECAC
27 Apple boot 426F6F74-0000-11AA-AA11-00306543ECAC
28 Apple label 4C616265-6C00-11AA-AA11-00306543ECAC
29 Apple TV recovery 5265636F-7665-11AA-AA11-00306543ECAC
30 Apple Core storage 53746F72-6167-11AA-AA11-00306543ECAC
31 Solaris boot 6A82CB45-1DD2-11B2-99A6-080020736631
32 Solaris root 6A85CF4D-1DD2-11B2-99A6-080020736631
33 Solaris /usr & Apple ZFS 6A898CC3-1DD2-11B2-99A6-080020736631
34 Solaris swap 6A87C46F-1DD2-11B2-99A6-080020736631
35 Solaris backup 6A8B642B-1DD2-11B2-99A6-080020736631
36 Solaris /var 6A8EF2E9-1DD2-11B2-99A6-080020736631
37 Solaris /home 6A90BA39-1DD2-11B2-99A6-080020736631
38 Solaris alternate sector 6A9283A5-1DD2-11B2-99A6-080020736631
39 Solaris reserved 1 6A945A3B-1DD2-11B2-99A6-080020736631
40 Solaris reserved 2 6A9630D1-1DD2-11B2-99A6-080020736631
41 Solaris reserved 3 6A980767-1DD2-11B2-99A6-080020736631
42 Solaris reserved 4 6A96237F-1DD2-11B2-99A6-080020736631
43 Solaris reserved 5 6A8D2AC7-1DD2-11B2-99A6-080020736631
44 NetBSD swap 49F48D32-B10E-11DC-B99B-0019D1879648
45 NetBSD FFS 49F48D5A-B10E-11DC-B99B-0019D1879648
46 NetBSD LFS 49F48D82-B10E-11DC-B99B-0019D1879648
47 NetBSD concatenated 2DB519C4-B10E-11DC-B99B-0019D1879648
48 NetBSD encrypted 2DB519EC-B10E-11DC-B99B-0019D1879648
49 NetBSD RAID 49F48DAA-B10E-11DC-B99B-0019D1879648
50 ChromeOS kernel FE3A2A5D-4F32-41A7-B725-ACCC3285A309
51 ChromeOS root fs 3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC
52 ChromeOS reserved 2E0A753D-9E48-43B0-8337-B15192CB1B5E
53 MidnightBSD data 85D5E45A-237C-11E1-B4B3-E89A8F7FC3A7
54 MidnightBSD boot 85D5E45E-237C-11E1-B4B3-E89A8F7FC3A7
55 MidnightBSD swap 85D5E45B-237C-11E1-B4B3-E89A8F7FC3A7
56 MidnightBSD UFS 0394Ef8B-237C-11E1-B4B3-E89A8F7FC3A7
57 MidnightBSD ZFS 85D5E45D-237C-11E1-B4B3-E89A8F7FC3A7
58 MidnightBSD Vinum 85D5E45C-237C-11E1-B4B3-E89A8F7FC3A7
命令(输入 m 获取帮助):t
已选择分区 1
分区类型(输入 L 列出所有类型):13
已将分区“Linux filesystem”的类型更改为“Linux RAID”
命令(输入 m 获取帮助):p
磁盘 /dev/sdl:4000.8 GB, 4000787030016 字节,7814037168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
Disk identifier: FF76DADE-B053-4955-9EC8-AC9A6EF33761
# Start End Size Type Name
1 2048 7814037134 3.7T Linux RAID
命令(输入 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)
正在同步磁盘。
另外一块同等操作:
sudo fdisk /dev/sdm
{p,回车,回车,回车,l,t,13,w}
#如果分区的时候只能分最大2T的话是因为硬盘格式为MBR修改成GPT就好了
MBR最大只能支持4个主分区,2.2TB大小的分区。
GPT最大可以支持18EB大小的分区。
[root@dqynj027110 dzqd-root]# parted /dev/sdl
GNU Parted 3.1
Using /dev/sdl
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
Warning: The existing disk label on /dev/sdl will be destroyed and all data on this disk will be lost. Do you
want to continue?
Yes/No? yes
(parted) print
Model: ATA HUS726040ALA610 (scsi)
Disk /dev/sdl: 4001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted) quit
Information: You may need to update /etc/fstab.
或者
[root@dqynj027110 dzqd-root]# parted /dev/sdm mklabel gpt yes print
2.制作软RAID1
安装软raid需要命令:
[dzqd-root@dqynj027061 ~]$ sudo yum install mdadm
[dzqd-root@dqynj027061 ~]$ sudo mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sd{l,m}1
-a 检测设备名称
-n 指定设备数量
-l 指定RAID级别
-C 创建
-v 显示过程
-f 模拟设备损坏
-r 移除设备
-Q 查看摘要信息
-D 查看详细信息
-S 停止RAID磁盘阵列
/dev/md0 阵列的设备名称;
/dev/sd[l,m]1 参与创建阵列的磁盘名称
查看raid制作进度:
[dzqd-root@dqynj027061 ~]$ sudo cat /proc/mdstat
查看raid信息:
[dzqd-root@dqynj027061 ~]$ sudo mdadm -D /dev/md0
创建md0的配置文件(服务器重启自动加载到内核):
[dzqd-root@dqynj027061 ~]$ mdadm --detail --scan --verbose >> /etc/mdadm.conf
###如果不需要创建lvm就可以直接格式化磁盘、创建挂载点并设置开机自动启动,制作lvm可以忽略:
[dzqd-root@dqynj027061 ~]$ sudo mkfs.xfs /dev/md0
[dzqd-root@dqynj027061 ~]$ sudo mkdir /data/
[dzqd-root@dqynj027061 ~]$ sudo mount /dev/md0 /data
[dzqd-root@dqynj027061 ~]$ sudo echo "/dev/md0 /data xfs defaults 0 0" >> /etc/fstab
2.创建lvm
创建lvm物理卷:
[dzqd-root@dqynj027061 ~]$ sudo pvcreate /dev/md0
创建lvm卷组vg-sdl1-sdm1:
[dzqd-root@dqynj027061 ~]$ sudo vgcreate vg-sdl1-sdm1 /dev/md0
vgs //查看可以使用空间
创建lvm逻辑卷lv-sdl1-sdm1:
[dzqd-root@dqynj027061 ~]$ sudo lvcreate -L 3.7t -n lv-sdl1-sdm1 vg-sdl1-sdm1
lvs //查看可以查看逻辑卷
格式化逻辑卷并设置自动挂载:
[dzqd-root@dqynj027061 ~]$ sudo mkfs.xfs /dev/vg-sdl1-sdm1/lv-sdl1-sdm1
[dzqd-root@dqynj027061 ~]$ sudo mkdir /data
[dzqd-root@dqynj027061 ~]$ sudo mount /dev/vg-sdl1-sdm1/lv-sdl1-sdm1 /data
[dzqd-root@dqynj027061 ~]$ sudo echo "/dev/vg-sdl1-sdm1/lv-sdl1-sdm1 /data xfs defaults 0 0" >> /etc/fstab
[dzqd-root@dqynj027061 ~]$ sudo df -Th
3.题外话:
1.测试磁盘故障:
RAID测试,RAID中模拟一个自盘出现故障:
mdadm /dev/md0 -f /dev/sdl1 在之前创建的md0中分区/dev/sdb1出现故障
查看重构过程:
cat /proc/mdstat
删除出现问题的磁盘:
mdadm /dev/md0 -r /dev/sdb1
增加一块磁盘:
mdadm /dev/md0 -a /dev/sdb1
添加磁盘会曾为热备盘,让热备盘转变为活动磁盘需要执行以下命令:
将序号为4的热备盘转转变为活动磁盘:
mdadm -G /dev/md0 -n4
增加后只是阵列的容量增加了,但是文件系统还没有增加,需要执行一下命令将磁盘阵列的容量同步到文件系统去
resize2fs /dev/md0
**清除软raid:**
停止/dev/md0磁盘阵列:
mdadm -S /dev/md0
清除所有磁盘上的超级块数据才行,要不没法删除:
mdadm --zero-superblock /dev/sdb{l,m}1
#停止后还要删除配置文件,否则重启还会出现
注释/etc/fstab上的挂载信息:
vim /etc/fstab
#/dev/md0 /data xfs defaults 0 0
注释/etc/mdadm.conf对应的RAID信息:
vi /etc/mdadm.conf
#DEVICE /dev/sdl1 /dev/sdm1
#ARRAY /dev/md0 metadata=1.2 name=myhostname:0UUID=ba6c37b0:3acbd94c:7cd55917:de7c61ea
删除md0:
rm -f /dev/md0