新增一顆磁碟:
1.對磁碟進行分割,以建立可用的partition
2.對該分割槽partition進行格式化(format),以建立系統可用的filesystem
3.若要仔細點,可對剛剛建立的filesystem進行檢驗
4.在linux上面,需要建立掛載點(亦即是目錄)將它掛載上去
一、觀察磁碟分割狀態(lsblk、blkid、parted)
lsblk(list block device):列出系統上的所以磁碟列表
blkid:獲取UUID
補充(打錯字了):這樣識別碼就可以拿來作為掛載或者使用這個裝置檔案系統之用了
parted:列出磁碟的分割表類型和分割資訊
二、磁盤分割(gdisk/fdisk)
gdisk:GPT分割格式使用(以下都試使用gdisk來分割的)
fdisk:MBR分割格式使用
注意:gdisk /dev/sda不能寫錯gdisk /dev/sda1,因為partition是針對整個磁碟裝置的,不是針對某個partition的
比較重要的指令:
d:刪除一個分割槽
n:添加一個新的分割槽
q:退出,不保存修改
w:保存修改后離開
p:打印分區表(里面有目前磁碟的狀態)
從上圖可以看出:
a.該磁碟還可以進行額外的分割,因為它的最大磁區為83886080,但是它只用到65026047
b.每一個分割槽的start磁區都是上一個分割槽的結束磁區加1
強烈建議:你可以使用gdisk或者fdisk在磁碟上面隨便怎么弄,但是千萬不要按下【w】,千萬記得按下【q】,此外不要在GPT上面使用fdisk或者在MBR上面使用gdisk,因為指令的錯誤可能導致磁盤的分割記錄全部死光光;
使用gdisk新增分割槽(分割過程):
分割槽的檔案格式查詢:linux的基本就是8200(swap)/8300/8e00三種格式,windows的幾乎都用0700
當確保分割槽正確的情況下,按下【w】:
此時的磁碟還在使用當中,不能立即載入新的磁盤分割資訊,有兩種方式解決:
1.關機重啟
2.使用partprobe這個命令來處理
partprobe:更新linux核心的分割表資訊
磁碟格式化(mkfs.xfs):(注意【重點】:當你在系統中新分割了兩個partition后,分別將它們格式化了,然后把他們刪除后,你再去重新創建新的分區,這時候你會發現,分割的新的partition直接就格式化好了,剛好就是剛才刪除的那兩個格式化了的分區的filesystem,當你分割了兩個分割槽之后,第三個開始才沒有被格式化)
舉例:xfs可以使用多個資料流來讀寫系統,以增加速度,因此那個agcount可以和CPU的核心數來做搭配
跳過:XFS檔案系統for RAID效能優化(Optional)
其他的檔案系統的mkfs
檔案系統的檢驗(不經常用,也不希望去用):
注意:通常只有你是root身份,且你的檔案系統有問題的時候才使用這個命令,否則正常情況下使用該命令,可能會造成對系統的危害
執行xfs_repair/fsck.ext4時被檢查的分區務必不可掛載到系統上,既是需要在卸載的狀態下
語法:xfs_repair [-fnd] 裝置名稱
-f :後面的裝置其實是個檔案而不是實體裝置
-n :單純檢查並不修改檔案系統的任何資料 (檢查而已)
-d :通常用在單人維護模式底下,針對根目錄 (/) 進行檢查與修復的動作!很危險!不要隨便使用
fsck.ext4:處理ext4檔案系統
檔案系統的掛載與卸載:
單一檔案系統不應該重復掛載在不同的掛載點(目錄)中
單一目錄不應該重復掛載多個檔案系統
要作為掛載點的目錄,理論上應該是空目錄才對(如果原目錄不為空,那么掛載了檔案系統之后,該目錄下的東西會暫時的消失;直到你把這個檔案系統卸載之后,該目錄原來的東西又會出現)
掛載的指令mount:
/etc/filesystem:系統指定的測試掛載檔案系統類型的優先順序
/proc/filesystem:linux系統已經載入的檔案系統類型
/lib/modules/3.10.0-327.el7.x86_64/kernel/fs/:linux系統支援的檔案系統的驅動程序
磁碟與檔案系統參數修訂:
檔案如何代表該裝置呢?根據主要(major)和次要(minor )代碼,linux的系統核心就可以識別對應的裝置了
如吐所示:其中8為主要代碼,代表着/dev/sda,而0-5為次要代碼,一下是常見的一些主要次要代碼:
mknod(某些時候需要手動處理裝置檔案):
xfs_admin 修改xfs檔案系統的LABEL NAME 和UUID;
疑問:因為mount后面接着檔名也可以掛載的,為什么要需要通過uuidgen來生成新的一串uuid來掛載呢?
解:你沒有辦法指定這個磁碟在所以的linux中檔名一定都會是固定不變的(比如:一直都是/dev/sda4),但是在linux中uuid是唯一的,很難重復
tune2fs修改ext4檔案系統的LABEL NAME和UUID:
設定開機掛載(重要文件:/etc/fstab檔案系統表和/etc/mtab掛載點表),特殊裝置loop掛載(暫時不看):
當你使用mount掛載了某個分區到某個目錄上面,只要你改變了該目錄的結構,其實就是改變了該分區(檔案系統的結果),而不是改變了這個目錄
開機自動掛載(修改/etc/fstab文件)的限制:
根目錄{/}是必須掛載的,而且一定要先於其他mount point(掛載點)掛載進來
其他掛載點必須為己建立目錄,可任意只指定,但是必須遵循系統目錄架構原則(FHS)
所有掛載點在同一時間內只能掛載一次
所以partition在統一時間內只能掛載一次
如果要進行卸載,則必須先將工作目錄移動到mount point(及其子目錄)之外
/etc/fstab(檔案系統表):
總共分為留個欄位:
第一:磁碟裝置名/UUID/LABEL NAME
第二:掛載點
第三:檔案系統
第四:檔案系統參數
第五:能否被dump備份指令作用(直接輸入0就好了)
第六:是否以fsck檢測磁區(看看檔案系統是否完整clean),直接填寫0就行(因為xfs檔案系統會以它自己的方式去進行額外的檢測,fsck對xfs檔案系統不適用)
設置開機掛載步驟:
a>.查詢好需要掛載的檔案系統的uuid/label name/裝置檔名{xfs:xfs_admin -lu /dev/sda5 ; ext4:tune2fs -l /dev/sda4 | grep name/UUID 或者dumpe2fs -h /dev/sda4 | grep name/UUID}
b>.vi /etc/fstab,添加需要掛載的檔案系統,比如:
UUID=ce88f08a-0676-4fc5-af7d-8928ecd53fae /data/ext4 ext4 defaults 0 0
UUID=701b1cfa-0e83-4986-86c8-0e5481262421 /data/xfs xfs defaults 0 0
c>.最后測試一下寫入的語法有沒有錯誤:
mount -a
df 掛載目錄(查看是否掛載成功,以后開機就會自動掛載)
d>./etc/fstab是開機時的設定檔,實際上filesystem的掛載信息是記錄在/etc/mtab和/proc/mounts這兩個檔案中的,每次我們更動filesystem時就會修改這兩個文件,萬一你在/etc/fstab中輸入的語法有錯誤,導致無法正常開機,就會進入單人維護模式,是只讀的 read only的狀態,也就無法更新這兩個文件了,解決辦法: mount -n -o remount,rw /
記憶體置換空間(swap)之建置:
先新建一個partition(類型8200):
開始建置swap格式化、並觀察載入:
添加開機自動掛載(/etc/fstab):
暫時跳過。。。。。。。
內容參考自鳥哥linux私房菜,傳送門:http://linux.vbird.org/;