操作系統(tǒng)磁盤管理章節(jié)(二)
課程介紹部分
1.磁盤體系結(jié)構(gòu)應(yīng)用
磁盤格式化操作
磁盤掛載操作 如何自動(dòng)掛載 掛載參數(shù)信息
企業(yè)案例: 整個(gè)系統(tǒng)所有文件都變?yōu)橹蛔x狀態(tài)(root用戶也無法修改 文件系統(tǒng)異常) 主要與參數(shù)有關(guān)系
2.系統(tǒng)swap分區(qū)如何調(diào)整大小
課程知識(shí)回顧
1.磁盤知識(shí)體系結(jié)構(gòu)
磁盤物理結(jié)構(gòu)信息 內(nèi)部結(jié)構(gòu)(磁道 扇區(qū):512字節(jié) 柱面) 外部結(jié)構(gòu)(接口 轉(zhuǎn)速)
磁盤陣列知識(shí)說明 RAID LVM
LVM邏輯卷管理的簡(jiǎn)寫,它是linux環(huán)境下對(duì)磁盤分區(qū)進(jìn)行管理的一種機(jī)制,即動(dòng)態(tài)調(diào)整磁盤容量,從而提高磁盤管理的靈活性.
[圖片上傳失敗...(image-f2a489-1564920564239)]
PE(Physical Extend):物理區(qū)域
PV 中可以用于分配的最小存儲(chǔ)單元,可以在創(chuàng)建PV的時(shí)候制定(默認(rèn) 4MB),如1M,2M,4M,8M,32M.....組成同一VG中所有PV的PE大小應(yīng)該相同.
PV(Physical Volume):物理卷
處于LVM最底層,可以是物理硬盤或者分區(qū),整個(gè)硬盤,或使用fdisk等工具建立的普通分區(qū),包括許多默認(rèn)4MB大小的PE(Physical Extent ,基本單元).
VG( Volume Group):卷組
建立在PV之上,可以含有一個(gè)到多個(gè)PV,一個(gè)或多個(gè)物理卷組合而成的整體.
LV( Logical Volume ):邏輯卷
建立在VG之上,相對(duì)于原來分區(qū)的概念,不過大小可以動(dòng)態(tài)改變,從卷組中分割出的一塊空間,用于建立文件系統(tǒng).
LVM邏輯卷操作命令
3) 磁盤分區(qū)實(shí)踐操作 :兩個(gè)命令 fdisk parted
MBR: 引導(dǎo)記錄 引導(dǎo)系統(tǒng)啟動(dòng)數(shù)據(jù)+分區(qū)表+結(jié)束位 512字節(jié) 0磁頭0磁道1扇區(qū)
分區(qū)類型: MBR GPT
磁盤格式化操作 創(chuàng)建文件系統(tǒng)
文件系統(tǒng): 用戶將數(shù)據(jù)存儲(chǔ)到磁盤中的方式 FAT32(單個(gè)文件小于4G) NTFS(沒有單位文件存儲(chǔ)限制)
XFS(存儲(chǔ)效率更高-數(shù)據(jù)庫(kù)) ext3/ext4(存儲(chǔ)效率較低)
創(chuàng)建inode和block
數(shù)據(jù)信息(數(shù)據(jù)屬性信息 數(shù)據(jù)內(nèi)容信息) --- 數(shù)據(jù)屬性信息 --- inode --- 磁盤中
--- 數(shù)據(jù)內(nèi)容信息 --- block (多個(gè)) --- 磁盤中
如何進(jìn)行格式化:
mkfs --- make filesystem(制作一個(gè)文件系統(tǒng))
用法:mkfs.文件系統(tǒng)類型 分區(qū)信息(做格式化)
例如: mkfs.xfs /dev/sdb1
mkfs -t xfs /dev/sdb1
磁盤掛載應(yīng)用
臨時(shí)掛載應(yīng)用: mount /dev/sdb1 /mnt
永久掛載應(yīng)用: /etc/fstab /etc/rc.local
vim /etc/fstab
/dev/sdc1 /mnt xfs defaults 0 0
reboot生效
說明: /etc/fstab文件內(nèi)容編寫錯(cuò)誤, 服務(wù)器啟動(dòng)緩慢/文件系統(tǒng)出現(xiàn)只讀情況
企業(yè)環(huán)境: 文件系統(tǒng)只讀異常問題:
掛載參數(shù): remount ----重新掛載
mount -o remount rw /
**掛載常用參數(shù): defaults **
rw, suid, dev, exec, auto, nouser, and async
rw --- 掛載之后掛載點(diǎn)目錄權(quán)限可讀可寫, 用可讀寫模式掛上
** ro** --- 掛載之后掛載點(diǎn)目錄權(quán)限只讀模式, 用唯讀模式掛上
suid(setuid) --- 掛載之后掛載點(diǎn)中, 可以支持setuid特殊權(quán)限位
nosuid(nosetuid) --- 掛載之后掛載點(diǎn)中, 禁止支持nosetuid特殊權(quán)限位
練習(xí):
mount -o suid /dev/sdc1 /mnt
說明: 在目錄中特殊權(quán)限位命令可以生效
mount -o nosuid /dev/sdc1 /mnt
說明: 在目錄中特殊權(quán)限位命令不可以使用
exec: --- 允許掛載點(diǎn)目錄中代碼或腳本文件執(zhí)行
mount -o exec /dev/sdc1 /mnt
noexec: --- 禁止掛載點(diǎn)目錄中代碼或腳本文件執(zhí)行 安全性
mount -o noexec /dev/sdc1 /mnt
async: --- 異步存儲(chǔ)數(shù)據(jù)方法 用戶存儲(chǔ)數(shù)據(jù) -內(nèi)存- /mnt 磁盤 效率更高 安全性低
sync: --- 同步存儲(chǔ)數(shù)據(jù)方法 用戶存儲(chǔ)數(shù)據(jù) ------ /mnt 磁盤 效率較低 安全性高
卸載掛載點(diǎn)常見問題:
01. 卸載時(shí)所在目錄就是掛載點(diǎn)目錄
02. 卸載時(shí)掛載目錄數(shù)據(jù)被程序占用
強(qiáng)制卸載:
umount -lf /mnt
-l lazy --- 采用懶惰卸載
-f force --- 強(qiáng)制卸載操作
企業(yè)中: 磁盤空間不足如何解決
找出產(chǎn)生磁盤空間占用:
block: 產(chǎn)生大量大文件, 會(huì)造成block空間不足
刪除方式: rm -f 大文件:簡(jiǎn)單粗暴
01. 如何找出大文件:
a 利用find 命令找出大文件
** find -type f -size +100M**
b 利用du 命令找出大文件
du -sh /opt/|sort -hr*
sort -n 按大小排序 -nr倒數(shù)排數(shù)字 -h排文件大小帶單位排序
inode: 產(chǎn)生大量小文件, 會(huì)造成inode空間不足
刪除方式: find /mnt -type f -name "oldboy" -size -2k|xargs rm*
補(bǔ)充: 如何將文件徹底刪除:
條件一: 硬鏈接數(shù)為0 i_link=0
條件二: 進(jìn)程調(diào)用數(shù)為0 i_count=0
建議清除大文件數(shù)據(jù)方式: >/xx/大文件
補(bǔ)充: 判斷命令是否執(zhí)行成功
命令:echo $? 查看上一個(gè)命令返回值:
--- 0 表示判斷上一個(gè)命令執(zhí)行成功
--- 非0 表示判斷上一個(gè)命令執(zhí)行失敗
企業(yè)中: 如何劃分swap分區(qū)
利用for循環(huán),消耗swap分區(qū):for count in {1..100};do dd if=/dev/zero of=/dev/null bs=10000M count=10;done
第一個(gè)里程: 劃分磁盤空間被swap交互分區(qū)使用
dd if=從哪取出存儲(chǔ)空間信息 of=放到哪 bs=每次取出多少 count=取多少次
dd if=/dev/zero of=/tmp/1G bs=100M count=10
[圖片上傳失敗...(image-7374eb-1564920564237)]
把什么通過/dev/null放入黑洞 /dev/zero 從黑洞中拿空白但占用空間的東西出來
第二個(gè)里程: 標(biāo)記文件被swap使用
mkswap /tmp/1G
第三個(gè)里程: 將標(biāo)記文件空間增加到swap分區(qū)空間中
swapon /tmp/1G
第四個(gè)里程: 如何減少swap空間
swapoff /tmp/1G
實(shí)際應(yīng)用: 主要應(yīng)用在服務(wù)器中有java程序時(shí)
作業(yè):
1. 研究mount命令參數(shù): auto, nouser
-o auto涉茧、-o noauto:打開/關(guān)閉自動(dòng)掛上模式。
-o user凭疮、-o nouser:使用者可以執(zhí)行 mount/umount 的動(dòng)作。