- 积分
- 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步骤供大家参考。$ G- |/ F/ y+ c; D6 P' @
2 R" U3 b; O% ]( h) _% q6 ]/ F1 J一、升级前状态$ m X9 n8 f6 f& h6 e
引用
I1 k/ Y. X" Q4 g( P" Y; c1 }! E1 P- O# u& c/ l' M9 d
[root@USER-SERVER ~]# df
( }" F7 x) S2 N% v7 | ~Filesystem 1K-blocks Used Available Use% Mounted on
; P8 w R+ e/ N$ W) V/dev/sda2 20315844 2342008 16925196 13% /
( _7 O# P/ m( P; H$ K/dev/sda5 129863460 192192 122968152 1% /www) o ]) ^9 o+ _6 X) m
/dev/sda1 194442 17798 166605 10% /boot3 G0 Z6 y' R9 H+ ^/ x
tmpfs 1029680 0 1029680 0% /dev/shm7 ^# z/ D# B3 c3 Q3 Q3 [
4 T2 F9 K& V. }6 ^5 j3 u( }' M# T
5 l3 E, i' ~: p# Y. ~9 n7 U0 x- u1 d; ~! Z4 X
无任何信息返回,说明/dev/sda5的ext4特征没有激活
4 b9 t. o n& K" x+ c引用7 L8 U! @0 y2 _( p8 a& [
3 _8 r$ M, Y' |/ h4 ~7 W/ ^2 I9 ^[root@USER-SERVER ~]# tune2fs -l /dev/sda5 | grep extent! \, T+ ]! Q2 E3 Y, k+ x
[root@USER-SERVER ~]#
/ g" Q7 L; Z2 Z
5 g9 f# f7 }7 X8 [! w. I# { B- l7 Q! }6 d- D5 ^
' ~& I8 q) G; R& t9 T
安装所需包3 o3 e# C3 ?* R l0 ?
源码安装:
1 R$ F7 e0 B. P+ t; o+ N* ^引用
1 T# Y* I- s* J* d8 h- C
@% h |9 k. s3 pwget http://ftp.kernel.org/pub/linux/ ... rogs-1.41.12.tar.gz
1 c) j' L& {2 e4 Rtar zxvf e2fsprogs-1.41.12.tar.gz; cd e2fsprogs-1.41.122 _/ v6 b# q6 X& Q+ a8 e
./configure0 J, y" e( F8 }5 @% ?4 ]# q
make;make install
`4 h# W2 ~& t* |' G
) a4 S' w3 i2 Q( N3 ^* v2 H1 T1 p9 ?/ I/ F. Q9 r9 F
0 E p4 y, W7 {$ U) `$ K
RPM安装:
9 X! |& W2 Z: i' G引用! X+ N' Q* C1 ~- o2 n5 k' `
! K6 S. B: }1 f5 f/ F2 A# Y. C
yum -y install e2fsprogs
! I0 V* p& J4 f1 Y% v& f) K: n: m: q- a: u5 j8 r# ]; A( w; l
1 n/ S9 E7 L0 C% d
4 h9 e) ]4 J2 X3 \. s% x3 r% F
- F; k+ w1 X6 [& z) k: H二、制作引导镜像* G T. ^9 I) T- d+ ^: j. D9 q
查找并加载相应的模块,如只需ext4支持,可将--with=ext3去掉: @8 t+ u' D5 V7 _& E: J3 l* a
引用
- N" z" z$ k$ j, B5 Q. D+ c* e; H+ Q# v
[root@USER-SERVER boot]# mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img.old* F: i$ ]2 \$ a' m7 O8 W4 r
[root@USER-SERVER boot]# mkinitrd -v --with=ext4 --with=ext3 /boot/initrd-`uname -r`.img `uname -r`
; |: j1 V8 S$ h: R( n9 QCreating initramfs
4 j5 f- L( v: \+ mLooking for deps of module ehci-hcd' \1 t6 R5 ? S5 r3 _$ `7 n1 Q0 y+ V
Looking for deps of module ohci-hcd" V/ J$ j+ `, I ^/ [2 w. L5 a
Looking for deps of module uhci-hcd6 o$ z% e& j7 c' ?9 b& n
Looking for deps of module ext3: jbd
3 G" r' K; |' H# p$ ]( Z, U/ q5 f, xLooking for deps of module jbd m+ h) F# e. B: p r
Found root device sda2 for LABEL=/
+ H" q/ D2 F1 ~: f6 }% yLooking for driver for device sda2
; \4 t5 ^( U- Q/ o$ s1 I; }Looking for deps of module pci:v00008086d00002680sv000017AAsd00006B7Cbc01sc01i8f: scsi_mod libata ata_piix
" o4 P' {7 v1 N( aLooking for deps of module scsi_mod
. e* \% n+ f+ g. v/ G( k$ F6 \Looking for deps of module sd_mod: scsi_mod
, M9 J' V# q. [Looking for deps of module libata: scsi_mod ' ]- A0 u1 W: Q( k9 e& G0 [& \
Looking for deps of module ata_piix: scsi_mod libata
' r: B% \; w5 e8 NLooking for driver for device sda3
7 ]) b0 Q6 J# s2 x7 j: `0 OLooking for deps of module pci:v00008086d00002680sv000017AAsd00006B7Cbc01sc01i8f: scsi_mod libata ata_piix
' ]+ _+ ?( u2 \9 J8 x( o9 r6 p4 C uLooking for deps of module usb-storage: scsi_mod - ]3 J5 O a3 i' G% f9 B
Looking for deps of module ide-disk
5 w3 @ ^% @- P2 p2 Y2 \/ f2 U6 ELooking for deps of module dm-mem-cache
, f1 f" } n3 [8 b+ r2 r( R! ?- w! uLooking for deps of module dm-region_hash: dm-mod dm-log
3 o4 t! A* c- ?3 ?+ T( Q% P6 Q* J: TLooking for deps of module dm-mod& k6 t6 B/ _) d
Looking for deps of module dm-log: dm-mod
X& Q( n" g+ W, }1 f4 R, l- oLooking for deps of module dm-message j- {. |. V, m- u
Looking for deps of module dm-raid45: dm-message dm-mod dm-mem-cache dm-log dm-region_hash
1 w5 m8 L; w) X4 }Looking for deps of module ext4: crc16 jbd2 - }4 R* U3 K6 ?- U8 Z; p9 ^* j) O0 d
Looking for deps of module crc16( V- n1 }( q" H/ k4 h6 i f
Looking for deps of module jbd2% y8 E9 L- R# O
Using 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.ko
2 Y- ]$ a7 l( n( @& r2 O/sbin/nash -> /tmp/initrd.qO3680/bin/nash
+ p+ ?9 A2 o8 I, [0 P/ S/sbin/insmod.static -> /tmp/initrd.qO3680/bin/insmod1 Q( I8 j# ^+ v7 e O0 o7 l9 L
copy 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]
2 K* m& j- S+ r' O6 t% j) C. pcopy 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]* W4 Z/ X+ H1 b0 Z+ |" X7 _
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] ^& ]2 z; Y* t& s5 s/ i
copy 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], C- [6 |. g ?
copy 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]
- C$ _! z8 f$ w' U1 fcopy 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]" J6 R- u% D* s! j6 a5 z9 i% \5 V4 }
copy 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 W- V3 q/ o1 \, N2 _' r6 @
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]
1 M; b3 D0 T4 g" E0 U" Y5 N4 Z Bcopy 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]
' E- B+ R# D _3 v6 Ycopy 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]
3 ~5 X" [% `: dcopy 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]
; i) P8 D4 z: _* i, A' ?% o' Icopy 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]
! I7 Z; w# g9 Z) rcopy 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]& c+ h s# m n* Y
copy 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]1 ?' d; d- `* b3 k5 a
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]
# b1 r2 {% T$ H, A8 Ycopy 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]3 T2 c% Z0 h F9 | b3 j; J
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]: I. p) g; y, B! ~! B8 J$ U
copy 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]
1 P/ i; G- ] V; Ocopy 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]
6 _" r' @0 U7 o8 F/sbin/dmraid.static -> /tmp/initrd.qO3680/bin/dmraid
% c! E; d) l2 E. y/ |! e( c7 m/sbin/kpartx.static -> /tmp/initrd.qO3680/bin/kpartx8 @/ L8 y5 U, r; W1 v: s! V
Adding module ehci-hcd
# o5 f4 L; ?" S! AAdding module ohci-hcd5 w6 a. W/ |, r/ l: I# x
Adding module uhci-hcd+ Y) r, z4 g- K, ?
Adding module jbd/ k2 Z9 v3 \; `- O4 ], B8 l0 ~
Adding module ext38 D+ z' `+ }; b# T# @
Adding module scsi_mod
+ l j7 D3 R7 M" bAdding module sd_mod
1 J& p! A# u3 G3 cAdding module libata/ {' }2 j( i- h4 U
Adding module ata_piix& K' u3 Z/ k* h2 F
Adding module usb-storage
7 g( g; A6 P5 w4 v) yAdding module dm-mem-cache
! |, G. _5 S# v6 G+ i( b# M) ~. EAdding module dm-mod
) w9 c% U( P. r# }9 vAdding module dm-log
( \8 e/ j/ s2 b% ? \( M3 vAdding module dm-region_hash, r5 L1 V% L! O. {* n& d0 F
Adding module dm-message
" h6 P$ J e v5 e2 {Adding module dm-raid459 U J4 R& G9 z7 i
Adding module crc16
& p9 @& A/ e, q8 v& {Adding module jbd2- ~- q0 `- J: M3 _
Adding module ext4
7 w$ | U) D- v3 _$ \9 S7 i3 n# I9 ]
+ T" ?# j. n2 t
5 o3 `! }/ u5 q5 b6 m
7 f1 G! H" C2 `. s( U1 T
重启4 I. \! Z& ^4 F3 x5 U A) ?7 x
[root@USER-SERVER ~]# reboot( y1 Q5 X0 ^' Y4 A+ _# ]0 I8 Y
) k5 g* A8 r4 {0 a1 `" w7 q* ^
三、格式转换8 u# L) Z8 D1 P) n
[root@USER-SERVER ~]# umount /dev/sda5; d/ j# s# p( g+ }9 q$ P
[root@USER-SERVER ~]# tune2fs -O has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/sda52 E# o4 q5 `, _( f# {
引用
9 t: ?" v: k, A: Q+ s
% ~9 r5 v( X% ^0 [" c3 p1 U* Etune2fs 1.41.12 (17-May-2010)
" z" v& {; N6 n z! U4 J4 s) P& bPlease run e2fsck on the filesystem.6 }* l3 k; h* x5 A# m' e) ]! f
1 X7 \ E+ z) s$ u- j. g1 b2 O8 |
) K$ f; m z+ X0 r" n- S# ~/ R) |* q9 Y
四、修改转换文件系统错误并挂载
( a Z+ K+ [- z3 g[root@USER-SERVER ~]# e2fsck -fDC0 /dev/sda5 -y
. l5 s; k& N2 d. f: |1 n[root@USER-SERVER ~]# mount -t ext4 /dev/sda5 /www
7 L8 U6 t8 h' Y+ i" m% y: X i' Q0 }+ |9 t
五、修改文件系统信息(重要!否则重启后会还原为ext3)
) f. _$ Q$ Y8 }& d# m( K将
7 I* r- M5 t3 N, O% V4 b. `. fLABEL=/www /www ext3 defaults 1 29 y' P7 w1 c) A$ g4 F
修改为4 h6 ^( `6 L/ R, }- N8 P
LABEL=/www /www ext4 defaults 1 2
/ S8 J$ ?! [$ }3 V' W7 }* C[root@USER-SERVER ~]# vi /etc/fstab
: e. o% Z* n/ q9 T' Y引用& m& g0 U5 W& g4 w2 m0 ^
( o/ t) ]2 q/ Y
oot@USER-SERVER ~]# vi /etc/fstab j k V* w4 q0 ^( A- b5 B# D% j3 x
LABEL=/ / ext3 defaults 1 1
$ i( g' G: c) w" [LABEL=/www /www ext4 defaults 1 2+ p2 N2 [+ z' Y/ t
LABEL=/boot /boot ext3 defaults 1 2: K( |+ v: j8 C/ i( s
tmpfs /dev/shm tmpfs defaults 0 0
& E8 A* ~; ~$ {: bdevpts /dev/pts devpts gid=5,mode=620 0 0
$ ~) D+ d4 t1 s* gsysfs /sys sysfs defaults 0 07 u z! e' A% D' J! F& w! x! r; a; M
proc /proc proc defaults 0 0
5 T) q) p7 ^4 FLABEL=SWAP-sda3 swap swap defaults 0 0
% D' h4 Z- o/ F' Y- j' B' t/ b, p& T, U9 I7 g7 X
: Q: C7 w5 x* \0 n6 x) \: U v: k1 R
Z0 [( @8 q/ A9 T% g. u8 P$ _5 `8 f' y- y5 ~0 @# z4 }7 i
六、升级后状态2 z% J5 S/ H3 @, K4 F
ext4的特征全激活了:)
+ w4 \0 f5 [$ n" j#[root@USER-SERVER ~]# tune2fs -l /dev/sda5 | grep extent& G. M6 X2 y x. b+ v
引用7 m- Q# D" \3 j X
8 p; B+ P) ^# N6 \3 C+ `
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
/ b/ g! o4 F& z' u7 d8 U# T5 Z' y* Y& Z) j
$ F' V9 Z% |2 u
6 A* ~4 Q7 B. i
7 C, c# a$ q L0 \9 R" j9 l[root@USER-SERVER ~]# df -T
4 Y ?$ n- O0 C& c$ |) ]引用
6 z5 ^9 r2 Z J) _% P. p: P+ [3 \4 H6 T9 Y c {* X! r7 N, {
Filesystem Type 1K-blocks Used Available Use% Mounted on
' L+ M& @, I/ J2 C: }/dev/sda2 ext3 20315844 2310764 16956440 12% /
' z' ?( ?; [( |2 _$ n0 j. P/dev/sda1 ext3 194442 20563 163840 12% /boot) X+ W5 i6 M2 s2 b
tmpfs tmpfs 1029672 0 1029672 0% /dev/shm( a' H1 i" t0 F! {) b- q" H# r
/dev/sda5 ext4 129863460 192192 122968152 1% /www
* N, c$ i* r- k) p' h/ S0 U0 S
* d9 z t$ p7 k1 M' S" z9 R, e* U' ^
|
|