在生产环境中,我们会遇到分区大于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指定相应的硬盘。
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.
赶紧试试把,特步,飞一般的感觉
[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