1. 程式人生 > >CentOS 6U7分區大於2TB的磁盤以及掛載大於16TB分區磁盤的解決方案

CentOS 6U7分區大於2TB的磁盤以及掛載大於16TB分區磁盤的解決方案

bits 命令 filesyste ext4 edge flag net mir using

一、內容介紹
1、問題描述
1)、問題一
CentOS 6.x 在格式化大於16TB的ext4分區時,會提示如下錯誤:

mke2fs 1.41.12 (17-May-2010)
mkfs.ext4: Size of device /dev/sda1 too big to be expressed
in 32 bits using a blocksize of 4096.

當一次性分配158664788MB約為151TB空間時,發生如下錯誤;

解決辦法:

原因在於CentOS 自帶的 e2fsprogs 版本為1.41.12較低,無法創建16TB以上的文件系統。

解決方案為手工下載最新的e2fsprogs源碼包,進行編譯安裝,然後使用mkfs.ext4 命令使用64位的方式進行磁盤格式化。

e2fsprogs下載地址:

yum -y install automake autoconf libtool make texinfo-tex gcc-c++ gcc

tar -zxvf e2fsprogs-1.43.3.tar.gz

cd e2fsprogs-1.43.3

mkdir build

cd build/

../configure --host=arm-linux CC=arm-linux-gcc LDFLAGS=-static

make

make install
編譯完成後使用如下命令格式化:

mkfs.ext4 -O 64bit /dev/md5
掛載磁盤到/mnt

mount /dev/md5 /mnt

查看磁盤掛載情況:

[root@localhost build]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 47G 1.1G 43G 3% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 976M 56M 870M 6% /boot
/dev/md5 151T 24K 17T 1% /mnt
2)、問題二
CentOS 6.x 無法使用fdisk分區大於2TB的磁盤。

使用parted來進行分區。

這裏我用一個2TB的磁盤來估演示,如果使用parted將整個磁盤陣列分為一個分區的情況(這也是生產環境中經常遇到的情況):

parted /dev/sdb
mkpart primary 0% 100%
p

參考:

e2fsprogs下載參考地址:

CentOS 6U7分區大於2TB的磁盤以及掛載大於16TB分區磁盤的解決方案