文章目录

  • Centos7系统下挂载超过2TB的目录
  • 两种分区表:MBR分区表与GPT分区表的比较
  • 方式一(亲测验证通过)
  • 创建要挂载的目录
  • 查看硬盘
  • 对硬盘进行格式化
  • 通过parte命令进行GPT分区,将MBR分区方式转换成GPT(超过2TB时MBR分区无法挂载全部硬盘空间,所以需要转换)**这是最关键的一步
  • 查看硬盘参数
  • 设置起始扇区并分区
  • 再次格式化硬盘
  • 挂载新硬盘到`/home`目录
  • 设置自动挂载
  • 方式二(亲测验证通过)
  • 创建要挂载的目录
  • 查看硬盘
  • 对硬盘进行格式化
  • 通过parte命令进行GPT分区,将MBR分区方式转换成GPT(超过2TB时MBR分区无法挂载全部硬盘空间,所以需要转换)**这是最关键的一步
  • 创建分区
  • 格式化新分区(注意此时格式化的分区路径为:/dev/sdb1,而不再是:/dev/sdb)
  • 挂载新分区(注意此时格式化的分区路径为:/dev/sdb1,而不再是:/dev/sdb)
  • 永久挂载


Centos7系统下挂载超过2TB的目录

Linux系统默认情况下只支持挂载2TB以下的磁盘挂载,超过2TB默认也只显示挂载2TB。如果想要挂载超过2TB的磁盘,需要先把磁盘转换为gpt大分区格式。

本文介绍两种方式,通过举例说明如何在Centos7系统下将4TB大小的目录挂载到/home目录下

注意:所有操作均需要在root环境下运行。

两种分区表:MBR分区表与GPT分区表的比较

MBR分区表:(MBR含义:主引导记录)
所支持的最大卷:2T (T: terabytes,1TB=1024GB)
对分区的设限:最多4个主分区或3个主分区加一个扩展分区
分区命令:fdisk

GPT分区表:(GPT含义:GUID Partition Table,即GUID分区表)
支持最大卷:18EB,(E:exabytes,1EB=1024TB)
每个磁盘最多支持128个分区
分区命令:parted

所以如果要大于2TB的卷或分区就必须得用GPT分区表

方式一(亲测验证通过)

创建要挂载的目录

mkdir /home   # 创建/home目录

查看硬盘

通过fdisk -l命令查看硬盘设备信息与大小

可以看到如下信息:

[root@localhost home]# fdisk -l

磁盘 /dev/sdb:4000.0 GB, 3999999721472 字节,7812499456 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节

以上信息我们知道要挂载的硬盘为/dev/sdb

对硬盘进行格式化

mkfs -t ext4 /dev/sdb

该命令会对整个磁盘进行格式化,如果新硬盘没有分区过,可以不执行该操作。

通过parte命令进行GPT分区,将MBR分区方式转换成GPT(超过2TB时MBR分区无法挂载全部硬盘空间,所以需要转换)**这是最关键的一步

由于fdisk仅支持2T以内硬盘分区,当大于2T时,需要使用parted命令进行GPT格式分区。

[root@localhost ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt        # 把sdb改成gpt大分区格式
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? yes        # 输入yes即可
(parted) mkpart primary 0 4000GB     # 创建分区
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? cancel      # 输入cancel取消

查看硬盘参数

[root@localhost ~]# cat /sys/block/sdb/queue/optimal_io_size
0
[root@localhost ~]# cat /sys/block/sdb/queue/minimum_io_size
4096
[root@localhost ~]# cat /sys/block/sdb/alignment_offset
0
[root@localhost ~]# cat /sys/block/sdb/queue/physical_block_size
4096

[root@localhost ~]#

如果optimal_io_size不为0,则使用对应值带入下列式子

(optimal_io_size + alignment_offset)/physical_block_size

计算出即为主分区起始位置的合理值

如果ptimal_io_size为0,则可以直接使用起始扇区默认值2048即可

即 (parted) primary 2048s -1

设置起始扇区并分区

(parted) mkpart primary 2048s 100%      # 创建主分区,命令是mkpart primary <起始地址> <空间大小/空间占用比例>
(parted) print      # 查看硬盘信息
Model: LSI Logical Volume (scsi)
Disk /dev/sdb: 4000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name     标志
 1      1049kB  4000GB  4000GB               primary

(parted) align-check optimal 1      # 检查是否对齐(如有多个分区,均需检查),下面返回的1 aligned表示已经对齐
1 aligned
(parted) quit
信息: You may need to update /etc/fstab.

[root@localhost ~]#

再次格式化硬盘

[root@localhost ~]# mkfs.ext4 -F /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
244146176 inodes, 976562432 blocks
48828121 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=3124756480
29803 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
	102400000, 214990848, 512000000, 550731776, 644972544

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@localhost ~]#

挂载新硬盘到/home目录

[root@localhost ~]# mount /dev/sdb /home
[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs       382G   12G  371G    3% /
devtmpfs                devtmpfs   63G     0   63G    0% /dev
tmpfs                   tmpfs      63G     0   63G    0% /dev/shm
tmpfs                   tmpfs      63G   10M   63G    1% /run
tmpfs                   tmpfs      63G     0   63G    0% /sys/fs/cgroup
/dev/sda1               xfs        32G  145M   32G    1% /boot
tmpfs                   tmpfs      13G     0   13G    0% /run/user/0
/dev/sdb                ext4      3.6T   89M  3.4T    1% /home       # 这个就是我们新挂载的目录
[root@localhost ~]#

设置自动挂载

编辑/etc/fstab文件,在最后一行添加:

/dev/sdb                /home                   ext4    defaults        1 2

方式二(亲测验证通过)

创建要挂载的目录

mkdir /home   # 创建/home目录

查看硬盘

通过fdisk -l命令查看硬盘设备信息与大小

可以看到如下信息:

[root@localhost home]# fdisk -l

磁盘 /dev/sdb:4000.0 GB, 3999999721472 字节,7812499456 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节

以上信息我们知道要挂载的硬盘为/dev/sdb

对硬盘进行格式化

mkfs -t ext4 /dev/sdb

该命令会对整个磁盘进行格式化,如果新硬盘没有分区过,可以不执行该操作。

通过parte命令进行GPT分区,将MBR分区方式转换成GPT(超过2TB时MBR分区无法挂载全部硬盘空间,所以需要转换)**这是最关键的一步

[root@localhost ~]# parted /dev/sdb
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt        # 把sdb改成gpt大分区格式
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
是/Yes/否/No? yes        # 输入yes即可
(parted) quit          # 退出parted模式
信息: You may need to update /etc/fstab.

[root@localhost home]#

创建分区

[root@localhost home]# fdisk /dev/sdb
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n
分区号 (1-128,默认 1):
第一个扇区 (34-7812499422,默认 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-7812499422,默认 7812499422):
已创建分区 1


命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost home]#

再次查看分区格式,我们看到磁盘标签类型:gpt

[root@localhost home]# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

磁盘 /dev/sdb:4000.0 GB, 3999999721472 字节,7812499456 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt          ###### 我们可以看到这时候分区类型为gpt大分区格式了
Disk identifier: 9ACA046A-E5C8-4745-91FC-D0962765E12C


#         Start          End    Size  Type            Name
 1         2048   7812499422    3.7T  Linux filesyste

格式化新分区(注意此时格式化的分区路径为:/dev/sdb1,而不再是:/dev/sdb)

[root@localhost home]# mkfs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
244146176 inodes, 976562171 blocks
48828108 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=3124756480
29803 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
	102400000, 214990848, 512000000, 550731776, 644972544

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

[root@localhost home]#

挂载新分区(注意此时格式化的分区路径为:/dev/sdb1,而不再是:/dev/sdb)

[root@localhost home]# mount /dev/sdb1 /home

检查是否挂载成功,挂载磁盘大小是否正确

[root@localhost home]# df -hT
文件系统                类型        容量   已用  可用   已用% 挂载点
/dev/mapper/centos-root xfs       350G   12G  339G    4% /
devtmpfs                devtmpfs   55G     0   55G    0% /dev
tmpfs                   tmpfs      55G     0   55G    0% /dev/shm
tmpfs                   tmpfs      55G   10M   55G    1% /run
tmpfs                   tmpfs      55G     0   55G    0% /sys/fs/cgroup
/dev/sda1               xfs        32G  145M   32G    1% /boot
tmpfs                   tmpfs      11G     0   11G    0% /run/user/0
/dev/sdb1               ext4      3.6T   89M  3.4T    1% /home              # 这时候我们看到已经是4TB大小了

永久挂载

修改系统挂载硬盘的文件,在文件/etc/fstab中增加如下内容,其中0 0 表示在在开机时不对分区进行检查

/dev/sdb1               /home                   ext4     defaults        0 0