|
|
一台文件存储服务器单目录下子目录已经突破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步骤供大家参考。
] y- J7 a( u* ^( ^+ n0 Z8 C F7 o. q) W% b
一、升级前状态9 P8 l/ o3 K: j8 }! V
引用; c/ F2 ?9 l" `5 T6 l
; ?8 N- q1 ~: m% X# X[root@USER-SERVER ~]# df
) D- I8 f# Y" w1 R5 y- a0 ~Filesystem 1K-blocks Used Available Use% Mounted on' c' F7 ~3 N& e; M/ w ~
/dev/sda2 20315844 2342008 16925196 13% /, U: u- C7 F: f3 u
/dev/sda5 129863460 192192 122968152 1% /www$ C. {0 w; G) ?/ t8 n$ N
/dev/sda1 194442 17798 166605 10% /boot
6 E* a. l; e/ \8 htmpfs 1029680 0 1029680 0% /dev/shm+ w: g2 h1 S* J+ x5 j0 T
2 W# h9 T- X% E4 @9 j) k1 W+ _
! J. |: W' T" n& P9 Y# E2 Q! v! h4 g/ [
无任何信息返回,说明/dev/sda5的ext4特征没有激活7 g# t; s) {6 A4 W8 Y
引用" J8 P9 | R; [% ~5 m# H: M
4 m; `% d% J g7 L$ }
[root@USER-SERVER ~]# tune2fs -l /dev/sda5 | grep extent" P8 f c! T* A% Z& D3 g! I
[root@USER-SERVER ~]# & p7 u4 [9 {, y) o2 F
" S$ K- I m. W
' `! S2 _$ h0 u5 `1 p3 z
0 U# k& m9 H* _ `安装所需包3 I4 N3 Q- S/ ]' j% F+ v6 r
源码安装:
1 J0 C4 Q! f- I5 z引用3 T8 ]" u6 \7 w' J' F
s+ K) @5 x/ _1 `- @wget http://ftp.kernel.org/pub/linux/ ... rogs-1.41.12.tar.gz: H, O8 H) N) s/ L7 i
tar zxvf e2fsprogs-1.41.12.tar.gz; cd e2fsprogs-1.41.12, G+ v$ t. b% U
./configure- v0 ~! o9 o* D! d$ m" n
make;make install; r, y8 Y, Z1 E% c) q
' n/ h2 v3 X6 Z# k$ D2 n, h6 n* p+ x8 ]
5 y6 Q6 o) Y; n* L) {RPM安装:
+ s( `. f8 \& t& n9 V1 o引用2 }! r) u# v' \- t4 R- p
1 F% j* o7 i+ syum -y install e2fsprogs
2 { ]$ x) r4 f+ h9 s& x$ x1 s' b+ X! v- ]) F" w9 H
4 I1 N: i% N3 p# M! Q2 [7 E* a& s8 ?
; a& }, J+ x8 e2 w2 O
- ~1 E5 U1 x% p4 V3 g0 U. b& X* m( h
二、制作引导镜像
+ f3 ^# b& d8 \' ^: w/ `3 W4 w查找并加载相应的模块,如只需ext4支持,可将--with=ext3去掉% ]# {' L T E! Q u2 I
引用
9 r6 }' u: m( y5 J! P6 y+ F2 U9 ~; h) M4 G, \" ~
[root@USER-SERVER boot]# mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img.old ]4 ~! Q+ x- Y9 L, D
[root@USER-SERVER boot]# mkinitrd -v --with=ext4 --with=ext3 /boot/initrd-`uname -r`.img `uname -r`
2 V5 I" v6 o# PCreating initramfs
1 O. Y7 a' J; V% ?1 ~$ F, t6 wLooking for deps of module ehci-hcd
0 j8 h9 L: `9 _+ x) n, S7 FLooking for deps of module ohci-hcd5 |* F% Z, R" u! {2 `' D
Looking for deps of module uhci-hcd. X5 a) W$ U T
Looking for deps of module ext3: jbd % }+ }+ r& i# T$ {! s
Looking for deps of module jbd: Y0 ~3 }! ?* a9 x
Found root device sda2 for LABEL=/
# j+ l/ [2 z- _. YLooking for driver for device sda27 g! z; Z9 q! @( e+ u7 \
Looking for deps of module pci:v00008086d00002680sv000017AAsd00006B7Cbc01sc01i8f: scsi_mod libata ata_piix
0 z* @" P l# ^0 |- nLooking for deps of module scsi_mod4 c! c9 L' s/ d* F8 l# c
Looking for deps of module sd_mod: scsi_mod ) f. W& A& r9 S4 h, l( F1 k
Looking for deps of module libata: scsi_mod ) E% A4 U5 ~1 q* D; \5 p
Looking for deps of module ata_piix: scsi_mod libata
# M. z2 E; [. v) Z9 S9 mLooking for driver for device sda3
3 ?' B3 F+ f7 f3 j* B2 }* j7 A+ l ALooking for deps of module pci:v00008086d00002680sv000017AAsd00006B7Cbc01sc01i8f: scsi_mod libata ata_piix
' _9 _4 Y3 o3 h# eLooking for deps of module usb-storage: scsi_mod ( e( {, B7 |1 R$ x' D \
Looking for deps of module ide-disk
: g0 T( f! Q4 D. [: G. C1 Z- ^Looking for deps of module dm-mem-cache) t* u* C+ \, M5 n! i4 @
Looking for deps of module dm-region_hash: dm-mod dm-log % s5 G" R- f' j% D; S5 a2 i
Looking for deps of module dm-mod2 } n2 f. I4 [) i* _5 P
Looking for deps of module dm-log: dm-mod
% {& O. w7 B/ nLooking for deps of module dm-message! a; o) |2 t9 f% [- [, m5 t
Looking for deps of module dm-raid45: dm-message dm-mod dm-mem-cache dm-log dm-region_hash
+ e: v" ^! A, o7 DLooking for deps of module ext4: crc16 jbd2
- j# B1 k8 N( zLooking for deps of module crc16% L8 g8 V6 _3 R; E; Q" T
Looking for deps of module jbd27 d7 h6 N! c* u* G
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
0 d& c! r, B! g9 i# e4 d4 l/sbin/nash -> /tmp/initrd.qO3680/bin/nash! V( c& o0 ~& A: d9 v8 |
/sbin/insmod.static -> /tmp/initrd.qO3680/bin/insmod
0 f9 Y0 `( F# i6 L9 p( o; ]; Ycopy 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]
7 D* ], ^4 W9 {& G% Z( z2 F) g8 jcopy 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]6 ?0 b4 A7 `; o2 m* u0 S" k
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] s) w. B: h& \, n
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]5 X3 K3 h5 C9 X P8 b
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] o2 y: F# \- p/ |
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]
8 V d. K: ~/ l* jcopy 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]
% T6 X4 Y+ P, u$ Ucopy 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]( T$ T0 V9 ?# j/ K" U* u
copy 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]2 ]9 I1 q- J. d7 |* I, r/ }6 J
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]& k5 {( W, J7 O* X, q) b* r) P
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]
& @1 k) s1 t! L. f. mcopy 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]
) v- Y* b6 _9 F! wcopy 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]
! W+ S7 Q B/ f- N6 A; I, p9 tcopy 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]* _9 q4 p( |2 H t5 D6 X, k# Y0 `) |
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]
$ p2 a* o1 [1 l. B* f$ T* O: Ncopy 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]
" k) q% V5 d1 ^8 bcopy 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]. {2 U; U7 J9 ?- f5 o$ |8 Z+ t( [
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]4 j8 T7 l% ^7 [8 k: T
copy 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]
0 Y8 d7 J y% q& G9 S/sbin/dmraid.static -> /tmp/initrd.qO3680/bin/dmraid Q4 ~, M* w% Q* |: r7 i: D. b7 n
/sbin/kpartx.static -> /tmp/initrd.qO3680/bin/kpartx
# x g# h" w' |# cAdding module ehci-hcd
0 }- B$ u; N" k$ ^' ^9 bAdding module ohci-hcd7 q a5 O1 h7 S" E! W
Adding module uhci-hcd7 P8 @9 p6 T q( x7 p+ A
Adding module jbd
5 l/ a$ E, A# I) s# rAdding module ext3( S5 ]3 S( l3 s$ V: f
Adding module scsi_mod6 N6 \! ?6 d1 y- [3 H3 s
Adding module sd_mod- U1 L+ z. c9 i: C: }& z
Adding module libata3 W; R7 R, n F* c4 D. B4 a4 s' H
Adding module ata_piix6 l, n% h3 e- M. o4 k" T
Adding module usb-storage
' b4 p2 b6 n) M2 g' q4 B& z0 o, `Adding module dm-mem-cache; O* C9 V; ?% x- D% g% `
Adding module dm-mod0 q! S/ P8 w' @& Y6 O/ I, T
Adding module dm-log
* [5 C1 ?2 q% \( y6 WAdding module dm-region_hash% X4 q/ X6 r" y# O
Adding module dm-message
( P X; b' [, [7 `& VAdding module dm-raid456 B: `6 f1 E; ]. _- |, f% h
Adding module crc16! s; Z+ ]- W6 J5 F \
Adding module jbd2' O7 f) \2 ~3 g& S7 s6 v0 g1 h
Adding module ext4
2 k) @- R& q9 D1 n" @# L9 ]4 N
3 R7 I, N0 P/ l- F! }* I F1 f L4 _$ O
8 c! i W& E0 g, J4 I: x* p
3 Z% O6 E- p$ y; ?! H1 T重启
& b$ |! Q/ K. }3 |3 I[root@USER-SERVER ~]# reboot U! Y& v- ^' ^( J' Y
& V |& `, N& ^: O ~/ B" F三、格式转换3 c: R# Y! J0 g2 K
[root@USER-SERVER ~]# umount /dev/sda5* Q1 b3 t9 `- B
[root@USER-SERVER ~]# tune2fs -O has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/sda5
+ Q0 d B0 b& ~! U引用, k: q3 s. O0 {% ^: C
( W, M3 r+ \1 g0 K5 E; @tune2fs 1.41.12 (17-May-2010)7 X& S) s' c; u' N; b" E* w
Please run e2fsck on the filesystem.
2 o9 ~, r; `6 I: \6 `& F& B9 W, c3 }* O- g
! }* D; H) R: |# G7 @
! S, ?* `! i- ]4 L! L- M
% ^9 b7 j0 A0 i四、修改转换文件系统错误并挂载, `3 m4 x0 [9 k6 L( I
[root@USER-SERVER ~]# e2fsck -fDC0 /dev/sda5 -y! S8 O2 V' U8 I# _4 s: L$ T$ H& m
[root@USER-SERVER ~]# mount -t ext4 /dev/sda5 /www
2 E) J* a" c( y$ Z4 u/ V/ a9 j# l- [9 @' }# t7 |' D
五、修改文件系统信息(重要!否则重启后会还原为ext3)
; z/ ?# K" [1 Z. u2 P将! X; N" L, q* B5 \ I! N4 L
LABEL=/www /www ext3 defaults 1 24 X) ^* |( |% r7 F1 L, |) T
修改为
" v9 m- k, L8 P7 a$ v; [LABEL=/www /www ext4 defaults 1 2
3 j+ E9 _9 _* N7 I[root@USER-SERVER ~]# vi /etc/fstab8 g- N# A' ?; I
引用
. K' v7 N2 Z# _: w5 C P3 K
: l' U [* h3 E2 T( u3 C' E3 Z" R: Hoot@USER-SERVER ~]# vi /etc/fstab
5 L' k& r2 z$ ^) [/ I, LLABEL=/ / ext3 defaults 1 1 A3 \& ]2 O$ C$ g: c$ `, E
LABEL=/www /www ext4 defaults 1 2
4 r* D9 x+ a& b: L- F/ j! nLABEL=/boot /boot ext3 defaults 1 2
{9 b, T$ d* A" D6 _tmpfs /dev/shm tmpfs defaults 0 0
, g4 r. f$ Y, Ldevpts /dev/pts devpts gid=5,mode=620 0 0
: ~ A/ A' U$ _, i E! f3 Z% vsysfs /sys sysfs defaults 0 0
7 r. o3 l8 x" L- ^& u% s; uproc /proc proc defaults 0 09 p# f" ?) x5 U) u+ V" v
LABEL=SWAP-sda3 swap swap defaults 0 0. s" a1 Q/ B; r; H& r
1 h7 Z, V4 `. ], m8 w
9 i, F8 z1 q% ?" H
* S$ @7 Y9 _. k' _- D
3 T% p; I3 \; l$ J六、升级后状态
Q, t D7 a! [& I- ^ext4的特征全激活了:)( b l8 K7 K$ g8 ]+ I
#[root@USER-SERVER ~]# tune2fs -l /dev/sda5 | grep extent
U1 h( q' w, W, ~0 r( V5 m. |! f) U; Q引用# y" @; f. m4 M/ R; Z
4 Q0 _2 j* X8 S4 Y
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& @$ n/ u5 p5 A2 J
j9 K/ ]7 b2 Z+ e3 M" l+ E
) L# u) v9 i. l. e1 S; W+ x( A+ E, J" f' v3 C4 B. N1 W
[root@USER-SERVER ~]# df -T2 ]) c% ]* Q$ j& c
引用
/ C) Y7 q9 K9 D/ \& O0 r$ i
1 ^# C$ C# n% B# {" c8 dFilesystem Type 1K-blocks Used Available Use% Mounted on
/ I+ T7 F& d) p$ ?& b* Z/dev/sda2 ext3 20315844 2310764 16956440 12% /
% p: F ]: M+ e; p! Z% U( D4 ^- o5 H/dev/sda1 ext3 194442 20563 163840 12% /boot2 B% \ x) L: t% v& _% Y! ?
tmpfs tmpfs 1029672 0 1029672 0% /dev/shm
/ U2 k1 ]7 z7 H+ Y; {+ V p- X/dev/sda5 ext4 129863460 192192 122968152 1% /www
7 @, s7 [& l/ C% i& l. {# W) d
$ V* a; Z1 L8 U/ h$ Y. S# {! h% q# C9 e" @4 P' v# A
|
|