大容量磁盘分区表、文件系统、分区工具的选择

   随着大数据时代的来临,磁盘介质越来越廉价,海量存储概念已经深入人心,以前我们接触到的存储容量可能几10G,几100G,最多几个T,现在动不动就是几10T,上100T,甚至PB级容量,如此大的存储容量对于运维人员来说也带来了很多新的挑战,如何根据业务需求选购合适的阵列柜,大容量服务器,选择什么样的RAID,如何对磁盘空间进行规划,选择什么样的分区表,选择什么样的文件系统,选择合适的格式化工具都非常重要,因为我们会发现,管理小容量存储方式对于海量存储已经不再适用,运维人员面临新的技术挑战。这里面涉及到很多知识,本文从实践中进行总结,讲解其中的一小部(Linux)。


一、分区表的选择

  简单的理解就是在磁盘的某个地方存放着一张表,表里包含着磁盘分区的一些关键信息。

    MBR与GPT应该说是最常见的分区表了,如果磁盘使用的是MBR(Main Boot Recored),则意味着最大容量不能超过2T,且分区限制为4个主分区,或者是3个主分区和一个扩展分区。也就是说MBR分区表是不能支持海量存储的,如果是海量存储GPT的分区表就是我们的不二选择,GPT的分区表据说最大可以支持18EB,1EB=1024TB,且每个磁盘最多可以支持128个分区。相对MBR来说基本是没什么限制。


二、文件系统的选择

  在Linux系统中过去常用的文件系统ext2,ext3在大容量磁盘中也就用不上了,现在要考虑的文件系统是ext4,xfs等,其中ext4最大支持16TB,如果超过16TB就使用xfs吧


三、分区工具选择

    以前我们都习惯使用fdisk工具来分区,大容量的磁盘就不适用了,不信的话可以fdisk -l列表看下,Linux也自带了大容量磁盘的分区管理工具parted

下面是parted工具的使用:

1、查看gpt磁盘分区

parted /dev/sdb print


2、选择一个设备

parted

select /dev/sdb

print


3、创建gpt分区表

mklabel gpt


4、创建分区

mkpart primary 0 5T

mkpart primary 5T 10T

以上分区会出现性能警告,可以使用百分比得到更好的性能,消除性能警告:

"The resulting partition is not properly aligned for best performance."

mkpart primary 0% 100%

print


5、格式化分区

退出parted

如果容量小于16T使用ext4文件系统格式化:

mkfs.ext4 -T largefile /dev/sdb1 

这里为了加快格式化的速度使用了-T这个参数


6、挂载到目录

mount /dev/sdb1 /opt


7、编辑fstab

目的是重启操作系统自动加载,省略


熟悉以上知识,可以让你在处理大容量磁盘时少走很多弯路,希望对你有用

上一篇:wukong引擎源码分析之索引——part 1 倒排列表本质是有序数组存储


下一篇:Mysqldump参数大全(参数来源于mysql5.5.19源码)