目錄
- 磁盤結構
- 磁盤分區(qū)
- 磁盤分區(qū)管理
- 文件系統(tǒng)管理
- 掛載
一想幻、磁盤結構
(一)設備文件
設備文件:
linux系統(tǒng)下一切皆文件缸托,設備文件分為塊設備和字符設備塊設備:存取單位為“塊”姥闪,如磁盤
字符設備:存取單位為“字符”蛔溃,如鍵盤
-
設備號碼:
- 主設備號:major number,標識設備類型
- 次設備號:minor number瓦宜,標識同類型不同設備
- 下圖紅色方框內(nèi)蔚万,逗號前為主設備號表示設備類型,逗號后為次設備號
- 創(chuàng)建設備文件 mknod
mknod filepath {b | c} m n // b指塊設備临庇,c指字符設備反璃,m指主設備號,n指次設備號
(二)磁盤設備文件命名:/dev/DEV_FILE
物理磁盤
/dev/sd
假夺,虛擬磁盤/dev/vd
不同磁盤標識:a-z排序淮蜈,如
/dev/sda
,/dev/sdb
同磁盤的不同分區(qū)標識:數(shù)字排序,從1開始已卷,但是并不一定連續(xù)編號梧田,視分區(qū)方式而定,如
/dev/sda1
侧蘸,/dev/sda5
(三)磁盤物理概念
head:磁頭裁眯,一張磁盤的兩個面需要各配置一個磁頭,磁頭數(shù)等于盤面數(shù)
track:磁道闺魏,磁盤盤面分成許多同心圓未状,每個同心圓是一個磁道
sector: 扇區(qū),磁道被分成長度相等的多個區(qū)段為扇區(qū)析桥,每個扇區(qū)大小512bytes
cylinder: 柱面,硬盤上所有盤面上相同位置的磁道組合成的假想的圓柱面
(四)磁盤尋址
磁盤尋址方式:較老的CHS和較新的LBA方式
-
CHS尋址
- 采用24bit位尋址
- 其中前10位表示cylinder艰垂,中間8位表示head泡仗,后面6位表示sector。
- 最大尋址空間:(2^10) * (2^8) * (2^6) * 512B / (2^30) = 8GB
-
LBA尋址
- 采用48bit尋址
- 最大尋址空間128PB
磁盤小于8GB時兩種尋址方式均可猜憎;當磁盤大于8GB時娩怎,必須使用LBA尋址方式。當前硬盤容量遠大于8GB胰柑,CHS尋址已經(jīng)基本淘汰截亦。
二爬泥、磁盤分區(qū)
(一)磁盤分區(qū)的優(yōu)勢
優(yōu)化I/O性能
實現(xiàn)磁盤空間配額限制
提高修復速度
隔離系統(tǒng)和程序
安裝多個OS
采用不同文件系統(tǒng)
(二)分區(qū)方式:MBR和GPT分區(qū)
1. MBR (Master Boot Record) 主引導記錄
-
磁盤的0磁道0扇區(qū)被稱為MBR,一共512bytes的空間分配如下:
- 446 bytes: boot loader 引導程序崩瓤,linux使用grub2
- 64 bytes: DPT 分區(qū)表袍啡,每16byte描述一個分區(qū),可以描述四個分區(qū)
- 2 bytes: 55AA却桶,結束標志境输,表示磁盤有數(shù)據(jù)
從分區(qū)表的容量看,磁盤只能分為四個分區(qū)颖系,稱為主分區(qū)嗅剖。為了能夠分出更多分區(qū),MBR允許建立一個擴展分區(qū)嘁扼,再在擴建分區(qū)內(nèi)創(chuàng)建邏輯分區(qū)信粮。擴展分區(qū)占據(jù)一個主分區(qū)位置,分區(qū)信息存放在MBR中趁啸,從而主分區(qū)和擴展分區(qū)一共不能超過四個蒋院。
-
邏輯分區(qū)的分區(qū)信息存放:擴展分區(qū)中的每個邏輯分區(qū)的0扇區(qū)被稱為EBR擴展引導記錄,其512bytes的空間分配類似于MBR莲绰。
- 446bytes: 未使用
- 64byte: 分區(qū)表欺旧,第一個16bytes指向本邏輯分區(qū),第二個16bytes指向下一個邏輯分區(qū)蛤签,其余兩個16bytes尚未使用
- 2 bytes: 55AA辞友,結束標志
BIOS(基本輸入輸出系統(tǒng))硬件支持MBR分區(qū)方式,使操作系統(tǒng)啟動
2. GPT (GUID Partition Table)
GUID (Global Unique Identifiers) 全局唯一標識符:GPT分區(qū)模式下沒有主分區(qū)震肮、擴展分區(qū)称龙、邏輯分區(qū)之分,每個分區(qū)以128位的UUID (Universally Unique Identifier) 標識戳晌。
GPT分區(qū)表自動備份在分區(qū)頭尾鲫尊,并有CRC校驗位
GPT分區(qū)支持128個分區(qū),使用64位沦偎,支持8Z(512Byte/block )64Z (4096Byte/block)
UEFI (統(tǒng)一擴展固件接口) 硬件支持GPT分區(qū)方式疫向,使操作系統(tǒng)啟動
(三)磁盤分區(qū)的管理
lsblk 列出塊設備
-
磁盤分區(qū)管理工具
- fdisk 創(chuàng)建MBR分區(qū)
- gdisk 創(chuàng)建GPT分區(qū)
- parted 高級分區(qū)操作
1、parted 命令使用
語法:
parted [選項]... [設備[命令[參數(shù)]...]...]
用例
parted /dev/sdb mklabel gpt|msdos //建立GPT或MBR分區(qū)
parted /dev/sdb print //顯示磁盤分區(qū)情況
parted /dev/sdb mkpart primary 1 200 //建立主分區(qū)豪嚎,大小從1M到200M
parted /dev/sdb rm 1 //刪除編號為1的分區(qū)
parted -l //列出所有塊設備分區(qū)情況
- 實驗:
1.將新添加200G的磁盤建立MBR分區(qū)表
命令:parted /dev/sdb mklabel msdos
2.建立主分區(qū)1搔驼,大小從1M到1024M
命令:parted /dev/sdb mkpart primary 1 1024
3.建立主分區(qū)2,大小從1025M到3072M
命令:parted /dev/sdb mkpart primary 1025 3072
4.刪除主分區(qū)2
命令:parted /dev/sdb rm 2
2侈询、fdisk 命令使用
- 用法:
fdisk -l [-u] [device...] //查看分區(qū)舌涨,使用-u=cylinders選項以柱面為單位查看
#----------------------------------------------------------------------------#
fdisk device //管理分區(qū)
子命令:
p //分區(qū)列表
t //更改分區(qū)類型
n //創(chuàng)建新分區(qū)
d //刪除分區(qū)
v //校驗分區(qū)
u //轉(zhuǎn)換單位
w //保存并退出
q //不保存并退出
- 實驗:
1.新加一塊100G的磁盤/dev/sdb,分別以扇區(qū)和柱面為單位查看磁盤分區(qū)信息
命令:
fdisk -l /dev/sdb
fdisk -l -u=cylinders /dev/sdb
2.磁盤分區(qū):第一個主分區(qū)500M扔字,第二個主分區(qū)10G囊嘉,擴展分區(qū)50G温技,其中第一個邏輯分區(qū)20G,第二個邏輯分區(qū)占用擴展分區(qū)剩余空間
2.1命令fdisk /dev/sdb
后扭粱,進入提示頁面舵鳞,輸入n
代表新建分區(qū):
(1)提示選擇分區(qū)類型,輸入p
或者直接回車表示新建主分區(qū)焊刹;
(2)提示選擇分區(qū)編號系任,默認1
,回車選擇默認設置虐块;
(3)提示分區(qū)開始扇區(qū)俩滥,回車按默認設置;
(4)提示分區(qū)結束扇區(qū)贺奠,輸入+500M
霜旧,代表分區(qū)大小500M
,回車完成第一個主分區(qū)設置儡率。其余分區(qū)設置基本類似挂据,按提示操作即可。
2.2分區(qū)建立完成后儿普,輸入p查看分區(qū)列表
3.刪除第一個20G邏輯分區(qū)崎逃,查看分區(qū)表發(fā)現(xiàn)原第二個邏輯分區(qū)的命名有了變化,證明磁盤的命名并不穩(wěn)定眉孩,編寫腳本時要特別防止代碼中出現(xiàn)硬盤設備名稱
4.刪除50G擴展分區(qū)个绍,發(fā)現(xiàn)內(nèi)部的邏輯分區(qū)同時被刪除
5.不保存分區(qū)設置并退出:輸入q即可
- gdisk用于GPT分區(qū),使用方式和fdisk類似浪汪。
3巴柿、同步分區(qū)表
使用分區(qū)工具劃分分區(qū)后,需要將磁盤上的分區(qū)信息同步至內(nèi)存中
查看內(nèi)核是否已經(jīng)識別新的分區(qū):
cat /proc/partitions
CentOS 6上同步分區(qū)
partx
或kpartx
partx -a /dev/device //同步增加的分區(qū)死遭,-a 增加分區(qū)
kpartx -a /dev/device //同步增加的分區(qū)广恢,-f 強制同步分區(qū)表
partx -d --nr M-N /dev/device //同步減少的分區(qū),-d 刪除分區(qū)呀潭,-nr 指明刪除分區(qū)范圍
kpartx -d /dev/device //同步減少的分區(qū)
- CentOS 5和CentOS 7上同步分區(qū)
partprobe
partprobe [/dev/device] //同步分區(qū)
三钉迷、文件系統(tǒng)
功能:組織和分配存儲設備的空間
查看系統(tǒng)支持的文件系統(tǒng)類型:ls /lib/modules/`uname -r`/kernel/fs
-
文件系統(tǒng)類型
- linux:ext2, ext3, ext4, xfs, swap
- 光盤::iso9660
- Windows:fat32, exfat, ntfs
- 網(wǎng)絡文件系統(tǒng):NFS, CIFS
- RAW:未經(jīng)處理或未經(jīng)格式化產(chǎn)生的文件系統(tǒng)
-
是否支持日志
- 支持日志:ext3, ext4, xfs
- 不支持日志:ext2, vfat
四、文件系統(tǒng)管理
(一)創(chuàng)建文件系統(tǒng) mkfs
- 語法:
mkfs.fstype /dev/device //fstype: ext3,ext4,xfs .etc
mkfs -t fstype /dev/device //fstype: ext3,ext4,xfs .etc
- mke2fs:ext文件系統(tǒng)專用管理工具蜗侈,使用mkfs建立ext文件系統(tǒng)自動調(diào)用此命令
選項:
-t {ext2 | ext3 | ext4} //分區(qū)類型
-b {1024 | 2048 | 4096} //指定塊的大小
-L 'LABEL' //指定卷標
-j //相當于-t ext3篷牌,mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i # //一個inode標識多少字節(jié)空間,不要小于block大小踏幻,格式化后不能更改
-N # //指定分區(qū)中創(chuàng)建多少個inode
-I # //一個inode記錄占用的磁盤空間大小,范圍:128至4096戳杀,格式化后不能更改
-m # //為管理人員預留空間占總空間的百分比该面,默認5%
-O FEATURE //啟用指定特性
-O ^FEATURE //關閉指定特性
- 實驗:
現(xiàn)在有三個分區(qū)尚未創(chuàng)建文件系統(tǒng)夭苗,按以下配置創(chuàng)建:
(1)/dev/sdb1,ext3分區(qū)隔缀,卷標"USER"题造;
(2)/dev/sdb2,ext4分區(qū)猾瘸,塊大小2048字節(jié)界赔,2048字節(jié)/inode;
(3)/dev/sdb3牵触,ext4分區(qū)淮悼,預留空間占比2%。 - 命令:
mkfs.ext3 -L 'USER' /dev/sdb1
mke2fs -t ext4 -b 2048 -i 2048 /dev/sdb2
mkfs -t ext4 -m 2 /dev/sdb3
對/dev/sdb1建立文件系統(tǒng)后揽思,顯示的信息中:第一個紅框表示卷標設置成功袜腥,第二個紅框表示默認有5%的分區(qū)空間預留給超級用戶,第三個紅框表示超級塊備份到分區(qū)的很多地方
對/dev/sdb2建立文件系統(tǒng)后钉汗,顯示的信息中:紅框中的inode數(shù)和block數(shù)基本相同羹令,這是因為建立文件系統(tǒng)時塊大小和每個inode標識塊的大小相同。-i選項數(shù)值應該大于-b選項值损痰,只有這樣產(chǎn)生的inode數(shù)才會少于block數(shù)福侈。否則,inode數(shù)大于block數(shù)卢未,多出的inode數(shù)就被浪費掉了肪凛。
對/dev/sdb3建立文件系統(tǒng)后,顯示的信息中:紅框中的為超級用戶的預留空間為總空間的2%尝丐。
(二)管理文件系統(tǒng)
- blkid 查詢塊設備屬性
blkid -U UUID //根據(jù)指定的UUID查詢設備
blkid -L LABLE //根據(jù)指定的LABLE查詢設備
- findfs 查找分區(qū)显拜,功能與blkid類似
findfs UUID="uuid" //根據(jù)指定的UUID查詢設備
findfs LABEL="label" //根據(jù)指定的LABLE查詢設備
- tune2fs 修改ext文件系統(tǒng)的可修改屬性
-l //查看指定文件系統(tǒng)超級塊(superblock)信息
-L 'LABEL' //修改卷標,也可以使用 e2label /dev/device label 修改
-m # //修改預留給管理員的空間百分比
-j //將ext2升級為ext3爹袁,即添加日志功能
-O //文件系統(tǒng)屬性啟用或禁用远荠,禁用在屬性前加^
-o //調(diào)整文件系統(tǒng)的默認掛載選項,禁用在屬性前加^
-U UUID //修改UUID號
- 實驗:將分區(qū)/dev/sdb2預留給管理員空間的百分比調(diào)至3%失息,增加卷標"TWO"譬淳,掛載屬性添加acl支持
命令:
tune2fs -l /dev/sdb2
tune2fs -L 'TWO' -m 3 -o acl /dev/sdb2
首先使用-l選項查看當前文件系統(tǒng)的配置信息,第一個紅框表明默認掛載選項為空盹兢,第二個紅框38556/771120=5%表明為管理員預留的5%空間率邻梆。
修改文件系統(tǒng)屬性后,再次查看绎秒,如圖紅框中所示:增加了acl掛載選項浦妄,為管理員預留的空間率變?yōu)?3133/771120=3%。
- dumpe2fs 顯示超級塊和塊組信息
dumpe2fs /dev/device //顯示設備的超級塊和塊組信息
dumpe2fs -h /dev/device //只顯示設備的超級塊信息
(三)文件系統(tǒng)檢測和修復
常發(fā)生在死機剂娄、意外關機之后
文件系統(tǒng)修復必須在未掛載狀態(tài)下
-
fsck (File System Check) 文件系統(tǒng)修復工具
語法蠢涝,以下兩種格式均可:
fsck.FS_TYPE [options] /dev/device
fsck -t FS_TYPE [options] /dev/device選項:
-p: 自動修復錯誤
-r: 交互式修復錯誤
e2fsck ext文件系統(tǒng)修復工具
e2fsck -y /dev/device //修復過程自動回答yes
e2fsck -f /dev/device //強制檢測修復分區(qū),即使分區(qū)沒問題也執(zhí)行
- 實驗:修復文件系統(tǒng)
命令:
dumpe2fs /dev/sdb1 | head -100
dd if=/dev/zero of=/dev/sdb1 bs=1 count=4096
tune2fs -l /dev/sdb1
e2fsck -y /dev/sdb1
首先使用dumpe2fs 命令查看塊組信息阅懦,如圖第2行指明/dev/sdb1分區(qū)的主超級塊位于塊1和二,下一步考慮破壞塊1制造磁盤文件系統(tǒng)損壞
可以看到使用dd命令在對/dev/sdb1分區(qū)的前4096字節(jié)破壞后,磁盤出現(xiàn)了損壞耳胎,提示沒有發(fā)現(xiàn)有效的系統(tǒng)超級塊
可以看到/dev/sdb1修復成功惯吕,紅框內(nèi)文件系統(tǒng)狀態(tài)為clean
五、掛載 mount
掛載:將文件系統(tǒng)與當前目錄樹中的目錄建立聯(lián)系怕午,從而通過進入目錄訪問該文件系統(tǒng)
卸載:解除文件系統(tǒng)與被掛載目錄的聯(lián)系關系
被掛載的目錄稱作掛載點废登,掛載后目錄下的內(nèi)容將暫時被隱藏,無法被訪問
掛載點一般選擇空目錄诗轻,避免目錄原內(nèi)容無法訪問的問題
(一)mount 掛載命令
語法:
mount [options] device mount_point
分區(qū)設備:包含設備文件钳宪、UUID、卷標扳炬、偽文件系統(tǒng)
UUID: -U "UUID" 卷標:-L "LABEL"掛載點:建議使用空目錄
選項:
-t vsftype //指定要掛載設備的文件系統(tǒng)類型吏颖,不指明系統(tǒng)會檢測文件系統(tǒng)類型
-r //readonly,只讀掛載
-w //read and write, 讀寫掛載
-n //不更新/etc/mtab恨樟,mount不可見
-a //自動掛載所有支持自動掛載的設備(在/etc/fstab文件定義半醉,且掛載選項中有auto功能)
-L 'LABEL' //以卷標指定掛載設備
-U 'UUID' //以UUID指定要掛載的設備
-B, --bind //綁定目錄到另一個目錄上
- -o 掛載文件系統(tǒng)的子選項:
async //異步模式
sync //同步模式——內(nèi)存更改時同時寫磁盤
atime/noatime //是否更新文件系統(tǒng)文件和目錄的atime時間戳
diratime/nodiratime //是否更新目錄的atime時間戳
auto/noauto //是否支持自動掛載,即是否支持-a選項
exec/noexec //是否支持在文件系統(tǒng)上運行應用程序
dev/nodev //是否支持在此文件系統(tǒng)上使用設備文件
suid/nosuid //是否支持suid和sgid權限
remount //重新掛載劝术,經(jīng)常在給只讀文件系統(tǒng)增加寫屬性時配合-rw選項使用
ro //只讀
rw //讀寫
user/nouser //是否允許普通用戶掛載此設備缩多,/etc/fstab使用
acl //啟用此文件系統(tǒng)上的acl功能
loop //使用loop設備
defaults //相當于rw, suid, dev, exec, auto, nouser, async, and relatime
cat /proc/mounts
查看內(nèi)核追蹤到的所有已掛載設備,mount -n選項的掛載也可以看到實驗:
按以下要求掛載:
(1)/dev/sdb1掛在到/mnt/dir1养晋,不更新時間戳
(2)/dev/sdb2掛在到/mnt/dir2衬吆,只讀模式,然后不卸載直接改為讀寫模式
(3)/dev/sdb3掛在到/mnt/dir3绳泉,不支持suid和sgid權限逊抡,不更新/etc/mtab
(4)將/app/file1文件掛載到/mnt/dir4
(5)將/etc目錄掛載到/mnt/dir5
(6)將/dev/sdb2掛載到/mnt/dir6
命令:
//first step
mount -o noatime /dev/sdb1 /mnt/dir1
//second step
mount -o ro /dev/sdb2 /mnt/dir2
mount -o remount,rw /dev/sdb2 /mnt/dir2
//third step
mount -o nosuid -n /dev/sdb3 /mnt/dir3
//forth step
dd if=/dev/zero of=/app/file1 bs=1M count=500
mkfs -t ext3 /app/file1
mount -o loop /app/file1 /mnt/dir4
//fifth step
mount -B /etc /mnt/dir5
//sixth step
mount /dev/sdb2 /mnt/dir6
mount /dev/sdb3 /mnt/dir1
第一步,掛載成功零酪。
第二步冒嫡,第一次掛載時采用只讀模式,導致無法新建文件四苇;重新掛載時改為讀寫模式孝凌,成功新建文件。
第三步月腋,掛載后無論df命令還是mount命令都無法看到/dev/sdb3的掛載信息蟀架。
此時瓣赂,只能從/proc/mounts下才能看到。
將/bin/cat文件拷貝至/mnt/dir3并為其增加suid權限辜窑,登錄普通用戶并嘗試訪問/etc/shadow文件失敗钩述。此時寨躁,重新掛載將屬性改為suid穆碎,再登錄普通用戶并嘗試訪問/etc/shadow文件成功。
第四步职恳,使用dd命令創(chuàng)建文件所禀,使用mkfs命令創(chuàng)建文件系統(tǒng),df結果證明文件也可以掛載放钦。
第五步色徘,mount時使用-B選項成功掛載。此時操禀,發(fā)現(xiàn)原目錄和掛載點目錄下文件完全相同褂策,并且出現(xiàn)了相同文件inode號相同,inode節(jié)點數(shù)卻是1的特殊現(xiàn)象颓屑。
第六步斤寂,將/dev/sdb2掛載到/mnt/dir6后發(fā)現(xiàn)掛載成功,/mnt/dir2和/mnt/dir6都能夠訪問/dev/sdb2分區(qū)內(nèi)容揪惦。將/dev/sdb3掛載到/mnt/dir1后發(fā)現(xiàn)掛載成功遍搞,但/mnt/dir1訪問的是/dev/sdb3分區(qū)內(nèi)容,/dev/sdb1分區(qū)內(nèi)容被隱藏器腋。所以溪猿,單個分區(qū)可以掛載到不同目錄,但不要把幾個分區(qū)掛載到同一個目錄纫塌。
(二)unmount 卸載命令
卸載前需要確保文件系統(tǒng)沒有被進程訪問诊县,如果有,需要查詢是什么進程訪問文件系統(tǒng)措左,如有必要需要終止占用的進程依痊。
查看掛載情況
findmnt mount_point | device
查看正在訪問文件系統(tǒng)的進程
// 兩個命令均可
lsof mount_point
fuser -v mount_point
終止正在訪問文件系統(tǒng)的進程
fuser -km mount_point
卸載
umount mount_point | device
在有進程訪問時卸載分區(qū)
在另一個終端用vim訪問/mnt/dir1目錄內(nèi)的文件,用lsof
或fuer -v
發(fā)現(xiàn)訪問程序媳荒,使用fuer -km
命令強行結束訪問分區(qū)的vim程序抗悍,從而順利卸載分區(qū)。
(三)/etc/fstab 文件
/etc/fstab文件用于配置文件系統(tǒng)體系钳枕,系統(tǒng)啟動時按照此文件的設置掛載文件系統(tǒng)缴渊,同時被mount, fsck等工具使用
-
/etc/fstab文件格式:每行定義一個要掛載的文件系統(tǒng),具體如下
- 要掛載的文件系統(tǒng):可以是設備文件鱼炒、UUID衔沼、LABEL和偽文件系統(tǒng)(e.g. proc)
- 掛載點
- 文件系統(tǒng)類型
- 掛載選項:defaults
- 備份頻率:0-不備份;1-每天備份;2-隔一天備份
- 自檢次序:0-不自檢指蚁;1-首先自檢菩佑,一般只有根文件系統(tǒng)才會設置
實驗:系統(tǒng)啟動時自動掛載分區(qū),具體如下:
(1)/dev/sdb1掛載到/mnt/dir1
(2)將/app/file1文件掛載到/mnt/dir4
(3)將/etc目錄掛載到/mnt/dir5
編輯/etc/fstab文件增加如下幾行:
UUID=c825e990-eb35-49b1-9f94-72b06786b612 /mnt/dir1 ext3 defaults 0 0
/app/file1 /mnt/dir4 ext3 loop 0 0
/etc /mnt/dir5 none bind 0 0
通過blkid查看/dev/sdb1的UUID凝化,用于編輯/etc/fstab文件稍坯。編輯完成后,重啟系統(tǒng)會按照/etc/fstab的設置啟動各個分區(qū)搓劫。當新添加的配置信息的掛載選項中有auto時(default中有auto瞧哟,直接寫loop或者bind也包含default選項)屠升,執(zhí)行mount -a
選項會自動掛載/etc/fstab文件有auto選項的新添加條目面氓。
(四)交換分區(qū):系統(tǒng)內(nèi)存的補充
-
交換分區(qū)設置步驟:
- 創(chuàng)建交換分區(qū)
fdisk
或文件循签,注意改變分區(qū)類型 - 使用
mkswap
命令寫入特殊簽名 - 在
/etc/fstab
文件中添加條目 - 使用
swapon -a
激活交換分區(qū)
- 創(chuàng)建交換分區(qū)
啟用交換分區(qū)
swapon [options] [device]
-a //激活所有交換分區(qū)
-p priority //指定優(yōu)先級逊朽,priority=0~32767,值越大優(yōu)先級越高
禁用交換分區(qū)
swapoff [options] [device]
-
交換分區(qū)優(yōu)先級:
- 交換分區(qū)優(yōu)先級值越大優(yōu)先級越高
- 系統(tǒng)指定的交換分區(qū)優(yōu)先級從-1開始阿蝶,每加入一個用戶沒有指定的交換分區(qū)凌箕,其優(yōu)先級減一犀填,故越早加入的系統(tǒng)指定交換分區(qū)優(yōu)先級越高
- 用戶指定的交換分區(qū)優(yōu)先級范圍:0-32767辛慰,所以任意用戶指定的交換分區(qū)優(yōu)先級高于系統(tǒng)指定
- 調(diào)整交換分區(qū)優(yōu)先級用于優(yōu)化性能深员,提高存取速度較快的交換分區(qū)優(yōu)先級
實驗:交換分區(qū)的設置
命令:
fdisk /dev/sdb5
mkswap /dev/sdb5
vim /etc/fstab
swapon -a
swapoff -a
分區(qū)時注意改變作為交換分區(qū)的分區(qū)system id负蠕,通過fdisk工具的t選項將id號由默認83改為82
建立swap分區(qū),通過blkid命令可以看到/dev/sdb5已經(jīng)成為swap分區(qū)
vim編輯/etc/fstab文件辨液,增加條目虐急,內(nèi)容如下:
UUID=2b29e986-cd2c-435e-9431-6636c834a1e5 swap swap defaults 0 0
掛載交換分區(qū)成功,查看優(yōu)先級發(fā)現(xiàn)系統(tǒng)默認新添加的交換分區(qū)優(yōu)先級低于舊交換分區(qū)
再次編輯/etc/fstab文件滔迈,將/dev/sdb5分區(qū)的掛載選項增加pri值為10止吁,再次掛載交換分區(qū),此時發(fā)現(xiàn)/dev/sdb5的優(yōu)先級最高
(五)掛載移動介質(zhì)
訪問移動介質(zhì)前必須掛載
摘除移動介質(zhì)前必須卸載
掛載點通常在/media和/mnt下
1. 使用光盤
光盤自動掛載目錄:
/run/media/<user>/<label>
手動掛載:
mount /dev/cdrom /mnt
卸載并彈出光盤:
eject
創(chuàng)建iso文件:
cp /dev/cdrom filename.iso //從光盤創(chuàng)建iso文件
mkisofs -r -o filename.iso /path //將目錄下的所有文件打包為iso文件
- 實驗:將CentOS 6.9 兩張光盤內(nèi)容合成為一個iso文件
命令:
//first step 將光盤1的內(nèi)容復制到/app/CentOS_6.9_Final_Everything目錄下
cp -r /media/CentOS_6.9_Final/ /app/CentOS_6.9_Final_Everything
//second step 將光盤2的內(nèi)容復制到/app/CentOS_6.9_Final_Everything目錄下
cp -r /media/CentOS_6.9_Final/Packages/* /app/CentOS_6.9_Final_Everything/Packages/
//third step 安裝mkdvdiso.sh的依賴isomd5sum
yum install isomd5sum
//final step 執(zhí)行mkdvdiso.sh生成可啟動的iso文件
bash mkdvdiso.sh /app/CentOS_6.9_Final_Everything/ /app/CentOS_6.9_x86_64_Final_Everything.iso
2. 掛載USB介質(zhì)
查看USB設備是否被識別
lsusb
USB介質(zhì)會被內(nèi)核識別為SCSI設備燎悍,設備編號類似/dev/sdb1
自動掛載目錄:
/run/media/<user>/<label>
手動掛載:
mount /dev/sdb1 /mnt
(六) 磁盤管理常用工具
free 內(nèi)存空間狀態(tài)查詢
free [-m | -g | -h] //-m 以MB為單位敬惦,-g 以GB為單位,-h以人類易讀方式顯示
df 文件系統(tǒng)占用等信息查詢
df [options] [files]
-H //以1000為單位
-h //以人類易讀方式顯示
-i //顯示節(jié)點號
-T //顯示文件系統(tǒng)類型
- du 查看目錄總體空間占用情況
du [options] dir
-h //以人類易讀方式顯示
-s //顯示摘要信息
- dd 轉(zhuǎn)化并復制文件
語法:dd if=/path/to/src of=/path/to/dest bs=# count=#
解釋:
if //從設備文件谈山、文件處輸入
of //輸出至文件
bs //指定輸入俄删、輸出的塊大小
ibs //一次輸入塊的大小
obs //一次輸出塊的大小
cbs //一次轉(zhuǎn)化塊的大小
skip //從開頭忽略輸入的塊數(shù)
seek //從開頭忽略輸出的塊數(shù)
count //拷貝記錄數(shù)
應用:
dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1 //備份MBR
dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446 //破壞MBR的分區(qū)表
dd if=/dev/sda of=/dev/sdb //將磁盤/dev/sda整體備份至/sdb/sdb
dd if=/dev/sda of=/path/to/image //將磁盤/dev/sda整體備份為image文件
dd if=/path/to/image of=/dev/sda //將image文件恢復至磁盤/dev/sda
dd if=/dev/urandom of=/dev/sda //用隨機數(shù)據(jù)填充硬盤,可用于銷毀數(shù)據(jù)