Linux入門之 磁盤管理與掛載
在我們使用計算機或者是服務器時,總會需要接入外部存儲的時候,正如我們使用的移動硬盤、U盤、接入手機等,就是一個接入外部存儲的過程。上述這些在接入Windows時我們都能看到系統會自動安裝驅動,接着就可以直接使用了。但是在LInux下,我們若想手動接入一塊硬盤,有四個步驟:
1.磁盤分區 2.格式化 3.掛載 4.存儲和讀取
磁盤
磁盤是指利用磁記錄技術存儲數據的存儲器。磁盤是計算機主要的存儲介質,可以存儲大量的二進制數據,並且斷電后也能保持數據不丟失。
早期計算機使用的磁盤是軟磁盤(soft disk,簡稱軟盤),如今常用的磁盤是硬磁盤(hard disk,簡稱硬盤)。
軟盤 Soft Disk
硬盤 Hard Disk
硬盤最基本的組成部分是由堅硬金屬材料制成的塗以磁性介質的盤片,不同容量硬盤的盤片數不等。每個盤片有兩面,都可記錄信息。盤片被分成許多扇形的區域,每個區域叫一個扇區,每個扇區可存儲128×2的N次方(N=0.1.2.3)字節信息。在DOS中每扇區是128×2的2次方=512字節,盤片表面上以盤片中心為圓心,不同半徑的同心圓稱為磁道。硬盤中,不同盤片相同半徑的磁道所組成的圓柱稱為柱面。磁道與柱面都是表示不同半徑的圓,在許多場合,磁道和柱面可以互換使用,我們知道,每個磁盤有兩個面,每個面都有一個磁頭,習慣用磁頭號來區分。扇區,磁道(或柱面)和磁頭數構成了硬盤結構的基本參數,幫這些參數可以得到硬盤的容量,基計算公式為:
存儲容量=磁頭數×磁道(柱面)數×每道扇區數×每扇區字節數
硬盤結構
1. MBR(主引導記錄)位於硬盤第一個物理扇區(絕對扇區)柱面0,磁頭0,扇區1處。由於DOS是由柱面0,磁頭1,扇區1開始,故MBR不屬於DOS扇區,DOS不能直接訪問。
2. MBR中包含硬盤的主引導程序和硬盤分區表。分區表有4個分區記錄區。記錄區就是記錄有關分區信息的一張表。它從主引導記錄偏移地址01BEH處連續存放,每個分區記錄區占16個字節。
磁盤的表示方法
/dev/sda1
sd 代表磁盤接口類型 USB SATA SAS等接口 IDE 用hd表示
a b c 磁盤的順序
1 2 3 4磁盤中的分區號
磁盤的分區號只有1-4,但是如:sda1 中的數字標識可不止1-4,也有5以上的,如sdb5、sdb6等,這是表示為邏輯驅動器。(可理解為1-4為分區,5及5以上為邏輯驅動器)
磁盤分區
計算機中存放信息的主要的存儲設備就是硬盤,但是硬盤不能直接使用,必須對硬盤進行分割,分割成的一塊一塊的硬盤區域就是磁盤分區。在傳統的磁盤管理中,將一個硬盤分為兩大類分區:主分區和擴展分區。
主分區是能夠安裝操作系統,能夠進行計算機啟動的分區,這樣的分區可以直接格式化,然后安裝系統,直接存放文件。
擴展分區是將一個硬盤驅動器分成若干個邏輯驅動器,把硬盤連續的區塊當做一個獨立的磁硬使用。理論上,邏輯驅動器是無上限的。
一塊硬盤最多可被分為四個區,也就是說這四個分區的大小就是硬盤的大小。這四個分區可定義為主分區或擴展分區,主分區可以直接格式化、安裝系統或直接存放文件。擴展分區不能直接使用,應在其內部划分若干個邏輯驅動器后才能使用。
擴展分區不能直接格式化,我們只能格式化擴展分區里的邏輯驅動器。
此處須注意理解擴展分區與邏輯驅動器的概念。
fdisk命令
fdisk磁盤分區命令
fidsk [命令選項] [參數]
命令選項
-l list 列出磁盤分區
-u 與-l一起使用,顯示分區的相關信息
fdisk /dev/sda 為/dev/sda分區
m :顯示菜單和幫助信息
a :活動分區標記/引導分區
d :刪除分區
l :顯示分區類型
n :新建分區
p :顯示分區信息
q :退出不保存
t :設置分區號
v :進行分區檢查
w :保存修改
x :擴展應用,高級功能
命令缺點:單個分區不能超過2T 超過的話需要用parted命令
在linux 下大磁盤的分區不能再采用fdisk了,MBR分區表只支持2T磁盤,所以大於2T的磁盤必須使用GPT分區表。
parted磁盤分區命令
parted是Linux中另外一款常用的分區軟件,它支持的范圍也非常廣,包括ext2、ext3、linux-swap等,當然也支持在Windows平台上使用。
NAME
parted - a partition manipulation program
SYNOPSIS
parted [options] [device [command [options...]...]]
OPTIONS
-h, --顯示幫助信息
-i, --交互模式
-s, --腳本模式
-v, --顯示版本
dumpe2fs命令 分區信息顯示(dumpe2fs是查看ext2/ext3/ext4 文件系統信息的命令)
[root@localhost /]# dumpe2fs /dev/sdb2
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 441acc5d-7d3d-4081-9558-b739a258f5e2
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 22528
Block count: 90112
Reserved block count: 4505
Free blocks: 81615
Free inodes: 22517
First block: 1
Block size: 1024
Fragment size: 1024
Group descriptor size: 64
Reserved GDT blocks: 256
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 2048
Inode blocks per group: 256
Flex block group size: 16
Filesystem created: Tue Oct 8 09:52:36 2019
Last mount time: Wed Oct 9 07:15:36 2019
Last write time: Wed Oct 9 07:32:12 2019
Mount count: 7
Maximum mount count: -1
Last checked: Tue Oct 8 09:52:36 2019
Check interval: 0 (<none>)
Lifetime writes: 7529 kB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 541a67b8-fe59-4928-90f1-7a3261db2574
Journal backup: inode blocks
Journal features: journal_64bit
Journal size: 4096k
Journal length: 4096
Journal sequence: 0x00000007
Journal start: 0
blkid命令 查看磁盤分區 UUID信息
# blkid /dev/vda1
/dev/vda1: UUID="eb448abb-3012-4d8d-bcde-94434d586a31" TYPE="ext4"
磁盤格式化
mkfs命令
格式化(format)是指對磁盤或磁盤中的分區(partition)進行初始化的一種操作,這種操作通常會導致現有的磁盤或分區中所有的文件被清除。格式化通常分為低級格式化和高級格式化。如果沒有特別指明,對硬盤的格式化通常是指高級格式化,而對軟盤的格式化則通常同時包括這兩者。
格式化可理解為給分區安排一個文件系統,用於負責管理和存儲數據的系統。
文件系統類型分 fat、ntfs、ext2、ext3、ext4、xfs、iso9660(光盤文件系統) 等
NAME
mkfs - build a Linux filesystem
SYNOPSIS
mkfs [options] [-t type] [fs-options] device [size]
-L 標簽名
-V : 詳細顯示模式
-t : 給定檔案系統的型式,Linux 的預設值為 ext2
-c : 在制做檔案系統前,檢查該partition 是否有壞軌
-l bad_blocks_file : 將有壞軌的block資料加到 bad_blocks_file 里面
-b : 給定 block 的大小
關於block and inode dentry
實驗發現這句話不對
block越大,inode越少,適合存儲大文件的文件系統;block越小,inode越多,適合存儲文件多而小的文件系統。
磁盤分區格式化
mkfs -t ext4 /dev/sdb2
掛載
Linux中的所有設備必須經過掛載才可以被用戶使用,掛載的方式其實就是將某個設備掛到文件系統中的某個文件夾,就是將設備和文件夾映射在一起,對文件夾的操作就是對設備的操作。
mount命令 掛載
NAME
mount - mount a filesystem
SYNOPSIS
mount [-lhV]
mount -a [-fFnrsvw] [-t vfstype] [-O optlist]
mount [-fnrsvw] [-o option[,option]...] device|dir
mount [-fnrsvw] [-t vfstype] [-o options] device dir
OPTIONS
-a 掛載所有文件系統,參考文件 /etc/fstab
-l 顯示當前掛載
-t 文件系統類型
-o 指定掛載權限
umount命令 卸載
NAME
umount - unmount file systems
SYNOPSIS
umount [-hV]
umount -a [-dflnrv] [-t vfstype] [-O options]
umount [-dflnrv] {dir|device}...
OPTIONS
-l, 懶惰卸載
自動掛載 /etc/fstab文件
設備 掛載點 文件系統 權限 備份 檢測
第一列 設備源文件或者UUID
第二列 設備掛載點
第三列 文件系統類型
第四列
auto: 系統自動掛載,fstab默認就是這個選項
defaults: rw, suid, dev, exec, auto, nouser, and async.
noauto 開機不自動掛載
nouser 只有超級用戶可以掛載
ro 按只讀權限掛載
rw 按可讀可寫權限掛載
user 任何用戶都可以掛載
第五列是dump備份設置。
當其值設置為1時,將允許dump備份程序備份;設置為0時,忽略備份操作;
第六列是fsck磁盤檢查設置。
其值是一個順序。當其值為0時,永遠不檢查;而 / 根目錄分區永遠都為1。其它分區從2開始,數字越小越先檢查,如果兩個分區的數字相同,則同時檢查。
##sdb
/dev/sdb2 /opt/data1 ext4 defaults 0 0
/dev/sdb5 /opt/data2 xfs ro 0 0
/dev/sdb6 /opt/data3 ext3 rw 0 0
在掛載完成后就可進行磁盤的使用了