Linux基礎之磁盤概念及其管理工具fdisk

引言:馮諾依曼體系中的數據存儲器就是咱們常說的磁盤或硬盤,它是計算機不可缺乏的一個組件,下面來看看Linux中磁盤的基礎概念及管理工具fdisklinux

                                                              實驗環境CentOS7.2bash



磁盤概念
ide

按磁盤屬性分類有機械硬盤跟固態硬盤
工具


(1)機械硬盤:內部真空ui

 磁盤:正反面含有磁性物質的盤片,由一個馬達固定全部磁盤轉動,固定角速度this

   每一個盤片正反面各有一個磁頭,全部磁頭固定在一個機械臂上spa

平均尋道時間:5400rpm, 7200rpm, 10000rpm, 15000rpm轉速操作系統

track(磁道):每一個盤片上出廠格式化orm

sector(扇區):512bytes單位接口

cylinder(柱面):不一樣盤面上同一編號的磁道組合在一塊兒,分區劃分按照柱面實現

越靠近較外部分區的柱面組成的分區,越快。Windows上c盤在最外面

(2)固態硬盤

 相似與多個並行U盤,工做模式上模擬機械硬盤的機制。

電器設備,速度我的筆記本是原來的3到5倍,讀400個iops(io per second)、寫200iops




在正式介紹Linux設備文件前需先了解一個概念:MBR

MBR(Master Boot Record):主引導分區,爲一個編號爲0的512字節的扇區

      446bytes:bootloader,引導加載器程序,主引導記錄,引導啓動操做系統的程序;

      64bytes:分區表,每16bytes標識一個分區,一共只能有4個分區

      2bytes:表示MBA是否有效;55AA爲有效;

    注意:

         1) 主分區最多四個,擴展分區只能一個

         2) 擴展分區不能單獨使用,要繼續分紅邏輯分區,邏輯分區能夠由多個

         3) 一個分區就是一個獨立的文件系統

         4) 主分區和擴展分區的標識:1-4;邏輯分區:5+


其在Linux中的建立新磁盤分區會涉及主分區與擴展分區內容




/dev

無論是機械硬盤仍是固態硬盤對於Linux看來它都是屬於/dev/下的文件


  設備文件名

  1)磁盤:IDE: /dev/hd[a-z]

     SCSI, SATA, USB, SAS: /dev/sd[a-z]

  2)分區:/dev/sda#:      /dev/sda1, ...

  注意:CentOS 6和7通通將硬盤設備文件標識爲/dev/sd[a-z]#


  /dev設備文件介紹

  1)設備文件:關聯至設備的驅動程序;設備的訪問入口;

  2)設備號:

          major:主設備號,區分設備類型;用於標明設備所須要的驅動程序;

          minor:次設備號,區分同種類型下的不一樣的設備;是特定設備的訪問入口;

          好比/dev/sd# :sd爲主設備號#爲次設備號


引用設備的方式:設備文件名卷標UUID




磁盤管理工具fdisk


fdisk

    建立查看分區

      (1)查看磁盤的分區信息:

命令使用格式:fdisk -l [-u] [device...]:列出指定磁盤設備上的分區狀況;

      (2)管理分區

命令使用格式:fdisk /dev/sd# :建立,刪除,保存磁盤分區配置。

fdisk提供了一個交互式接口來管理分區,它有許多子命令,分別用於不一樣的管理功能;全部的操做均在內存中完成,沒有直接同步到磁盤;直到使用w命令保存至磁盤上;

如下命令選項爲m中的經常使用選項:

              n:建立新分區        d:刪除已有分區

              t:修改分區類型      l:查看全部已經ID

              w:保存並退出        q:不保存並退出

              m:查看幫助信息      p:顯示現有分區信息


命令演示

一、對已使用的磁盤設備,建立新分區,若沒有可用空間則自動退出。

[root@localhost ~]# fdisk /dev/sda
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
命令(輸入 m 獲取幫助):m
命令操做
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)
命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分區號 (3,4,默認 3):
No free sectors available
命令(輸入 m 獲取幫助):

二、對新添加的磁盤建立新分區。

[root@localhost ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
Device does not contain a recognized partition table
使用磁盤標識符 0xd391e822 建立新的 DOS 磁盤標籤。
命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分區號 (1-4,默認 1):
起始 扇區 (2048-10485759,默認爲 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-10485759,默認爲 10485759):+1G
分區 1 已設置爲 Linux 類型,大小設爲 1 GiB
命令(輸入 m 獲取幫助):w
[root@localhost ~]# fdisk -l
磁盤 /dev/sda:21.5 GB, 21474836480 字節,41943040 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0x00036006
   設備 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    41943039    20458496   8e  Linux LVM
磁盤 /dev/sdb:5368 MB, 5368709120 字節,10485760 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xd391e822
 設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux

三、建立擴展分區,及刪除已存在分區

[root@localhost ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e
分區號 (2-4,默認 2):
起始 扇區 (2099200-10485759,默認爲 2099200):
將使用默認值 2099200
Last 扇區, +扇區 or +size{K,M,G} (2099200-10485759,默認爲 10485759):+1G
分區 2 已設置爲 Extended 類型,大小設爲 1 GiB
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:5368 MB, 5368709120 字節,10485760 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xd391e822
   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576    5  Extended
擴展分區建立完畢,下面在擴展分區上建立邏輯分區,你們能夠看到其標號從5開始
命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
添加邏輯分區 5
起始 扇區 (2101248-4196351,默認爲 2101248):
將使用默認值 2101248
Last 扇區, +扇區 or +size{K,M,G} (2101248-4196351,默認爲 4196351):+100M
分區 5 已設置爲 Linux 類型,大小設爲 100 MiB
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:5368 MB, 5368709120 字節,10485760 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xd391e822
   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576    5  Extended
/dev/sdb5         2101248     2306047      102400   83  Linux

保存退出後,將邏輯分區刪除

命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@localhost ~]# fdisk -l
...
   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576    5  Extended
/dev/sdb5         2101248     2306047      102400   83  Linux
...
[root@localhost ~]# fdisk /dev/sdb
歡迎使用 fdisk (util-linux 2.23.2)。
更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。
命令(輸入 m 獲取幫助):d
分區號 (1,2,5,默認 5):5
分區 5 已刪除
命令(輸入 m 獲取幫助):p
磁盤 /dev/sdb:5368 MB, 5368709120 字節,10485760 個扇區
Units = 扇區 of 1 * 512 = 512 bytes
扇區大小(邏輯/物理):512 字節 / 512 字節
I/O 大小(最小/最佳):512 字節 / 512 字節
磁盤標籤類型:dos
磁盤標識符:0xd391e822
   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576    5  Extended
命令(輸入 m 獲取幫助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@localhost ~]# fdisk -l
...
   設備 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux
/dev/sdb2         2099200     4196351     1048576    5  Extended
...


注意在已經分區而且已經掛載其中某個分區的磁盤設備上建立的新分區,內核可能在建立完成後沒法直接識別

   通知內核強制重讀磁盤分區表:

查看:cat  /proc/partitions

CentOS 5:partprobe [device]

CentOS 6,7:partx, kpartx

partx -a [device]

kpartx -af [device]

相關文章
相關標籤/搜索