我在 IT 工作了很多年,所以我知道什么是 RAID 阵列,什么是 RAID 0,RAID 1、5、6、10、50、60 等,但最近突然想起工作中的谈话;如果 RAID 代表独立(或廉价)磁盘的冗余阵列,那么为什么 RAID 0 被归类为 RAID 而不仅仅是条带阵列?
将数据在一个阵列上的多个磁盘上进行条带化不会提供任何冗余,那么为什么将其归类为 RAID 阵列呢?当然最低的数字应该是 RAID 1(镜像),因为那是冗余真正开始的时候?
所以,我想知道,是否可以使用 mdadm 执行以下操作:
sda和sdb.sdc并将所有数据移动sdb到它。sdb。现在,我看到的只有一个选择-我停止阵列,复制sdb到sdc同dd或任何其他块拷贝工具,开始在阵列后面。
我错过了什么吗?可以用 mdadm 做到这一点吗?
我对 RAID 0 的理解是数据在阵列中的所有驱动器上被拆分和条带化。如果阵列中只有一个驱动器,那么单驱动器 RAID 0 阵列的意义何在?它是如何工作的?
从这些 ceph 基准测试来看,至少在某些情况下,与 JBOD 相比,似乎存在明显的性能差异。
尽管我用了最好的谷歌搜索,但我找不到任何实质性的东西。谢谢!
我有一个 HP Proliant DL380 G5,在 RAID 0 (Stripe)(72GB+72GB) 中有两个 HDD。它已经运行 Windows Server 一段时间了,并且在一个条带卷上有 30GB 的已占用空间。
我现在又购买了两个 72GB 硬盘(与服务器中已安装的相同)。我想通过引入现有条带磁盘的 HDD 镜像来使该系统更加安全。
提前致谢。
更新
所以经过长时间研究官方文档,我发现btrfs以每个1Gb为单位的块来分配空间,并且在使用单一模式时,这些块被分配在当前未分配空间最多的磁盘上。因此,数据在不同磁盘之间进行条带化,正如我所见,丢失一个磁盘将导致大于 1Gb 的文件完全丢失。
我的结论是,使用单一模式相对于 raid0(也受 btrfs 支持)的唯一好处是可以使用不同大小的磁盘。还有其他想法吗?
原帖
因此,我使用以下命令创建了一个由 3 个数据模式为 Single 的设备组成的 btrfs 文件系统:
sudo mkfs.btrfs -f -d single /dev/sdb7 /dev/sdb8 /dev/sdb9
Run Code Online (Sandbox Code Playgroud)
然后我将 fs 安装到文件夹 nonRaid 并使用创建了一个 10G 文件
fallocate -l 10G nonRaid/example
Run Code Online (Sandbox Code Playgroud)
我理解使用 raid0 和 single 之间的区别是,在我的情况下,raid0 会将数据条带化到 3 个设备上,而使用 single 模式,数据不会被条带化,而是像 NTFS 一样作为整个块保存在磁盘上。我的理解正确吗?
如果是这样,如何解释当使用
btrfs filesystem usage nonRaid/
Run Code Online (Sandbox Code Playgroud)
它向我显示以下输出:
Overall:
Device size: 59.98GiB
Device allocated: 13.02GiB
Device unallocated: 46.96GiB
Device missing: 0.00B
Used: 10.05GiB
Free (estimated): 47.91GiB (min: 24.43GiB)
Data ratio: 1.00
Metadata ratio: 2.00
Global …Run Code Online (Sandbox Code Playgroud) 我有点困惑,因为我发现了两个关于使用 LVM 创建 RAID0 的不同说明。第一个资源显示了使用此模式创建 RAID0 的方法:
lvcreate -i[num drives] -I[strip size] -l100%FREE -n[lv name] [vg name]
Run Code Online (Sandbox Code Playgroud)
但是查看官方手册,它显示的方法几乎没有什么不同,至少我认为,相同的任务。
lvcreate --type raid0 [--stripes Number --stripesize Size] VG [PVs]
Run Code Online (Sandbox Code Playgroud)
在第二个例子中,我们明确指出我们正在处理raid0。我现在不确定哪种模式是正确的。我尝试了第一个并创建了 lvg 没有问题,但还没有进行更深入的测试。
在我搞砸我的电脑之前,我还有第二个问题想问;)
我有两个相同的 ssd 驱动器 - 我想加快系统和游戏的性能。我想用它们制作 RAID 0,最近,我发现一篇文章说它可以用 LVM 来完成。
我很惊讶,这个raid是在LVM的最后一个“层”——逻辑组上进行的。我希望它发生在创建卷组的级别,然后在 raid 0 之上创建普通分区。
只是为了确保,这会运作良好吗?
sudo lvcreate -i2 -I4 --size 100G -n root lvm-system /dev/sda /dev/sdc
sudo lvcreate -i2 -I4 --size 4G -n swap lvm-system /dev/sda /dev/sdc
sudo lvcreate -i2 -I4 -l 100%FREE -n games lvm-system /dev/sda /dev/sdc
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何帮助!
我们有一个运行在 Amazon EC2 c1.medium 实例上的 MySQL 服务器,它依赖于使用 ext3 文件系统进行存储的单个 EBS 卷。
这个 MySQL 服务器被一些运行在一些 web 服务器上的应用程序以大约 500/ps 的速度查询,这些服务器也在 Amazon EC2 上。
正如您在下面看到的,服务器的平均负载和处理器空闲时间似乎很好,但现在有一些令人不安和担心的事情,这就是它一直在经历的高 iowait。
另一个让我非常担心的数字是 iostat 的每秒传输数 (tps),大部分时间都保持在 450 以上。在对这个话题做了一些研究之后,我看到有人说这是对 EBS 卷的要求太多:https : //forums.aws.amazon.com/thread.jspa? threadID =30769
顺便说一下,您将在下面看到的命令输出不是在高峰时间捕获的。这就是服务器大部分时间的行为方式。
好吧,大家都说,这是我的问题:
1- 是时候考虑迁移到 RAID 架构(我会说 RAID 0)了吗?
2- 我应该花时间在集群解决方案上吗,比如 MySQL Cluster?
3- 您认为这种情况是否严重影响了我们的应用程序?如果我们转向 RAID 0 和/或集群解决方案,它们的性能会更好吗?(到目前为止,应用程序似乎很高兴,但他们会更高兴吗?)
如果您需要任何进一步的信息,请告诉我。
~ # uptime
12:34:14 up 2 days, 4:06, 1 user, load average: 2.24, 1.90, **1.84**
########################################################
~ # vmstat 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ …Run Code Online (Sandbox Code Playgroud) 我们有一个Lenovo RD430带RAID 500控制器的。
安装在服务器中的6x 4TB驱动器配置为每个驱动器的2x RAID0阵列3x 4TB,但是,我们还有另外 3 个相同的4TB驱动器,并且希望能够每周轮换其中一个阵列(以允许在异地使用一组驱动器)。
当我尝试(关闭和)使用备用驱动器旋转阵列之一时,我收到一条错误消息,指出其中一个 VD 丢失,继续操作会将其从配置中删除。
我假设这是因为 RAID 配置的某些部分被写入磁盘本身,而不仅仅是存储在 RAID 控制器上?我想我天真地以为我可以使用Lenovo简单的启动软件在备用磁盘上复制 RAID 配置,然后随意交换它们。
所以首先,这甚至可能吗?如果是这样,我将如何处理?
编辑:我可能应该早些时候说过,这整个服务器实际上是一个备份服务器——我们有一个完全独立的RD430运行RAID10作为主文件服务器,文件服务器每晚备份到这个服务器。我只是想通过引入异地来对冲我的赌注。磁盘存在的唯一原因RAID0是方便(1x 12TB而不是3x 4TB)。
更新:响应评论......主要数据存储在一个RAID10阵列上,该阵列每晚同步到第二个服务器(RAID0阵列),然后存档到第三个阵列(再次RAID0)。这是RAID10我想要轮换的第三份副本(如果你算上主要是)。此外,驱动器被标记为(SET x DISK x of x),并且在离开服务器时将被存储在一个Peli案例中。
我想知道的是如何配置驱动器以便可以旋转?
我现有的RAID0设置有两个磁盘。我必须向其添加新驱动器。但是当我尝试运行以下命令时:
mdadm --add /dev/md/customer_upload /dev/xvdl\nRun Code Online (Sandbox Code Playgroud)\n\n我收到错误:
\n\nmdadm: add new device failed for /dev/xvdl as 2: Invalid argument\nRun Code Online (Sandbox Code Playgroud)\n\n如何将新磁盘添加到现有 RAID0?
\n\n我最初使用以下步骤创建 RAID 0:
\n\n sudo mdadm --create --verbose /dev/md/customer_upload --level=stripe --raid-devices=2 device_name1 device_name2\nRun Code Online (Sandbox Code Playgroud)\n\n编辑
\n\n看来您无法将磁盘添加到 RAID0。
\n\n我运行了以下命令,它是RAID4如何实现的以及为什么我仍然不清楚
/dev/md/customer_upload --grow -l 0 --raid-devices=3 -a /dev/xvdl\nRun Code Online (Sandbox Code Playgroud)\n\n我可以看到 RAID4 中的三个磁盘,但总空间仍然是 2Tb
\n\nxvdf 202:80 0 1T 0 disk \n\xe2\x94\x94\xe2\x94\x80md127 9:127 0 2T 0 raid4 /customer_upload\nxvdg 202:96 0 1T 0 disk …Run Code Online (Sandbox Code Playgroud) 可能的重复:有
哪些不同的广泛使用的 RAID 级别,我应该在什么时候考虑它们?
我想知道 RAID 0 如何提供更好的 i/o。
如果我在 RAID 0 中没有错,数据会被拆分并存储在不同的 HDD 中。
在这种情况下,对于每个读取请求,不需要扫描整个阵列以获取文件。
任何人都可以澄清这一点吗?
我在 gen8 上有 2 个 WD HDD,并在 slot1 和 slot2 上构建为 RAID0,我已经拔掉了这两个磁盘,并在插槽 1 和插槽 2 上安装了希捷磁盘。SmartArray 报告没有找到突袭。然后我在插槽 1 和插槽 2 中为希捷磁盘创建了一个 raid0。当我卸下希捷磁盘,并重新安装 WD HDD(我不记得序列,哪个在插槽 1 和哪个在插槽 2)我进入 SmartArray 配置,我可以看到这两个 WD HDD 处于物理模式,而不是阵列模式。(这需要很短的时间)我为这两个磁盘单击创建磁盘作为 raid0,并且在 Windows 中我看到了一个空磁盘。
WD HDD 上的所有数据都会丢失吗?我可以恢复这两个磁盘上的数据吗?
(Raid Card 是 B120i on Board。)
我有 8 个 hhd ,所有这些都有 RAID-0。昨天一盘变状态配置好,是OS盘。现在我无法启动我的服务器,导入外部配置不起作用,我不能丢弃缓存它也不起作用。如何重新建立服务器工作。
raid0 ×12
raid ×7
linux ×2
amazon-ebs ×1
amazon-ec2 ×1
btrfs ×1
hard-drive ×1
hp ×1
hp-proliant ×1
iowait ×1
lsi ×1
lvm ×1
mdadm ×1
megaraid ×1
mysql ×1
raid1 ×1
windows ×1