- 积分
- 16843
在线时间 小时
最后登录1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
一台文件存储服务器单目录下子目录已经突破31998数限制,造成无法继续创建子目录,服务器系统环境为CentOS5.4 内核版本为2.6.18。解决方案只能是升级到ext4文件系统,首先到https://ext4.wiki.kernel.org/index.php/Ext4_Howto查了一下资料,文中的第一句便是“Ext4 was released as a functionally complete and stable filesystem in Linux 2.6.28”。难道只能升级内核一条路了吗?当然不是:)呵呵,下面总结本人实施/www分区从ext3升级至ext4步骤供大家参考。- D7 N- m: o) t5 y& s- q6 p
' B; ]3 F$ F8 E3 o1 x$ r一、升级前状态3 ^8 W, i/ @& K* f2 d! c' S5 G' |
引用. M! p& ?6 U* e( Y8 B2 b3 m4 z
- A4 z7 I5 v9 }6 ]% q2 a. \
[root@USER-SERVER ~]# df# D8 n* X1 d! V/ u+ _% Y
Filesystem 1K-blocks Used Available Use% Mounted on
+ d! k% X" b, b, C8 b( u/dev/sda2 20315844 2342008 16925196 13% /" q8 A4 F1 Q3 o1 j- r @- t- o
/dev/sda5 129863460 192192 122968152 1% /www
9 }& [; F Z8 ^+ p/dev/sda1 194442 17798 166605 10% /boot
* W4 W% T i& X7 E1 p% m% ctmpfs 1029680 0 1029680 0% /dev/shm8 r" U% `& E# O6 t& _! O
- i( t% V+ O; ]
; L B2 E& N/ e1 m
, X! r# W8 d) S8 a无任何信息返回,说明/dev/sda5的ext4特征没有激活3 O+ j1 l0 A- _3 }) C. F# c+ e
引用5 Y" P) w$ d. a m
9 ~# _( G- K" V5 `- R1 M9 z
[root@USER-SERVER ~]# tune2fs -l /dev/sda5 | grep extent5 e' h; H4 o0 W: F8 s7 j0 ~$ V. M
[root@USER-SERVER ~]#
8 B: }) j: o2 b& L- J0 G0 N% n6 \2 c0 t; [2 X2 K; ~
+ m3 O9 ?4 j" j T
$ h6 A5 Z/ P7 m6 C" Z
安装所需包
" d& K4 {1 \: G+ X3 n9 V源码安装:. x# Y4 o; X; f$ w8 z* Y
引用& v' E9 P X- |+ k2 |# D
+ q2 F/ O9 R2 r# @. t# e3 `- Lwget http://ftp.kernel.org/pub/linux/ ... rogs-1.41.12.tar.gz
( M# u* G/ u( B- q( Btar zxvf e2fsprogs-1.41.12.tar.gz; cd e2fsprogs-1.41.12
. |6 ~2 o) ]7 z0 C# s, A! w, E9 R./configure
7 V6 ^6 |6 R1 m! E% {$ X; Nmake;make install' t& M. u2 {; s; O3 u* o; L3 O
8 o0 N/ w. B H0 Z
6 F8 E* a! |! ?9 J( m( P( l( j/ h/ u* F* t
RPM安装:
4 [3 |. ^- o5 Y( l1 A7 D) t/ F引用) y n+ Q# ~% g9 ~
5 O9 D0 k* M) d( S9 {
yum -y install e2fsprogs7 r; i+ @. K A9 W. O
; \9 z; C. b* T- e9 h4 I4 H
2 B/ Y. k9 z1 L" G j6 i( _% I8 J3 r* i: @! T p
1 \5 a3 }4 v5 F( B6 r
二、制作引导镜像
$ [& e* F% H: b$ c查找并加载相应的模块,如只需ext4支持,可将--with=ext3去掉
' t2 n8 e7 h! l1 ?2 X6 a: V引用
K/ @( W8 }( P. B; h. N4 S* ?$ \+ M( D0 T w9 V
[root@USER-SERVER boot]# mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img.old
/ S1 z; f7 }% w% r1 Z( n* E; P8 ][root@USER-SERVER boot]# mkinitrd -v --with=ext4 --with=ext3 /boot/initrd-`uname -r`.img `uname -r`5 i" [; h) L0 F3 b- P+ U9 W
Creating initramfs
; n" A2 V* m1 ? a; OLooking for deps of module ehci-hcd
( o W& V$ U! D. ?; l, |" a$ nLooking for deps of module ohci-hcd" @2 P. y, P/ [0 [; u3 N
Looking for deps of module uhci-hcd
5 t5 L H+ x N- rLooking for deps of module ext3: jbd
8 a7 L+ F9 h4 S/ [* T: Y. uLooking for deps of module jbd% }6 n/ M B7 R9 p; _
Found root device sda2 for LABEL=/
7 W5 e1 U% s1 O2 P5 z: wLooking for driver for device sda2: S7 B$ N5 B; K H R4 o( }
Looking for deps of module pci:v00008086d00002680sv000017AAsd00006B7Cbc01sc01i8f: scsi_mod libata ata_piix
6 @# Q ]/ _! z r. _% ^Looking for deps of module scsi_mod9 c6 R: b7 q; x% Z5 k
Looking for deps of module sd_mod: scsi_mod 2 R+ `. m6 [- w+ v- @9 A
Looking for deps of module libata: scsi_mod + m: U# m3 J8 u/ h
Looking for deps of module ata_piix: scsi_mod libata 5 z/ e3 r' n* C& y9 ?7 ~& k
Looking for driver for device sda3( C$ Z* j) q% x9 k. o" Q
Looking for deps of module pci:v00008086d00002680sv000017AAsd00006B7Cbc01sc01i8f: scsi_mod libata ata_piix " c* ? H8 F2 [8 H2 ?6 h
Looking for deps of module usb-storage: scsi_mod " ~& e5 ^ s" p) B
Looking for deps of module ide-disk
- {* | a; \' O' q# u9 HLooking for deps of module dm-mem-cache2 m$ p% W5 Z( x# s
Looking for deps of module dm-region_hash: dm-mod dm-log
% S: b' C* [2 b0 r9 y+ S/ SLooking for deps of module dm-mod2 P8 [0 a. |' n6 \/ j9 ]1 t* W- J
Looking for deps of module dm-log: dm-mod . W' M; X4 Q! y3 s- c5 h
Looking for deps of module dm-message
* A/ ^/ z9 |. F1 b' |Looking for deps of module dm-raid45: dm-message dm-mod dm-mem-cache dm-log dm-region_hash
# b' T- v% _" c9 kLooking for deps of module ext4: crc16 jbd2 5 ?( }' X' [7 L2 [( c
Looking for deps of module crc166 j! n/ R- o' {+ U- \
Looking for deps of module jbd2
( \: S; {8 k6 b6 NUsing modules: /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/usb/host/ehci-hcd.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/usb/host/ohci-hcd.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/usb/host/uhci-hcd.ko /lib/modules/2.6.18-164.15.1.el5/kernel/fs/jbd/jbd.ko /lib/modules/2.6.18-164.15.1.el5/kernel/fs/ext3/ext3.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/scsi/scsi_mod.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/scsi/sd_mod.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/ata/libata.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/ata/ata_piix.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/usb/storage/usb-storage.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/md/dm-mem-cache.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/md/dm-mod.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/md/dm-log.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/md/dm-region_hash.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/md/dm-message.ko /lib/modules/2.6.18-164.15.1.el5/kernel/drivers/md/dm-raid45.ko /lib/modules/2.6.18-164.15.1.el5/kernel/lib/crc16.ko /lib/modules/2.6.18-164.15.1.el5/kernel/fs/jbd2/jbd2.ko /lib/modules/2.6.18-164.15.1.el5/kernel/fs/ext4/ext4.ko4 p7 C1 c0 F* }+ a
/sbin/nash -> /tmp/initrd.qO3680/bin/nash1 V8 X+ g+ m; l5 `
/sbin/insmod.static -> /tmp/initrd.qO3680/bin/insmod
9 N& X& F. i2 Y) V6 I3 [" Tcopy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/usb/host/ehci-hcd.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/ehci-hcd.ko' [elf64-x86-64]
% E$ @7 h! r+ ccopy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/usb/host/ohci-hcd.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/ohci-hcd.ko' [elf64-x86-64]7 r7 @6 n, O" O( b" ^, O+ X! D
copy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/usb/host/uhci-hcd.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/uhci-hcd.ko' [elf64-x86-64]
, h( `7 r2 S2 d3 ]( n& Acopy from `/lib/modules/2.6.18-164.15.1.el5/kernel/fs/jbd/jbd.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/jbd.ko' [elf64-x86-64]
U) W" v" Z" c) Gcopy from `/lib/modules/2.6.18-164.15.1.el5/kernel/fs/ext3/ext3.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/ext3.ko' [elf64-x86-64]% K! c1 X0 y7 m( B, G; C5 I
copy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/scsi/scsi_mod.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/scsi_mod.ko' [elf64-x86-64]
, O6 ]7 \' u5 F) Vcopy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/scsi/sd_mod.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/sd_mod.ko' [elf64-x86-64]1 j$ P: x( w$ ^4 g$ T. k% q1 ]
copy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/ata/libata.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/libata.ko' [elf64-x86-64]
" j9 F) F0 ?5 N. s; Ncopy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/ata/ata_piix.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/ata_piix.ko' [elf64-x86-64]3 C9 e& _) q7 U( _! q
copy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/usb/storage/usb-storage.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/usb-storage.ko' [elf64-x86-64], O$ o8 W" {# V5 n* }8 T" ?" t$ j" H
copy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/md/dm-mem-cache.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/dm-mem-cache.ko' [elf64-x86-64]% J w% X C% n6 f
copy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/md/dm-mod.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/dm-mod.ko' [elf64-x86-64]: ?) {$ y$ j6 O
copy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/md/dm-log.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/dm-log.ko' [elf64-x86-64]
, j9 @+ M/ u( ncopy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/md/dm-region_hash.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/dm-region_hash.ko' [elf64-x86-64]
0 G: {( k- s) v# K# \copy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/md/dm-message.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/dm-message.ko' [elf64-x86-64]' \, a/ j" v8 ?3 |
copy from `/lib/modules/2.6.18-164.15.1.el5/kernel/drivers/md/dm-raid45.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/dm-raid45.ko' [elf64-x86-64]' p) P8 j% H' H5 [2 T8 C# g
copy from `/lib/modules/2.6.18-164.15.1.el5/kernel/lib/crc16.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/crc16.ko' [elf64-x86-64]
/ A( y& Y4 i: O2 {9 m& ?3 acopy from `/lib/modules/2.6.18-164.15.1.el5/kernel/fs/jbd2/jbd2.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/jbd2.ko' [elf64-x86-64]
4 F5 o7 j: G7 `3 w8 ncopy from `/lib/modules/2.6.18-164.15.1.el5/kernel/fs/ext4/ext4.ko' [elf64-x86-64] to `/tmp/initrd.qO3680/lib/ext4.ko' [elf64-x86-64]
% l! M( v1 S/ c, B6 o: Z8 A/sbin/dmraid.static -> /tmp/initrd.qO3680/bin/dmraid/ ~9 s2 w+ b+ b3 z+ R& q
/sbin/kpartx.static -> /tmp/initrd.qO3680/bin/kpartx5 T7 r6 w/ F, l( o1 _, s: `
Adding module ehci-hcd! p: C: o5 K, \$ e u
Adding module ohci-hcd# U" @( q' U; D4 D
Adding module uhci-hcd% t1 o0 Y0 z+ _' M
Adding module jbd3 R; O t& H4 \2 N% G# r8 ]
Adding module ext3
* V# O0 N9 Z9 r6 t6 a. e8 e* U2 GAdding module scsi_mod4 S( L2 x" v3 j$ S. `
Adding module sd_mod
2 k" |# I' C8 [' j# Y1 D( P6 H$ PAdding module libata
# S* B8 a. [3 q# c" QAdding module ata_piix+ _+ L- E6 W9 ?+ `$ N
Adding module usb-storage
) g! o2 }: O% m- x1 @Adding module dm-mem-cache
" r9 }6 I1 g% x2 a2 OAdding module dm-mod' c4 `) D# f) U/ O1 C) r
Adding module dm-log
Q8 {: E( N! t0 b# I4 u$ s$ F" KAdding module dm-region_hash
" F1 k, R& _! x) m/ N% sAdding module dm-message
6 O; g9 Q: {4 F/ C, V! Y- LAdding module dm-raid45! W/ T- n& M$ p# E$ o% R7 e
Adding module crc16
# A, q6 r5 P3 OAdding module jbd2' Q! }/ z' M" D, l; F
Adding module ext4
) f b$ S7 p+ q
% f3 a9 N! @9 s) S3 C6 c6 n1 P2 r
, J7 _ P: l( K: ~6 X% L
5 K6 q* J4 M3 a& R9 `$ x重启# J$ s% y2 ^( N4 U
[root@USER-SERVER ~]# reboot( D9 P. `" T2 B
& Q t- D- u1 C8 C. S三、格式转换7 N' I! o4 T0 ], C
[root@USER-SERVER ~]# umount /dev/sda5, i: u# b: P" N% F& ?1 q
[root@USER-SERVER ~]# tune2fs -O has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/sda5
5 c$ N/ w2 h7 J0 E s5 W: P8 _5 |引用2 t I- s* T' J9 h' F. y' ?
. {# i% ]7 `# E. o& n
tune2fs 1.41.12 (17-May-2010), Q* E$ T6 l+ k* ~+ A. [' ~- \
Please run e2fsck on the filesystem.
4 j. Q- J, [0 l; C
- }( K7 C+ c5 R$ |5 B0 D, _% B. z0 ], G& g1 r$ }) T! t
, S" d7 E8 Q$ L
/ e' T1 I& l4 [* k9 u/ l' {2 L四、修改转换文件系统错误并挂载
; f# C: E1 {3 w# E8 ~[root@USER-SERVER ~]# e2fsck -fDC0 /dev/sda5 -y
2 ~* D. a0 U) ]; |( p& k[root@USER-SERVER ~]# mount -t ext4 /dev/sda5 /www# C1 T; _! F; e1 z0 ~& `
# ~# c# H1 Q2 b& ]6 p五、修改文件系统信息(重要!否则重启后会还原为ext3)
M) K, w5 X/ e4 H$ d将; h1 s$ v: ?7 y$ ~/ {# z
LABEL=/www /www ext3 defaults 1 2# L9 _' H0 }' h" U- @) q8 w
修改为. k- x. M+ P3 `
LABEL=/www /www ext4 defaults 1 2
. s& \) c3 J; d2 {+ I[root@USER-SERVER ~]# vi /etc/fstab% m8 X( T& [% L) @
引用
6 [9 F8 U3 U& P( h, m
8 f+ G) f9 N3 k" u, `! Poot@USER-SERVER ~]# vi /etc/fstab1 ~6 H$ v! _# B) R6 l2 v/ `! ^, D
LABEL=/ / ext3 defaults 1 18 e _2 f- F' E4 r& A7 l
LABEL=/www /www ext4 defaults 1 2/ g" u- v. k: k+ J8 y
LABEL=/boot /boot ext3 defaults 1 2
% k0 o% i1 f+ @tmpfs /dev/shm tmpfs defaults 0 0/ h; o B) I/ ?
devpts /dev/pts devpts gid=5,mode=620 0 03 c( L& O7 p+ M+ o" D4 y
sysfs /sys sysfs defaults 0 0" r! Y# r# {1 o% V' `
proc /proc proc defaults 0 01 E& v" @2 ?+ a
LABEL=SWAP-sda3 swap swap defaults 0 0
: z4 i* w* `5 j# ^
6 P! u0 n% _/ e1 j
' Y5 {1 ~# q5 H$ R0 W a2 B; e5 e% f* w. T) V h- s
/ o2 ?$ _ L9 G( F7 B
六、升级后状态 E0 r7 e6 G1 s( w2 ^% m
ext4的特征全激活了:)
* t: X9 |/ ?5 E, H u( Y#[root@USER-SERVER ~]# tune2fs -l /dev/sda5 | grep extent, S+ P/ E' j+ _4 X
引用6 W" D& x3 Z" z! x* ]4 e! ~2 a* m X
* I+ `+ P* E. T* d; z, f1 v
Filesystem features: has_journal resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
( x, v! j7 p5 y( T8 j+ ?* c4 f1 q9 Q) T
. H" e% T5 x m% D9 w0 d9 p
+ v- b" n$ v% R1 k[root@USER-SERVER ~]# df -T2 s5 i Y3 `' D2 H; } n- l
引用1 y! J7 g6 V, J- z, S6 x
+ N v, k5 q0 ^) b+ a8 B7 TFilesystem Type 1K-blocks Used Available Use% Mounted on
) U7 z) r1 _: h+ W6 L% u9 ^/dev/sda2 ext3 20315844 2310764 16956440 12% /( d( T/ \% N# Y$ A$ O0 O6 i6 A
/dev/sda1 ext3 194442 20563 163840 12% /boot( }- o! M; a( d& e% ~; x
tmpfs tmpfs 1029672 0 1029672 0% /dev/shm
! a$ R9 V" n: G6 p. y* \/dev/sda5 ext4 129863460 192192 122968152 1% /www# y2 j: z& I, a# p ~6 V9 A- ]2 \4 `
. U! D4 `/ v% b, B; n' D, ?( {( f+ s- X
|
|