服务器扩充后问题总结:Value too large for defined data type
問題描述:
?服務器擴充后(900G -》 2.7T) , Linux 代碼交叉編譯出現問題。
出現:?Value too large for defined data type
(eCos產品編譯雖然結果不同,但原理應該是一樣的)
服務器采用了LVM分區,一個LV為2.7T掛載在home目錄下,采用xfs文件系統。
編譯出錯日志如下:
?
排除編譯權限、代碼完整性、依賴環境的問題, 分析可能是擴容后。分析為服務器的文件系統掛載,與編譯器之間的兼容性問題:參考資料如下
https://www.it610.com/article/5128654.htm
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44116
從BRCM 6755 能編譯通過來看 (arm-gcc-5.5) , RTL產品(msdk-4.4.7-mips-EL)來看, 符合其分析的 4.6.x 以上編譯器無此問題。
服務器掛載如下:
/dev/mapper/cl-home on /home type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
解決方案:
雖然LVM的分區方式可以非常靈活的進行服務器的擴容, 但是對于交叉編譯來說(廠商的編譯工具鏈比較老),會出現這種兼容問題。
采用了傳統的邏輯分區,在2T中分出了23個分區,每人固定大小掛載各自的Home目錄上。這個操作也不算復雜,只能說靈活性較差,但足以滿足當前業務需求。
總結
以上是生活随笔為你收集整理的服务器扩充后问题总结:Value too large for defined data type的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cmake使用
- 下一篇: Linux数据报文接收发送总结5