> CentOS > CentOS入门 >

Centos下快速分区格式化大于2T大容量存储

   在生产环境中,我们会遇到分区大于2T的磁盘(比如:添加一个10TB的存储),由于MBR分区表只支持2T磁盘,所以大于2T的磁盘必须使用GPT分区表,而我们在做raid时会划分多个VD来进行装系统,但系统安装完后无法将磁盘全部识别出来,这时就需要手动对GPT分区进行挂载,那么如何在linux中对大于2T的磁盘进行挂载?我将和大家一起分享这一过程:

小贴士:

GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partition table的4*16个字节,只留第一个16个字节,类似于扩展分区,真正的partition table在512字节之后,GPT磁盘没有四个主分区的限制。

而fdisk是不支持GPT分区的,我们可以使用parted来对GPT磁盘操作。parted功能很强大,既可用命令行也可以用于交互式,在提示符下输入parted就会进入交互式模式,如果有多个磁盘的话,我们需要运行select sdX(X为磁盘)来进行磁盘的选择,也可直接用parted /dev/sdX指定相应的硬盘。 

[root@server ~]# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          16      128488+  83  Linux
/dev/sda2              17          49      265072+  82  Linux swap / Solaris
/dev/sda3              50        2610    20571232+  83  Linux

Disk /dev/sdb: 2190.4 GB, 2190433320960 bytes
255 heads, 63 sectors/track, 266305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table
[root@server ~]# parted
GNU Parted 1.8.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands. 
(parted) select /dev/sdb               //选择磁盘sdb 
Using /dev/sdb
(parted) mklabel gpt                   //将MBR磁盘格式化为GPT 
(parted) mkpart primary 0 -1          //将整块磁盘分成一个分区
(parted) print                                                           

Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 2190GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  2190GB  2190GB               primary      

(parted) quit                                                             
Information: Don't forget to update /etc/fstab, if necessary.

PS:在Linux系统中挂载SCSI盘阵,且分区大小超过2TB时,无法使用mk2fs命令进行格式化,而在使用mkfs.ext3命令格式化时,需要增加-T largefile参数,否则格式化过程将非常缓慢,对于添加一个10TB的存储,如果linux下直接格式化是一个很漫长的过程,10TB,估计少了30小时是完不成的。 
[root@server ~]# mkfs.ext3 -T largefile /dev/sdb1
赶紧试试把,特步,飞一般的感觉
[root@server ~]# e2label /dev/sdb1 /data1    //对/dev/sdb1添加(修改)标签为/data1
[root@server ~]# e2label /dev/sdb1           //查看分区的标签
/data1
[root@server ~]# mkdir /data1               //在/分区下创建一个配额的挂载点
[root@server ~]# mount /dev/sdb1 /data1     //对该分区进行手动挂载 
这样分区完成并挂载成功,用df –h就可以看到该磁盘的大小
[root@server ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              20G  3.9G   15G  22% /
/dev/sda1             122M   12M  104M  10% /boot
tmpfs                  62M     0   62M   0% /dev/shm
/dev/sdb1             2.0T  199M  1.9T   1% /data1

最后只需在fstab中添加如下一行,就能完成分区的自动挂载
[root@server ~]# vi /etc/fstab
/dev/sdb1               /data1                  ext3    defaults        0 0 (责任编辑:IT)