Linux 创建大于2T的分区
公司新上线一台 DELL的MD300挂在R610上做完Raid后/dev/sdb大概有18T的空间。
分区时候发现,现有系统只最大分区最多只能分2T. 经过摸索总结
如下:
Fdisk所使用的分区表为MBR,Master Boot Record,即主引导记录。
硬盘的0面、0道、1扇区就是主引导扇区,Fdisk将会写512个字节的记录在此,即MBR记录。
MBR分区表:(MBR含义:Master Boot Record,主引导记录)
所支持的最大卷:2T (T; terabytes,1TB=1024GB)
对分区的设限:最多4个主分区或3个主分区加一个扩展分区(扩展分区中支持无限制的逻辑驱动器)
GPT分区表:(GPT含义:GUID分区表)
支持最大卷:18EB,(E:exabytes,1EB=2(10) PB=1024PB,1PB=2(10) TB=1024TB)
每个磁盘最多支持128个分区
用法:
# parted /dev/sdb
(parted) mkpart primary 0% 10%
(parted) mkpart primary 10% 100%
(parted) p
Model: DELL MD3000 (scsi)
Disk /dev/sdb: 13.0TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 1300GB 1300GB primary
2 1300GB 13.0TB 11.7TB primary
(parted)quit |
格式化成ext3的时候又出现问题。Ext3默认的block size的大小为4k,最大只能支持8T的空间。而我的sdb2有11T
# mkfs.ext3 /dev/sdb2
mke2fs 1.39 (29-May-2006)
mkfs.ext3: Filesystem too large. No more than 2**31-1 blocks
(8TB using a blocksize of 4k) are currently supported. |
格式化时指定block size的大小为8K这样最大可以支持16T的空间。
# mkfs.ext3 -b 8192 /dev/sdb2
Warning: blocksize 8192 not usable on most systems.
mke2fs 1.39 (29-May-2006)
mkfs.ext3: 8192-byte blocks too big for system (max 4096)
Proceed anyway? (y,n) y |
问题又来了 mount时候不让挂,文件系统有问题。
# mount /dev/sdb2 /u03/
mount: wrong fs type, bad option, bad superblock on /dev/sdb2,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so |
最后找到解决方法 格式化的时候加上-F ( Force mke2fs to run, even if the specified device is not a block special device, or appears to be mounted.)
-----------------------------------------------------------------------------------------------------------------------------------
Linux下大于2T磁盘的使用:GPT磁盘
两种分区表
MBR分区表:(MBR含义:主引导记录)
所支持的最大卷:2T (T; terabytes,1TB=1024GB)
对分区的设限:最多4个主分区或3个主分区加一个扩展分区(扩展分区中支持无限制的逻辑驱动器)
GPT分区表:(GPT含义:GUID分区表)
支持最大卷:18EB,(E:exabytes,1EB=1024TB)
每个磁盘最多支持128个分区
fdisk命令虽然很交互,操作也方便,但是对于大于2T的磁盘无法操作,如果我们想用大于2T的磁盘怎么办?可以把磁盘转化为GPT格式。
GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partition table的4*16个字节,只留第一个16个字节,类似于扩展分区,真正的partition table在512字节之后,GPT磁盘没有四个主分区的限制。
但fdisk不支持GPT,我们可以使用parted来对GPT磁盘操作。
parted功能很强大,既可用命令行也可以用于交互式
在提示符下输入parted就会进入交互式模式,如果有多个磁盘的话,我们需要运行select sdx x为磁盘,来进行磁盘的选择
parted>
parted>select sdb 假设磁盘为sdb
parted>mklabel gpt 将MBR磁盘格式化为GPT
parted>mklabel msdos 将GPT磁盘转化为MBR磁盘
parted>mkpart primary 0 100 划分一个起始位置为0大小为100M的主分区
parted>mkpart primary 100 200 划分一个起始位置为100M大小为100M的主分区
parted>print 打印当前分区
在parted里边不支持ext3的文件系统,所以如果要使用的话,要退出parted进行格式话
mkfs.ext3 /dev/sdx1
因为fdisk是不支持GPT磁盘,所以不要使用fdisk -l来查看X磁盘刚才分好的区,看不到的。
命令行的模式:
将硬盘转化为GPT磁盘后,执行下列命令
parted /dev/sdx mkpart primary 0 100 划分一个起始位置为0大小为100M的主分区
详细用法:
parted [选项]... [设备 [命令 [参数]...]...]
将带有“参数”的命令应用于“设备”。如果没有给出“命令”,则以交互模式运行。
选项:
-h, --help 显示此求助信息
-i, --interactive 在必要时,提示用户
-s, --script 从不提示用户
-v, --version 显示版本
命令:
check MINOR 对文件系统进行一个简单的检查.
MINOR 是 Linux 使用的分区编号。
在 msdos 磁盘标签中,主分区编号为 1 - 4,逻辑分区从 5 开始。
cp [FROM-DEVICE] FROM-MINOR TO-MINOR 将文件系统复制到另一个分区.
MINOR 是 Linux 使用的分区编号。在 msdos磁盘标签中,主分
区编号为1 - 4,逻辑分区从 5 开始。DEVICE 通常为 /dev/hda 或 /dev/sda
help [COMMAND] 打印通用求助信息,或关于 COMMAND 的信息
mklabel 标签类型
创建新的磁盘标签 (分区表) “标签类型”是以下任意一项:aix, bsd, gpt, mac, dvh, msdos, sun, loop
mkfs MINOR 文件系统类型 在 MINOR 创建类型为“文件系统类型”的文件系统.
MINOR是Linux使用的分区编号。在msdos磁盘标签中,主分区编号为1-4,逻辑分区从5开始。
“文件系统类型”是以下任意一项:ext3, ext2, fat32, fat16, hfs, jfs, linux-swap, ntfs,reiserfs, hp-ufs, sun-ufs, xfs
mkpart 分区类型 [文件系统类型] 起始点 终止点 创建一个分区 .
“分区类型”是主分区、逻辑分区、扩展分区之一.“文件系统类型”是以下任意一项:ext3, ext2, fat32, fat16, hfs, jfs,
linux-swap, ntfs,reiserfs,hp-ufs, sun-ufs, xfs.“起始点”和“终止点”以兆为单位。负值表示从磁盘末段开始计数。
mkpart 创建分区而不在分区上创建新文件系统。“文件系统类型”可以用于设置适当的分区标识。
mkpartfs 分区类型 文件系统类型 起始点 终止点 创建一个带有文件系统的分区,“分区类型”是主分区、逻辑分区、扩展分区之一,“起始点”
和“终止点”以兆为单位。负值表示从磁盘末段开始计数。
move MINOR 起始点 终止点 移动编号为 MINOR 的分区.MINOR 是 Linux 使用的分区编号。在 msdos 磁盘标签中,主分区编号为 1 - 4,
逻辑分区从 5 开始。“起始点”和“终止点”以兆为单位。负值表示从磁盘末段开始计数。
name MINOR 名称 将编号为 MINOR 的分区命名为“名称”. MINOR 是 Linux 使用的分区编号。在 msdos 磁盘标签中,主分
区编号为 1 - 4,逻辑分区从 5 开始。NAME 是您需要的任何单词
print [MINOR] 打印分区表,或者分区
quit 退出程序
rescue 起始点 终止点 挽救临近“起始点”、“终止点”的遗失的分区
resize MINOR 起始点 终止点 改变位于编号为 MINOR 的分区中文件系统的大小 .MINOR 是 Linux 使用的分区编号。在 msdos 磁盘
标签中,主分区编号为 1 - 4,逻辑分区从 5 开始。“起始点”和“终止点”以兆为单位。负值表示从磁盘末
段开始计数。
rm MINOR 删除编号为 MINOR 的分区 . MINOR 是 Linux 使用的分区编号。在 msdos 磁盘标签中,主分区编号为1-4,逻辑分区从5开始。
select 设备 选择要编辑的设备
set MINOR 标志 状态 改变编号为MINOR 的分区的标志, MINOR是Linux使用的分区编号。在msdos磁盘标签中,主分区编号
为1-4,逻辑分区从5开始。“标志”是以下任意一项:启动, 根, 对换分区, 隐藏分区, raid, lvm, lba,
hp-service, palo. 状态为:开、关