「探究Linux阵列格式的实用性」 (linux阵列格式)

探究Linux阵列格式的实用性

Linux阵列是一种基于硬件或软件的RD技术,可以将多个硬盘组合成一个逻辑卷,提供更高的磁盘容量、更好的性能和更高的数据保护级别。Linux系统中,有多种阵列格式可供选择,例如RD 0、RD 1、RD 5、RD 6等。本文将探究Linux阵列格式的实用性,以及如何选择和配置适当的阵列类型。

Linux阵列格式的实用性

Linux系统中的阵列格式主要用于增强数据的可用性和可靠性,并提高读写性能。其主要优点包括:

1. 增强数据的可用性:当一个硬盘损坏时,阵列仍可继续工作,并自动使用其余硬盘中的数据进行恢复,从而避免数据的丢失。

2. 提供更高的性能:RD 0的性能可以达到所有硬盘的总性能,而RD 1、RD 5和RD 6则可以提供更快的读写速度,特别是在处理大文件时。

3. 提高数据保护级别:RD 1、RD 5和RD 6可以通过冗余数据或校验数据保护数据完整性,从而提高数据的安全性和可靠性。RD 6甚至可以在两张硬盘损坏的情况下恢复数据。

如何选择和配置适当的阵列类型

在选择和配置适当的阵列类型时,我们需要根据实际需求和预算来做出决策。以下是一些基本的指南:

1. RD 0:适用于需要高性能读写速度的应用,如视频编辑等。但是,RD 0没有冗余技术,一旦硬盘出现故障就无法恢复数据。

2. RD 1:适用于需要高可靠性的应用,如数据库等。RD 1需要至少两张硬盘,而且只能使用一半的容量存储数据,因为另外一半的容量被用于存储镜像数据。当一个硬盘失效时,阵列可以继续运行,而且数据不会丢失。

3. RD 5:适用于需要同时提高性能和可靠性的应用,如文件服务器等。RD 5需要至少三张硬盘,其中一个硬盘用于存储校验数据。当一个硬盘失效时,阵列可以继续运行,但性能可能会受到一些影响。

4. RD 6:适用于需要更高的安全性和数据保护级别的应用,如金融系统等。RD 6需要至少四张硬盘,其中两张硬盘用于存储校验数据。当两张硬盘失效时,阵列可以继续运行,并且数据不会丢失。

在配置阵列时,我们还需要考虑以下几个因素:

1. 硬盘容量:为了充分利用阵列的容量和性能,应该选择相同容量的硬盘。

2. 控制器和接口:硬件阵列和软件阵列的控制器和接口不同,需要根据实际需求选择。

3. 维护和备份:阵列故障时需要及时维护和备份数据,否则可能会造成数据的丢失。

Linux系统中的阵列格式可以为我们提供更高的数据可用性、可靠性和性能。在选择和配置阵列时,我们需要根据实际需求和预算来做出决策,并考虑硬盘容量、控制器和接口以及维护和备份等因素。只有选择和配置适当的阵列类型,才能充分发挥其优势,并有效保护数据的安全和可靠性。

相关问题拓展阅读:

如何在linux下做软raid实现方法

磁盘阵列软RAID实例.

前言:raid0, 容量倍增,加速。 raid1, 安全镜像备份。弊谨 raid5, 奇偶数据校验保证安全,磁盘利用率(n-1)。

****************************************

1. 准备硬盘分区。

****************************************

raid5 至少需要3快硬盘,我手上只有一块闲置硬盘,就拿它练手。

在一块硬盘上实现raid 是没有意义裤卜桐的,这里仅是为了实验,知道其过程。

分区如下:

主分区 /sdb1, 扩展分区/sdb10 随便干别的事情。

扩展分区/sdb{5..9} 做raid5

# fdisk -l /dev/sdb

Disk /dev/sdb: 160.0 GB,bytes

255 heads, 63 sectors/track,cylinders

Units = cylinders of* 512 =bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x86ea33f5

Device Boot StartEnd Blocks Id System

/dev/sdb 83 Linux

/dev/sdb 5 Extended

/dev/sdb fd Linux raid autodetect

/dev/sdb fd Linux raid autodetect

/dev/sdb fd Linux raid autodetect

/dev/sdb fd Linux raid autodetect

/dev/sdb fd Linux raid autodetect

/dev/sdb 83 Linux

# partprobe /dev/sdb

重新检测分区要通过, 可能需要重启系统。

****************************************

2. 创建raid5 设备/dev/md0

****************************************

raid 设备文件名,习惯上用md0, md1….等命名

注意: 创建需要内核支持, 选中相应的raid 选项,重编译内核,否则胡坦该命令不能通过,错误为invalid parameter

2.1 创建

# mdadm -C /dev/md0 -a yes -l 5 -n 4 -x 1 /dev/sdb{5..9}

mdadm: Defaulting to version 1.2 metadata

解释一下:

-C —> create

-a —> autodetected

-l —> level raid5

-n —> raid devices 4 (使用)

-x —> spare devices 1(备用)

给一个参考多硬盘命令

# mdadm -C /dev/md0 -a yes -l 5 -n 3 /dev/sd1

2.2: 设备名称查询

# ll /dev/md* -d

drwxr-xr-x 2 root root 60 Nov 7 01:51 /dev/md

brw-rwroot disk 9, 0 Nov 7 01:52 /dev/md0

2.3: 设备信息查询

# mdadm –detail /dev/md0

/dev/md0:

Version : 1.2

Creation Time : Thu Nov 7 01:14:

Raid Level : raid5

Array Size :(74.48 GiB 79.97 GB)

Used Dev Size :(24.83 GiB 26.66 GB)

Raid Devices : 4

Total Devices : 5

Persistence : Superblock is persistent

Update Time : Thu Nov 7 01:43:

State : clean, degraded, recovering

Active Devices : 3

Working Devices : 5

Failed Devices : 0

Spare Devices : 2

Layout : left-symmetric

Chunk Size : 512K

Rebuild Status : 63% complete

Name : hjj.localdomain:0 (local to host hjj.localdomain)

UUID : 9dee9c47:58dfe491:5c8db1c6:9686eba5

Events : 25

Number Major Minor RaidDevice State

active sync /dev/sdb5

active sync /dev/sdb6

active sync /dev/sdb7

spare rebuilding /dev/sdb8

spare /dev/sdb9

****************************************

3: 格式化raid 设备(磁盘)

# mkfs -t ext4 /dev/md0

****************************************

mke2fs 1.41.12 (17-May-2023)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=128 blocks, Stripe width=384 blocks

inodes,blocks

blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=

596 block groups

32768 blocks per group,fragments per group

8192 inodes per group

Superblock backups stored on blocks:

32768, 98304,,,,,,,,

,,

Writing inode tables: done

Creating journal (32768 blocks):

done

Writing superblocks and filesystem accounting information:

done

This filesystem will be automatically checked every 34 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

****************************************

4. 挂载及使用raid 磁盘

****************************************

# mount /dev/md0 /mnt

# cd /mnt

# ls

lost+found

使用raid 设备(虚拟盘)

# echo “haha” > abc.txt

# cat abc.txt

haha

# df

FilesystemK-blocks Used Available Use% Mounted on

/dev/mapper/VolGroup-lv_root

84% /

tmpfs% /dev/shm

/dev/sda 15% /boot

/dev/mapper/VolGroup-lv_home

12% /home

/dev/md8 1% /mnt

****************************************

5. 设置开机启动RAID

****************************************

# mdadm –detail –scan

ARRAY /dev/md0 metadata=1.2 spares=2 name=hjj.localdomain:0 UUID=9dee9c47:58dfe491:5c8db1c6:9686eba5

# mdadm –detail –scan >/etc/mdadm.conf

经以上操作,系统重启时自动命名为md0, 否则会是md127 等等值, 不固定。

# vim /etc/fstab

添加:

/dev/md /mnt ext4 defaults

****************************************

6. 其它:停用设备,插拔磁盘

更详细文档: man mdadm

****************************************

停用raid 盘:

# mdadm –stop /dev/md0

查询

# ll /dev/md* , 无设备

mdadm 还可模拟拔出硬盘,修复硬盘,插入硬盘

# mdadm /dev/md0 –remove /dev/sdb5

验证:

# mdadm –zero-superblock –force /dev/md0

# mdadm /dev/md0 –add /dev/sdb5

验证:

验证方法:

# mdadm –detail /dev/md0

删除该raid 设备, 完整的操作过程如下示例。 比较规范,系统无错误。

当然,不按规范删除也可以。反正你也不要设备上的所有数据了。

mdadm /dev/md0 –fail /dev/sdb5 –remove /dev/sdb5

mdadm /dev/md0 –fail /dev/sdb6 –remove /dev/sdb6

mdadm /dev/md0 –fail /dev/sdb7 –remove /dev/sdb7

mdadm /dev/md0 –fail /dev/sdb8 –remove /dev/sdb8

mdadm /dev/md0 –fail /dev/sdb9 –remove /dev/sdb9

mdadm –remove /dev/md0

mdadm –stop /dev/md0

mdadm –misc –zero-superblock /dev/sdb5

mdadm –misc –zero-superblock /dev/sdb6

mdadm –misc –zero-superblock /dev/sdb7

mdadm –misc –zero-superblock /dev/sdb8

mdadm –misc –zero-superblock /dev/sdb9

即: 先删除RAID中的所有设备,然后停止,删除该RAID即可

为了防止系统启动时候启动raid, 应检查,修改相应的配置。

linux阵列格式的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux阵列格式,「探究Linux阵列格式的实用性」,如何在linux下做软raid实现方法的信息别忘了在本站进行查找喔。


数据运维技术 » 「探究Linux阵列格式的实用性」 (linux阵列格式)