Linux的磁盤存儲管理實操——(上)

一、Linux的設備文件分類

Linux的設備文件分類

1、在Linux系統中設備文件是用來與外接交互的接口,它將內核中的硬件設備與文件系統關聯起來,讓用戶可以像操作普通文件一樣來操作硬件設備,同時也為開發者提供了方便而強大的應用程序接口。

2、Linux的設備都以文件的形式存在/dev中,根據設備文件的不同,又分為【字符設備文件】和塊【設備文件】。

序號Linux的設備文件分類說明
1字符設備文件

1、字符設備文件使用【c】作為標識;

2、字符設備文件的存取是以字符流的方式來進行的,一次傳送一個字符(常見的字符設備有:終端【TTY】、打印機、鼠標、鍵盤、繪圖儀等);字符設備文件有時也叫做【raw】設備文件;

2塊設備文件

1、塊設備文件使用【b】作為標識;

2、塊設備文件是以數據塊的方式來存取的(常見的設備有:硬盤、U盤等)【即:系統通過塊設備文件存取數據的時候,先從內存中的buffer中讀或寫數據;而不是直接傳送數據到物理磁盤,這種方式有效的提高了磁盤的I/O性能】

二、Linux的磁盤存儲管理

?2.1、MBR與GPT

MBR與GPT
序號MBRGPT
1MBR(Master Boot Record)主引導記錄;它由三部分組成【主引導程序】【硬盤分區表】【硬盤有效標志】,共占用512字節GPT(GUID Partition Table)全局唯一標識分區表,是一個物理硬盤的分區結構,它用來替代BIOS中的主引導記錄分區表(MBR)
2

1、主引導程序(main?boot loader)占用446個字節;

2、硬盤分區表(disk partition table)簡稱DPT,占用64個字節(主要用于對硬盤分區有多少以及每一個分區的大小都記錄在這里);

3、硬盤有效標志(magic number)占用2個字節,固定為55AA

3

MBR的特點:

由于MBR分區的分區表保存在硬盤的第一個扇區,且只有64個字節大小,所以最多只能有四個表項即:我們只能把硬盤分為4個主分區;或者分成小于等于3個主分區在加上一個擴展分區

GPT的特點:

《1》對分區的數量沒有限制;

《2》GPT可管理硬盤大小最大為18EB,幾乎是無限大了;

4

MBR分區的優缺點:

《1》優點:MBR的分區簡單,支持度高,很多操作系統都可以從MBR分區的硬盤啟動。

《2》缺點:MBR分區不能識別大于2T的硬盤空間,且不能有大于2T的分區。

GPT分區缺點:

《1》要從GPT分區的硬盤啟動,需要UEFI主板、硬盤使用GPT分區、操作系統支持GPT這三個硬性條件。

《2》必須使用64位系統。

傳統BIOS主要支持MBR引導,UEFI則是取代傳統BIOS,因為UEFI加入了對新硬件的支持。

?2.2、BIOS與UEFI

BIOS與UEFI
序號BIOSUEFI
1BIOS(Basic Input Output System)基本輸入輸出系統;是最古老的一種系統固件和接口,采用匯編語言進行編程,并使用中斷來執行輸入和輸出操作,在它剛出現的時候就確定了個人計算機生態系統的基本框架

UEFI(Unified Extensible Firmware Interface)統一可擴展固件接口;它定義了一種在操作系統和平臺固件之間的接口標準。

這種接口用于操作系統自動從預啟動的操作環境(即:在系統啟動之后,但在操作系統開始運行之前)加載到操作系統上,從而使開機程序化繁為簡,節省時間。

注意:準確的說UEFI是一種規范,不同廠商根據該規范對UEFI的實現,并做出個人電腦固件后,該固件就是UEFI固件

UEFI比BIOS先進的三個方面:

《1》可讀取分區表;

《2》可訪問某些特定文件系統中的文件;

《3》可執行特定格式的代碼。

可以說UEFI更像是一個簡易的操作系統。

UEFI的目標是取代傳統BIOS,它不支持MBR模式,僅支持GPT格式。

不過,近年出現的UEFI主板,采用UEFI+BIOS共存模式,并且BIOS中集成UEFI啟動項。

?2.3、Linux操作系統對GPT+UEFI支持列表

注意:下表中【1=BIOS+MBR】、【2=UEFI+GPT】;

簡單總結一下就是:

《1》紅帽系的Linux操作系統Centos6.X之下的(如Centos5.x、Centos4.x)64位系統不支持【UEFI+GPT】作為系統盤,只支持【BIOS+MBR】做系統盤。

《2》紅帽系的Linux操作系統Centos6.X及其更高版本(Fedora18及其更高版本)的64位系統支持【UEFI+GPT】【BIOS+MBR】這兩種做系統盤(必須要使用UEFI)和數據盤。

《3》德班系的Linux操作系統Debian8.0及其更高版本(Ubuntu13.04及其更高版本)的64位系統支持【UEFI+GPT】【BIOS+MBR】這兩種做系統盤(必須要使用UEFI)和數據盤。

《4》SUSE的Linux系統是在SUSE Linux Enterprise Server 11 SP3及其更高版本的64位系統支持【UEFI+GPT】【BIOS+MBR】這兩種做系統盤(必須要使用UEFI)和數據盤。

《5》FreeBSD的系統是在FreeBSD10.1及其更高版本的64位系統支持【UEFI+GPT】【BIOS+MBR】這兩種做系統盤(必須要使用UEFI)和數據盤。

?2.4、使用fdisk工具劃分磁盤分區實操

使用fdisk工具劃分磁盤分區

fdisk是Linux下的一款功能強大的磁盤分區管理工具(既可以觀察硬盤的使用情況;也可以對磁盤進行分割操作)fdisk工具不支持GPT格式分區。且fdisk工具對分區有大小限制(最大只能劃分小于2T的磁盤)

Linux下類似的磁盤分區管理工具還有【cfdisk】、【parted】等,parted是一個功能更為強大的分區工具,它支持GPT格式分區。

序號查詢命令說明
1fdisk -l可查看Linux中所有的磁盤分區信息;
2fdisk -l device

可查看Linux中指定磁盤的分區信息;

(如只查看/dev/sdb設備的分區信息命令【fdisk -l /dev/sdb】)

3fdisk -h可查看fdisk工具的使用幫助信息;

fdisk的使用分為兩個部分【查詢】和【交互操作】可以通過【fdisk device】進入指定磁盤的分區命令交互界面

fdisk的磁盤分區命令交互界面命令說明如下(如:進入/dev/sdb磁盤設備命令是【fdisk /dev/sdb】)

序號磁盤分區交互命令說明
1d刪除一個分區
2l列出已知的分區類型
3m顯示fdisk每個交互命令的詳細含義
4n增加一個新的分區
5p顯示分區信息
6t改變分區類型
7F列出未分區的空閑區
8q

退出交互操作,不保存操作的內容

9w寫分區表信息寫入到硬盤,保存操作退出

?

????????通過使用【fdisk -l】【df -h】這兩個命令我們可以查看到當前的【/dev/sdb】設備還沒有進行對應的分區和掛載使用,所以我們接下來就對【/dev/sdb】設備進行分區實操與掛載:

#使用fdisk命令對【/dev/sdb】新硬盤進行分區操作實戰#1-使用fdisk工具打開【/dev/sdb】硬盤設備命令
fdisk /dev/sdb#2-查看fdisk分區所有命令選項及其說明幫助
m#2-查看【/dev/sdb】硬盤設備的分區信息命令
p#3-添加新分區
n#4-創建一個主分區操作(按下p表示主分區,分區號不用填寫默認即可,扇區號也不用填寫默認即可,磁盤大小需要使用+size{K,M,G,T,P}來設置【如設置這個分區的大小為2g則輸入+2g即可】)主分區只能創建3個,其他的就是拓展分區了#5-創建擴展分區是在創建第四個分區的時候創建的(分區號、扇區號不用填寫,且磁盤大小也不用填寫【表示將剩下的所有磁盤空間都作為擴展分區】)#6-創建擴展分區的邏輯分區操作所使用的空間總容量是擴展分區的容量(分區號、扇區號都不用操作默認即可,磁盤大小根據自己需要設置也是一樣的使用+size{K,M,G,T,P}來設置【如設置這個分區的大小為1g則輸入+1g即可】;需要注意的是這里設置的邏輯分區大小不能夠大于擴展分區所擁有的總空間)#7-分區完成后先查看磁盤分區情況,若沒有問題則輸入w保存分區信息
p
w#8-需要對所有新創建的分區逐一進行格式化(格式化的格式一般選擇ext4或者xfs【我們這里使用ext4格式對/dev/sdb1進行格式化】)
#【需要特別注意第四個分區是擴展容器不能被格式化】
mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2
mkfs.ext4 /dev/sdb3
mkfs.ext4 /dev/sdb5
mkfs.ext4 /dev/sdb6#9-逐一掛載格式化好的分區到指定的路徑下(這里的mount掛載分區時不用單獨指定格式,會自動識別)
#手動指定/dev/sdb1分區的格式為ext4且掛載到/mnt路徑下
mount -t ext4 /dev/sdb1 /mnt
#直接將/dev/sdb1設備掛載到默認的/mnt目錄下
mount /dev/sdb1 /mnt#10-創建/data1目錄且將/dev/sdb2分區掛載到該目錄下(剩下的其他分區可根據需要自行掛載)
mkdir /data1
mount /dev/sdb2 /data1
#如果需要對指定分區的類型進行修改(則操作如下)#1-使用fdisk命令進入指定磁盤(如:/dev/sdb)
fdisk /dev/sdb#2-查看磁盤的分區情況
p#3-查看當前磁盤支持的所有類型命令
l#4-修改磁盤類型(輸入t進入修改模式,輸入磁盤分區編號【如修改分區5的類型】,輸入類型代碼【如修改為HPFS/NTFS/exFAT】)命令
t
5
7#5-查看磁盤的分區情況
p#6-若修改的指定磁盤分區類型正確則保存修改后退出命令
w

????????注意:如果需要使用fdisk對磁盤進行分區等實操(最好是新創建一個磁盤進行操作),我們可以在虛擬機(如VMware對應的Linux系統啟動前先編輯新增一個硬盤就可以了,在進行如下操作前最好是系統關機后再操作)。

????????選中需要新增硬盤的Linux系統-->點擊鼠標右鍵【設置】-->【硬件】-->【添加】-->【硬盤】-->【下一步】-->【SCSI(推薦)】-->【下一步】-->【創建新虛擬磁盤】-->【下一步】-->【輸入自己需要設置的硬盤大小】-->【將虛擬磁盤存儲為單個文件】-->【下一步】創建完成后,關閉該虛擬機設置界面。然后重啟該Linux系統。在VMware虛擬機上給Linux系統新增一塊硬盤的詳細操作如下圖所示:

?2.5、使用parted工具劃分磁盤分區實操——推薦使用

使用parted工具劃分磁盤分區

parted磁盤管理工具可劃分GPT格式分區,且對劃分的磁盤分區沒有大小限制;更適合現在磁盤的情況(目前磁盤一般都4T起步了);

如果系統沒有parted命令,則可以執行【yum -y install parted】命令直接安裝

序號parted查詢命令說明
1parted -l列出所有塊設備的分區配置
2parted -h列出關于parted工具的參數內容及其說明信息
parted的使用分為兩個部分【查詢】和【交互操作】可直接輸入【parted】進入磁盤的分區命令交互界面(默認進入第一塊磁盤)
序號parted交互模式常用參數說明
1

print

查看磁盤的分區信息,可簡寫為p;該命令有三個選項:

《1》devices 顯示系統的所有塊設備

《2》free 顯示當前磁盤的所有信息(且顯示磁盤的剩余空間)

《3》list,all 顯示所有磁盤信息

2select

選擇需要編輯的設備(如切換到/dev/sdb設備命令:select /dev/sdb)

【因為直接輸入parted進入命令交互模式后默認使用的是系統第一塊磁盤;若系統有多塊硬盤,就需要使用這個select命令切換了】

3help查看parted的交互命令及其含義
4rm刪除指定數字編號的分區(如刪除分區1命令是:rm 1)
5mklabel

創建磁盤的分區表結構(是設置msdos還是gpt格式)【如創建為gpt格式命令為:mklabel gpt】;

6mkpart

創建新分區

語法【mkpart 分區類型 [文件系統類型] 起始點 結束點】;

《1》分區類型主要有【primary(主分區)】【extended(擴展分區)】【logical(邏輯區)】;

《2》文件系統類型主要有【xfs、ext2、ext3、ext4、fat16、fat32、hfs、hfs+、linux-swap、ntfs 或 reiserfs】;該參數是可選的,可以不用填寫。

《3》起始點:表示分區的起始位置

《4》結束點:表示分區的結束位置

7quit保存退出parted的命令交互模式,可簡寫為q(即:保存在命令交互模式的操作后再退出)
對新創建的分區進行格式化與掛載操作
1需要對所有新創建的分區逐一進行格式化

《1》格式化的格式一般選擇ext4或者xfs【我們這里使用ext4格式對/dev/sdb1進行格式化】;

《2》對分區格式化命令:

#我們這里分別/dev/sdb設備的5個分區進行格式化
mkfs.xfs -f /dev/sdb1
mkfs.xfs -f /dev/sdb2
mkfs.xfs -f /dev/sdb3
mkfs.xfs -f /dev/sdb4
mkfs.xfs -f /dev/sdb5
2需要對所有新創建的分區格式化后進行逐一掛載

創建/data1目錄且將/dev/sdb1分區掛載到該目錄下(剩下的其他分區可根據需要自行掛載)

mkdir /data1
mount /dev/sdb1 /data1mkdir /data2
mount /dev/sdb2 /data2mkdir /data3
mount /dev/sdb3 /data3mkdir /data4
mount /dev/sdb4 /data4mkdir /data5
mount /dev/sdb5 /data5

三、其他資料

分區 - ArchWikihttps://wiki.archlinuxcn.org/wiki/Partitioning第?3?章?磁盤分區 | 管理存儲設備 | Red Hat Enterprise Linux | 10 | Red Hat Documentationhttps://docs.redhat.com/zh-cn/documentation/red_hat_enterprise_linux/10/html/managing_storage_devices/disk-partitions

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/90065.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90065.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90065.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

內核bpf的實現原理

bpftrace能幫我們干什么?1、統計 tcp連接的生命時長、2、統計mysql執行一條sql語句的時間3、統計redis執行命令的時間、 4、對文件進行一次讀或者寫的時間。 常用命令: bpftrace -e Begin { printf("hello\n"); } bpftrace -l *enter_accep…

前端npm配置Nexus為基礎倉庫

步驟: 一、Nexus倉庫配置 新增npm倉庫,具體詳解見 Nexus私有倉庫配置,解釋 注:Nexus的版本需要至少3.38以上,不然會出現npm install 時npm的審計功能報錯,導致install失敗。雖然在3.38以后不會報400錯誤&#xff0c…

數據結構 之 【排序】(直接插入排序、希爾排序)

目錄 1.直接插入排序 1.1直接插入排序的思想 1.2直接插入排序的代碼邏輯: 1.3 直接插入排序圖解 1.4單趟排序代碼(單個元素的排序邏輯) 1.5完整排序代碼 1.6直接插入排序的時間復雜度與空間復雜度 1.7直接插入排序的優勢 2.希爾排序(縮小增量排序) 2.1…

Laravel 后臺登錄 403 Forbidden 錯誤深度解決方案-優雅草卓伊凡|泡泡龍

Laravel 后臺登錄 403 Forbidden 錯誤深度解決方案-優雅草卓伊凡|泡泡龍一頓操作猛如虎,一看結果250,必須記錄,必須記錄,!今天弄了很久關于我們2023年的產品系統蜻蜓T會議系統專業版,然后終于搞好了密碼也重…

Newline全場景方案閃耀2025中國智慧生活大會

7月15日 — 16日,由中國電子視像行業協會等權威機構指導的2025 CIC中國智慧生活大會在京召開。Newline作為視像協會PID分會副會長單位攜全場景智慧辦公解決方案亮相,首席營銷官李宇鵬受邀出席領袖圓桌環節,與騰訊云、京東方、創維、TCL、小猿…

Edge瀏覽器地址欄默認搜索引擎設置指南

前言 Microsoft Edge 瀏覽器允許用戶自定義地址欄默認搜索引擎,只是設置入口隱藏比較深,以版本 137.0.3296.83 (正式版本) (64 位)為例詳細記錄設置地址欄默認搜索引擎步驟: Edge 設置默認搜索引擎步驟 通過設置界面修改 打開Edge設置&#x…

Python eval函數詳解 - 用法、風險與安全替代方案

Python eval函數詳解 - 用法、風險與安全替代方案在Python中,eval() 是一個內置函數,用于解析并執行傳入的字符串形式的表達式。它能夠將字符串動態地轉換為有效的Python代碼并運行。雖然 eval() 功能強大,但其使用也伴隨著潛在的安全風險。本…

Webpack5 新特性與詳細配置指南

一、Webpack5 新特性 內置 Asset Modules(資源模塊) 替代 file-loader、url-loader、raw-loader 等,統一資源處理方式。四種類型:asset/resource:導出文件 URL(等同 file-loader)。asset/inli…

籠子在尋找一只鳥:解讀生活的隱形陷阱

想象一個閃閃發光的籠子,敞開著門,在世界中游蕩,尋找一只鳥兒。這畫面是不是有點奇怪?這是卡夫卡的格言“一個籠子在尋找一只鳥”帶給我們的奇思妙想。通常,鳥兒自由翱翔,籠子靜靜等待,但卡夫卡…

低空經濟展 | 約克科技攜小型化測試設備亮相2025深圳eVTOL展

全球低空經濟與eVTOL產業盛會——2025深圳eVTOL展,將于2025年9月23日至25日在深圳坪山燕子湖國際會展中心盛大啟幕! 本屆展會以“低空經濟eVTOL航空應急救援商載大型無人運輸機”為核心,預計匯聚200位發言嘉賓、500家頂尖展商及15,000位專業觀…

數學專業轉行做大數據容易嗎?需要補什么?

高考志愿選擇數學專業是一個面向未來的決定。數學作為基礎學科,其嚴謹的邏輯訓練和抽象思維能力培養,為后續專業發展提供了廣泛的可能性。在數字化時代背景下,數學專業畢業生在數據科學、人工智能等領域的競爭優勢明顯。大學期間推薦考CDA數據…

物聯網系統中-設備管理定義方法

物聯網系統中的設備管理是指對聯網物理設備進行全生命周期監控、配置、維護和優化的系統性過程。它涵蓋了從設備接入到退役的各個環節,是物聯網平臺的核心能力,確保設備安全、穩定、高效地運行并產生價值。 以下是設備管理的詳細定義與核心組成部分&…

java和ptyhon對比

📝 ?1. 語言特性對比??維度??Java??Python??語法風格?靜態類型,需顯式聲明變量類型;代碼冗長(需分號、大括號)動態類型,變量類型自動推斷;簡潔(縮進代替大括號&#xff0c…

UI測試解決方案TestComplete:助力小團隊端到端測試全覆蓋

面對軟件多平臺部署的復雜環境與有限的人力資源,小團隊在追求端到端測試覆蓋時常常陷入困境:既要確保應用在Windows、macOS、Linux及iOS、Android等碎片化平臺上的穩定兼容,又要應對腳本重復編寫耗時費力、測試效率低下的挑戰,同時…

【Android】事件、繪制坐標系相關

一,事件坐標系即MotionEvent事件下發的坐標系,其坐標軸如下MotionEvent#offsetLocation方法可調整坐標原點,以影響MotionEvent#getX,MotionEvent#getY值,以匹配子View的坐標參考系,進而進行事件處理。注意&…

本地Linux服務器使用Docker快速部署SyncTV

文章目錄前言1. Docker部署2. 簡單使用演示3. 安裝cpolar內網穿透4. 配置公網地址5. 配置固定公網地址前言 當想和異地戀人同步看恐怖片卻因網絡延遲錯過驚悚瞬間,或與朋友組隊觀看電競直播時無法實時吐槽…這些尷尬場景或許你都經歷過。而SyncTV的存在正是為了解決…

搭建比分網服務器怎么選數據不會卡頓?

一、 體育比分網站的獨特技術挑戰體育比分網站是互聯網服務中的"極限運動",面臨三大技術高峰:數據實時性:NBA最后2分鐘的比分延遲超過1秒就會流失用戶流量脈沖:歐冠決賽時流量可能是平時的50-100倍全球覆蓋:…

7月18日總結

bashupload / upload files from command line 遠程文件包含 介紹一個上傳文件的網站 bashupload.com 簡介 借助bashupload.com,可以簡樸地從下令行上傳文件,剖析給其他的服務器,桌面和移動裝備,最大支持25G。上傳的文件會被保留…

【leetcode】3202. 找出有效子序列的最大長度(2)

文章目錄題目題解題目 3202. 找出有效子序列的最大長度(2) 給你一個整數數組 nums 和一個 正 整數 k 。 nums 的一個 子序列 sub 的長度為 x ,如果其滿足以下條件,則稱其為 有效子序列 : (sub[0] sub[1]) % k (su…

Linux內核網絡棧深度剖析:inet_connection_sock.c的服務器端套接字管理

引言 在Linux網絡協議棧中,net/ipv4/inet_connection_sock.c是實現面向連接協議(如TCP)服務器端邏輯的核心文件。它承載了從端口綁定、連接接受到資源回收的全流程管理,是構建高并發網絡服務的基石。本文將深入解析其關鍵機制和實現原理。 一、地址匹配:端口沖突檢測的基…