标签归档:parted

Linux下大于2TB设备分区工具 -- parted介绍

随着单块硬盘容量的增大和硬盘价格的下降,2TB的磁盘使用将很快会普及,由于传统的MBR方式存储分区表的方 式缺陷,将可能导致很多分区工具不能正确地读取大于2TB容量的硬盘而无法正常分区大容量硬盘。其实linux在很早就已经有相关的工具来化解这个困境 了,那就是parted。
parted是类似fdisk的命令行分区软件,假设我们在linux系统中有一块未分区的硬盘挂载为/dev/hdd,下面以实例的方式来讲解如何使用 parted:
注意:parted的操作都是实时的,也就是说你执行了一个分区的命令,他就实实在在地分区了,而不是像fdisk那样,需要执行w命令写入所做的修改, 所以进行parted的测试千万注意不能在生产环境中!!
标记:#开始表示在shell的root下输入的命令,(parted)表示在parted中输入的命令,其他为自动打印的信息

1、首先类似fdisk一样,先选择要分区的硬盘,此处为/dev/hdd:
# parted /dev/hdd
GNU Parted 1.8.1
Using /dev/hdd
Welcome to GNU Parted! Type 'help' to view a list of commands.

2、现在我们已经选择了/dev/hdd作为我们操作的磁盘,接下来需要创建一个分区表(在parted中可以 使用help命令打印帮助信息):
(parted) mklabel
Warning: The existing disk label on /dev/hdd will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No?(警告用户磁盘上的数据将会被销毁,询问是否继续,我们这里是新的磁盘,输入yes后回车) yes
New disk label type? [msdos]? (默认为msdos形式的分区,我们要正确分区大于2TB的磁盘,应该使用gpt方式的分区表,输入gpt后回车)gpt

3、创建好分区表以后,接下来就可以进行分区操作了,执行mkpart命令,分别输入分区名称,文件系统和分区 的起止位置
(parted) mkpart
Partition name? []? dp1
File system type? [ext2]? ext3
Start? 0
End? 500GB

4、分好区后可以使用print命令打印分区信息,下面是一个print的样例
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1

5、如果分区错了,可以使用rm命令删除分区,比如我们要删除上面的分区,然后打印删除后的结果
(parted)rm 1 #rm后面使用分区的号码
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags

6、按照上面的方法把整个硬盘都分好区,下面是一个分完后的样例
(parted) mkpart
Partition name? []? dp1
File system type? [ext2]? ext3
Start? 0
End? 500GB
(parted) mkpart
Partition name? []? dp2
File system type? [ext2]? ext3
Start? 500GB
End? 2199GB
(parted) print
Model: VBOX HARDDISK (ide)
Disk /dev/hdd: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB dp1
2 500GB 2199GB 1699GB dp2

7、由于parted内建的mkfs还不够完善,所以完成以后我们可以使用quit命令退出parted并使用 系统的mkfs命令对分区进行格式化了,此时如果使用fdisk -l命令打印分区表会出现警告信息,这是正常的
#fdisk -l
WARNING: GPT (GUID Partition Table) detected on '/dev/hdd'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/hdd: 2199.0 GB, 2199022206976 bytes
255 heads, 63 sectors/track, 267349 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdd1 1 267350 2147482623+ ee EFI GPT #mkfs.ext3 /dev/hdd1
#mkfs.ext3 /dev/hdd2
#mkdir /dp1 /dp2
#mount /dev/hdd1 /dp1
#mount /dev/hdd2 /dp2

Linux -- parted 分区工具使用

从串行技术出现以来,越来越多客户选择使用大容量的SATA硬盘创建磁盘阵列;特别是MD1000/MD3000,很轻易就突破2T的LUN,故在此给大家一些指引。
红帽企业 Linux 4 Update 4供对大于 2 terabytes(TB)的磁盘设备的支持。

请参考以下操作步骤: 
注: 
蓝色代表你需要使用的命令 
红色代表你需要注意到的输出信息,在后续需要使用 

[root@as4 ~]# fdisk -l
Disk /dev/sda: 35.8 GB, 35862976512 bytes 
255 heads, 63 sectors/track, 4360 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System 
/dev/sda1   *           1          13      104391   83  Linux 
/dev/sda2              14         144     1052257+  82  Linux swap 
/dev/sda3             145        4360    33865020   83  Linux
Disk /dev/sdb: 2147 MB, 2147483648 bytes 
255 heads, 63 sectors/track, 261 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table 
[root@as4 ~]# parted /dev/sdb 
GNU Parted 1.6.19 
Copyright (C) 1998 - 2004 Free Software Foundation, Inc. 
This program is free software, covered by the GNU General Public License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY 
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
PARTICULAR PURPOSE.  See the GNU General Public License for more details.
使用 /dev/sdb 
(parted) mklabel gpt 
(parted) print 
/dev/sdb 的磁盘几何结构:0.000-2048.000 兆字节 
磁盘标签类型:gpt 
Minor    起始点        终止点  文件系统    名称                  标志 
(parted) mkpart primary 0 2048 
(parted) print 
/dev/sdb 的磁盘几何结构:0.000-2048.000 兆字节 
磁盘标签类型:gpt 
Minor    起始点        终止点  文件系统    名称                  标志 
1          0.017   2047.983 
(parted) quit 
信息: 如果必要,不要忘记更新 /etc/fstab。
[root@as4 ~]# fdisk -l
Disk /dev/sda: 35.8 GB, 35862976512 bytes 
255 heads, 63 sectors/track, 4360 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System 
/dev/sda1   *           1          13      104391   83  Linux 
/dev/sda2              14         144     1052257+  82  Linux swap 
/dev/sda3             145        4360    33865020   83  Linux
WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
 
Disk /dev/sdb: 2147 MB, 2147483648 bytes 
255 heads, 63 sectors/track, 261 cylinders 
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot      Start         End      Blocks   Id  System 
/dev/sdb1               1         262     2097151+  ee  EFI GPT 
Partition 1 has different physical/logical beginnings (non-Linux?): 
     phys=(0, 0, 1) logical=(0, 0, 2) 
Partition 1 has different physical/logical endings: 
     phys=(1023, 254, 63) logical=(261, 21, 16) 
[root@as4 ~]# mkfs.ext3 /dev/sdb1 
mke2fs 1.35 (28-Feb-2004) 
Filesystem label= 
OS type: Linux 
Block size=4096 (log=2) 
Fragment size=4096 (log=2) 
262144 inodes, 524279 blocks 
26213 blocks (5.00%) reserved for the super user 
First data block=0 
Maximum filesystem blocks=536870912 
16 block groups 
32768 blocks per group, 32768 fragments per group 
16384 inodes per group 
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912
Writing inode tables: done 
Creating journal (8192 blocks): done 
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 28 mounts or 
180 days, whichever comes first.  Use tune2fs -c or -i to override. 
[root@as4 ~]# mount /dev/sdb1 /mnt 
[root@as4 ~]# df -h 
Filesystem            容量  已用 可用 已用% 挂载点 
/dev/sda3              32G  2.6G   28G   9% / 
/dev/sda1              99M   12M   82M  13% /boot 
none                  252M     0  252M   0% /dev/shm 
/dev/sdb1             2.0G   36M  1.9G   2% /mnt