Linux CentOS 8(磁盘设备与硬盘设备的概述与管理)
Linux CentOS 8(磁盤設備與硬盤設備的概述與管理)
目錄
- 一、項目介紹
- 二、相關概念
- 2.1 磁盤設備
- 2.2 磁盤的接口
- 2.3 硬盤的設備名稱
- 2.4 文件系統
- 2.5 RAID獨立冗余磁盤陣列
- 三、任務操作
- 任務1- 添加硬盤設備
- 任務2- fdisk命令
一、項目介紹
本節將介紹Linux(Centos8)中磁盤設備與硬盤設備的概述與管理。
二、相關概念
2.1 磁盤設備
應包括磁盤驅動器、適配器及盤片,它們既可以作為輸入設備,也可作為輸出設備或稱載體。控制軟盤讀和寫,即輸入或輸出是由磁盤驅動器及其適配器來完成的,從功能上來說,一臺磁盤設備與一臺錄放機的作用是相同的,一盤錄音帶可反復地錄音,那么軟盤片或硬盤片,或稱信息載體,也可以反復地被改寫。
2.2 磁盤的接口
現在磁盤最常用的可簡單分為普通的機械盤和SSD(Solid-state drive或Solid-state disk)兩種,他們都以不同的接口協議和主板鏈接,在了解命令之前,我們先來看下,現在服務器磁盤的接口協議。這樣可以更好的了解磁盤?,F階段磁盤的接口主要有以下幾種:
-
ATA
全稱Advanced Technology Attachment,是用傳統的40-pin并口數據線連接主板與硬盤的,接口速度最大為133MB/s,因為并口線的抗干擾性太差,且排線占用空間較大,不利計算機內部散熱,已逐漸被SATA所取代。 -
SATA
全稱Serial ATA,也就是使用串口的ATA接口,特點是抗干擾性強,對數據線的要求比ATA低很多,且支持熱插拔等功能。SATA-II的接口速度為300MiB/s,而新的SATA-III標準可達到600MiB/s的傳輸速度。SATA的數據線也比ATA的細得多,有利于機箱內的空氣流通,整理線材也比較方便。 -
SCSI
全稱Small Computer System Interface(小型機系統接口),經歷多代的發展,從早期的SCSI-II,到當前的Ultra320 SCSI以及Fiber-Channel(光纖通道),接口型式也多種多樣。SCSI硬盤廣為工作站級個人計算機以及服務器所使用,因此會使用較為先進的技術,如碟片轉速15000rpm的高轉速,且資料傳輸時CPU占用率較低,但是單價也比相同容量的ATA及SATA硬盤更加昂貴。 -
SAS
此外,由于SAS硬盤可以與SATA硬盤共享同樣的背板,因此在同一個SAS存儲系統中,可以用SATA硬盤來取代部分昂貴的SAS硬盤,節省整體的存儲成本。但SATA存儲系統并不能連接SAS硬盤。 -
FC
全稱Fibre Channel(光纖通道接口),擁有此接口的硬盤在使用光纖聯接時具有熱插拔性、高速帶寬(4Gb/s或10Gb/s)、遠程連接等特點;內部傳輸速率也比普通硬盤更高。但其價格高昂,因此FC接口通常只用于高端服務器領域。現在,普通機械盤接口多為SATA,固態盤接口多為SAS。
2.3 硬盤的設備名稱
Linux的硬盤設備SCSI/SATA/U盤,它的文件名稱為【/dev/sd[a-p]】,系統采用a-p來表示16塊不同的硬盤,硬盤的分區也是有講究的,主分區或擴展分區為編號1-4,邏輯分區是從編號5開始。(如圖1)如:/dev/xd*
當x=s,/dev/sd*,代表sata硬盤,或者iscsi網絡存儲;
當x=v,/dev/vd*,代表虛擬硬盤,一般出現在虛擬機里;
當x=h,/dev/hd*,代表IDE硬盤,一般出現在老式電腦中;
如/dev/sda1,就是系統中第一塊sata硬盤的第一個分區,而/dev/cdrom,/dev/sr[0-…]則是系統中的光驅。
圖12.4 文件系統
在Linux系統中有一個重要的概念:一切都是文件。其實這是UNIX哲學的一個體現,而Linux是重寫UNIX而來,所以這個概念也就傳承了下來。在UNIX系統中,把一切資源都看作是文件,包括硬件設備。UNIX系統把每個硬件都看成是一個文件,通常稱為設備文件,這樣用戶就可以用讀寫文件的方式實現對硬件的訪問。Linux 系統支持數十種的文件系統,而最常見的文件系統如下所示。
-
Ext3:
是一款日志文件系統,能夠在系統異常宕機時避免文件系統資料丟失,并能自動修復數據的不一致與錯誤。然而,當硬盤容量較大時,所需的修復時間也會很長,而且也不能百分之百地保證資料不會丟失。它會把整個磁盤的每個寫入動作的細節都預先記錄下來,以便在發生異常宕機后能回溯追蹤到被中斷的部分,然后嘗試進行修復。 -
Ext4:
Ext3的改進版本,作為 RHEL6系統中的默認文件管理系統,它支持的存儲容量高達1EB(1EB=1,073,741,824GB),且能夠有無限多的子目錄。另外,Ext4文件系統能夠批量分配 block塊,從而極大地提高了讀寫效率 -
XFS:
是一種高性能的日志文件系統,而且是RHEL 7中默認的文件管理系統,它的優勢在發生意外宕機后尤其明顯,即可以快速地恢復可能被破壞的文件,而且強大的日志功能只用花費極低的計算和存儲性能。并且它最大可支持的存儲容量為18EB,這幾乎滿足了所有需求。然而計算機系統在發展過程中產生了眾多的文件系統,為了使用戶在讀取或寫入文件時不用關心底層的硬盤結構,Linux 內核中的軟件層為用戶程序提供了一個VFS(Virtual File System,虛擬文件系統)接口,這樣用戶實際上在操作文件時就是統一對這個虛擬文件系統進行操作了。如圖2所示為 VFS 的架構示意圖,從中可見,實際文件系統在 VFS下隱藏了自己的特性和細節,這樣用戶在日常使用時會覺得“文件系統都是一樣的”,也就可以隨意使用各種命令在任何文件系統中進行各種操作了(比如使用 cp 命令來復制文件)。
2.5 RAID獨立冗余磁盤陣列
1988年,美國加利福尼亞大學伯克利分校首次提出并定義了Redundant Array of Independent Disks技術的概念,中文名是磁盤冗余陣列,簡稱RAID。RAID技術通過把多個硬盤設備組合成一個容量更大、安全性更好的磁盤陣列,并把數據切割成多個區段后分別存放在各個不同的物理硬盤設備上,然后利用分散讀寫技術來提升磁盤陣列整體的性能,同時把多個重要數據的副本同步到不同的物理硬盤設備上,從而起到了非常好的數據冗余備份效果。
任何事物都有它的兩面性。RAID技術確實具有非常好的數據冗余備份功能,但是它也相應地提高了成本支出。就像原本我們只有一個電話本,但是為了避免遺失,把聯系人號碼信息寫成了兩份,自然要為此多買一個電話本,這也就相應地提升了成本支出。RAID技術的設計初衷是減少因為采購硬盤設備帶來的費用支出,但是與數據本身的價值相比較,現代企業更看重的則是RAID技術所具備的冗余備份機制以及帶來的硬盤吞吐量的提升。也就是說,RAID不僅降低了硬盤設備損壞后丟失數據的幾率,還提升了硬盤設備的讀寫速度,所以它在絕大多數運營商或大中型企業中得以廣泛部署和應用。
出于成本和技術方面的考慮,需要針對不同的需求在數據可靠性及讀寫性能上做出權衡,制定出滿足各自需求的不同方案。目前已有的RAID磁盤陣列的方案至少有十幾種,其中RAID 0、RAID 1、RAID 5與RAID 10這4種最常見的方案,這四種方案的對比如圖3所示,其中n代表硬盤總數。
圖3三、任務操作
任務1- 添加硬盤設備
添加硬盤設備的操作思路:首先需要在虛擬機中模擬添加入一塊新的硬盤存儲設備,然后再進行分區、格式化、掛載等操作,最后通過檢查系統的掛載狀態并真實地使用硬盤來驗證硬盤設備是否成功添加。
1.1 首先把虛擬機系統關機,稍等幾分鐘會自動返回到虛擬機管理主界面,然后單擊“編輯虛擬機設置”選項,在彈出的界面中單擊“添加”按鈕,新增一塊硬件設備,如圖4所示。
1.2 選擇想要添加的硬件類型為“硬盤”,然后單擊“下一步”按鈕,如圖5所示。
1.3 選擇虛擬硬盤的類型為SCSI(默認推薦),并單擊“下一步”按鈕,這樣虛擬機中的設備名稱過一會兒后為/dev/sdb,如圖6所示。
1.4 選中“創建新虛擬磁盤”單選按鈕,而不是其他選項,再次單擊“下一步”按鈕,如圖7所示。
1.5 將“最大磁盤大小”設置為默認的20GB。這個數值是限制這臺虛擬機所使用的最大硬盤空間,而不是立即將其填滿,因此默認20GB就很合適了。單擊“下一步”按鈕,如圖8所示。
1.6 設置磁盤文件的文件名和保存位置(這里采用默認設置即可,無需修改),直接單擊“完成”按鈕,如圖9所示。
任務2- fdisk命令
在Linux系統中,管理硬盤設備最常用的方法就當屬fdisk命令了。fdisk命令用于管理磁盤分區,格式為“fdisk [磁盤名稱]”,它提供了集添加、刪除、轉換分區等功能于一身的“一站式分區服務”。
2.1 查看“fdisk”的選項
[root@localhost~]# fdisk -h //使用選項“-h”進行查看 Usage:fdisk [options] <disk> change partition tablefdisk [options] -l [<disk>] list partition table(s) Display or manipulate a disk partition table. Options:-b, --sector-size <size> physical and logical sector size-B, --protect-boot don't erase bootbits when creating a new label-c, --compatibility[=<mode>] mode is 'dos' or 'nondos' (default)-L, --color[=<when>] colorize output (auto, always or never)colors are enabled by default-l, --list display partitions and exit-o, --output <list> output columns-t, --type <type> recognize specified partition table type only-u, --units[=<unit>] display units: 'cylinders' or 'sectors' (default)-s, --getsz display device size in 512-byte sectors [DEPRECATED]--bytes print SIZE in bytes rather than in human readable format-w, --wipe <mode> wipe signatures (auto, always or never)-W, --wipe-partitions <mode> wipe signatures from new partitions (auto, always or never)-C, --cylinders <number> specify the number of cylinders-H, --heads <number> specify the number of heads-S, --sectors <number> specify the number of sectors per track-h, --help display this help-V, --version display version列出fdisk命令常用選項,如表1所示。
表1 fdisk命令常用選項的用法| m | 查看全部可用的參數 |
| n | 添加新的分區 |
| d | 刪除某個分區信息 |
| l | 列出所有可用的分區類型 |
| t | 改變某個分區的類型 |
| p | 查看分區表信息 |
| w | 保存并退出 |
| q | 不保存直接退出 |
2.2 先使用fdisk命令來嘗試管理/dev/sdb硬盤設備,輸入參數p來查看硬盤設備內已有的分區信息,其中包括了硬盤的容量大小、扇區個數等信息。
[root@localhost ~]# fdisk /dev/sdb Welcome to fdisk (util-Linux 2.32.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. The old ext4 signature will be removed by a write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0xb25f7430. Command (m for help): p Disk /dev/sda1: 1 GiB, 1073741824 bytes, 2097152 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xb25f74302.3 輸入參數n嘗試添加新的分區。系統會要求您是選擇繼續輸入參數p來創建主分區,還是輸入參數e來創建擴展分區。這里輸入參數p來創建一個主分區:
Command (m for help): n Partition typep primary (0 primary, 0 extended, 4 free)e extended (container for logical partitions) Select (default p): p2.4 輸入主分區的編號,默認為1即可,接下來系統會提示定義起始的扇區位置,這不需要改動,我們敲擊回車鍵保留默認設置即可,系統會自動計算出最靠前的空閑扇區的位置。最后,定義整個分區的大小是多少,此處輸入+1G即可創建出一個容量為1G的硬盤分區。
Partition number (1-4, default 1): 1 First sector (2048-41943039, default 2048): 此處回車即可 Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +1G Created a new partition 1 of type 'Linux' and of size 1 GiB.2.5 再次使用參數p來查看硬盤設備中的分區信息。
Command (m for help):p Disk /dev/sdb: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xc38174c9 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 2099199 2097152 1G 83 Linux2.6 最后,輸入w后回車,分區信息才真正的寫入成功。
Command (m for help):w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.2.7 輸入partprobe命令手動將分區信息同步到內核,可以使用file命令查看該文件的屬性。
[root@localhost ~]# partprobe Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0 has been opened read-only. [root@localhost ~]# file /dev/sdb /dev/sdb: block special (8/16)2.8 格式化
[root@localhost ~]# mkfs //敲擊tab鍵2次,可看到常用的文件系統名稱 mkfs mkfs.ext2 mkfs.ext4 mkfs.xfs mkfs.cramfs mkfs.ext3 mkfs.minix [root@localhost ~]# mkfs.xfs /dev/sdb1 //格式分區為XFS的文件系統 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=65536 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=1, sparse=1, rmapbt=0= reflink=1 data = bsize=4096 blocks=262144, imaxpct=25= sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0制作成員: 楊佳佳
排版: 裕新
初審: 何嘉愉
復審: 二月二
總結
以上是生活随笔為你收集整理的Linux CentOS 8(磁盘设备与硬盘设备的概述与管理)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GDAL学习笔记02:GDAL基础知识
- 下一篇: linux sdio驱动