磁盤存儲和文件系統

分區

兩種分區格式:MBR、GPTnode

MBR分區

MBR分區磁盤的分區表信息存放在硬盤0磁道第0個扇區內總共512字節
前446字節爲bootloader
中間64位爲磁盤分區表信息,每一個分區信息佔16個字節,總計存放4個分區。(這段就是須要備份出來的數據)
最後的55AA爲結束標誌位centos

MBR分區結構

1.硬盤主引導記錄MBR由4個部分組成
2.主引導程序(偏移地址0000H--0088H),它負責從活動分區中裝載,並運行
系統引導程序
3.出錯信息數據區,偏移地址0089H--00E1H爲出錯信息,00E2H--01BDH全爲
0字節安全

  1. 分區表(DPT,Disk Partition Table)含4個分區項,偏移地址01BEH--01FDH,
    每一個分區表項長16個字節,共64字節爲分區項一、分區項二、分區項三、分區項4
  2. 結束標誌字,偏移地址01FE--01FF的2個字節值爲結束標誌55AA

MBR結構

磁盤存儲和文件系統

GPT分區

支持128個分區,使用64位,支持8Z( 512Byte/block )64Z ( 4096Byte/block)
使用128位UUID表示磁盤和分區 GPT分區表
自動備份在頭和尾兩份,並有CRC校驗位
UEFI (統一擴展固件接口)硬件支持GPT,使操做系統啓動網絡

GPT分區結構

磁盤存儲和文件系統

管理分區的命令

列出塊設備

lsblk

列出全部可用塊設備的信息,並且還能顯示它們之間的依賴關係
 -a:顯示全部設備
 -b:以bytes方式顯示設備大小
 -f:顯示文件系統信息數據結構

建立分區工具

fdisk 建立MBR分區

 -l [-u] [device...] 查看分區異步

子命令

p 分區列表
t 更改分區類型
n 建立新分區
d 刪除分區
v 校驗分區
u 轉換單位
w 保存並退出
q 不保存並退出async

gdisk 建立GPT分區

  類fdisk 的GPT分區工具ide

parted 高級分區操做

  parted操做是實時生效的,請當心使用。
 –l:列出分區信息工具

同步分區表

  1. 查看內核是否已經識別新的分區
    cat /proc/partations
  2. centos6通知內核從新讀取硬盤分區表
    新增分區用
    partx -a /dev/DEVICE
    kpartx -a /dev/DEVICE -f: force
    刪除分區用
    partx -d --nr M-N /dev/DEVICE
  3. CentOS5,7使用partprobe
    partprobe [/dev/DEVICE]
    重讀分區表,當出現刪除文件後,出現仍然佔用空間。能夠partprobe在不重啓的狀況下重讀分區。

文件系統

文件系統是操做系統用於明確存儲設備或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操做系統中負責管理和存儲文件信息的軟件結構稱爲文件管理系統,簡稱文件系統
從系統角度來看,文件系統是對文件存儲設備的空間進行組織和分配,負責文件存儲並對存入的文件進行保護和檢索的系統。具體地說,它負責爲用戶創建文件,存入、讀出、修改、轉儲文件,控制文件的存取,安全控制,日誌,壓縮,加密等

Linux中支持的文件系統

ll /lib/modules/uname –r/kernel/fsoop

建立文件系統

mkfs
mkfs.FS_TYPE /dev/DEVICE
 -t:指定文件系統

建立ext文件系統

fs:ext系列文件系統專用管理工具

 -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 關閉指定特性

文件系統的標籤

blkid:塊設備屬性信息查看

 -U UUID 根據指定的UUID來查找對應的設備
 -L LABEL 根據指定的LABEL來查找對應的設備

e2label:管理ext系列文件系統的LABEL

findfs :查找分區

 findfs [options] LABEL=\<label>
 findfs [options] UUID=\<uuid>

tune2fs:從新設定ext系列文件系統可調整參數的值

 -l 查看指定文件系統超級塊信息;super block
 -L 'LABEL’ 修改卷標
 -m # 修預留給管理員的空間百分比
 -j 將ext2升級爲ext3
 -O 文件系統屬性啓用或禁用, –O ^has_journal
 -o 調整文件系統的默認掛載選項,–o ^acl
 -U UUID 修改UUID號

dumpe2fs

將磁盤塊分組管理
 -h:查看超級塊信息,不顯示分組信息

文件系統檢測和修復

常發生於死機或者非正常關機以後,掛載文件系統標記的「no clean」
注意:必定不要在掛載狀態下進行修復

  1. fsck: File System Check
     fsck.FS_TYPE
     fsck -t FS_TYPE
      -p 自動修復錯誤
      -r 交互式修復錯誤
     FS_TYPE 必定要與分區上已經文件類型相同
  2. e2fsck:ext系列文件專用的檢測修復工具
      -y 自動回答爲yes
      -f 強制修復

用mount命令掛載文件系統

掛載:將額外文件系統與根文件系統某現存的目錄創建起關聯關係,進而使得此 目錄作爲其它文件訪問入口的行爲
把設備關聯掛載點:mount Point
  mount
卸載時:可以使用設備,也可使用掛載點
  umount 設備名|掛載點
掛載點下原有文件在掛載完成後會被臨時隱藏
掛載點目錄通常爲空

mount

經過查看/etc/mtab文件顯示當前已掛載的全部設備

經常使用命令選項

-t vsftype   指定要掛載的設備上的文件系統類型
-r readonly,  只讀掛載
-w read and write,   讀寫掛載
-n   不更新/etc/mtab,mount不可見
-a   自動掛載全部支持自動掛載的設備(定義在了/etc/fstab文件 中,且掛載選項中有auto功能)
-L 'LABEL'   以卷標指定掛載設備
-U 'UUID'   以UUID指定要掛載的設備
-B, --bind   綁定目錄到另外一個目錄上
查看內核追蹤到的已掛載的全部設備    cat /proc/mounts
-o options:  (掛載文件系統的選項),多個選項使用逗號分隔

ync         異步模式
sync         同步模式,內存更改時,同時寫磁盤
atime/noatime   包含目錄和文件
diratime/nodiratime   目錄的訪問時間戳
auto/noauto   是否支持自動掛載,是否支持-a選項
exec/noexec   是否支持將文件系統上運行應用程序
dev/nodev   是否支持在此文件系統上使用設備文件
suid/nosuid   是否支持suid和sgid權限
remount      從新掛載
ro          只讀
rw        讀寫
user/nouser   是否容許普通用戶掛載此設備,/etc/fstab使用
acl         啓用此文件系統上的acl功能
loop         使用loop設備
_netdev      當網絡可用時纔對網絡資源進行掛載,如:NFS文件系統
defaults      至關於rw, suid, dev, exec, auto, nouser, async

umount

掛載命令

  1. 查看掛載狀況
    findmnt MOUNT_POINT|device
  2. 查看正在訪問指定文件系統的進程
    lsof MOUNT_POINT
    fuser -v MOUNT_POINT
  3. 終止全部在正訪問指定的文件系統的進程
    fuser -km MOUNT_POINT
  4. 卸載
    umount DEVICE
    umount MOUNT_POINT

示例

掛載sdb1
磁盤存儲和文件系統
判斷是否掛載
磁盤存儲和文件系統
磁盤存儲和文件系統
從新掛載
磁盤存儲和文件系統
mknod建立設備文件
磁盤存儲和文件系統
卸載sdb2

磁盤存儲和文件系統
若是正在使用,沒法取消掛載
磁盤存儲和文件系統
查看正在使用掛載設備的用戶進程
磁盤存儲和文件系統
磁盤存儲和文件系統
強行中止使用掛載點
磁盤存儲和文件系統

文件掛載配置文件

etc/fstab 每行定義一個要掛載的文件系統

一、要掛載的設備或僞文件系統
設備文件
LABEL:LABEL=""
UUID:UUID=""
僞文件系統名稱:proc, sysfs
二、掛載點
三、文件系統類型:ext4,xfs,iso9660,nfs,none
四、掛載選項:defaults ,acl,bind
五、轉儲頻率:0:不作備份 1:天天轉儲 2:每隔一天轉儲
六、fsck檢查的文件系統的順序:容許的數字是0 1 2
0:不自檢
1:首先自檢;通常只有rootfs才用
2:非rootfs使用

swap交換分區

swap交換分區是系統RAM的補充,Swap 分區支持虛擬內存。當沒有足夠的RAM 保存系統處理的數據時會將數據寫入 swap 分區
當系統缺少 swap 空間時,內核會因 RAM 內存耗盡而終止進程。配置過多swap 空間會形成存儲設備處於分配狀態但閒置,形成浪費,過多 swap 空間還會掩蓋內存泄露

啓用swap交換分區

swapon [OPTION]... [DEVICE]
-a:激活全部的交換分區
-p PRIORITY:指定優先級
  /etc/fstab 在第4列中:pri=value

禁用swap交換分區

swapoff [OPTION]... [DEVICE]

swap的優先級

能夠指定swap分區0到32767的優先級,值越大優先級越高
若是用戶沒有指定,那麼核心會自動給swap指定一個優先級,這個優先級從-1開始,每加入一個新的沒有用戶指定優先級的swap,會給這個優先級減一
先添加的swap的缺省優先級比較高,除非用戶本身指定一個優先級,而用戶指定的優先級(是正數)永遠高於核心缺省指定的優先級(是負數)
優化性能:分佈存放,高性能磁盤存放
相關文章
相關標籤/搜索