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

CentOS 6U7分割槽大於2TB的磁碟以及掛載大於16TB分割槽磁碟的解決方案

一、內容介紹
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

檢視磁碟掛載情況:

[

[email protected] 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下載參考地址: