磁盤管理之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 08:51
下一篇 2016-09-06 08:51

相關推薦

  • crm命令行命令詳解

    crm -status 顯示當前集群狀態 -configure 配置集群 a.show xml 顯示當前集群配置信息(xml格式) b.property 顯示集群可用的全局屬性(鍵入之后按兩下Tab) -verifiy 校驗 -commit 提交 -node a.online 設置當前節點上線 b.show 顯示當前節點狀態 c.standby 將當前節點設…

    Linux干貨 2017-11-04
  • 作業權限管理

    一、在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。 首先創建三個組g1,g2,g3,題目要求在/data/testdir目錄里創建的文件自動屬于g1組那么首先要將這個目錄的屬組改為g1,然后通過更改…

    Linux干貨 2016-08-03
  • N25_第四周博客作業

    N25_第四周博客作業   1、復制/etc/ske1目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組合其他用戶均沒有任何訪問權限。     2、編輯/etc/group文件,添加組hadoop.。             &nb…

    Linux干貨 2016-12-24
  • 談談對于vmware Workstation 網絡連接三種模式的認識.

    簡介: VM(VMware Workstation簡稱VM,后面都將用VM代替闡述)是一款功能強大的虛擬化軟件.VM支持在 單一的桌面上同時運行多款不同的操作系統,能夠模擬完整的網絡環境,支持pxe功能.實時快照,等等多種強 大的功能.能夠測試軟件和部署新的業務測試.同時節約了很多資源.節約了企業成本.所以對于廣大的互聯網 從業者是不可多得的好工具. 本文中…

    Linux干貨 2015-08-24
  • rpm實現LAMP

    rpm實現LAMP部署 LAMP概述 LAMP指的Linux(操作系統)、ApacheHTTP 服務器,MySQL(有時也指MariaDB,數據庫軟件) 和PHP(有時也是指Perl或Python) 的第一個字母,一般用來建立web應用平臺。常用來搭建動態網站或者服務器的開源軟件,本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同…

    Linux干貨 2016-11-02
欧美性久久久久