Linux采用這種分區,后患無窮,現在知道還來得及嗎?
場景復現
朋友說他有個Linux系統當時建的比較早,跑了很多年,不需要產生多少數據文件,最近業務變動,要求能存更多文件數據。請我看下Linux下的多個分區能否都擴容一下?
它的/home分區對應/dev/sda2 ,隨后是3個數據分區+1個臨時存儲的tmp分區。
希望把/dev/sda10到/dev/sda12 的這3個分區擴容。并要求不要刪現有的分區,要求實現就地擴容。
我一看,好家伙,分區格式是ext3的,這是一大硬傷,ext3文件系統沒有日志保護功能,遇到意外掉電是容易損壞數據的。更嚴重的是,/dev/sda10到sda13是連續的分區(如下圖),從Start-end的位置看出,這些分區緊挨著。
所以很明顯如果按他要求的就地擴容,是不可能了,比如圖1中的/dev/sda11 分區,對分區擴容都是將分區的end位置調整到更大的位置,但又不允許后面分區的start做出改變,那么確實無法擴容。
所以看到這里的朋友應該明白了,這種分區方式在建立之初就埋下了無法擴容的問題。
Linux分區能動態擴容的推薦做法
對于個人電腦用戶、開發者、運維工程師來說,使用Linux系統作為工作系統,初期就要考慮到文件分區的可擴展性、文件系統的穩定性。網上關于一些牛X的文件系統格式(如ZFS)有很多推薦,但從穩定性、兼容性和出了問題容易修復的角度,小編建議大家選擇 ext4、BtrFS、XFS 等已經被廣泛證明過的文件系統類型。
另外,建議使用LVM 分區管理方式,而不是直接用/dev/sdxN(x為字母,N為數字,分別代表第x塊硬盤的第N個分區)這種裸分區。
LVM(Logical Volume Manager)是一種邏輯卷管理技術,它可以將多個物理磁盤或分區組合成一個邏輯卷,并提供了靈活的存儲管理功能。LVM 最初是由 Sun Microsystems 公司在 1998 年推出的,隨后被許多操作系統和存儲解決方案所采用。經過20多年的發展,LVM 已經成為了一種非常流行的存儲管理技術,它可以幫助管理員更輕松地管理存儲空間,提高存儲的利用率和靈活性。LVM 可以實現動態擴容、數據遷移、快照等功能,為系統的存儲管理提供了很大的便利。