Linux:fdisk指令、/etc/fstab
學習自:
Linux fdisk命令詳解:給硬盤分區(qū)_fdisk -l-CSDN博客
初始化Linux數(shù)據(jù)盤(fdisk)|華為云_fdisk 華為云 初始化云盤-CSDN博客
1、說明
新添加硬盤之后,需要用fdisk指令來完成分區(qū)。
不要在當前硬盤上使用fdisk,這會刪除整個系統(tǒng)。
2、用法
輸入fdisk 分區(qū),再輸入m后,可以看到fdisk在分區(qū)過程中的各種用法(注意不要在當前盤上使用,測試請在虛擬機或者新硬盤上進行):

常用的命令有:
a 切換可引導標志,標明分區(qū)是否可以作為引導分區(qū) d 刪除分區(qū),new的反向操作 l 列出已知分區(qū) n 新建分區(qū) q 退出,不保存修改 t 更改分區(qū)系統(tǒng)id w 退出,保存修改
3、例子
1)列出系統(tǒng)中所有的硬盤分區(qū):fdisk -l
fdisk -l Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000c9474 Device Boot Start End Blocks Id System /dev/vda1 * 2048 83886046 41941999+ 83 Linux Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0xace52025 Device Boot Start End Blocks Id System /dev/vdb1 2048 20971519 10484736 83 Linux
解釋
上圖列出了該系統(tǒng)所擁有的兩塊硬盤:/dev/vda1、/dev/vdb1
每段的結(jié)構(gòu)介紹都是一樣的:
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000c9474 Device Boot Start End Blocks Id System /dev/vda1 * 2048 83886046 41941999+ 83 Linux
①
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes
盤/dev/vda1大小42.9G,共83886080個扇區(qū),每個扇區(qū)大小512B。
②
Device Boot Start End Blocks Id System /dev/vda1 * 2048 83886046 41941999+ 83 Linux
扇區(qū)號從2048到83886046。
③扇區(qū)
一個硬盤設(shè)備可以簡單理解為由大量扇區(qū)組成,扇區(qū)是硬盤的最小存儲單元。一個扇區(qū)大小為512B,現(xiàn)在也有更大扇區(qū)的硬盤。
在所有扇區(qū)中,第一個扇區(qū)是最重要的,其中保存了主引導記錄、分區(qū)表。
對于分區(qū)而言,首個分區(qū)總是從2048開始,即上文的start。由于上文只分了一個區(qū),因此這個盤的扇區(qū)Start和End自然就是2048扇區(qū)和83886046扇區(qū)。
2)申請、分區(qū)、掛載新硬盤(下文以華為云硬盤為例,本地盤掛載與此類似,從第三步開始看即可)
①在華為云官網(wǎng)申請一個10G大小的云硬盤

②綁定
這里的掛載是指把這塊盤跟服務(wù)器關(guān)聯(lián),來讓服務(wù)器可以掃描到這塊空的盤:


之后服務(wù)器ecs-7954就可以“看到”這塊盤了,現(xiàn)在去服務(wù)器上檢查一下:

多出了一塊盤,但是現(xiàn)在還沒進行分區(qū),因此無法使用:
③分區(qū)
fdisk /dev/vdb

輸入n,代表開始新建分區(qū)(new):

輸入p,代表主分區(qū)(primary);
再輸入1,代表分區(qū)個數(shù)為1:

之后會讓輸入起始扇區(qū)、結(jié)束扇區(qū)的編號,在都使用默認的情況下,從2048號扇區(qū)(起始扇區(qū)能取到的最小的扇區(qū)號)到最后一個扇區(qū):

輸入w,把上述分區(qū)信息保存到系統(tǒng)分區(qū)表中:

再用一次fdisk -l查看分區(qū)結(jié)果:

完成分區(qū)。
上文的vdb1中的1代表分區(qū)編號,由于我們這里只分了一個區(qū),所以只有一個編號1,如果分了多個區(qū),那么這里的編號就會變多,一個盤最多分4個主分區(qū),即最多有vdb1,2,3,4四個區(qū)(學習自:MBR 分區(qū)最多只能分四個區(qū),那么擴展分區(qū)是如何突破限制的呢?_mbr最多有多少個分區(qū)-CSDN博客)。
④格式化
mkfs.ext4 /dev/vdb1
將磁盤格式化為ex4格式。

⑤掛載
a)創(chuàng)建/data目錄,作為掛載點
mkdir /applog
b)mount掛載
mount /dev/vdb1 /applog

c)檢測磁盤是否可用
cd /applog
vim test.txt
#在test.txt中隨便寫點東西
cat test.txt

d)設(shè)置開機自動掛載
vim /etc/fstab
#在末尾加上掛載信息
/dev/vdb1 /applog ext4 defaults 0 0

測試能否自動掛載:先卸載
umount /applog df -Th

再重新載入掛載信息:
mount -a df -Th

掛載完畢。
4、/etc/fstab
學習自:
1)說明
/etc/fstab這個文件存放的是系統(tǒng)中各個文件系統(tǒng)的信息(file system table,文件系統(tǒng)表)。
當系統(tǒng)啟動的時候,應(yīng)用系統(tǒng)會自動從這個文件讀取信息,根據(jù)其內(nèi)容進行自動掛載的工作。
磁盤被手動掛載之后都必須把掛載信息寫入到/etc/fstab這個文件中,否則下次開機啟動時仍要用mount重新掛載。
2)要求
①根目錄最先掛載,其他所有目錄都是由根目錄衍生出來的;
②掛載點必須是已存在的目錄;
③掛載點要遵守必要的系統(tǒng)目錄架構(gòu)原則;
④所有掛載點只能掛載一個盤,不允許一點多掛;
⑤所有分區(qū)只能掛載一次;
⑥卸載(umount)時,需要先退出掛載點目錄外。
3)例子
①剛掛載了一個盤的新系統(tǒng)(上文華為云掛載的例子)

一共6列:
| 1 | 2 | 3 | 4 | 5 | 6 |
| UUID=fd44…… | / | ext4 | defaults | 1 | 1 |
| /dev/vdb1 | /applog | ext4 | defaults | 0 | 0 |
| 分區(qū)或設(shè)備 | 掛載點 | 文件系統(tǒng)類型 | 掛載選項 | dump選項 | fsck選項 |
第一列:分區(qū)、設(shè)備
第一列是將來要使用的分區(qū)或設(shè)備:除了可以用/dev/vdb1這樣的分區(qū)名外,也可以用UUID=……這種樣式指出要用的設(shè)備。每個分區(qū)被格式化之后都會有一個UUID作為。
可以用blkid指令查看設(shè)備的UUID:
blkid /dev/sda1 /dev/sda1: UUID="e41e19ba-d5b3-4fe0-b661-26a9778c9d45" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="87e818df-01"
第二列:掛載點
第二列是掛載點,即要把哪個目錄當做這塊盤的邏輯入口。
第三列:文件系統(tǒng)類型
ext2, ext3, ext4, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap 及 auto。
第四列:掛載選項
掛載時使用的參數(shù)
一些比較常用的參數(shù)有: auto - 在啟動時或鍵入了 mount -a 命令時自動掛載。 noauto - 只在你的命令下被掛載。 exec - 允許執(zhí)行此分區(qū)的二進制文件。 noexec - 不允許執(zhí)行此文件系統(tǒng)上的二進制文件。 ro - 以只讀模式掛載文件系統(tǒng)。 rw - 以讀寫模式掛載文件系統(tǒng)。 user - 允許任意用戶掛載此文件系統(tǒng),若無顯示定義,隱含啟用 noexec, nosuid, nodev 參數(shù)。 users - 允許所有 users 組中的用戶掛載文件系統(tǒng). nouser - 只能被 root 掛載。 owner - 允許設(shè)備所有者掛載. sync - I/O 同步進行。 async - I/O 異步進行。 dev - 解析文件系統(tǒng)上的塊特殊設(shè)備。 nodev - 不解析文件系統(tǒng)上的塊特殊設(shè)備。 suid - 允許 suid 操作和設(shè)定 sgid 位。這一參數(shù)通常用于一些特殊任務(wù),使一般用戶運行程序時臨時提升權(quán)限。 nosuid - 禁止 suid 操作和設(shè)定 sgid 位。 noatime - 不更新文件系統(tǒng)上 inode 訪問記錄,可以提升性能(參見 atime 參數(shù))。 nodiratime - 不更新文件系統(tǒng)上的目錄 inode 訪問記錄,可以提升性能(參見 atime 參數(shù))。 relatime - 實時更新 inode access 記錄。只有在記錄中的訪問時間早于當前訪問才會被更新。(與 noatime 相似,但不會打斷如 mutt 或其它程序探測文件在上次訪問后是否被修改的進程。),可以提升性能(參見 atime 參數(shù))。 flush - vfat 的選項,更頻繁的刷新數(shù)據(jù),復制對話框或進度條在全部數(shù)據(jù)都寫入后才消失。 defaults - 使用文件系統(tǒng)的默認掛載參數(shù),例如 ext4 的默認參數(shù)為:rw, suid, dev, exec, auto, nouser, async.
第五列:dump備份
dump 工具通過它決定何時作備份. dump 會檢查其內(nèi)容,并用數(shù)字來決定是否對這個文件系統(tǒng)進行備份。 允許的數(shù)字是 0 和 1 。0 表示忽略, 1 則進行備份。大部分的用戶是沒有安裝 dump 的 ,對他們而言 應(yīng)設(shè)為 0。
第六列:fsck,文件系統(tǒng)的檢查順序
fsck決定需要檢查的文件系統(tǒng)的檢查順序。允許的數(shù)字是0, 1, 和2。 根目錄應(yīng)當獲得最高的優(yōu)先權(quán) 1, 其它所有需要被檢查的設(shè)備設(shè)置為 2。0 表示設(shè)備不會被 fsck 所檢查。

浙公網(wǎng)安備 33010602011771號