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
查看磁盤掛載情況:
[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分區磁盤的解決方案