Linux系統管理——磁盤與文件系統管理

                                 第十章 磁盤與文件系統管理

一、磁盤結構及分區表示
1、磁盤基礎
(1)硬盤的結構
①數據結構
1)扇區:每個扇區存放512字節,磁片被分爲多個扇形區域
2)磁道:同一盤片不同班級的同心圓
3)柱面:不同盤片相同半徑構成的圓柱面
②物理結構
1)盤片:多個盤片,每個盤片2面
2)磁頭:每面一個磁頭
③儲存容量=磁頭數*磁道數*每道扇區數*每扇區字節數
(2)硬盤的接口
ATA(IDE)
Advanced Technology Attachment,並口數據線連接主板與硬盤,抗擾性太差,且佔空間大,不利於散熱,已逐漸被SATA取代
SATA
Serial ATA,抗擾性強,支持熱插拔,速度快,糾錯能力強
SCSI
Small Computer System Interface,小型機系統接口。廣爲工作站級個人電腦及服務器使用,傳輸資料時CPU佔用率較低,轉速快,支持熱插拔
SAS
新一代SCSI技術,和SATA相同,採取序列式技術以獲得更高的傳輸速度,可達到6Gb/s
2、磁盤分區表示
(1)MBR
①包含引導程序和分區表
②分區表中存儲着硬盤的每個分區信息
每塊硬盤之多可以劃分4個分區
劃分更多分區時可對某一分區進行擴展
最大隻支持2T
(2)GPT
支持每個磁盤上超過4個分區
UEFI相輔相成
(3)磁盤分區的表示
①硬盤
②分區
(4)Linux中使用的文件系統類型
EXT4
SWAP
XFS
3、windows中的卷分類
(1)跨區卷
①由多個物理硬盤組成的動態卷
②容量是各個硬盤容量的總和
(2)帶區卷
①以帶區形式在兩個或多個磁盤上存儲數據的動態卷
每個磁盤的大小需一致,數據交替存儲
③至少需要兩塊磁盤
類似raid0
(3)鏡像卷
①在兩個物理磁盤上覆制數據的容錯卷
②秩序兩塊大小相同的磁盤
容量是兩塊磁盤容量總和的一半
類似raid1
(4)Raid-5卷
①數據分散吸入硬盤並建立一份奇偶校驗數據信息
②具有較高磁盤利用率,讀寫性和可靠性
③至少需要三塊磁盤空間相同的硬盤
容量爲磁盤數量-1

二、管理磁盤及分區
1、檢查的並確認新硬盤
(1)掛接好新的硬盤設備並啓動主機後,Linux會自動檢查並加載該硬盤,無需額外安裝驅動。執行fdisk -l命令可查看、確認新增硬盤的設備名稱和位置。
(2)Device:分區設備文件名
(3)Boot:是否引導分區。
(4)Start:該分區在硬盤中的其實位置(柱面數)
(5)End:該分區在硬盤中的結束位置(柱面數)
(6)Blocks:分區的大小,以塊(Block)爲單位,默認塊大小爲1024字節
(7)Id:分區對應的系統ID號。83表示Linux中的EXT4分區,8e表示LVM邏輯卷
(8)System:分區類型
2、規劃硬盤中的分區
(1)硬盤中設備的創建、刪除、更改分區等操作用同樣通過fdisk命令。執行fdisk可進入到交互式的分區管理界面中
(2)p列出硬盤中的分區情況
(3)n新建分區
p主分區
e擴展分區
主分區和擴展分區序號只能爲1-4分區起始位置一般有fdisk默認識別即可結束位置或大小可以使用+sizeM+sizeG的形式,表示將該分區的容量設置爲sizeG或M
(4)d刪除分區
(5)t變更分區類型
l查看類型列表
EXT4:83
SWAP:82
NTFS:86
extended:5
(6)w保存退出q退出fdisk

三、文件管理系統
1、創建文件系統
(1)mkfs命令的使用
mkfs -t 文件系統類型 分區設備
②創建EXT4文件系統:mkfs -t ext4 /dev/sdb1
③創建FAT32文件系統:mkfs -t vfat -F 32 /dev/sdb6
CentOs6默認使用EXT4文件系統,CentOS7默認使用xfs文件系統
⑤SAS/SATA硬盤文件系統選擇方案可根據具體情況分爲以下幾類
1)數據庫業務,可選擇xfs類型
2)有大量項文件的業務,可選擇ReiserFS文件系統
3)常規應用選擇默認文件系統即可
(2)mkswap命令的使用
先使用fdiskID號設爲82
②使用mkswap 分區
③使用swapon 分區命令啓用分區
④使用swapoff 分區可停用分區
2、掛載、卸載文件系統
Linux中雖然系統核心能夠通過設備文件方式操作設備,但對於用戶來說,需要增加一個掛載過程,將設備掛載到目錄結構才能正常訪問設備中的資源
(1)掛載文件系統
mount {-t 文件系統類型} 存儲設備掛載點
其中文件系統類型通常可以省略(由系統自動識別)
使用不帶參數的mount時,將顯示出系統中已掛載的各個分區的相關信息
④實際工作中,經常使用mount -o loop將鏡像文件(.iso)掛載到指定目錄使用
(2)卸載文件系統
umount
(3)設置文件系統的自動掛載
/etc/fstab文件視爲mount的配置文件,通過添加相應配置,實現開機後自動掛載指定分區
②字段含義
1)第1字段:設備名或設備卷標名
2)第2字段:文件系統的掛載點目錄位置
3)第3字段:文件系統類型(EXT4等)
4)第4字段:掛載參數。及mount命令-o選項後可使用的參數:defaults、rw、ro、noexec分別表示默認參數、可寫、只讀、禁用執行程序
5)第5字段:表示文件系統是否需要dump備份(dump是一個備份工具)。一般1表示需要,0則被dump忽略
6)第6字段:決定在系統啓動時進行磁盤檢查的順序0表示不檢查,1表示優先檢查,2表示其次檢查。根分區應設備1,其他分區設爲2
使用mount或umount時,若在/etc/fstab中已設置對應掛載記錄,則只需指定掛載點目錄或設備文件名中的一個作爲參數
(4)查看磁盤使用情況
df命令
-h顯示單位
-T顯示對應文件系統的類型

四、管理LVM邏輯卷
1、LVM概述
(1)LVM是linux中對磁盤分區進行管理的一種邏輯機制,能夠在保持現有數據不變的情況下動態調整磁盤容量
/boot分區用於存放引導文件,不能基於LVM創建
②圖形界面管理工具:system-config-lvm
(2)PV(Physical Volume,物理卷)
①物理卷是LVM機制的基本存儲設備,通常對應一個普通分區或整個硬盤。創建物理卷時,會在分區或硬盤的頭部創建一個保留區塊,用於記錄LVM屬性,並把存儲空間分割成默認大小4M的基本單元(Physical Extent,PE。對用於轉換成物理卷的普通分區,建議先使用fdisk將分區類型ID改爲8e。若是整個硬盤,可以將所有磁盤空間劃分爲一個分區後再做相應調整。
(3)VG(Volume Group,卷組)
由一個或多個物理卷組成一個整體,卷組的名稱有用戶自定義
(4)LV(Logical Volume,邏輯卷)
建立在卷組之上,與物理卷沒有直接關係
②對於邏輯捲來說,每一個卷組就是一個整體,從這個整體中切出一小塊空間,作爲用戶創建文件系統的基礎,這塊空間即是邏輯卷
2、管理LVM
(1)PV物理卷管理
pvscan命令
1)用於掃描系統中所有物理卷並輸出相關信息
pvcreate命令
1)用於將分區或整個硬盤轉換爲物理卷,主要是添加LVM屬性信息並劃分PE存儲單位。需要分區的設備文件作爲參數(可多個)
2)pvcreate /dev/sdb1 /dev/sdb2:將分區sdb1和2轉換成物理卷
3)pvcreate /dev/sd{b,c}1
pvdisplay命令
1)用於顯示物理卷的詳細信息,需要指定的物理卷作爲命令參數
2)pvdisplay /dev/sdb1:查看sdb3的詳細信息
pvremove命令
1)用於將物理卷還原成普通分區或磁盤
2)pvremove /etc/sdb1
(2)VG卷組管理
vgscan命令
1)掃描系統中已建立的LVM卷組
vgcreate命令
1)將一個或多個物理卷創建爲一個卷組,第一個參數用於設置卷組名稱,其後依次指定需要加入卷組的物理卷
2)vgcreate vgname /dev/sdb1 /dev/sdb2
vgdisplay命令
1)顯示系統中各卷組的詳細信息,可指定卷組名稱作爲參數
2)vgdisplay vgmane
vgremove命令
1)刪除指定卷組,指定卷組名稱作爲參數
2)vgremove vgmane
vgextend命令
1)用於擴展卷組的磁盤空間。可將新建物理卷添加到之前建立的卷組中。第一個參數爲需擴展的卷組名稱,其後爲需添加的物理卷
2)vgextend vgname /dev/sdb3
vgreduce命令
1)減少卷組磁盤空間
(3)LV邏輯卷管理
lvscan命令
1)用於掃描已建立的邏輯卷及相關信息
lvcreate命令
1)從指定卷組中分割空間,以創建邏輯卷。需指定邏輯卷大小、名稱及所在卷組名作爲參數
2)創建好後,可通過/dev/卷組名/邏輯卷名形式的設備文件進行訪問(或/dev/mapper/卷組名-邏輯卷名
3)lvcreate -L 容量大小 -n 邏輯卷名卷組名
4)示例:lvcreate -L 10G -n lvname vgname
lvdisplay命令
1)顯示邏輯卷的詳細信息,需要制定邏輯卷設備文件或卷組名稱作爲參數
lvextend命令
1)動態擴展邏輯卷空間,可以從所在卷組分割額外空間進行擴展。要指定需增加的容量大小及邏輯卷文件位置
2)lvextend -L +大小 /dev/卷組名/邏輯卷名
3)示例:lvextend -L +10G /dev/vgname/lvname
4)擴展大小受限於所在卷組剩餘空間,超過卷組剩餘空間時,需先通過vgextend擴展卷組容量
lvremove命令
1)刪除制定邏輯卷,直接把邏輯卷設備文件作爲參數
2)示例:lvremove /dev/vgname/lvname
3)刪除前需確認數據是否備份,且該邏輯卷不再使用
lvreduce命令
1)減少邏輯卷空間
2)對減少容量的文件系統卸載(根文件系統是無法卸載的)
3)使用
e2fsck -f檢查lv的文件系統
e2fsck -f /dev/vgname/lvname
4)使用
resize2fs減小文件系統的大小
resize2fs /dev/vgname/lvname 50M
5)減小LV的大小:lvreducelvresize,最好用PE數量
lvreduce -L -450M /dev/vgname/lvname

(4)LVM應用實例
①關閉服務器正確掛接硬盤
②開啓服務器,執行fdisk -l進行檢查
③將每塊硬盤劃分爲獨立的主分區並修改分區類型爲8e


④將分區轉化爲物理卷

⑤將物理卷整合爲卷組

⑥在卷組中創建邏輯分區

⑦用ext4格式化邏輯分區並掛載


⑧使用lvextend命令擴展邏輯分區,並用resize2fs命令更新識別文件系統大小



五、磁盤配額
1、條件
(1)需要linux內核支持
(2)安裝quota軟件包
2、linux磁盤限額特點
(1)作用範圍:針對指定的文件系統(分區)
(2)限制對象:用戶賬號、組賬號
(3)限制類型
磁盤容量(默認單位爲kb)
②文件數量
(4)限制方法
軟限制(提醒,但未強制限制)
硬限制
(5)步驟
①檢查系統是否安裝qouta
把需要限制的分區以支持磁盤配額的方式進行掛載
1)mount -o remount,usrquota,grpquota /dev/vgname/lvname /sdb1
2)/det/fstab ……defaults,usrquota,grpquota……
③檢查配額文件並生成配額文件
1)創建配額文件quotacheck
a.-ugcv
b.-augcv
2)查看selinux
a.getenforce
3)關閉selinux
a./etc/sysconfig/selinux中修改配置disable
b.setenforc 0(1爲啓用)
④修改配額文件
1)edquota -u 用戶名
a.blocks:已用容量(字節)soft:容量軟限制hard:容量應限制
b.inodes:已用梳理softhard
2)edquota -g
⑤啓動文件配額功能
1)quotaon -augv
2)quotaoff
⑥驗證
1)dd命令:dd if=/dev/zero of=/sdb1/test bs=1M COUNT=45

2)guota -u -g 用戶或組
3)repquota 目錄


六、RAID磁盤陣列與陣列卡磁盤配額
1、不同RAID卡支持不同RAID功能
2、RAID類型
(1)0:條帶化存儲,將連續數據進行分割,將數據分段存儲於各個硬盤中,有很高的傳輸率,可達到單個硬盤的N倍,但沒有數據冗餘。
(2)1:鏡像存儲,通過磁盤數據鏡像實現數據冗餘,寫性能較慢,主要受限於最慢的磁盤,讀性能比較快磁盤個數必須爲偶數,可用容量爲N/2
(3)5:把數據以塊分段條帶化存儲,並且奇偶校驗信息和相對於的數據分別儲存不同的磁盤上任意N-1(N>=3)塊磁盤的容量都存儲完整數據。寫的性能相對不高
(4)6:採用雙重校驗,在RAID5上增加了第二個獨立的奇偶校驗信息庫寫性能較差,但進一步加強了數據保護。可用容量爲 (N-2)/N,N>=4
(5)1+0:1和0的結合,先做鏡像1,在做條帶0。
(6)0+1:與1+0相似,但安全性低於1+0
3、硬RAID
(1)通過RAID卡實現
4、軟RAID
(1)工具:mdadm
(2)準備用於RAID陣列的分區
分區類型fd
(3)mdadm命令
-C /dev/陣列名(md開頭) -a yes -l (0,1,5,6) -n(硬盤數)  /dev/sd{d,e,f}1  -x(1) /dev/sdg1

查看 -D /dev/陣列名

-f /dev/陣列名 dev/sdd1 (卸載掉一個硬盤)
--detail --scan >/etc/mdadm.conf
1)並加入DEVICES /dev/sdb /dev/sde dev/sdf dev/sde
⑤設置自動掛載/dev/fsinit