2009年8月4日星期二
RHEL上支持16TB光纤阵列的折腾
涉及操作系统Fedora9、Opensuse11、Ubuntu 9.04、RHEL 5.1 X64、RHEL AS 4.7。
问题描述:在光纤阵列上创建大于8TB的文件系统。
难点:一般ext3文件系统只支持最大8TB的文件系统,这源于一个内核bug,比较古老的内核利用"int"来表示block号,所以如果是4KB的block,最大的文件系统为2^(32-1)*4096字节,即8TB,后来有牛人给内核打了补丁,用unsigned来表示block号,于是在4KB块下,支持最大文件系统变为16TB。也可以通过使用ext4轻松支持超过8TB文件系统。
过程:
大概一年之前Fedora9刚出来的时候,对ext4提供了试验性的支持,曾跟同事一起成功的在Fedora9下用起了16TB的光纤阵列。时隔一年,真正要用的时候确失灵了。几个操作系统轮番上,最后锁定RHEL 5.1 X64和RHEL AS 4.7。
1、RHEL 5.1上使用ext3支持16TB文件系统。
查看redhat.com上的compare,发现RHEL 5.1之后的内核已经升级,可以支持16TB的ext3文件系统。经过准备工作后,
#mkfs.ext3 -F -b 4096 /dev/sdb1
注意-F和-b 4096为必须参数。
RHEL AS 4.7由于使用2.6.9老内核,它最大的ext3分区为8TB。
2、升级RHEL 5.1内核。
ext4文件系统在2.6.28之后的内核得到稳定支持,Ubuntu9.04用的是2.6.28-11。下载2.6.28.10内核,解压,
#make mrproper
#make dep
#make menuconfig
将现有内核的配置load进来,只作最必要的修改,最大限度的保证成功率。现有内核的配置在/boot下,在内核配置下,仿造ext3打开对ext4的支持,保存为.config,退出。
#make
编译过程中出现两个跟ext4相关的warnings,不去理会。
#make modules
#make modules_install
一切顺利,发现/boot下已经有新版内核,及其system map和initrd文件,直接修改grub.conf即可。
重启。
安装e2fsprogs工具集,它提供了操作ext2/3/4文件系统用户态的工具。从sourceforge.net上下载最新版的,.configure、make、make install标准步骤即可。
#mkfs.ext4 /dev/sdb1
创建之后mount,必须加-t ext4参数。
#mount /dev/sdb1 /mnt -t ext4
整个过程还是比较顺利。
问题描述:在光纤阵列上创建大于8TB的文件系统。
难点:一般ext3文件系统只支持最大8TB的文件系统,这源于一个内核bug,比较古老的内核利用"int"来表示block号,所以如果是4KB的block,最大的文件系统为2^(32-1)*4096字节,即8TB,后来有牛人给内核打了补丁,用unsigned来表示block号,于是在4KB块下,支持最大文件系统变为16TB。也可以通过使用ext4轻松支持超过8TB文件系统。
过程:
大概一年之前Fedora9刚出来的时候,对ext4提供了试验性的支持,曾跟同事一起成功的在Fedora9下用起了16TB的光纤阵列。时隔一年,真正要用的时候确失灵了。几个操作系统轮番上,最后锁定RHEL 5.1 X64和RHEL AS 4.7。
1、RHEL 5.1上使用ext3支持16TB文件系统。
查看redhat.com上的compare,发现RHEL 5.1之后的内核已经升级,可以支持16TB的ext3文件系统。经过准备工作后,
#mkfs.ext3 -F -b 4096 /dev/sdb1
注意-F和-b 4096为必须参数。
RHEL AS 4.7由于使用2.6.9老内核,它最大的ext3分区为8TB。
2、升级RHEL 5.1内核。
ext4文件系统在2.6.28之后的内核得到稳定支持,Ubuntu9.04用的是2.6.28-11。下载2.6.28.10内核,解压,
#make mrproper
#make dep
#make menuconfig
将现有内核的配置load进来,只作最必要的修改,最大限度的保证成功率。现有内核的配置在/boot下,在内核配置下,仿造ext3打开对ext4的支持,保存为.config,退出。
#make
编译过程中出现两个跟ext4相关的warnings,不去理会。
#make modules
#make modules_install
一切顺利,发现/boot下已经有新版内核,及其system map和initrd文件,直接修改grub.conf即可。
重启。
安装e2fsprogs工具集,它提供了操作ext2/3/4文件系统用户态的工具。从sourceforge.net上下载最新版的,.configure、make、make install标准步骤即可。
#mkfs.ext4 /dev/sdb1
创建之后mount,必须加-t ext4参数。
#mount /dev/sdb1 /mnt -t ext4
整个过程还是比较顺利。
标签: RHEL 16TB EXT4
订阅 博文 [Atom]