磁盤管理之MBR,GPT的概念及MBR和GPT分區工具的使用

一,概述

設備文件

I/O ports: I/O設備地址

一切皆文件

open() read() write()close()

設備類型:

塊設備:block,存取單位“塊”,磁盤

字符設備:char,存取單位”字符“,鍵盤

塊設備和字符設備的區別

塊設備可以隨機訪問,字符設備必須連續訪問,如,/dev/null

塊設備有緩存,字符設備沒有緩存,因為字符設備是個邏輯上的設備

設備文件:關聯至一個設備驅動程序,進而能夠跟與之對應硬件設備進行通信

設備號碼:

主設備號:major number,標識設備類型

次設備號:minor number,標識同一類型下的不同設備

磁盤設備的設備文件命名:/dev/DEV_FILE

IDE: /dev/hd

但是從centos 6以后IDE也是以sd顯示,不再以hd顯示

另外還有vd*,顯示的是虛擬化的硬盤顯示

SCSI, SATA, SAS, USB: /dev/sd

不同設備:a-z

/dev/sda, /dev/sdb, …

同一設備上的不同分區:1,2, …

/dev/sda1, /dev/sda5

硬盤結構

blob.png

磁頭(head,早起最多8位,就是2的8次方是256個)

track(磁道,以前最多1024個字節)

sector(扇區,以前最多放63個扇區) 

(扇區,512字節)

blob.png扇區起始到結束

所以早期硬盤最多的容量就是512*63*12024*256

一個磁道的的容量=512*63

cylinder柱面容量=512*63*256=8M左右

現在技術更新,硬盤的存儲的方式不一樣,可以在磁道上內圈放置的扇區數和外圈放置的扇區數可以不同.

CHS

LBA 邏輯快尋址

使用分區空間:

設備識別

設備分區

創建文件系統

標記文件系統

在/etc/fstab文件中創建條目

掛載新的文件系統

磁盤分區:

為什么要分區?

優化I/O性能

實現磁盤空間配額限制

提高修復速度

隔離系統和程序

安裝多個OS

兩種分區方式:MBR,GPT

MBR: Master Boot Record,1982年,使用32位表示扇區數,分區不超過2T

當大型企業分區數據不足以2T來滿足,就會使用更好的分區方式GPT

如何分區:按柱面

0磁道0扇區:512bytes

446bytes: boot loader(系統加載) 引導程序

64bytes:分區表 這里存放的是分區的信息

16bytes: 標識一個分區 16個字節標識一個分區,所以從從這里就可以看出一塊硬盤最多分4個主分區

2bytes: 55AA 存放的是一個標識位,如果沒有55AA,系統認定為你這個硬盤為裸盤,會提示你重新分區

4個主分區;3主分區+1擴展(N個邏輯分區)

增加新硬盤重新加載 "echo "- – -" > /sys/class/scsi_host/host2/scan"

blob.png

lsblk 查看內存中的信息

fdisk -l 查看磁盤中信息

備份分區表: dd if=/dev/sda of=/testdir/mbrbak bs=1 count=512

    if是inputfile的/dev/sda里面的connt=512的字節數按bs=1個字節輸出到of(outputfile)輸出到/testdir/mabbak文件中

還原備份: dd if=/testdir/mbrbak of=/dev/sda

hexdump 命令可以查看十六進制內容

MBR 硬盤分區結構圖

blob.png

整個硬盤的第一個扇區稱為MBR,512字節,其中512字節包含前面的446字節為引導程序的和后面的64字節為分區表,最后結束標志2字節,如果為空,系統將認定為裸盤,就是沒有分區的磁盤,如果為55AA,則是磁盤分區表的正確的校驗.

其中中間的64字節是以每16字節存放一個分區表信息,所以一塊磁盤最多4個主分區.

其中每16額字節的的定義為

blob.png

第一個字節為引導標志,如果為80,表示活動分區,00表示非活動分區

第二個字節到第第四個字節為分區起始CHS位置:

(第二個字節為磁頭號,

第三個字節和第四個字節分別表示扇區號和柱面號)

第五個字節表示分區類型,0表示分區未使用

第六個字節到第八個字節為分區結束CHS位置

(第六個字節為磁頭號,

第七個字節和第八個字節分別表示扇區號和柱面號)

第九個字節到第十二字節為分區起始LBA地址

第十三個字節到第十六個字節為分區結束LBA地址

其中最后的十六個字節為擴展分區,

blob.png

擴展分區的16個字節又重新指向一個新的EBR,結構類似MBR,就是邏輯分區1,前面446個字節為空,后面64字節第一個16個字節為邏輯分區1的分區表,第二個16個字節為指向下一個擴展分區表的EBR,后面2個16字節暫未使用.,最后兩個字節同樣為標志位55AA/

GPT分區:

GPT:GUID patition table 支持128個分區,使用64位,支持8Z(512Byte/block )64Z (4096Byte/block)

使用128位UUID 表示磁盤和分區GPT分區表自動備份在頭和尾兩份,并有CRC校驗位

UEFI (統一擴展固件接口)硬件支持GPT

blob.png

blob.png

Protective MBR 為GPT的頭,因為傳統的分區表不識別GPT,所以必須要以原始的MBR來保護GPT

Primary G UID Partition Header 為磁盤,下面的都是分區表,GPT總共可以分128個分區

blob.png

Partition 1

為存數分區數據的

最后就是備份分區數據的.

blob.png

管理分區:

列出塊設備

blkid

創建分區使用:

fdisk創建MBR分區,也支持GPT,對于一塊硬盤,最多只能管理15分區

gdisk創建GPT分區

GNU parted高級分區操作(創建、復制、調整大小等等)

partprobe-重新設置內存中的內核分區表版本

parted命令:

parted的操作都是實時生效的,小心使用(因為為非交互方式執行的命令,而fdisk為交互式的)

用法:parted [選項]… [設備[命令[參數]…]…]

parted /dev/sdbmklabelgpt|msdos

parted /dev/sdbprint

parted /dev/sdbmkpartprimary 1 200

parted /dev/sdbrm1

parted -l

重點掌握的命令fdisk

fdisk /dev/sdb

gfisk /dev/sdb GPT分區模式

# fdisk -l [-u] [device…]

子命令:

p 分區列表

t 更改分區類型

n 創建新分區

d 刪除分區

w 保存并退出

q 不保存并退出

同步分區表:因為partprobe命令對centos6不好使,所以我們就在6上就可以使用partx命令

查看內核是否已經識別新的分區:

# cat /proc/partations

通知內核重新讀取硬盤分區表

新增分區用

partx-a -n M:N /dev/DEVICE

kpartx-a /dev/DEVICE -f: force

blob.png

blob.png

這樣就可以給新增分區進行同步到內存

刪除分區用

partx-d -n M:N /dev/DEVICE

centos6: –nrN-M

blob.png

CentOS 5,7: 使用partprobe

partprobe[/dev/DEVICE]

blob.png

blob.png

原創文章,作者:Kartik,如若轉載,請注明出處:http://www.www58058.com/43051

(0)
KartikKartik
上一篇 2016-09-06
下一篇 2016-09-06

相關推薦

  • 網絡相關命令

    網絡相關命令 常用命令 ifcfg家族:   ifconfig:配置IP,NETMASK   route :路由   netstat : 狀態及統計數據查看 iproute2家族     ip  系列 &nbs…

    Linux干貨 2016-09-07
  • python第二周

    #python數據結構(list) ## 分類 數值型:int、float、complex、bool 序列對象:字符串 str ? 列表 ?list ? 元組 ?tuple 鍵值對: 集合 set ? 字典 dict   ## 數字的處理函數 math.e ?math.pi: 自如常數和π round(): ?四舍六入五去偶 floor(): ?取…

    Linux干貨 2017-09-23
  • Cacti整合Zabbix監控

    前言: 由于公司現在很多業務都是使用cacti進行監控流量的,并且還有一些使用zabbix監控的項目,正好又有一個項目需要搭建Cacti+Zabbix進行綜合監控,搭建完畢之后發現,Cacti較之以前有了不小的改進,所以就來寫一寫Cacti和Zabbix監控整合的文章,順便說一下Cacti下的一些好用的插件。 環境: Centos 6.4 X86_64 Ca…

    Linux干貨 2015-03-19
  • glob及IO重定向

    globbing: 文件名通配     匹配模式:元字符           *:匹配任意長度的任意字符    pa* ,*pa* ,*pa,  *p*a*    pa, paa, passwd    ?:  …

    Linux干貨 2016-12-21
  • SElinux

    selinux  配置文件 修改   就要重啟 targeted:用來保護常見的網路服務,僅有限進程受到selinux控制,只監控容易被入侵的進程。 targeted  慢慢完善的法律 系統默認使用   targeted     CENTOS6 CENTOS7 ZAI &nbsp…

    Linux干貨 2016-09-14
欧美性久久久久