從零開始:Linux系統(tǒng)安裝與分區(qū)最佳實(shí)踐
運(yùn)維老司機(jī)的肺腑之言:系統(tǒng)分區(qū)就像房屋裝修的水電布局,一旦做錯,后期改動成本巨大!本文將分享我10年運(yùn)維經(jīng)驗(yàn)中總結(jié)的分區(qū)策略和安裝技巧。
開篇:為什么分區(qū)策略如此重要?
還記得第一次裝Linux系統(tǒng)時的忐忑嗎?面對fdisk命令行界面,不知道該如何下手。經(jīng)歷過無數(shù)次系統(tǒng)重裝、數(shù)據(jù)丟失的痛苦后,我總結(jié)出了這套"零事故"的分區(qū)方案。
真實(shí)案例:某公司數(shù)據(jù)庫服務(wù)器因?yàn)榉謪^(qū)不當(dāng),日志文件撐爆了根分區(qū),導(dǎo)致系統(tǒng)無法啟動,最終損失200萬。這樣的悲劇,完全可以通過合理分區(qū)避免!
分區(qū)策略全景圖
生產(chǎn)環(huán)境推薦分區(qū)方案
# 標(biāo)準(zhǔn)服務(wù)器分區(qū)布局(以500GB硬盤為例) /boot - 1GB (啟動分區(qū),獨(dú)立確保系統(tǒng)可啟動) / - 50GB (根分區(qū),系統(tǒng)核心文件) /home - 100GB (用戶數(shù)據(jù),方便遷移和備份) /var - 150GB (日志和緩存,避免撐爆系統(tǒng)) /tmp - 20GB (臨時文件,定期清理) /opt - 100GB (第三方軟件安裝目錄) swap - 16GB (虛擬內(nèi)存,建議為物理內(nèi)存1-2倍) /data - 剩余 (業(yè)務(wù)數(shù)據(jù)專用分區(qū))
不同場景的分區(qū)策略
桌面用戶方案
/ - 100GB (系統(tǒng)+軟件) /home - 剩余 (個人文件) swap - 8GB (內(nèi)存<16GB時設(shè)置)
開發(fā)環(huán)境方案
/ - 80GB (系統(tǒng)核心) /home - 200GB (開發(fā)項(xiàng)目) /var - 50GB (構(gòu)建緩存) /opt - 100GB (開發(fā)工具) swap - 16GB /workspace - 剩余 (項(xiàng)目代碼專用)
云服務(wù)器方案
/ - 40GB (精簡系統(tǒng)) /var - 60GB (日志監(jiān)控) /data - 剩余 (應(yīng)用數(shù)據(jù)) swap - 文件形式(靈活調(diào)整)
安裝前的硬件檢查清單
BIOS/UEFI 配置要點(diǎn)
# 檢查啟動模式 [ -d /sys/firmware/efi ] &&echo"UEFI模式"||echo"Legacy模式" # 關(guān)鍵BIOS設(shè)置: Secure Boot: 建議關(guān)閉(避免驅(qū)動問題) SATA Mode: AHCI模式(性能最佳) Virtualization: 開啟(支持容器和虛擬化) UEFI Boot: 推薦開啟(支持大硬盤)
硬盤健康檢查
# 安裝前必做的硬盤檢測 smartctl -a /dev/sda # 查看硬盤健康狀態(tài) badblocks -v /dev/sda # 壞道檢測 hdparm -tT /dev/sda # 性能測試 # 關(guān)鍵指標(biāo)解讀: # Reallocated_Sector_Ct: >0 需警惕 # Current_Pending_Sector: >0 立即更換 # UDMA_CRC_Error_Count: >1000 檢查數(shù)據(jù)線
分區(qū)實(shí)戰(zhàn)演練
方案一:命令行專業(yè)分區(qū)(推薦)
# 1. 查看磁盤信息 lsblk fdisk -l # 2. 進(jìn)入分區(qū)工具 fdisk /dev/sda # 3. 創(chuàng)建GPT分區(qū)表(支持大硬盤) g # 創(chuàng)建GPT分區(qū)表 # 4. 創(chuàng)建EFI分區(qū)(UEFI必需) n # 新建分區(qū) 1 # 分區(qū)號 # 起始扇區(qū)(默認(rèn)) +512M# 大小 t # 更改分區(qū)類型 1 # EFI System # 5. 創(chuàng)建boot分區(qū) n 2 +1G t 2 20 # Linux filesystem # 6. 創(chuàng)建LVM分區(qū)(靈活管理) n 3 # 使用剩余空間 t 3 30 # Linux LVM w # 寫入分區(qū)表
方案二:LVM動態(tài)分區(qū)(企業(yè)首選)
# 1. 創(chuàng)建物理卷 pvcreate /dev/sda3 # 2. 創(chuàng)建卷組 vgcreate vg_system /dev/sda3 # 3. 創(chuàng)建邏輯卷 lvcreate -L 50G -n lv_root vg_system # 根分區(qū) lvcreate -L 150G -n lv_var vg_system # var分區(qū) lvcreate -L 100G -n lv_home vg_system # home分區(qū) lvcreate -L 20G -n lv_tmp vg_system # tmp分區(qū) lvcreate -L 16G -n lv_swap vg_system # swap分區(qū) # 4. LVM的最大優(yōu)勢:后期可調(diào)整! lvextend -L +50G /dev/vg_system/lv_var # 擴(kuò)容var分區(qū) resize2fs /dev/vg_system/lv_var # 擴(kuò)展文件系統(tǒng)
文件系統(tǒng)選擇策略
主流文件系統(tǒng)對比
文件系統(tǒng) | 適用場景 | 優(yōu)勢 | 劣勢 |
ext4 | 通用場景 | 穩(wěn)定、兼容性好 | 性能一般 |
xfs | 大文件、高IO | 高性能、支持大文件 | 不支持縮容 |
btrfs | 現(xiàn)代化需求 | 快照、壓縮、校驗(yàn) | 相對較新 |
zfs | 企業(yè)存儲 | 數(shù)據(jù)完整性、壓縮 | 內(nèi)存消耗大 |
實(shí)戰(zhàn)文件系統(tǒng)創(chuàng)建
# ext4 - 通用推薦 mkfs.ext4 -L"root"/dev/vg_system/lv_root mkfs.ext4 -L"home"/dev/vg_system/lv_home # xfs - 高性能場景 mkfs.xfs -L"var"/dev/vg_system/lv_var mkfs.xfs -L"data"/dev/vg_system/lv_data # 設(shè)置swap mkswap /dev/vg_system/lv_swap # 優(yōu)化掛載參數(shù) mount -o defaults,noatime,discard /dev/vg_system/lv_root /mnt
系統(tǒng)安裝核心技巧
網(wǎng)絡(luò)安裝配置(推薦)
# 1. 配置網(wǎng)絡(luò)源(提升安裝速度) # CentOS/RHEL 清華源 sed -i's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g'/etc/yum.repos.d/CentOS-Base.repo # Ubuntu 阿里源 cat> /etc/apt/sources.list <'EOF' deb https://mirrors.aliyun.com/ubuntu/ focal main restricted deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted deb https://mirrors.aliyun.com/ubuntu/ focal universe deb https://mirrors.aliyun.com/ubuntu/ focal-updates universe EOF # 2. 最小化安裝 + 后期定制 # 只安裝Base System,避免無用軟件包
自動化安裝腳本
#!/bin/bash # auto_install.sh - 自動化分區(qū)腳本 DISK="/dev/sda" VG_NAME="vg_system" # 分區(qū)自動化 parted -s$DISKmklabel gpt parted -s$DISKmkpart ESP fat32 1MiB 513MiB parted -s$DISKset1 esp on parted -s$DISKmkpart primary 513MiB 1537MiB parted -s$DISKmkpart primary 1537MiB 100% parted -s$DISKset3 lvm on # LVM自動化 pvcreate${DISK}3 vgcreate$VG_NAME${DISK}3 lvcreate -L 50G -n lv_root$VG_NAME lvcreate -L 16G -n lv_swap$VG_NAME lvcreate -l 100%FREE -n lv_home$VG_NAME # 文件系統(tǒng)創(chuàng)建 mkfs.fat -F32${DISK}1 mkfs.ext4${DISK}2 mkfs.ext4 /dev/$VG_NAME/lv_root mkfs.ext4 /dev/$VG_NAME/lv_home mkswap /dev/$VG_NAME/lv_swap echo"分區(qū)完成!準(zhǔn)備安裝系統(tǒng)..."
性能優(yōu)化黃金配置
fstab優(yōu)化配置
# /etc/fstab 優(yōu)化示例 UUID=xxx / ext4 defaults,noatime,discard 0 1 UUID=xxx /boot ext4 defaults,noatime 0 2 UUID=xxx /home ext4 defaults,noatime,discard 0 2 UUID=xxx /var xfs defaults,noatime,discard 0 2 UUID=xxx /tmp ext4 defaults,noatime,discard,nodev,nosuid,noexec 0 2 UUID=xxx none swap defaults 0 0 # 關(guān)鍵參數(shù)解釋: # noatime: 不更新訪問時間,提升性能 # discard: 支持SSD TRIM,延長壽命 # nodev,nosuid,noexec: /tmp安全加固
內(nèi)核參數(shù)調(diào)優(yōu)
# /etc/sysctl.conf 生產(chǎn)環(huán)境優(yōu)化 vm.swappiness = 10 # 降低換頁頻率 vm.dirty_ratio = 15 # 臟頁刷新比例 vm.dirty_background_ratio = 5 # 后臺刷新比例 fs.file-max = 2097152 # 最大文件句柄數(shù) net.core.rmem_max = 16777216 # 網(wǎng)絡(luò)緩沖區(qū)優(yōu)化 net.core.wmem_max = 16777216
安全加固策略
分區(qū)安全設(shè)置
# 1. /tmp 安全掛載 mount -o remount,nodev,nosuid,noexec /tmp # 2. /var/tmp 鏈接到 /tmp rm-rf /var/tmp ln-s /tmp /var/tmp # 3. 禁用不必要的文件系統(tǒng) echo"install cramfs /bin/true">> /etc/modprobe.d/blacklist.conf echo"install freevxfs /bin/true">> /etc/modprobe.d/blacklist.conf echo"install jffs2 /bin/true">> /etc/modprobe.d/blacklist.conf
磁盤加密方案
# LUKS全盤加密(高安全需求) cryptsetup luksFormat /dev/sda3 cryptsetup luksOpen /dev/sda3 encrypted_lvm pvcreate /dev/mapper/encrypted_lvm # 后續(xù)LVM操作與常規(guī)相同 # 生產(chǎn)環(huán)境建議:敏感數(shù)據(jù)分區(qū)加密,系統(tǒng)分區(qū)不加密
常見問題解決方案
安裝過程問題排查
# 1. 啟動失敗排查 # 檢查grub配置 grub2-mkconfig -o /boot/grub2/grub.cfg # 重新安裝grub grub2-install /dev/sda # 2. 分區(qū)識別問題 # 更新分區(qū)表 partprobe /dev/sda # 檢查UUID blkid /dev/sda1 # 3. LVM激活問題 vgchange -ay # 激活所有卷組 vgscan # 掃描卷組 pvscan # 掃描物理卷
救援模式操作
# 系統(tǒng)無法啟動時的救援步驟 # 1. 啟動救援模式 # 2. 激活LVM vgchange -ay # 3. 掛載根分區(qū) mount /dev/vg_system/lv_root /mnt/sysimage # 4. 進(jìn)入chroot環(huán)境 chroot/mnt/sysimage # 5. 修復(fù)問題后重啟
監(jiān)控與維護(hù)
分區(qū)使用率監(jiān)控
#!/bin/bash # disk_monitor.sh - 磁盤監(jiān)控腳本 THRESHOLD=80 df-h | awk'NR>1 { usage = $5 gsub(/%/, "", usage) if (usage > THRESHOLD) { print "警告: " $6 " 分區(qū)使用率達(dá)到 " $5 print "可用空間: " $4 } }'| mail -s"磁盤空間警告"admin@company.com
LVM擴(kuò)容操作
# 在線擴(kuò)容步驟(生產(chǎn)環(huán)境驗(yàn)證) # 1. 添加新硬盤 pvcreate /dev/sdb vgextend vg_system /dev/sdb # 2. 擴(kuò)展邏輯卷 lvextend -L +100G /dev/vg_system/lv_var # 3. 擴(kuò)展文件系統(tǒng) # ext4 resize2fs /dev/vg_system/lv_var # xfs xfs_growfs /var
高級技巧分享
自動化部署集成
# kickstart 配置示例(CentOS/RHEL) cat> /var/www/html/ks.cfg <'EOF' #version=RHEL8 ignoredisk --only-use=sda autopart --type=lvm clearpart --all --initlabel --drives=sda # 分區(qū)自定義 part /boot --fstype="xfs"?--ondisk=sda --size=1024 part pv.01 --fstype="lvmpv"?--ondisk=sda --grow volgroup vg_system --pesize=4096 pv.01 logvol / --fstype="xfs"?--size=51200 --name=lv_root --vgname=vg_system logvol /var --fstype="xfs"?--size=153600 --name=lv_var --vgname=vg_system logvol swap --fstype="swap"?--size=16384 --name=lv_swap --vgname=vg_system EOF
容器化環(huán)境分區(qū)
# Docker/Kubernetes 節(jié)點(diǎn)分區(qū)建議 / - 50GB (系統(tǒng)核心) /var/lib/docker - 200GB (容器存儲) /var/lib/kubelet - 100GB (Pod存儲) /data - 剩余 (持久化存儲) # 使用專用文件系統(tǒng) mkfs.xfs -n ftype=1 /dev/vg_system/lv_docker # Docker需要
安裝后檢查清單
系統(tǒng)健康檢查
# 完整的系統(tǒng)檢查腳本 #!/bin/bash echo"=== 系統(tǒng)安裝驗(yàn)證報(bào)告 ===" echo"安裝時間:$(date)" echo"" echo"1. 分區(qū)信息:" df-h echo"" echo"2. LVM狀態(tài):" vgs lvs echo"" echo"3. 掛載點(diǎn)檢查:" mount | column -t echo"" echo"4. 系統(tǒng)負(fù)載:" uptime free -h echo"" echo"5. 磁盤IO性能:" ddif=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=direct rm-f /tmp/testfile echo"" echo"6. 網(wǎng)絡(luò)連通性:" ping -c 3 8.8.8.8 echo"" echo"=== 驗(yàn)證完成 ==="
總結(jié)與最佳實(shí)踐
黃金法則
1.規(guī)劃先行:永遠(yuǎn)不要急著分區(qū),先畫出分區(qū)圖
2.預(yù)留空間:LVM至少保留20%空間用于擴(kuò)容
3.分離關(guān)鍵目錄:/var、/tmp、/home獨(dú)立分區(qū)
4.備份重要數(shù)據(jù):分區(qū)前務(wù)必備份重要文件
5.測試驗(yàn)證:生產(chǎn)環(huán)境方案先在測試機(jī)驗(yàn)證
運(yùn)維老司機(jī)的忠告
? 選擇合適的方案:沒有最好的分區(qū)方案,只有最適合的
? 自動化是趨勢:手工分區(qū)效率低,擁抱自動化工具
? 監(jiān)控不能少:分區(qū)不是一勞永逸,需要持續(xù)監(jiān)控
? 保持學(xué)習(xí):技術(shù)在發(fā)展,分區(qū)策略也要與時俱進(jìn)
進(jìn)階學(xué)習(xí)路徑
1.容器化存儲:學(xué)習(xí)Docker、Kubernetes的存儲方案
2.軟件定義存儲:Ceph、GlusterFS等分布式存儲
3.云原生存儲:CSI、StorageClass等Kubernetes存儲概念
4.存儲性能優(yōu)化:NVMe、存儲分層等前沿技術(shù)
-
Linux
+關(guān)注
關(guān)注
88文章
11575瀏覽量
216593 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
9995瀏覽量
90065 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3978瀏覽量
67407
原文標(biāo)題:從零開始:Linux系統(tǒng)安裝與分區(qū)最佳實(shí)踐
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何在Ubuntu Linux上釋放/boot分區(qū)中的空間
Linux安裝的幾點(diǎn)經(jīng)驗(yàn)
linux安裝中出現(xiàn)的分區(qū)問題?
Linux系統(tǒng)安裝時分區(qū)的選擇(推薦)
使用VMware給虛擬機(jī)安裝linux系統(tǒng)
怎么讓linux系統(tǒng)支持ntfs分區(qū)
Linux系統(tǒng)的性能優(yōu)化策略
安裝Linux操作系統(tǒng)課件
如何分區(qū)LINUX安裝系統(tǒng)
Linux快速入門之Linux安裝

評論