Linux服务器磁盘阵列分区与挂载

磁盘阵列

磁盘阵列, 全称: 独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks, wiki主页. 基本思想就是将多块容量相对较小的磁盘组合成一个巨大的磁盘.

磁盘阵列是一个独立的存储逻辑单元, 相对于物理磁盘, 又称虚拟磁盘.

磁盘阵列相对单个小容量的硬盘具有下列优点:

  1. 数据集中, 不需要分散放到每个小容量硬盘里, 更容易管理;
  2. 增加容错性, 除了RAID0之外, 其他档次的磁盘阵列均有一定的容错能力, 当然相对的磁盘空间会相对减少, 不同档次的磁盘阵列对于容错能力, 实际存储大小, 安全性等都有不同的取舍.

根据不同服务器厂家提供的方式创建好RAID阵列之后, 就可以在设备中看到该磁盘:

fdisk -l | grep 'sd'

在未分区的磁盘中, 可以看到新添加的磁盘阵列, 如/dev/sdb.

分区表

分区表是磁盘中的一块特殊区域, 用来区分管理磁盘空间.

主要有两种分区表: MBR分区表(wiki主页) 和 GPT分区表(wiki主页).

MBR分区表最大支持四个主分区, 每个分区最大支持2TB. 而GPT分区表没有分区数限制, 且最大支持128EB.

对于较大的存储阵列来说, 只有使用GPT分区表来进行分区.

使用parted工具进行分区

键入命令:

parted /dev/sdb

选择/dev/sdb为当前磁盘, 并进入命令模式, 在命令模式下依次输入:

> mklable gpt  # 选择gpt分区表
> mkpart primary 0 -1 # 创建主分区, 大小为阵列全部大小

此时, 可能提示该大小未对其, 没有达到最佳性能, 指的是服务器磁盘没有进行64K对齐, 将开头128个selector空出, 再次创建主分区即可:

> mkpart primary 128 -1  # 空出前128个selector
> print  # 查看已经分区的情况
> quit # 确认无误后退出

linux文件系统与格式化

linux文件系统主要有ext3, ext4, xfs和btrfs这四种, 每种文件系统都有其优缺点, 可以参考这篇博文以及这篇博文.

以XFS文件系统为例, 利用mkfs格式化阵列:

mkfs.xfs /dev/sdb

稍作等待即可; 若选择ext3等格式, 则为了加快格式化速度, 需要加入-T largefile参数.

挂载与自动挂载

使用mount命令将格式化后的阵列挂载到相应目录:

mount /dev/sdb /bio02

修改/etc/fstab文件, 在最后输入:

/dev/sdb /bio02 vfs defaults 0 0

可参考这篇博文.