別再折騰了,生產(chǎn)環(huán)境磁盤就該這么分!區(qū)分物理機(jī)和虛擬機(jī)的不同分法
對(duì)于運(yùn)維來說,磁盤分區(qū)也是重要的一課。我今天根據(jù)多年的運(yùn)維經(jīng)驗(yàn),分享一些磁盤分區(qū)的原則。

1. 越簡單越好
生產(chǎn)環(huán)境里,分區(qū)方案其實(shí)就幾個(gè)重點(diǎn):
- 必須有的:啟動(dòng)分區(qū)/boot、根分區(qū)/、數(shù)據(jù)分區(qū)/data(不一定是/data也可以是其他名字)
- 可選的:swap(內(nèi)存不夠時(shí)兜底用)、/boot/efi(物理機(jī)必需)
其他那些 /var、/opt、/home 的,大部分時(shí)候都沒必要單獨(dú)分一個(gè)區(qū),數(shù)據(jù)不是很多,放根分區(qū)就好。
2. 物理服務(wù)器怎么分?
物理服務(wù)器一般都是 UEFI 啟動(dòng),所以必須有 /boot/efi。
一個(gè)常見的分法是:
- /boot/efi:200~600M,放 EFI 引導(dǎo)文件,沒有它可能開不了機(jī)
- /boot:1G,放內(nèi)核和啟動(dòng)文件
- /:50~100G,裝系統(tǒng)
- /data:剩下的全部,放應(yīng)用、數(shù)據(jù)庫、日志
- swap:16~32G(可選),給內(nèi)存兜底用,像K8S這些就可以不使用
總結(jié)一句:物理機(jī)一定要有 /boot/efi,不然后果很嚴(yán)重。
3. 虛擬機(jī)怎么分?
虛擬機(jī)(KVM、VMware、云主機(jī))大多數(shù)還是 BIOS 啟動(dòng),這里就不需要 /boot/efi 了。
推薦分法:
- /boot:1G,啟動(dòng)分區(qū)
- /:50~100G,系統(tǒng)
- /data:剩下的全部,業(yè)務(wù)數(shù)據(jù)都放這里
- swap:8~16G(可選),兜底
甚至很多云主機(jī)廠商干脆不給 /boot,直接給你一個(gè) / 根分區(qū),你只要記得單獨(dú)掛一個(gè) /data 就好。
4. swap 要不要?
swap 就是“假內(nèi)存”。當(dāng)內(nèi)存不夠用時(shí),系統(tǒng)會(huì)把部分?jǐn)?shù)據(jù)寫到 swap 去。
(1) 建議有 swap 的場景
- 內(nèi)存比較?。?lt;16G),swap 可以兜底,swap = 內(nèi)存大小,避免 OOM 殺進(jìn)程
- 某些數(shù)據(jù)庫(Oracle、PostgreSQL)安裝時(shí)強(qiáng)制要求存在 swap
(2) 可以不分 swap 的場景
- 內(nèi)存充足(32G/64G+),系統(tǒng)穩(wěn)定跑內(nèi)存內(nèi)業(yè)務(wù)
- 高性能場景(數(shù)據(jù)庫、Redis),不希望 swap 拖慢 IO
- 已經(jīng)用 cgroup / Kubernetes 等限制資源
注意:swap 只是兜底,不是讓你當(dāng)內(nèi)存用。業(yè)務(wù)長期跑在 swap 上,性能會(huì)被拖死。
5. 最后總結(jié)
生產(chǎn)環(huán)境分區(qū),別搞復(fù)雜,記住幾個(gè)關(guān)鍵點(diǎn)就行:
- 物理機(jī):/boot/efi + /boot + / + /data + (swap 可選)
- 虛擬機(jī):/boot + / + /data + (swap 可選)
還有一個(gè)問題就是你是一塊盤還是多塊盤,如果是多塊盤,/boot和/分區(qū)用一塊,其他給數(shù)據(jù)盤使用。還可以用LVM將多塊盤做成邏輯卷,給數(shù)據(jù)盤使用。
復(fù)雜是新手的炫技, 簡單才是老司機(jī)的智慧。























