分享

Linux 创建大于2T的分区

 捉虫子吃的松树 2013-02-01

Linux 创建大于2T的分区

公司新上线一台 DELL的MD3000 做完Raid后大概有13T的空间。要分2个区一个,1T空间用于做别的服务备份。剩下的空间用于存放主站日志。

分区时候发现,现有系统只最大分区最多只能分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.)

# mkfs.ext3 -F /dev/sdb2

-----------------------------------------------------------------------------------------------------------------------------------

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. 状态为:开、关

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多