- 积分
- 16840
在线时间 小时
最后登录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步骤供大家参考。
3 v" P8 |: O9 @, h T7 P% m+ L, D. q6 u! v7 M% U
一、升级前状态
9 _0 x" I! N! T引用
}: w, F5 E v" u& \6 [" T7 W9 B- r g) C1 w
[root@USER-SERVER ~]# df: u) W6 m1 ^+ C" c7 U* @: l
Filesystem 1K-blocks Used Available Use% Mounted on: s! {; b; O/ a% o
/dev/sda2 20315844 2342008 16925196 13% /- u! z5 E" ]) v x6 O
/dev/sda5 129863460 192192 122968152 1% /www- {2 {6 b5 Z) Z6 g7 u9 v5 N
/dev/sda1 194442 17798 166605 10% /boot
0 `" \3 \8 n9 ~+ {& R9 o: u; [tmpfs 1029680 0 1029680 0% /dev/shm
, K1 Q/ Q7 L# g u& K. r# P8 h' x) V: X S% ?" \
9 R1 Z: P$ N. Q) }
5 H) p' k! s/ q2 ^: O
无任何信息返回,说明/dev/sda5的ext4特征没有激活
8 D1 E- j& L$ t* \引用
& V3 ]" {7 A ~5 E- @# w6 N0 ?& {7 b' J
[root@USER-SERVER ~]# tune2fs -l /dev/sda5 | grep extent
_ G4 g; d* s1 G- M[root@USER-SERVER ~]# 7 J6 l2 L) O, ~; J
- V+ U9 ?/ X# ?
+ n2 \/ W3 |5 m$ D' Y8 a* m
7 K- ~/ S+ T" ]( Q$ e& U$ u6 c
安装所需包
4 M6 J7 d6 l( \8 z源码安装:
' f/ g! V: k5 F; [9 S6 z引用$ M5 w- g& |$ x; l4 c8 n/ i
! A/ j* o6 |) u! j8 `7 H
wget http://ftp.kernel.org/pub/linux/ ... rogs-1.41.12.tar.gz
8 z7 S- J( s# t+ ctar zxvf e2fsprogs-1.41.12.tar.gz; cd e2fsprogs-1.41.120 {3 R6 y- X" C5 k2 A( I: @5 X
./configure4 |1 a. t8 S3 |8 H7 ] c
make;make install
; H" A8 ?6 E0 V" P. ~$ g) ]
3 x! m$ {2 U4 g& ~
3 I. R* k; G8 r- h) z+ P6 P
2 ]3 g. r+ \" S0 I. {$ p! ~RPM安装:0 `2 ^7 `/ P- I% r4 N! U) Y
引用% Z6 d5 C2 e& J/ s
+ |- d* m- h( [3 B% ?5 R
yum -y install e2fsprogs$ O9 s, V' q6 t% {5 ]) ~6 J
. y! J" V0 \4 \1 U" ^. i, U$ f& z* z# o- }" F2 U0 V+ a
F( W+ {/ ^2 U9 r+ |/ i$ i4 X5 x+ G
二、制作引导镜像
% g7 v" x/ j: K- L: w查找并加载相应的模块,如只需ext4支持,可将--with=ext3去掉
9 Z" h1 G+ d: T7 z引用
, u% m& Y2 _! c/ C; c2 D0 F0 R+ R% r/ B5 \. j$ N
[root@USER-SERVER boot]# mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img.old
1 \; t( k. W% Q$ A# r0 G: B$ }[root@USER-SERVER boot]# mkinitrd -v --with=ext4 --with=ext3 /boot/initrd-`uname -r`.img `uname -r`
! E0 L* ?8 L! o- }7 g* Z# ECreating initramfs4 _7 v9 w5 F- {7 e3 {$ a% k
Looking for deps of module ehci-hcd
$ ]9 w8 l1 a& J4 oLooking for deps of module ohci-hcd
1 P/ g! d: y$ {0 YLooking for deps of module uhci-hcd
% Y. ~/ b. ~/ i% [Looking for deps of module ext3: jbd
2 y3 t- c& N& j' ]3 c% s3 N6 ELooking for deps of module jbd& j9 t4 `6 H5 S' ~% E+ \
Found root device sda2 for LABEL=/
# l4 h* W0 n2 o! VLooking for driver for device sda2
, o$ `; y0 ]. l. H( G* v2 M; ^% W2 ELooking for deps of module pci:v00008086d00002680sv000017AAsd00006B7Cbc01sc01i8f: scsi_mod libata ata_piix $ s6 v0 ^+ A& N' m; ?/ q
Looking for deps of module scsi_mod" L0 j& D7 s4 N1 [& Q0 ^3 o
Looking for deps of module sd_mod: scsi_mod ' V7 K$ p9 g$ i1 j" _
Looking for deps of module libata: scsi_mod
9 L+ p# Z( D* jLooking for deps of module ata_piix: scsi_mod libata ) f' b- f# R. p% O. |5 @2 P7 P
Looking for driver for device sda38 F- h3 B6 z; c4 j1 Z* s
Looking for deps of module pci:v00008086d00002680sv000017AAsd00006B7Cbc01sc01i8f: scsi_mod libata ata_piix
( T" }+ I" S: U" k2 SLooking for deps of module usb-storage: scsi_mod , w- F; x2 f7 E: E( j9 x
Looking for deps of module ide-disk7 J* b+ o: c0 c8 O: k
Looking for deps of module dm-mem-cache9 L% P8 M$ V$ Z& a. Q6 _2 V
Looking for deps of module dm-region_hash: dm-mod dm-log 0 A1 f1 q4 k( @, u+ c$ K" c8 j" }
Looking for deps of module dm-mod$ l6 C7 U% m9 {0 |4 N
Looking for deps of module dm-log: dm-mod
+ C+ s. y! V L" k* K# {/ B0 k }Looking for deps of module dm-message
" i7 A. b% ~0 }& RLooking for deps of module dm-raid45: dm-message dm-mod dm-mem-cache dm-log dm-region_hash
, o2 u3 V4 |! Y# J. yLooking for deps of module ext4: crc16 jbd2 : s7 o& p* X4 p+ j
Looking for deps of module crc16 m! \3 [1 r& G5 z! `* G1 o$ R
Looking for deps of module jbd2
. V! @* M1 T* L/ a! {- l0 S" VUsing 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.ko2 Q/ g1 E( z! y. y0 p" ^% j
/sbin/nash -> /tmp/initrd.qO3680/bin/nash
8 G- D! U; x' s" Q' k/sbin/insmod.static -> /tmp/initrd.qO3680/bin/insmod) V, t/ E7 h9 c9 O
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]1 R, d2 q7 ~+ m9 W2 ?6 K3 o
copy 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]8 C4 K/ ?3 j# A1 i; g4 k% L
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]
# R) t( j1 J$ Lcopy 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]1 v1 p) w! Q9 j
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]! q& D# t+ i# S; A# H& S6 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]/ V7 G/ `8 R% e+ s9 G& B- {; S
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]
* m, X" W% C6 ccopy 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]3 y2 r' [7 s& u/ g+ y6 C; v
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]* u) I( \, m6 n: c
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]( n6 \9 w; p# R4 K1 l
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]
, J3 Z% h, L4 u( Ncopy 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]$ `/ p* K* a+ [3 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]/ G; Y! s" h+ R. T8 G
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]
6 |, k' e/ P) ^# B! ?7 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]
; O, q2 C* ]' e w) h. mcopy 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]
; z' R8 i* Y$ k, ?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]
2 Q4 g8 k4 {4 I* \* _: A3 F7 U, Mcopy 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]
3 Y7 C x6 o& k) `& Vcopy 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]7 I9 D8 n# r; [* I
/sbin/dmraid.static -> /tmp/initrd.qO3680/bin/dmraid2 P, }5 I, P4 n7 b9 s7 a m, f
/sbin/kpartx.static -> /tmp/initrd.qO3680/bin/kpartx
: t% h: Y5 @( y% HAdding module ehci-hcd) A7 @7 C' C6 @: ` n
Adding module ohci-hcd8 @4 _" C, E( K- e
Adding module uhci-hcd5 U* }$ f8 R1 I% ^8 o/ B
Adding module jbd! \9 P8 L. n* S, @% l
Adding module ext3
7 n* G4 P4 P9 K5 I/ t% n4 Y) n* O2 jAdding module scsi_mod8 b8 @0 U. w2 P
Adding module sd_mod
" T0 T4 R9 g8 K8 `+ ]+ I4 jAdding module libata
- H* W% \- ]0 H3 n4 o4 wAdding module ata_piix7 k0 l6 g" {! z. J5 }1 R$ |7 x
Adding module usb-storage$ W3 E% M% Z: k1 G7 J+ d
Adding module dm-mem-cache& I5 }# p1 E9 A ~+ |" A+ ~1 O# ^
Adding module dm-mod- O/ [' Q, [1 y. E2 N: f9 s# q O
Adding module dm-log
! b: u3 w2 ~4 y' s4 r( T* bAdding module dm-region_hash' {5 a: A6 p- j7 V: w6 o5 T: p
Adding module dm-message: q4 L. o& p; G6 y
Adding module dm-raid45" m/ J3 A% {7 W% i; u t* r" m
Adding module crc16
9 J% k8 C% n$ ]9 K& G# Z+ v3 NAdding module jbd26 F+ A, _3 P; P3 T/ c, N
Adding module ext4
+ J8 B# L1 b0 g2 b
4 c' E% R2 s% |3 }( Q Z- P/ _5 n! J6 ^! }
- b! z* T$ p! b9 `# A% U" z
4 L! b3 X$ B6 w$ ?2 N+ I8 x
重启( S1 J0 N& k* W. z% ?5 \5 r ^
[root@USER-SERVER ~]# reboot& k; l: o' W5 u9 w2 k, [
6 s* ~; `8 R/ R' T# ^) {5 ~
三、格式转换, r- e* n2 {- D
[root@USER-SERVER ~]# umount /dev/sda5
$ L% q' X9 ]2 m" B! H[root@USER-SERVER ~]# tune2fs -O has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/sda5( R% x/ R+ \" h0 ]% G+ R# \
引用
: P# A& S4 K5 I4 T
" D: I( u7 ^' F" n5 Y) `tune2fs 1.41.12 (17-May-2010)- T5 [8 K* n" a" F' V
Please run e2fsck on the filesystem.
3 S8 ]$ y6 @. O {) a
& T9 \& M/ |! W' g
5 y0 t. Q+ R3 q% |: |/ y* \4 H: O! Q" L' ?* w0 o6 e
, N) }7 m4 b- d' \$ d四、修改转换文件系统错误并挂载. O5 v6 S$ N% G; E, Y6 J
[root@USER-SERVER ~]# e2fsck -fDC0 /dev/sda5 -y
; a2 M: k$ g% [9 p, } ][root@USER-SERVER ~]# mount -t ext4 /dev/sda5 /www+ {6 J; s5 k i p
8 `0 a+ ]4 L" b: v$ l: a: M
五、修改文件系统信息(重要!否则重启后会还原为ext3)- L0 J2 I4 B i, p. t& k
将
) e+ W. V y9 PLABEL=/www /www ext3 defaults 1 2
+ E; Z7 N* S: ^4 X, L修改为
) f) a# E8 w( m9 }) zLABEL=/www /www ext4 defaults 1 2
" k/ a6 ?9 }8 D9 R3 q! Y+ s[root@USER-SERVER ~]# vi /etc/fstab+ ?( X4 L' i% E4 G. v/ e8 e
引用
' n- |. \; H q, }' | j8 V. s5 c( d5 d5 ], ]
oot@USER-SERVER ~]# vi /etc/fstab% a7 D# F& r; l8 J! g
LABEL=/ / ext3 defaults 1 1
( x. ~$ Q, h4 C$ j3 z, YLABEL=/www /www ext4 defaults 1 2
/ t, R0 W3 j* b! n" aLABEL=/boot /boot ext3 defaults 1 2
2 t( g" N b' Ytmpfs /dev/shm tmpfs defaults 0 0 M9 ]3 m6 T' F7 k s1 e9 k
devpts /dev/pts devpts gid=5,mode=620 0 0! v- `, A" |+ Z" G/ y. z
sysfs /sys sysfs defaults 0 0; z% {/ I: G' q+ y. N' u. z1 ?
proc /proc proc defaults 0 0- i M( }9 T' _4 `- \( V
LABEL=SWAP-sda3 swap swap defaults 0 0/ r! Y. R* \, S
1 X: i3 A) T: F" m; w$ x
5 }" T4 q* }: w! o
6 I2 o* t( g' K6 w: L# m0 I
/ i% S* L3 [, I: r* G+ ^六、升级后状态
7 n. }0 {* x3 W8 Q' j, c5 C" Zext4的特征全激活了:)
. b. k* ]; A- I) G7 S) x7 B2 @#[root@USER-SERVER ~]# tune2fs -l /dev/sda5 | grep extent
+ B* R$ @. z" Z) Z- s" i: f% Q引用
' a- |8 Q+ D* D, M2 A0 T$ O/ i) j1 b$ K0 h# h' 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
) `0 T8 r1 _; d% B8 D3 e, X! j |
V* m: R+ |# F( U6 p7 I
0 y& U- N1 F) b6 v
$ P8 c# s8 o2 V" M: a[root@USER-SERVER ~]# df -T! E4 C: X, v, }
引用- J% q" `5 x+ G6 w5 h
5 y; B# i9 n; T K3 p- PFilesystem Type 1K-blocks Used Available Use% Mounted on9 ?, ~, w4 E7 Q+ I6 O
/dev/sda2 ext3 20315844 2310764 16956440 12% /' `9 t' |5 _8 P/ w8 F2 E
/dev/sda1 ext3 194442 20563 163840 12% /boot7 k9 e6 |6 a* x! d$ T+ d1 N$ S0 e
tmpfs tmpfs 1029672 0 1029672 0% /dev/shm
) f/ e" i' x$ N! a/dev/sda5 ext4 129863460 192192 122968152 1% /www* g/ r6 m% T5 ]) T0 T( i5 Y: o! S
2 G' m5 C0 R& k7 A8 E6 I( ~
* W" z. N4 K8 @ U1 w7 r: ^" K |
|