我刚刚订购了一台新服务器,它将用于使用 nginx(带伪流)提供从 10MB 到 90MB 的 mp4 视频文件。
该服务器有双 Opteron 6128、64GB RAM。
我想问的是,如何设置我的硬盘才能以最快的方式提供这些视频文件。
我订购了 8 x 1.5TB 的硬盘,组成了硬件 RAID 10。根据我对 raid 10 的理解,我应该在 fdisk -l 上只看到 1.5TB 的空间,但我看到的却是 11.8TB。服务器提供商做错了吗?
fdisk -l
Disk /dev/sda: 107.4 GB, 107374181888 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000d3d9
Device Boot Start End Blocks Id System
/dev/sda1 * 1 12794 102759424 83 Linux
/dev/sda2 12794 13055 2096128 82 Linux swap / Solaris
Disk /dev/sdb: 11892.5 GB, 11892537950720 bytes
255 heads, 63 sectors/track, 1445852 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
我的另一个问题是,如何对磁盘进行分区/格式化才能获得最佳读取性能?本文http://www.zdnet.com/blog/storage/chunks-the-hidden-key-to-raid-performance/130建议我使用 512 字节到 8KB 的块。
请多多包涵,因为我是 Linux 新手。提前谢谢您。
答案1
我看到磁盘 /dev/sdb:11892.5 GB,这让我认为他们正在进行 RAID 0,因为这几乎是你的全部容量。
其次,如果这是用于流媒体视频,最好使用 RAID 5/50 配置。RAID 10 有点过头了。RAID 5 在顺序读取方面表现非常好,而顺序读取通常是视频的读取方式。
答案2
您对 RAID 10 的理解有误。如果您有 8 个 1.5 TB 磁盘,RAID 10 阵列将有 6 TB 的原始可用空间。考虑到您的磁盘空间是这个数字的两倍,听起来他们给您发了一个 RAID 0 阵列。
RAID 0 无疑会为您提供最快的速度,而无需牺牲任何磁盘空间。RAID 10 会以 6 TB 的存储空间为代价为您提供更快的读取速度。
需要澄清的是,RAID 0 是一组磁盘,数据分散在磁盘上以增加数据带宽。RAID 10(或 RAID 1+0)是两个 RAID 0“条带”镜像,以防止数据丢失(并且在许多情况下可以提高读取速度)。
笔记:一旦丢失硬盘,RAID 0 阵列就完全没用了。如果您有 8 个 SATA 磁盘,那么在服务器的整个使用寿命期间,这种情况很可能会发生。
您询问的是块大小,这与格式化磁盘无关。块大小由 RAID 控制器用来定义数据在磁盘上的分布方式。要更改块大小,您必须重新配置 RAID 控制器(通常在启动期间通过 BIOS 完成)。
答案3
他们为你设置了 raid0,使用 lshw 或 lspci 检查盒子里有哪个硬件控制器,以便我们可以从那里开始从控制器获取数据,这样你就可以在容量证据不足的情况下向他们提供确凿的证据。
答案4
使用 RAID10 时,您会损失一半的容量,您应该看到 6TB,而不是 12TB。有些不对劲。