微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 用于PostgreSQL的RAID 4 x Intel SSD 910的最佳方式

我有一台 Linux(debian / ubuntu)服务器,带有4个Intel SSD 910 800GB pcie,我需要一起RAID.

这些卡的最大问题在于它们为您提供4x200GB驱动器而您不能进行硬件攻击(更多关于此处:http://www.intel.com/support/ssdc/hpssd/sb/CS-034181.htm)

所以linux检测到这些驱动器:

> sda – 系统驱动器
> sdb – 卡#1
> sdc – 卡#1
> sdd – 卡#1
> sde – 卡#1
> sdf – 卡#2
> sdg – 卡#2
> sdh – 卡#2
> sdi – 卡#2
> sdj – 卡#3
> sdk – 卡#3
> sdl – 卡#3
> sdm – 卡#3
> sdn – 卡#4
> sdo – 卡片#4
> sdp – 卡#4
> sdq – 卡#4

如果我像普通的那样RAID,让我们说RAID-10,例如卡#1中断,我会同时丢失4个驱动器(sdb,sdc,sdd,sde),这可能会导致数据丢失?

所以我觉得我最喜欢(?)SSD卡,“内部RAID-0”:

$mdadm --create /dev/md0 --level=0 --raid-devices=4 /dev/sd[b-e]
$mdadm --create /dev/md1 --level=0 --raid-devices=4 /dev/sd[f-i]
$mdadm --create /dev/md2 --level=0 --raid-devices=4 /dev/sd[j-m]
$mdadm --create /dev/md3 --level=0 --raid-devices=4 /dev/sd[n-q]
$mdadm --create /dev/md4 --level=1 --raid-devices=4 /dev/md[0-3]

但这是一个RAID-01,它没有RAID-10的优势……
所以如果我做RAID-10,我想这样的话:

$mdadm --create /dev/md0 --level=1 --raid-devices=8 /dev/sdb[a-h]
$mdadm --create /dev/md1 --level=1 --raid-devices=8 /dev/sdb[i-q]
$mdadm --create /dev/md2 --level=0 --raid-devices=2 /dev/md[0-1]

那么问题是,如果卡#1中断会发生什么,我会丢失前4个驱动器,如果在sdc上镜像sdb怎么办?

所以在确定问题之后,我们应该选择什么块大小和块大小来运行Postgresql呢?
我认为我们将使用XFS,但愿意接受想法.

总结一下:

>需要能够在没有dataloss的情况下丢失一张卡(我们有冷备用)
>需要至少获得1600GB的RAID

解决方法

你的第一直觉是正确的:

So I was thinking I do like most(?) SSD-cards do anyway,“internal RAID-0”: (snip) But this is a RAID-01 which have no benefits over RAID-10…

唯一要改变的是你的最后一行:

$mdadm --create /dev/md4 --level=10 --raid-devices=4 /dev/md[0-3]

(注意变化:等级= 10)

这实质上将每个卡转换为独立的RAID0阵列,然后创建各个元素的RAID10阵列.它本质上是RAID010(一条条纹镜像).如果任何一张卡死亡,您仍然有另一张卡镜像相同的数据卡.

原文地址:https://www.jb51.cc/linux/397108.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐