對ext4文件系統進行磁盤擴容后執行resize2fs需要確保如下兩點:
1.停掉所有調用到擴容磁盤掛載點的應用或服務,比如nginx,nfs
2.卸載掉掛載點
以上兩點如果都做了,那擴容基本上沒有什么問題
真實案例:同事對centos7服務器上的lvm進行了擴容(ext4系統),擴容后lv成功擴容,但掛載點無法同步擴容,執行resize2fs /dev/mapper/lv,提示resize2fs: Permission denied to resize filesystem
處理流程:
1遇到這種情況,一般是因為磁盤或者lv還在掛載中,需要先卸載掉掛載點(umount),考慮到本台服務器也是nfs server於是就先停掉nfs,然后再卸載掛載點
2.再執行resize2fs,報lv is in use, 可能超級塊有損壞之類,重點就是這個lv is in use,當時覺得掛載點都已經強制卸載掉了(umount -l /data),怎么可能還會有其他服務或程序在使用這個lv,一時沒有思路,就將服務器重啟了,發現重復以上流程還是報lv is in use,於是就想還會有什么服務可能會用到這個掛載點,最后想到了nginx,於是把nginx也給停了,確定沒了其他服務,就再次執行resize2fs,系統自動提示需要對lv執行e2fsck,執行期間,交互命令全部輸入y,如下所示

