背景:數據庫服務器192.168.110.6(該數據庫服務器沒有備庫)因為磁盤空間不足,需要擴容,操作系統為Red Hat 6.7,文件格式為ext4,lvm擴容超過16T,導致磁盤無法正常識別;
#parted -s /dev/sdc mklabel gpt
#parted -s /dev/sdc mkpart primary ‘1 -1’
#pvcreate /dev/sdc1
#vgs //新加盤盤符為sdc,大小為6.54T
#vgextend VolGroup /dev/sdc1
#lvs
#lvextend -L +6T /dev/VolGroup/lv_data
#lsblk
#resize2fs /dev/VolGroup/lv_data //開始報錯,如下:
resize2fs 1.41.12 (17-May-2010)
resize2fs: New size too large to be expressed in 32 bits

#df -hT
#lsblk
#使用兩條命令查詢出的lvm大小不一致

#查看Linux系統是32位還是64位,32位只能支持16T。
#getconf LONG_BIT
說明:可以看到該系統為64位,但是lvm到了16T無法識別,猜測可能需要手動啟用64位模式,參考鏈接中提供了解決方法,但未敢嘗試,畢竟是數據庫服務器,操作造成數據缺失太過危險;最終決定將磁盤縮容到15T;
縮容方法如下:
#umount /indata/
#掃描設備lv_data的文件系統是否正常,若不正常會自動修復錯誤。掃描過程漫長,等着;
#e2fsck -f /dev/VolGroup/lv_data
#調整lv_data的文件系統容量值為15T。警告,必須大於df顯示的已用空間。
#resize2fs /dev/VolGroup/lv_data 15T //繼續等
#將lv_data的容量調整成15T
#lvresize -L 15T /dev/VolGroup/lv_data
#lvs查看,發現磁盤容量已經縮容15T;
#mount /dev/VolGroup/lv_data /indata
#掛載正常,終於能正常使用了
#df -hT
=================================================================
參考鏈接:
centos 6 lvm 擴容超過16T的一個坑
https://blog.csdn.net/vic_qxz/article/details/83151554
查看Linux系統是32位還是64位的方法總結
https://www.jb51.net/article/136105.htm
https://www.cnblogs.com/tiantiandas/p/Linux_big_disk.html
=================================================================