天天看點

磁盤存儲和檔案系統分區檔案系統

分區

兩種分區格式:MBR、GPT

MBR分區

MBR分區磁盤的分區表資訊存放在硬碟0磁道第0個扇區内總共512位元組

前446位元組為bootloader

中間64位為磁盤分區表資訊,每個分區資訊占16個位元組,總計存放4個分區。(這段就是需要備份出來的資料)

最後的55AA為結束标志位

MBR分區結構

1.硬碟主引導記錄MBR由4個部分組成

2.主引導程式(偏移位址0000H--0088H),它負責從活動分區中裝載,并運作

系統引導程式

3.出錯資訊資料區,偏移位址0089H--00E1H為出錯資訊,00E2H--01BDH全為

0位元組

  1. 分區表(DPT,Disk Partition Table)含4個分區項,偏移位址01BEH--01FDH,

    每個分區表項長16個位元組,共64位元組為分區項1、分區項2、分區項3、分區項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 不儲存并退出

gdisk 建立GPT分區

  類fdisk 的GPT分區工具

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/fs

建立檔案系統

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 每行定義一個要挂載的檔案系統

swap交換分區

swap交換分區是系統RAM的補充,Swap 分區支援虛拟記憶體。當沒有足夠的RAM 儲存系統處理的資料時會将資料寫入 swap 分區
當系統缺乏 swap 空間時,核心會因 RAM 記憶體耗盡而終止程序。配置過多swap 空間會造成儲存設備處于配置設定狀态但閑置,造成浪費,過多 swap 空間還會掩蓋記憶體洩露           

啟用swap交換分區

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

禁用swap交換分區

swap的優先級

可以指定swap分區0到32767的優先級,值越大優先級越高
如果使用者沒有指定,那麼核心會自動給swap指定一個優先級,這個優先級從-1開始,每加入一個新的沒有使用者指定優先級的swap,會給這個優先級減一
先添加的swap的預設優先級比較高,除非使用者自己指定一個優先級,而使用者指定的優先級(是正數)永遠高于核心預設指定的優先級(是負數)
優化性能:分布存放,高性能磁盤存放