易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 4381|回复: 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步骤供大家参考。
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
 楼主| 发表于 2017-1-12 22:50:32 | 显示全部楼层
Force fsck on boot using
- `; e4 O* N- c6 D  S6 p' w. ^6 B
9 u- o1 @' V; b9 Q. V/forcefsckBy creating9 Y% k. t; v# n2 N& z

( r3 g* g, v( s* R) s) p: c. B /forcefsck file you will force the Linux system (or rc scripts) to perform a full file system
+ N) K) O! w& z0 F* n
: u! q. I$ B- G) g check. First, login as the root user:$ su -OR; g! \2 z$ O2 M- s' H
" W7 r' _, ]" l  y' {% j* \4 V& _
$ sudo -s+ U8 O, n  G& f. [
4 m' o5 W7 n2 W  U! _' c
Change directory to root (/)
; |3 j: N$ a2 X1 k9 h, ?7 ~" O9 o. `$ Z# g1 B1 ?3 ?' q
directory [optional]:
1 D" s& d- |. W+ j- @2 Q+ h. }0 d2 a8 e7 k4 v
# cd /+ G, _$ u3 \, m7 B8 v) I
* n: y9 z0 A1 }, d" l4 d
Create a file called forcefsck:
% q. g3 p# Y# Y* A# H2 _
! |. M5 r$ p. i+ I1 B, P6 g# touch /forcefsck7 \& ]( `& I6 G$ ?

1 G8 S$ W7 D  c2 _Now, reboot the system:
5 J! G/ v0 f, x8 `5 n& w/ q6 F
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

GMT+8, 2026-4-8 08:55 , Processed in 0.051137 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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