易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 4377|回复: 1
收起左侧

ext3升ext4

[复制链接]
发表于 2017-1-3 17:12:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

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 H
1 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' ^
 楼主| 发表于 2017-1-12 22:50:32 | 显示全部楼层
Force fsck on boot using # v! L2 p; `" o8 B9 l

1 k4 r& t& ?: s4 ^; _" p) R( q/forcefsckBy creating
2 j! u, s* J: G
; D7 G7 C# M2 ?. @; f, z- [ /forcefsck file you will force the Linux system (or rc scripts) to perform a full file system
- f! h2 _( i# s! I8 `% {) b
4 i7 i: R( B; W% b check. First, login as the root user:$ su -OR
& u0 o* w6 d1 N2 U; E0 b' C. C, F* V7 O
$ sudo -s5 A2 v+ ?* W& ~" z
8 R$ i, T" K( o% X* Y
Change directory to root (/) ( ~2 G' Y# E$ h5 |2 g# V( X

3 z7 y+ T+ k9 z9 e2 gdirectory [optional]:
5 R5 g! n+ ?# n. O5 |. J: t. s/ r
( H7 g" A, x) H# cd /
% H/ `! W2 d/ o; i+ U7 G% l; |& l7 G: m7 |4 |$ f; b( B
Create a file called forcefsck:9 l$ R( m' [* J- Y% q& y

6 h% P6 F# i- U1 y' j4 `+ g# touch /forcefsck# Q4 }  C$ u1 ~0 q

6 l9 @3 A! b1 ZNow, reboot the system:3 I5 o3 g0 K6 x
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 23:58 , Processed in 0.056205 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表