易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 4382|回复: 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步骤供大家参考。% u# H& t) O3 W

9 G0 g( Z1 D  }5 `3 P; a1 f: P一、升级前状态
& n& ?, u& D. t% O+ |* g" @; i引用8 T$ D2 Q( Q1 G" y" v# y4 l
0 s1 [+ B: n) P$ V  a
[root@USER-SERVER ~]# df% p$ K5 A' s0 W$ J6 C3 X& i
Filesystem           1K-blocks      Used Available Use% Mounted on& C) F$ p$ {! E! I: e/ y+ a- E
/dev/sda2             20315844   2342008  16925196  13% /
* V2 l' y: E' o+ n7 F/dev/sda5            129863460    192192 122968152   1% /www
. {6 }! P( M# a( T9 W) ?* L/dev/sda1               194442     17798    166605  10% /boot2 T! A- y% i# @" T9 y
tmpfs                  1029680         0   1029680   0% /dev/shm
* j% T0 g! E1 S9 Y3 D' I# z6 o& J
1 c9 p( x9 d. E# w' F+ l

$ a5 p6 l! i6 v
7 U& X! x9 v( D# K% M% E4 N; B' O# o无任何信息返回,说明/dev/sda5的ext4特征没有激活
' A% W1 o; X1 ^: g引用
5 |! W  ~' D7 k  P( c  ]0 D% }7 |& e0 U
[root@USER-SERVER ~]# tune2fs -l /dev/sda5 | grep extent
0 \6 X$ b  y% Q- W! N[root@USER-SERVER ~]#
0 a: ?- G1 I" K+ k1 Z
) r- l2 E: \% C9 H
: E( m  f. v5 O7 C0 b
2 B& l4 r1 m+ p% A
安装所需包
3 ?! \- z7 H( P# E1 Z4 v源码安装:- H0 ^6 x9 z! k/ g3 V
引用. M1 R, b4 p% e0 }; k
5 j: Z- o" _0 ~! V: v1 l
wget http://ftp.kernel.org/pub/linux/ ... rogs-1.41.12.tar.gz
4 a& d: W% J9 A. `* ctar zxvf e2fsprogs-1.41.12.tar.gz; cd e2fsprogs-1.41.124 Z% S" ^, n) [3 F! f# ]& n
./configure
1 r5 P- t) M4 }* Z' q! F" ^make;make install& U+ {* T" F9 L/ l* }0 ?; A  E
/ @. o: p, }* @3 Y- x

6 P* E! f# Z! y/ X- Z5 M' P
* S. q. ?* p: Q/ u9 ERPM安装:* y; g5 w% y$ w! j% n% g# ^
引用
# c  a& y6 i) ^5 `" P
" }( |) P# n( m. nyum -y install e2fsprogs9 b. T' D8 `! G/ q
8 Y2 `; T9 u+ U% \  T& A; `
. `4 A! q1 A! G# n0 W

: @) m9 t  C! @' p- _3 R: u# l, h2 a* r5 X% d, S2 X( p% v, j& {
二、制作引导镜像7 P& g% Z9 l: F* J- Z% r  ~" o# x+ c7 N
查找并加载相应的模块,如只需ext4支持,可将--with=ext3去掉
% l, o% _+ w; t+ F& l2 _+ J% j2 g2 l引用9 L8 Y5 b/ ]) C3 ~

) Z, c3 \  E5 s. V" ^4 w' g& ~1 p[root@USER-SERVER boot]# mv /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`.img.old8 a" I: q" F- q6 E6 I, B1 w
[root@USER-SERVER boot]# mkinitrd -v --with=ext4 --with=ext3 /boot/initrd-`uname -r`.img `uname -r`
2 n! {3 [- R0 H. x0 K; ICreating initramfs
- @; }# N% H' R0 k3 K! JLooking for deps of module ehci-hcd
6 c: y, c0 j$ p& KLooking for deps of module ohci-hcd
& ?0 c1 J# ~! K$ c6 kLooking for deps of module uhci-hcd
! c0 s2 C, C' U, YLooking for deps of module ext3: jbd
+ }- p0 }5 B; r5 A  {Looking for deps of module jbd! ^7 z# Q& D' w$ ^' l/ v
Found root device sda2 for LABEL=/  k5 g! ?1 z! P# A
Looking for driver for device sda20 U: r0 Z: l$ O) C
Looking for deps of module pci:v00008086d00002680sv000017AAsd00006B7Cbc01sc01i8f: scsi_mod libata ata_piix " x. `& E6 O$ A. V- A% T" x
Looking for deps of module scsi_mod
$ H: v; x- y0 T" m9 |2 @6 S! sLooking for deps of module sd_mod: scsi_mod
4 M7 ?) m" |/ D9 p$ V1 O# H: @Looking for deps of module libata: scsi_mod
/ c$ I2 G( C  t0 F' k( v5 }Looking for deps of module ata_piix: scsi_mod libata
3 h/ N, |2 \, Y3 p% r$ p+ NLooking for driver for device sda3& S9 d) J; a  l% x8 f
Looking for deps of module pci:v00008086d00002680sv000017AAsd00006B7Cbc01sc01i8f: scsi_mod libata ata_piix
9 q& |: y* ]7 h1 XLooking for deps of module usb-storage: scsi_mod ) |$ v+ A/ f( a# r# T, X
Looking for deps of module ide-disk
, d+ z+ H  j: M( E% t# iLooking for deps of module dm-mem-cache+ h! J* P, v3 l% t/ ?4 y! J
Looking for deps of module dm-region_hash: dm-mod dm-log
6 `% L- n0 I& z) Z4 ~& _" V; S6 w! HLooking for deps of module dm-mod
+ j% n, t! w! Z8 N( m0 HLooking for deps of module dm-log: dm-mod
/ n5 X) w8 P/ r1 _Looking for deps of module dm-message
' \# \6 v  S5 z( ?Looking for deps of module dm-raid45: dm-message dm-mod dm-mem-cache dm-log dm-region_hash
; c1 ^6 Z& f: x6 L/ ALooking for deps of module ext4: crc16 jbd2 $ U5 [. P+ a' E
Looking for deps of module crc16
, J* @% s5 R  `4 ^7 aLooking for deps of module jbd2' C; u& G2 }6 C& {' F# u& |
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.ko3 v7 W" o* f9 M( n0 i
/sbin/nash -> /tmp/initrd.qO3680/bin/nash
' {0 N( T4 W* h( O# j# D/sbin/insmod.static -> /tmp/initrd.qO3680/bin/insmod" o, ~: `1 z1 i* c0 `  F. r
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]
& {6 ^# w; G$ kcopy 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]3 z, Y- O6 D) [2 U2 T9 I9 P. q2 x
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]
$ p- d3 ~2 K7 x3 M( S2 Z- Qcopy 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]( A) d7 B7 A" O2 \( _8 ^$ q! }9 }) Y
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]* U) i6 o- y5 X* w2 M8 y3 \
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]
0 p/ a/ Y. `* x/ N5 i- dcopy 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]
: j. T. E* r7 C; T5 p$ P4 Xcopy 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]
2 ]- G% w$ _1 Z1 p7 Hcopy 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]9 b$ J4 q2 g6 T6 z
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]) _! D. E0 p* J7 F$ |, \7 \
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]0 z' m+ w  P, O% U. ^' 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]
1 ?! V* }6 \$ Q0 c- M2 ]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]
! M% e' ^0 h3 P% r+ d( |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]
' V' r( j9 A: icopy 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]
8 Q' b) |; J, {6 bcopy 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]8 F( k7 S+ T. `. A( H- m
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]
' c) @: ?) _) T  O( `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]- A  K  F+ h& P1 w! a
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]
# Z2 m2 w7 @& w% w/sbin/dmraid.static -> /tmp/initrd.qO3680/bin/dmraid. _; [' N' [9 i
/sbin/kpartx.static -> /tmp/initrd.qO3680/bin/kpartx" Z7 f, z# j' d+ ^( o
Adding module ehci-hcd  U7 ^3 y  \0 G9 M
Adding module ohci-hcd( C3 V* X2 }/ q* b
Adding module uhci-hcd* T' i0 t0 T) ?0 {3 }
Adding module jbd/ c1 l7 t5 y/ x3 m" N
Adding module ext38 O8 {' ?, l6 \' e
Adding module scsi_mod& |) X" R' s6 L7 ?0 ^
Adding module sd_mod
. ~1 H$ }9 X3 X* f' i: BAdding module libata9 l' E' V4 u& `5 A8 ]0 b
Adding module ata_piix- j: E8 `# ~! v0 }& W
Adding module usb-storage6 I' c4 g+ t/ k6 O: h2 q' T0 E, f
Adding module dm-mem-cache
2 C' L! Z1 }4 gAdding module dm-mod
4 K  F& R( n  a0 T! c# UAdding module dm-log
9 A5 u! I' X) v/ w+ _1 {. ^Adding module dm-region_hash
, L) ]) D$ `; E! A* fAdding module dm-message
' j8 s- g9 G$ Z7 vAdding module dm-raid45
0 }, `9 h" r' hAdding module crc16
$ g- y2 S1 @. Q6 C( E% i- VAdding module jbd2+ z( p. b3 \. G) D
Adding module ext4
' L* e1 }- n& C: p  [  \. Z8 s5 z4 E2 V

( U. w0 i2 w) P% d1 {
- _6 \3 W% H6 g2 f- G  C8 A% I3 h3 m( B
重启' _" Y7 Y) b* f; p/ A" _( O2 p
[root@USER-SERVER ~]# reboot
- h5 T/ \" p. Z6 }+ q: y1 ^! s6 A9 Y# q
三、格式转换# i( Q6 U2 C1 Q$ M6 |
[root@USER-SERVER ~]# umount  /dev/sda5# H( s+ E6 K+ u$ [
[root@USER-SERVER ~]# tune2fs -O has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/sda5; x  @5 Z& L* f0 N0 Y6 d
引用, U! Z, f3 S( P. ^3 t( P
( e) K* n* ?+ o( G! p- r6 G+ ^- [. w
tune2fs 1.41.12 (17-May-2010)
; c3 V0 X. P. V# q7 U5 bPlease run e2fsck on the filesystem.
' o2 ~' F7 I8 }5 h- `8 T  X" ^# Z! E  K" t" Q& |% R6 g
' {3 E6 w% e" \( t  H

' {. `& h" O( C1 j
# N+ B7 G& d3 z, G3 M四、修改转换文件系统错误并挂载
" M4 O6 I( T5 y# e: s3 G[root@USER-SERVER ~]# e2fsck -fDC0 /dev/sda5 -y
$ z- O( G4 g: `1 a[root@USER-SERVER ~]# mount -t ext4 /dev/sda5 /www# `* u1 Y( I/ M0 X' W5 n* Q/ t
9 L6 e6 N3 u* J- w; I( k, [0 u9 r. c
五、修改文件系统信息(重要!否则重启后会还原为ext3)* g% w, P9 V% V

& O2 `( B( I$ e7 X- F2 L6 NLABEL=/www              /www                    ext3    defaults        1 2
) {5 M  s) X3 f4 N9 r# e- ^9 t修改为/ ~6 k, I& I6 U( ?
LABEL=/www              /www                    ext4    defaults        1 2
/ B- S- X+ A% O# H  _( D7 V4 ?[root@USER-SERVER ~]# vi /etc/fstab
" {# s7 L, Y/ ?/ P6 D引用5 t0 O! a, k/ x. k/ V  I4 P

8 S. S# N0 |1 r( voot@USER-SERVER ~]# vi /etc/fstab) U6 }$ B' F4 z2 F7 b' Z4 b
LABEL=/                 /                       ext3    defaults        1 1
- Y2 d1 }: O4 Y$ f) DLABEL=/www              /www                    ext4    defaults        1 26 i! H' e  @0 W5 U- R. A
LABEL=/boot             /boot                   ext3    defaults        1 2% x. z5 x( X2 c" U& Q( f
tmpfs                   /dev/shm                tmpfs   defaults        0 08 M5 x5 j6 P$ j6 \8 c) Y
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0; ^% {* {( n7 ^
sysfs                   /sys                    sysfs   defaults        0 0
7 C6 l% K5 q8 [( q" `proc                    /proc                   proc    defaults        0 0
0 C! N2 z5 X' m% xLABEL=SWAP-sda3         swap                    swap    defaults        0 02 z; _) u% n& p: S

* Q% P; u/ B' a% W  R: Z$ d
, \% V& U: Y2 u' Y. I
3 F5 T0 h. z, B% H
: b% \9 L4 ]; S( V, H/ ]. {
六、升级后状态
0 G  o6 Z) D# y% K! X/ jext4的特征全激活了:)7 i, f7 [9 O4 I; v' u$ b1 a2 ?5 A' V
#[root@USER-SERVER ~]# tune2fs -l /dev/sda5 | grep extent0 W2 U/ o  Q% w$ ]' B" f  o8 {9 x
引用
. C2 N2 s( z+ b7 z: h! L( F: x" e$ G% [
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
5 b( `- ^7 T5 N0 \% s
( X, R9 ^9 L* g  W! P5 Q3 X
7 Q# e- g0 x, m" q2 Q

2 C2 I# k; u& P  r+ L% I[root@USER-SERVER ~]# df -T
! P7 }" M! I% R  J. C% }2 A引用
$ a4 Q, O2 V6 E, ]+ Z1 T6 Q0 |& d# {, g3 D+ j
Filesystem    Type   1K-blocks      Used Available Use% Mounted on, z: F% P/ W! M
/dev/sda2     ext3    20315844   2310764  16956440  12% /
8 h( m. m2 F& U3 R8 h3 u/dev/sda1     ext3      194442     20563    163840  12% /boot
9 k+ A# Q  p+ wtmpfs        tmpfs     1029672         0   1029672   0% /dev/shm
1 z0 n2 J5 O  W6 \( g& N, [( q, V/dev/sda5     ext4   129863460    192192 122968152   1% /www
' ~' T" p1 H" ~; h' G

, ~0 L  T: R* }4 H; X
1 Y3 L0 \4 c( p4 N8 n# V
 楼主| 发表于 2017-1-12 22:50:32 | 显示全部楼层
Force fsck on boot using
2 x* B2 q& L+ d4 p. g, F$ c# D* k. G+ R
/forcefsckBy creating9 q! [1 @4 A, C! R# H( z, Y* S

+ u- l( o$ U' e! X( @( s /forcefsck file you will force the Linux system (or rc scripts) to perform a full file system
. H0 l9 i: o$ S5 f2 M) }% e% Y4 ~; |6 l! M4 F
check. First, login as the root user:$ su -OR/ e  `+ {% O( |& j' i2 r# O$ [6 K6 h; y+ \
6 L( T; L5 K5 T) ^% D! v/ U
$ sudo -s
4 L' O7 T' z$ M, _
2 u3 _1 H7 E8 v8 pChange directory to root (/)
4 c2 O' U6 n  o0 c- j3 L; W5 u- h# n- ^' w9 B. X) i0 [" @" n/ n
directory [optional]:
! P- f( H- }) }1 z7 c# H* a2 c7 s5 v, Z8 ^
# cd /
8 j4 E4 c7 p: e( O% _& M" K; _5 Q  U. a0 G! z5 j7 B
Create a file called forcefsck:4 ?, }0 P# {  m% \% G( ?1 ]% w
; G9 e  d& e9 d, e
# touch /forcefsck
, S. w6 ^' i: y3 c/ O2 V" ~- V
; C4 T1 k) _7 @+ B& [" I! ^9 I0 FNow, reboot the system:/ W5 G# D  @- W" g2 m
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 点击这里给我发消息

GMT+8, 2026-4-8 10:19 , Processed in 0.046017 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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