linux操作系統無損升級文件系統ext3至ext4: 這裏我們以CentOS7.0操作系統來作爲示例升級系統盤文件系統: 附:linux操作系統無損升級文件系統ext3至ext4–數據盤篇 注意:根據此方法測試過程中沒有發現數據損壞或丟失現象,但強烈建議操作前通過鏡像、快照的方式備份好數據
具體操作步驟: 1、確認內核版本和系統環境支持 ext4 (推薦內核版本升至2.6.28以上)
root@Test ~
# uname -r #查看當前內核版本
3.10.0-123.el7.x86_64
root@Test ~
# lsmod |grep ext4 #查看內核當前是否已加載ext4文件系統模塊
ext4 528957
1
mbcache 14958
1 ext4
jbd2 98341
1 ext4
2、由於系統盤無法直接解綁,這裏可以直接使用 tune2fs 命令來給系統盤分區加入 ext4 的特性
root@Test ~
# tune2fs -O extents,uninit_bg,dir_index /dev/vda1 #文件系統參數extents,uninit_bg,dir_index包含了ext4特性
tune2fs 1.42.9
(28-Dec-2013)
root@Test ~
# tune2fs -l /dev/vda1 | grep features #查看文件系統ext4相關參數是否添加成功
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent sparse_super large_file uninit_bg
root@Test ~
# blkid | grep vda1 #查看vda1分區文件系統已經是ext4
/dev/vda1: UUID="2c04c946-7fee-41c2-a99f-f53e2532e4f7" TYPE="ext4"
3、上面查看文件系統已經升級爲 ext4 了,因爲無法直接對掛載中的根分區做檢查文件系統(e2fsck),所以這裏修改 /etc/fstab 中分區格式爲 ext4,然後重啓服務器,即可重新以 ext4 文件系統掛載根分區(首次啓動可能會慢,這時可能在自動檢查系統分區文件系統)
root@Test ~
# sed -i '/vda1/s/ext3/ext4/' /etc/fstab && sed -n '/vda1/'p /etc/fstab #修改/etc/fstab中系統分區的文件系統爲ext4
/dev/vda1 / ext4 noatime,acl,user_xattr 1
1
root@Test ~
# df -Th | grep vda1 #這裏測試過mount -o remount,rw / 的方式,但是不生效
/dev/vda1 ext3 50G
3.0G
44G
7%
/
root@Test ~
# reboot #重啓服務器
root@Test ~
# df -Th | grep vda1 #重啓後已經以 ext4 文件系統掛載根分區了
/dev/vda1 ext4 50G
3.0G
44G
7%
/
通過這種方式轉換而來的分區,原先存放的數據,文件數據存放結構還是ext3,解決的辦法,就是把原來的數據重新複製一遍,這樣就可以真正使用上ext4的文件系統特徵了。