CentOS6.5创建大于16T的ext4文件系统


公司新购了两台DELLR730的服务器,做了RAID10 (500G),RAID5(32T)

[root@localhost ~]# df -hT
Filesystem     Type   Size     Used         Avail   Use%   Mounted on
/dev/sda1      ext4    99G    1.1G           93G     2%        /
tmpfs          tmpfs    63G     0            63G     0%        /dev/shm
/dev/sda5      ext4    290G  191M            275G    1%       /usr/local
/dev/sda2      ext4    99G    190M           94G     1%       /var/log
/dev/sdb1      ext4    31T    129M           30T     1%       /data

上面是已经分区成功的,下面来说说分区的过程:

刚开始,我在装系统的时候就直接想把32T的那个分一个区,发现会自动分出一个16T的分区,这不是我想要的,所以,我先把500G的分好区:

/           100G
/var/log    100G
/usr/local  236G
swap        64G

然后装好系统

用parted工具分区/dev/sdb1(32T)

yum install -y parted   #安装
parted /dev/sdb
mklabel gpt              #使用gpt分区格式
mkpart primary 0% 100%   #使用所有空间
print
quit


Linux操作系统默认自带的文件系统是32位的文件系统,默认的文件块大小位4096字节。所以默认支持的最大文件系统容量为2^32*4096=16T
但是Linux系统也可以创建64位的文件系统,要用mke2fs命令,但是一般Linux默认的mke2fs版本比较低,所以要对mke2fs 进行升级,通过以下步骤可以创建大于16T的ext4文件系统

1、下载mke2fs编译包
如果Linux系统可以访问外网,则可以直接通过下面命令直接下载

git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
如果Linux系统不能访问外网,可以通过网站下载对应的包,并上传的Linux环境,解压,下面推荐一个网站,可以在该网站下载最新编译包
http://www.pudn.com/downloads570/sourcecode/embedded/detail2341949.html

2、编译安装

cd e2fsprogs
./configure
make && make install

3、打开支持64位文件系统开关

#vim  /etc/mke2fs.conf
[fs_types] ext4 = {
features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize
auto_64-bit_support = 1 # <—- add this line
inode_size = 256
}

4、格式换文件系统

mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize -i 4194304 /dev/sdb

 

创建文件系统并挂载

mkdir /data
mkfs.ext4  /dev/sdb1
mount  /dev/sdb1  /data

自动挂载分区

/dev/sdb1               /data                   ext4    defaults        0 0

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM