基础磁盘管理
一、設備文件
Linux中設備類型分為字符設備與塊設備,他們特點分別為:
塊設備特性:以“塊”為單位進行存取,隨機訪問,例如磁盤
字符設備特性:以“字節”單位進行存取,線性訪問,例如鍵盤
設備文件:關聯至一個驅動程序,進而能夠跟與之對應硬件設備進行通信;它僅元數據,沒有數據;只有設備號
設備號:設備號分為主設備號,次設備號
major:標記設備類型
minor:標記同一類型下的不同的設備
例如:
[root@CentOS6?~]#?ll?/dev/sd* brw-rw----?1?root?disk?8,??0?Jan?31?02:35?/dev/sda brw-rw----?1?root?disk?8,??1?Jan?31?02:35?/dev/sda1 brw-rw----?1?root?disk?8,??2?Jan?31?02:35?/dev/sda2 brw-rw----?1?root?disk?8,??3?Jan?31?02:35?/dev/sda3 brw-rw----?1?root?disk?8,?16?Jan?31?02:35?/dev/sdb brw-rw----?1?root?disk?8,?17?Jan?31?02:35?/dev/sdb1 brw-rw----?1?root?disk?8,?20?Jan?31?02:35?/dev/sdb4 brw-rw----?1?root?disk?8,?21?Jan?31?02:35?/dev/sdb5二、磁盤接口類型
IDE(ATA):并口, 133MB/s,設備文件:/dev/hd
SCSI: 并口,Small Computer System Interface, 640MB/s,15000rpm,設備文件:/dev/sd
SATA:串口, 6Gbps, 設備文件:/de/sd
SAS: 串口, 6Gbps,設備文件: /dev/sd
USB: 串口, 480MB/s,設備文件:/dev/sd
三、磁盤結構
1.物理結構
圓盤(platter):就是硬盤的盤片,為實現大容量,一般都是多個
磁頭(head)數:每個盤片一般有上下兩面,分別對應1個磁頭,共2個磁頭,實現數據的存取
2.邏輯結構
磁道(track):當磁盤旋轉時,磁頭若保持在一個位置上,則每個磁頭都會在磁盤表面劃出一個圓形軌跡,這些圓形軌跡就叫做磁道,從外邊緣的0開始編號,根據磁化方向來存數數據0和1
柱面(cylinder):不同盤片的相同編號的磁道構成的圓柱面就被稱之為柱面,磁盤的柱面數與一個盤面上的磁道數是相等的
扇區(sector):每個磁道都別切分成很多扇形區域,每個磁道的扇區數量相同,每個扇區大小為512字節
硬盤的容量=柱面數×磁頭數×扇區數×512(字節數)
四.磁盤分區
磁盤分區分為兩種方式MBR與GPT。
1.MBR分區
硬盤的0柱面、0磁頭、1扇區稱為主引導扇區(也叫主引導記錄MBR)。它由三個部分組成:硬盤主引導程序(BootLoader)、硬盤分區表DPT(Disk Partition table)和魔數(Magic Number)。
Boot Loader:主引導程序,啟動操作系統的一段代碼,占446個字節
DPT:占64個字節,硬盤中分區有多少以及每一分區的大小都記在其中
Magic Number:結束標志,占2個字節,固定為0xAA55或0x55AA,這取決于處理器類型,如果是小端模式處理器(如Intel系列),則該值為0xAA55;如果是大端模式處理器(如Motorola6800),則該值為0x55AA
可查看:
[root@CentOS6?~]#?hexdump?-C?-n?512?/dev/sda?|?tail?-10 00000170??00?be?93?7d?e8?2a?00?eb??fe?47?52?55?42?20?00?47??|...}.*...GRUB?.G| 00000180??65?6f?6d?00?48?61?72?64??20?44?69?73?6b?00?52?65??|eom.Hard?Disk.Re| 00000190??61?64?00?20?45?72?72?6f??72?00?bb?01?00?b4?0e?cd??|ad.?Error.......| 000001a0??10?ac?3c?00?75?f4?c3?00??00?00?00?00?00?00?00?00??|..<.u...........| 000001b0??00?00?00?00?00?00?00?00??00?00?00?00?00?00?80?20??|...............?| 000001c0??21?00?83?9f?06?19?00?08??00?00?00?40?06?00?00?9f??|!..........@....| 000001d0??07?19?82?b4?56?1e?00?48??06?00?00?00?40?00?00?b4??|....V..H....@...| 000001e0??57?1e?83?fe?ff?ff?00?48??46?00?00?b8?f9?05?00?00??|W......HF.......| 000001f0??00?00?00?00?00?00?00?00??00?00?00?00?00?00?55?aa??|..............U.| 00000200注:如果沒有“55AA”,該分區會被認為是裸分區!!
裸設備(raw device):也叫裸分區(原始分區),是一種沒有經過格式化,不被Unix通過文件系統來讀取的特殊塊設備文件。由應用程序負責對它進行讀寫操作。不經過文件系統的緩沖。它是不被操作系統直接管理的設備。這種設備少了操作系統這一層,I/O效率更高。不少數據庫都能通過使用裸設備作為存儲介質來提高I/O效率。 裸分區只能夠使用dd來進行備份。
2.分區類型
主分區與活動分區:也被稱為主磁盤分區,是磁盤分區的一中類型,其主要作用是用來安裝操作系統。一個硬盤最多可創建4個主分區。活動分區是基于主分區的,磁盤分區中的任意主分區都可以設置為活動分區。如果電腦上4個主分區都安裝了不同的系統,那被標記為活動分區的主分區將用于初始引導,即啟動活動分區內安裝的系統。
擴展分區與邏輯分區:因為主分區最多可以創建4個,我們需要使用擴展分區打破4的限制。在磁盤上可以創建多個邏輯分區而創建的這些邏輯分區都被稱為擴展分區,您可以用主分區和邏輯分區中儲存數據,但是不能用擴展分區儲存,因為擴展分區是我們對邏輯分區的總稱,只是一中稱呼。
注:主分區的個數小于等于4個,擴展分區個數最多為一個。
3.GPT分區
GPT:GUID patition table 支持128個分區,使用64位,支持8Z(512Byte/block )64Z (4096Byte/block),使用128位UUID 表示磁盤和分區GPT分區表自動備份在頭和尾兩份,并有CRC校驗位,UEFI(統一擴展固件接口)硬件支持GPT,結構如下圖所示:
UUID與GUID:
UUID (Universally Unique Identifier)是一個由4個連字號(-)將32個字節長的字符串(32個十六進制數)分隔后生成的字符串(8-4-4-4-12),總共36個字節長。比如:550e8400-e29b-41d4-a716-446655440000 GUID 是微軟對UUID這個標準的實現。UUID是由開放軟件基金會(OSF)定義的。UUID還有其它各種實現,不止GUID一種。比如我們這里在Java中用到的。
UUID的生成:由當前系統時間+其他內容,組合生成,所以一般不會有重復。
隨機生成:
[root@CentOS6?~]#?uuidgen c38577b6-e369-4825-b09a-caf6f44b6e3f五、管理磁盤分區
1.fdisk命令:Linux分區表操作工具軟件
fdisk?-?Partition?table?manipulator?for?Linux????SYNOPSISfdisk?[-uc]?[-b?sectorsize]?[-C?cyls]?[-H?heads]?[-S?sects]?device子命令說明:
m:顯示幫助信息? p:?顯示當前硬件的分區,包括沒保存的改動 n:?創建新分區,e:?擴展分區,p:?主分區 d:?刪除一個分區 w:?保存退出 q:?不保存退出 t:?修改分區類型 l:?顯示所有支持的分區類型實例:
[root@CentOS6?~]#?fdisk?-l?/dev/sda1??#列出分區信息Disk?/dev/sda1:?209?MB,?209715200?bytes 255?heads,?63?sectors/track,?25?cylinders Units?=?cylinders?of?16065?*?512?=?8225280?bytes Sector?size?(logical/physical):?512?bytes?/?512?bytes I/O?size?(minimum/optimal):?512?bytes?/?512?bytes Disk?identifier:?0x00000000Device?Boot??????Start?????????End??????Blocks???Id??System2.lsblk命令:列出所有塊設備
[root@CentOS6?~]#?lsblk NAME???MAJ:MIN?RM??SIZE?RO?TYPE?MOUNTPOINT sr0?????11:0????1??3.7G??0?rom?? sda??????8:0????0???50G??0?disk? ├─sda1???8:1????0??200M??0?part?/boot ├─sda2???8:2????0????2G??0?part?[SWAP] └─sda3???8:3????0?47.8G??0?part?/ sdb??????8:16???0???50G??0?disk? └─sdb1???8:17???0???20G??0?part? sdc??????8:32???0???20G??0?disk? ├─sdc1???8:33???0??9.2G??0?part? └─sdc2???8:34???0??3.9G??0?part3.partx、partprobe、kpartx命令:通知內核重讀設備的分區表
centos5,7:
partprobe?/dev/DEVICECentOS 6 通知內核重讀指定設備的分區表:
#?partx?-a?/dev/DEVICE #?kpartx?-af?/dev/DEVICE -l:?列出指定設備的分區信息驗證是否執行成功:
[root@CentOS6?~]#?cat?/proc/partitions? major?minor??#blocks??name8????????0???52428800?sda8????????1?????204800?sda18????????2????2097152?sda28????????3???50125824?sda38???????16???52428800?sdb8???????17???20980858?sdb18???????32???20971520?sdc8???????33????9638968?sdc18???????34????4024282?sdc2253????????0????9638968?dm-0253????????1????4024282?dm-14.parted命令:管理磁盤分區
格式:
parted?[options]?[device?[command?[options...]...]]打印分區詳情:
[root@CentOS6?~]#?parted?/dev/sdc?print Model:?VMware,?VMware?Virtual?S?(scsi) Disk?/dev/sdc:?21.5GB Sector?size?(logical/physical):?512B/512B Partition?Table:?msdos??#MBR分區類型Number??Start???End?????Size????Type?????File?system??Flags1??????32.3kB??9870MB??9870MB??primary2??????9870MB??14.0GB??4121MB??primary3??????14.0GB??21.5GB??7477MB??primary新建分區:
[root@CentOS6?~]#?parted?/dev/sdb?mkpart?primary?2?200?#默認單位M Warning:?You?requested?a?partition?from?2000kB?to?200MB.?????????????????? The?closest?location?we?can?manage?is?21.5GB?to?21.5GB. Is?this?still?acceptable?to?you? Yes/No??y????????????????????????????????????????????????????????????????? Warning:?The?resulting?partition?is?not?properly?aligned?for?best?performance.Ignore/Cancel??i?????????????????????????????????????????????????????????? Information:?You?may?need?to?update?/etc/fstab.刪除分區:
[root@CentOS6?~]#?parted?/dev/sdb?rm?2 Information:?You?may?need?to?update?/etc/fstab.列出所有分區:
[root@CentOS6?~]#?parted?-l Model:?VMware,?VMware?Virtual?S?(scsi) Disk?/dev/sda:?53.7GB Sector?size?(logical/physical):?512B/512B Partition?Table:?msdosNumber??Start???End?????Size????Type?????File?system?????Flags1??????1049kB??211MB???210MB???primary??ext4????????????boot2??????211MB???2358MB??2147MB??primary??linux-swap(v1)3??????2358MB??53.7GB??51.3GB??primary??ext4...設置分區表類型:
[root@CentOS6?~]#?parted?/dev/sdb?mklabel?gpt?#gpt換位msdos則為MBR類型 Warning:?The?existing?disk?label?on?/dev/sdb?will?be?destroyed?and?all?data?on this?disk?will?be?lost.?Do?you?want?to?continue? Yes/No??y????????????????????????????????????????????????????????????????? Information:?You?may?need?to?update?/etc/fstab.5.gdisk命令:gpt分區表管理
注:gdisk與fdisk相似用來管理GPT分區表。
6.mknod命令:創建塊設備文件或字符設備文件
格式:
mknod?[OPTION]...?NAME?TYPE?[MAJOR?MINOR]常用選項:
實例:
[root@bash?~]#?mknod?-m?600?/dev/mysdev?b?65?0?? #創建塊設備制定權限為600,主設備號65,次設備號0[root@bash?~]#?ll?/dev/mysdev? brw-------?1?root?root?65,?0?Feb??6?09:25?/dev/mysdev補充:
添加硬盤不重啟讓內核識別命令:
[root@CentOS6?~]#?echo?"-?-?-"?>?/sys/class/scsi_host/host2/scan轉載于:https://blog.51cto.com/yolynn/1894954
總結
- 上一篇: swf 文件在线播放的,怎么能够下载呢?
- 下一篇: Bitcoin比特币与BlockChai