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(一条条纹镜像).如果任何一张卡死亡,您仍然有另一张卡镜像相同的数据卡.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...