Linux數據盤(系統盤)分區

其實這教程也沒更上時代了,fdisk這個命令有兩個缺點:

1.無法分區單個2TB以上的分區

2.無法識別parted的GTP分區

但是學會fdisk命令的分區步驟,相信你對parted命令分區也會很快的掌握

 

教程中是使用自己虛擬機的,阿里雲主機的話就是/dev/sdb改成/dev/vdb或者其他數據盤

一.分區

fdisk -l #查看分區狀態。未分區的硬盤下的下方無分區信息

fdisk /dev/sdb #進行分區命令 

n #創建新分區 p #創建主分區,主分區只能創建3個,之後會創建e,擴展分區。擴展分區(一般不選擇大小將剩餘容量全作爲擴展分區)創建後不能直接使用。 vdb1,vdb2,vdb3,vdb4,vdb5,vdb6 按順序增加。則4爲擴展分區(不能使用)。5,6屬於擴展分區中的邏輯分區(可以使用,掛載之類) 邏輯分區在重啓後才能使用 回車默認開始扇區 #選擇開始扇區 +5G #選擇創建大小,可以用 +[容量大小][單位,G,M,K]

p #查看現在的分區,現在還未正式分區 

w #保存寫入分區

 

 

二.格式化新分區(製作文件系統)

mkfs.ext4 /dev/sdb1 #ext4爲文件系統類型

 

 

三.掛載新分區

1.普通存儲文件

mkdir /mydata #先創建掛載點 

mount /dev/sdb1 /mydata #將新分區sdb1掛載到/mydata目錄上(先保證目錄掛載點存在) 

df -h #查看目錄掛載情況 #mount掛載後的分區重啓需要再次重新掛載才能使用,要修改/etc/fstab配置文件才能開機自動掛載

 

2.創建swap交換分區文件

先按照相同方法再次創建一個大小爲5G的分區

 

mkswap /dev/sdb2 #製作交換分區文件類型文件,交換分區文件不能被像普通分區一樣掛載 

swapon /dev/sdb2 #啓用交換分區文件 

free -h #查看交換分區大小

 

圖上我自己裝系統的時候已經分配2G的交換分區了,現在有分了5G,總共有7G

分區全都掛載了,但是現在一重啓,那些自己分區又需要自己掛載。解決這個問題就需要讓linux開機自動掛載,這個需要修改配置文件

 

四.在fstab中添加開機自動掛載信息

echo '/dev/sdb1 /mydata ext4 defaults 0 0' >> /etc/fstab 
echo '/dev/sdb2 swap swap defaults 0 0' >> /etc/fstab

#圖上的ext3是錯的,這個文件系統要和你創建的時候對應 #這個錯誤還害我在後面的重啓進系統的緊急模式了... #在緊急模式可以本地登錄系統,重新改了一下fstab就可以重新進系統了 #這邊的defaults是有s的。每一箇中間都有一個空格,這個之後要錯一個就會緊急模式

 

這邊也能看見安裝系統時,我自己已經設置的交換分區,不過它使用UUID的方式掛載,這種方式也是最推薦的方式。使用UUID的好處:有些熱插拔硬件(u盤等)根據不同的順序接入,接入不同接口。在/dev/下的命名會不同,而UUID是設備唯一的。

 

最推薦在fstab中用UUID掛載

ls -l /dev/disk/by-uuid #查看分區的UUID,藍色軟連接的就是對應分區的UUID

 

可以看到之前安裝系統自動掛載的分區的UUID就是最先的那塊sda磁盤上的分區

現在我們來改一下我們剛纔的自動掛載文件。(不要傻乎乎直接那我的UUID去,這個我說了是全局,可能全球唯一....)

echo 'UUID=11ee7348-2319-49d1-b1d9-313042ff9751 /mydata ext4 defaults 0 0' >> /etc/fstab
 
echo 'UUID=f5536295-657b-42b7-8ece-1ad6ef8b290f swap swap defaults 0 0' >> /etc/fstab

 

現在重啓看下,分區是不是都自己掛載了!

 

五、最後再來說一下fstab文件吧

 

這邊字段定義是這樣的

<fs_spec> <fs_file> <fs_vfstype> <fs_mntops> <fs_freq> <fs_passno>

#每個字段之間必須要有一個空格,特別想詳細的可以 man fstab 5 自己去看一下 

#第一字段:需要掛載的分區或存儲設備 

#第二字段:掛載點 

#第三字段:掛載的文件系統類型,這個類型必須和你mkfs時候選擇的類型相同 

#第四字段:掛載時的額外參數,defaults默認的是rw, suid, dev, exec, auto, nouser, async這些 auto - 在啓動時或鍵入了 mount -a 命令時自動掛載。 noauto - 只在你的命令下被掛載。 exec - 允許執行此分區的二進制文件。 noexec - 不允許執行此文件系統上的二進制文件。 ro - 以只讀模式掛載文件系統。 rw - 以讀寫模式掛載文件系統。 user - 允許任意用戶掛載此文件系統,若無顯示定義,隱含啓用 noexec, nosuid, nodev 參數。 users - 允許所有 users 組中的用戶掛載文件系統. nouser - 只能被 root 掛載。 owner - 允許設備所有者掛載. sync - I/O 同步進行。 async - I/O 異步進行。 dev - 解析文件系統上的塊特殊設備。 nodev - 不解析文件系統上的塊特殊設備。 suid - 允許 suid 操作和設定 sgid 位。這一參數通常用於一些特殊任務,使一般用戶運行程序時臨時提升權限。 nosuid - 禁止 suid 操作和設定 sgid 位。 noatime - 不更新文件系統上 inode 訪問記錄,可以提升性能(參見 atime 參數)。 nodiratime - 不更新文件系統上的目錄 inode 訪問記錄,可以提升性能(參見 atime 參數)。 relatime - 實時更新 inode access 記錄。只有在記錄中的訪問時間早於當前訪問纔會被更新。(與 noatime 相似,但不會打斷如 mutt 或其它程序探測文件在上次訪問後是否被修改的進程。),可以提升性能(參見 atime 參數)。 flush - vfat 的選項,更頻繁的刷新數據,複製對話框或進度條在全部數據都寫入後才消失。 defaults - 使用文件系統的默認掛載參數,例如 ext4 的默認參數爲:rw, suid, dev, exec, auto, nouser, async. 

#第五字段:dump工具時候進行備份。0表示忽略,1表示備份 這個dump是需要安裝的,雲上有快照基本上不會使用,所以建議0,並且備份也會消耗磁盤性能 

#第六字段:是否進行文件系統檢查和優先級。0表示不會檢查,一般根目錄爲1,其餘需要檢查的爲2

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章