磁盤分區命令與文件系統簡介
這一次的博客是整理一下這周所學的磁盤分區fdisk與mount命令,內容不難但是比較瑣碎,需要記憶的命令比較多,剛好借著博客來復習一下命令,加強一下記憶。廢話不多說,開始!
首先做一下準備工作:在虛擬機上增加一個或多個磁盤,這個比較簡單,在VMware虛擬機上方點虛擬機右鍵—>設置—>選中硬盤點擊添加—->接下來如若只是添加硬盤的話一直點下一步就行了
成功后需要重啟一下或者使用echo ”- – -” /sys/class/scsi_host0/scan命令進行更新
好了,準備工作完成了,開始介紹我們這次博客的第一條磁盤分區命令fdisk。下面介紹fdisk命令的使用方法(適用于MBR分區)
fdisk 硬盤名(/dev/sd*) 進行分區(舉例:fdisk /dev/sdb)
m 幫助
n 建立分區
d 刪除分區
p 顯示分區信息
t 轉換分區類型
a 將指定分區設置/取消 活動分區
L 查看分區類型
o 重建分區表
v 驗證分區表,顯示剩余沒有被分區劃分的扇區數量
g 創建GPT格式的分區(centos7)
q 退出不保存
w 退出并保存,不保存,所有的修改都不生效
fdisk -l 硬盤名(/dev/sd*) 查看硬盤分區信息或者cat /proc/partitions文件,可以查看硬盤的分區信息
兄弟命令gdisk,功能與fdisk相似,適用于GPT分區(GPT分區與MBR存在一定的差異,后者單個分區不超過2T)總之需要建立什么分區就用什么命令,對吧
*******************************************************************************
Parted分區命令,雖然說是一個老命令了,但是既可以建立MBR分區,也可以建立GPT分區,功能強大
雖然強大,但是parted的操作都是實時生效的,小心使用
用法:parted [選項]… [設備 [命令 [參數]…]…]
parted /dev/sdb mklabel gpt|msdos (選擇要建立什么分區GPT或者MSDOS(默認))
parted /dev/sdb print (顯示/dev/sdb硬盤分區信息)
parted /dev/sdb mkpart primary 1 200(交互式為/dev/sdb創建一個1到200M的主分區)
parted /dev/sdb rm 1 (刪除/dev/sdb硬盤中編號為1的分區)
parted -l (顯示硬盤分區信息)
*******************************************************************************
在建立分區后需要同步一下分區表
在centos7中使用partprobe 命令就能同步
而在centos6中 partprobe命令存在BUG使用不成
新增分區用 partx -a /dev/sd*
刪除分區用 partx -d –nr M-N /dev/sd*
查看內核是否已經識別新的分區: cat /proc/partations
練習1;寫一個通過fdisk自動分區的腳本,會對一個空硬盤/dev/sdb進行分區,增加三個大小為1G的主分區。
fdisk屬于非交互式分區,可以與管道符結合使用
echo -e “n\np\n1\n\n+1G\nw\n” |fdisk /dev/sdb 非交互式分區
****************************************************************************************
練習2:使用parted命令,對一個空硬盤/dev/sdb進行分區,增加一個大小為1G的主分區。
parted /dev/sdb mkpart primary 1 1000
parted屬于交互式分區,可以直接對硬盤進行分區
********************************************************************************************************************
文件系統
文件系統是操作系統用于明確存儲設備或分區上的文件的方 法和數據結構;即在存儲設備上組織文件的方法。操作系統 中負責管理和存儲文件信息的軟件結構稱為文件管理系統, 簡稱文件系統 。
Linux文件系統:ext2(Extended file system), ext3, ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs( AIX), swap (目前我了解的只有ext*,xfs,swap文件系統,還要繼續學習)
我們可以進入這個文件 /lib/modules/`uname –r`/kernel/fs (或/etc/filesystems),查看操作系統支持的文件系統。
現在學習比較多的是ext的文件系統,目前有ext2,ext3,ext4三種文件系統,其中ext2 與 ext3,ext4的差別在于是否支持”journal”功能:
日志型文件系統: ext3, ext4, xfs, …
非日志型文件系統: ext2, vfat
文件系統的組成部分: 內核中的模塊:ext4, xfs, vfat 用戶空間的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat
文件系統的管理命令:
mkfs命令 # mkfs.TYPE /dev/sd*(舉例:mkfs.ext4 /dev/sdb2 還可以是mkfs.xfs /dev/sdb2 mkfs.vfat /dev/sdb3….)
【這里要注意的是mkfs.xfs命令可能會用不了,xfs是由xfsdump.x86_64.rpm包(centos7)提供的,所以要安裝包后才能使用】
mkfs -t TYPE /dev/sd*(舉例: mkfs -t ext4 /dev/sdb2,mkfs -t xfs /dev/sdb2)
-L ‘LABEL’: 設定卷標(卷標就像是這個磁盤分區的名字,和UUID,可以通過卷標和UUID對分區進行查找和設置)
ext系列文件系統專用管理工具 mke2fs:)(舉例:mke2fs -t ext3 -b 1024 -L LABEL -m 1 /dev/sdb2)
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L ‘LABEL’
-j: 相當于 -t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i #: 為數據空間中每多少個字節創建一個inode;此大 小不應該小于block的大小
-N #:指定分區中創建多少個inode
-I 一個inode記錄占用的磁盤空間大小,128—4096
-m #: 默認5%,為管理人員預留空間占總空間的百分比
-O FEATURE[,…]:啟用指定特性
-O ^FEATURE:關閉指定特性
練習:創建一個2G的文件系統,塊大小為2048byte,預留1%可 用空間,文件系統ext4,卷標為TEST。
parted /dev/sdb mkpart primary 1 2048;mke2fs -b 2048 -m 1 -t ext4 -L TEST /dev/sdb1
************************************************************************************************
塊設備屬性信息查看 blkid命令
blkid [OPTION]… [DEVICE] (舉例:blkid /dev/sdb)
-U UUID: 根據指定的UUID來查找對應的設備
-L LABEL:根據指定的LABEL來查找對應的設備
管理ext系列文件系統的LABEL e2label:(舉例 e2label /dev/sdb1)
頁可以修改硬盤分區的卷標LABEL(舉例: e2label DEVICE LABEL )
重新設定ext系列文件系統可調整參數的值 tune2fs(類似命令dumpe2fs [-h] 查看超級塊信息)
-l:查看指定文件系統超級塊信息;super block
-L ‘LABEL’:修改卷標
-m #:修預留給管理員的空間百分比
-j: 將ext2升級為ext3
-O: 文件系統屬性啟用或禁用,–O ^has_journal
-o: 調整文件系統的默認掛載選項,–o ^acl
-U UUID: 修改UUID號
*****************************************************************************************************************
文件系統檢測和修復
常發生于死機或者非正常關機之后
掛載為文件系統標記為“no clean”
注意:一定不要在掛載狀態下修復
fsck.TYPE fsck -t TYPE
-p: 自動修復錯誤
-r: 交互式修復錯誤
ext系列文件專用的檢測修復工具 e2fsck
-y:自動回答為yes
-f:強制修復
原創文章,作者:Ganten,如若轉載,請注明出處:http://www.www58058.com/85013