实战生产环境下使用parted给大于2T以上硬盘分区

简述:parted是一个磁盘分区管理管理工具,它比fdisk更加灵活,功能也更丰富,同时还支持GUID分区表(GUID Partition Table), 这在IA64平台上管理磁盘时非常有用,它同时支持交互模式和非交互模式. 它除了能够进行分区的添加,删除等常见操作外,还可以移动分区, 制作文件系统, 调整文件系统大小, 复制文件系统。

需求:
现有一个做了RAID5的硬盘,要求分三个区,

硬盘总分区大小:6.2T

/data0 4.8T
/data1 1T
4G (无需格式化,作DRBD用)
具体操作方法如下:
1、分区
parted /dev/sdb mkpart primary 0 4800000
parted /dev/sdb mkpart primary 4800001 5800001
parted /dev/sdb mkpart primary 5800002 5804098
parted /dev/sdb p

[root@drbd01 ~]# parted /dev/sdb p

Model: DELL PERC H700 (scsi)
Disk /dev/sdb: 6998GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name 标志
1 17.4kB 4800GB 4800GB ext3 primary
2 4800GB 5800GB 1000GB ext3 primary
3 5800GB 5804GB 4097MB primary

2、格式化
mkfs.ext3 /dev/sdb1
mkfs.ext3 /dev/sdb2

3、挂载

mount /dev/sdb1 /data0
mount /dev/sdb2 /data1

[root@drbd01 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda2 20G 2.7G 16G 15% /
/dev/sda5 875G 1.1G 829G 1% /elain
/dev/sdb1 4.3T 1.3G 4.1T 1% /data0
/dev/sdb2 1000G 1.1G 998G 1% /data0
/dev/sda1 494M 17M 452M 4% /boot

那么问题又来了,如果是20T以上的磁盘呢?

Disk /dev/sdb: 33.0TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name 标志
1 17.4kB 30.0TB 30.0TB primary

在格式化20T以上时出现以下错误:

mke2fs 1.41.12 (17-May-2010)
mkfs.ext4: Size of device /dev/sdb1 too big to be expressed in 32 bits
using a blocksize of 4096.

来看看ext3文件系统对单个文件和整个文件系统的最大尺寸的限制情况,这些情况依赖文件系统的块大小。如下所示:

块大小 最大文件 最大文件系统
1kb 16G 2T
2KB 256G 8T
4KB 2T 16T
6KB 16T 32T

因此上面格式化时就会报错。系统默认快大小是4kb,而磁盘是33T,已经超过了最大系统文件大小了。

方法一:

需要修改块大小。或划分为多个分区(不得超过16T)。

mkfs.ext3 -b 8192 /dev/sdb1

方法二:

使用xfs文件系统

#yum install xfsprogs -y
#mkfs.xfs /dev/sdb1
文章目录
  1. 1. mkfs.ext3 -b 8192 /dev/sdb1
,