linux磁盤-分區介紹 linux磁盤相關的命令雖然不多,但在實際運維中卻有著重要的作用,因為linux系統及業務都依賴于硬盤。如果磁盤的使用和配置不當,可能會導致系統無法啟動或業務系統無法提供預期的服務,實際運維中常見的問題是由于磁盤空間耗盡而導致無法啟動。
本文將從以下幾個方面介紹Linux磁盤的分區:
- 分區介紹(本章節)
- 創建分區
- MBR & gpt
- 格式化 & 掛載
- inode & 硬連接
- 磁盤操作命令
- 小結
在windows中,我們常見的磁盤是c盤、D盤、E盤等。這些盤符可能位于一個或多個硬盤上。普通用戶通常不需要關注具體是多少個硬盤,但在Linux中,磁盤作為核心資源,我們必須充分了解它們。
在之前的Linux目錄介紹中,我們提到/dev目錄是硬件目錄。如果服務器中有硬盤,它們會在/dev目錄下形成相應的目錄。在Linux中,我們通常使用/dev/sda和/dev/sdb來表示獨立的磁盤。
然后,我們將一個磁盤/dev/sda分成一個或多個分區,并將這些分區分別掛載到不同的目錄下。如果一個分區掛載到Linux目錄上,相當于Windows中的盤符,只是Windows使用C盤、D盤等,而Linux使用的是下面的目錄樹結構:
- /dev/sda1 掛載到 /boot 目錄
- /dev/sda2 掛載到 / 目錄
- /dev/sda3 掛載到 /home 目錄
- /dev/sda4 掛載到 /data 目錄
當然,我們也可以將分區掛載到其他想要的目錄,但操作系統默認自帶的目錄需要在安裝系統時定義好,后期一般不建議修改。
#這是一個本地虛擬機的磁盤,只有一個盤/dev/sda,大小是20G.其中/boot目錄500M,根目錄"/"使用了剩余的19.5G.#當然最下面的還有個設備/dev/sro 其實就是光盤,本地是iso文件,但是如果我要使用,還必須把他掛載到一個目錄才可以使用.[root@localhost ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk ├─sda1 8:1 0 500M 0 part /boot└─sda2 8:2 0 19.5G 0 part /sr0 11:0 1 942M 0 rom
介紹兩個命令,一個是上面已經用到的lsblk,我們用它查看有多少個磁盤以及它們的分區情況。如果磁盤出現故障或其他原因未被識別,這里也不會顯示。在實際運維中,這也可以用來判斷磁盤是否異常。另一個命令是fdisk,它會顯示完整的路徑,日常使用可以根據個人習慣選擇。
[root@localhost ~]# fdisk -l磁盤 /dev/sda:21.5 GB, 21474836480 字節,41943040 個扇區Units = 扇區 of 1 * 512 = 512 bytes扇區大小(邏輯/物理):512 字節 / 512 字節I/O 大小(最小/最佳):512 字節 / 512 字節磁盤標簽類型:dos磁盤標識符:0x000bb97e 設備 Boot Start End Blocks Id System/dev/sda1 * 2048 1026047 512000 83 Linux/dev/sda2 1026048 41943039 20458496 83 Linux
小知識:
在早期,磁盤有一種接口叫ide,在Linux服務器中的設備命名是:/dev/hda,/dev/hdb。
目前主流的SATA接口,在Linux服務器中的設備命名是:/dev/sda,/dev/sdb。
高端服務器中還可能有NVME接口,在Linux服務器中的設備命名是:/dev/nvme0n1,/dev/nvme0n2。
云廠商使用的云硬盤,由于都是分布式的,在Linux服務器中的設備命名是:/dev/vda,/dev/vdb。