RedHat磁盤的添加和擴容

前情提要

  • 🧱 磁盤結構流程概念圖:

物理磁盤 (/dev/sdX)

?└── 分區(如 /dev/sdX1)或整塊磁盤(直接使用)

????? └── 物理卷 (PV, 用 pvcreate)

?????????? └── 卷組 (VG, 用 vgcreate)

??????????????? └── 邏輯卷 (LV, 用 lvcreate)

???????????????????? └── 格式化為文件系統(如 ext4,用 mkfs.ext4)

  • ? 命令職責說明

命令

作用

用于哪種結構

mkpart

用于創建磁盤分區(在 parted 中)

普通分區結構、也可為 LVM 提供空間

vgcreate

創建 LVM 的卷組(VG

LVM 結構

pvcreate

初始化一個設備或分區為 LVM 的物理卷

LVM 結構

lvcreate

在卷組里創建邏輯卷(LV

LVM 結構

mkfs.ext4

格式化一個分區或邏輯卷為 ext4 文件系統

可用于普通分區或 LVM LV

  • ? 小結

操作目標

你應使用的命令

創建普通磁盤分區

parted + mkpart + mkfs.ext4

使用磁盤做 LVM

pvcreate + vgcreate + lvcreate

格式化成 ext4 文件系統

mkfs.ext4

1、添加一塊磁盤

2、創建分區

  • 2.1小于2T空間可采用fdisk命令進行分區

`

fdisk /dev/sdb

n

p

1

w

最后輸入w保存所有配置,輸入quit退出/放棄配置退出

  • 2.2大于2T可采用parted命令進行ext4分區

parted /dev/sdb

使用 parted 創建 GPT 分區表并分區

mklabel gpt?????????? ?# 創建 GPT 分區表

mkpart primary ext4 0% 100%?? # 創建分區,占滿整個磁盤

quit

進入 parted 命令行后,依次執行:

mkfs.ext4 /dev/sdb1

格式化分區(假設創建的是 /dev/sdb1)

mkdir /data

mount /dev/sdb1 /data

創建掛載點并掛載

  • 2.3大于2T可采用parted命令進行LVM分區(優選)

查看磁盤狀態和需要初始化的磁盤分區

創建物理卷(PV)

pvcreate /dev/sdc

創建卷組(VG)

vgcreate vg_data /dev/sdc

創建邏輯卷(LV)

比如分配 2GB 空間:

lvcreate -n lv_data -L 2G vg_data

也可以使用所有剩余空間:

lvcreate -n lv_data -l 100%FREE vg_data

格式化邏輯卷為 ext4

mkfs.ext4 /dev/vg_data/lv_data

掛載到你想用的目錄

mkdir /lvm-data

mount /dev/vg_data/lv_data /data

3、設置開機自動掛載(寫入?/etc/fstab

先獲取 UUID:

blkid /dev/sdb1

然后編輯?/etc/fstab:

vi /etc/fstab

添加如下行(替換為實際 UUID):

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx? /data? ext4? defaults? 0 0

4、添加完成檢查狀態

🔧 注意事項

  • RedHat 6.5 默認支持 GPT,但是你必須使用 parted 或 gdisk,不要使用 fdisk
  • 如果你使用的是較老的 BIOS(非 UEFI),啟動盤不能使用 GPT(但數據盤沒問題)。

5、擴容磁盤

  • 5.1、ext4磁盤類型的擴容

查看目前磁盤狀態

卸載分區,此時會中斷業務

umount /dev/sdb1

如果提示 busy,可以用:

lsof | grep /dev/sdb1

結束占用進程后再卸載。

卸載之前

卸載之后

使用 parted 刪除并重建分區(不丟數據)

?? 只刪除分區,不格式化,數據不會丟失。

parted /dev/sdb

在?parted 交互命令行中執行:

rm 1?????????????????????? # 刪除 sdb1 分區

mkpart primary ext4 0% 100%?? # 創建新的分區占滿整個磁盤

quit

讓系統識別新的分區表

partprobe

擴展文件系統到新的分區大小

e2fsck -f /dev/sdb1????? # 先檢查文件系統(非常重要)

resize2fs /dev/sdb1????? # 擴展 ext4 文件系統

重新掛載分區

mount /dev/sdb1 /data

df -h /data????????????? # 查看是否擴容成功

  • 5.2、LVM格式的擴容

查看 VG 剩余空間(確認)

vgdisplay vg_data

執行擴容邏輯卷命令(使用所有剩余空間)

lvextend -l +100%FREE /dev/vg_data/lv_data

這表示:將 vg_data 中剩余的全部空間分配給 lv_data。

你也可以指定擴多少,比如再加 2G:

lvextend -L +2G /dev/vg_data/lv_data

擴展文件系統(ext4)

由于你使用的是 ext4 文件系統(默認情況下通常是),運行:

resize2fs /dev/vg_data/lv_data

這個命令會讓文件系統識別到新的邏輯卷大小,并利用新增空間。

📌 注意:這個命令可以在線運行,不影響業務!

驗證擴容是否成功

df -h /lvm-data

6、總結

  • ? LVM 與 ext4 的對比總結:

特性

LVM

ext4

擴容方式

支持動態擴容、收縮

支持在線擴展,但無法收縮

磁盤合并

支持合并多個磁盤形成一個邏輯卷

不支持多個磁盤合并

文件系統管理

支持快速變動和調整邏輯卷

固定文件系統,變更需要重分區

快照

支持快照,適合數據備份與恢復

不支持文件系統級別的快照

性能開銷

有較小的性能開銷

較小,無額外的抽象層

數據恢復

恢復復雜,需要恢復 LVM 配置

恢復相對簡單

文件系統功能

不涉及文件系統,交給其他工具

提供日志、文件系統修復等功能

  • 對于普通的ext4的格式也可以在線擴容但是需要用到非系統自帶組件,需要另外安裝。
  • ?? 注意事項:
  • growpart 是 cloud-utils 包的一部分(有些系統可能需要安裝):

yum install cloud-utils-growpart

  • 并且growpart 只適用于 MBR 或 GPT 分區表的末尾分區。不能擴展中間分區。
  • 如果你原來是 LVM 分區,這個方法就不適用,而是要用 lvextend + resize2fs。

  • ? 正確理解?growpart 和 resize2fs

命令

作用

是否會中斷業務

growpart

擴展分區表中該分區的大小(前提是后面有空閑空間)

? 不會中斷

resize2fs

擴展 ext4 文件系統以使用新空間

? 在線執行


  • 🧠 工作原理簡述

在使用云平臺或 LVM 之外的普通分區時,如果你掛載的是 /dev/sdb1 這樣的 普通 ext4 分區,growpart 會:

  • 只調整分區表,把 /dev/sdb1 從 2G 擴到例如 5G
  • 文件系統大小并沒有變化
  • 所以你還需要運行 resize2fs 才會看到新的可用空間

  • ? 在線擴容 ext4 分區完整流程(無業務中斷)

假設你掛載的是 /dev/sdb1 到 /data,現在你已經通過擴盤或者調整磁盤,使得 /dev/sdb 后面有空閑空間。

# 第一步:擴展分區(非破壞性)

growpart /dev/sdb 1

# 第二步:擴展文件系統

resize2fs /dev/sdb1

注意:這個操作不會卸載分區,可以在線完成。


  • 🔍 驗證是否成功:

df -h /data

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

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

相關文章

Lua—元表(Metatable)

原表解析 在 Lua table 中我們可以訪問對應的 key 來得到 value 值,但是卻無法對兩個 table 進行操作(比如相加)。 因此 Lua 提供了元表(Metatable),允許我們改變 table 的行為,每個行為關聯了對應的元方法。 setmetatable(table,metatable…

一種運動平臺掃描雷達超分辨成像視場選擇方法——論文閱讀

一種運動平臺掃描雷達超分辨成像視場選擇方法 1. 專利的研究目標與意義1.1 研究目標1.2 實際意義2. 專利的創新方法與技術細節2.1 核心思路與流程2.1.1 方法流程圖2.2 關鍵公式與模型2.2.1 回波卷積模型2.2.2 最大后驗概率(MAP)估計2.2.3 統計約束模型2.2.4 迭代優化公式2.3 …

Listremove數據時報錯:Caused by: java.lang.UnsupportedOperationException

看了二哥的foreach陷阱后,自己也遇見了需要循環刪除元素的情況,立馬想到了當時自己陰差陽錯的避開所有坑的解決方式:先倒序遍歷,再刪除。之前好使,但是這次不好使了,報錯Caused by: java.lang.UnsupportedO…

Ceph集群OSD運維手冊:基礎操作與節點擴縮容實戰

#作者:stackofumbrella 文章目錄 一、Ceph集群的OSD基礎操作查看osd的ID編號查看OSD的詳細信息查看OSD的狀態信息查看OSD的統計信息查看OSD在主機上的存儲信息查看OSD延遲的統計信息查看各個OSD使用率集群暫停接收數據集群取消暫停 OSD寫入權重操作查看默認OSD操作…

PHP框架在分布式系統中的應用!

隨著互聯網業務的快速發展,分布式系統因其高可用性、可擴展性和容錯性成為現代應用架構的主流選擇。而PHP作為一門成熟的Web開發語言,憑借其簡潔的語法、豐富的框架生態和持續的性能優化,逐漸在分布式系統中嶄露頭角。本文將深入探討PHP框架在…

MySQL 索引(一)

文章目錄 索引(重點)硬件理解磁盤盤片和扇區定位扇區磁盤的隨機訪問和連續訪問 軟件方面的理解建立共識索引的理解 索引(重點) 索引可以提高數據庫的性能,它的價值,在于提高一個海量數據的檢索速度。 案例…

環境搭建-復現ST-GCN輸出動作分類視頻(win10+openpose1.7.0+VS2019+CMake3.30.1+cuda11.1)

這次我們安裝github.com/yysijie/st-gcn這個作者源碼環境,安裝流程十分復雜這里介紹大體流程。 1.首先編譯openpose的python API接口這個編譯難度較大,具體參考博文:windows編譯openpose及在python中調用_python openpose-CSDN博客 這個博…

HTML屬性

HTML(HyperText Markup Language)是網頁開發的基石,而屬性(Attribute)則是HTML元素的重要組成部分。它們為標簽提供附加信息,控制元素的行為、樣式或功能。本文將從基礎到進階,全面解析HTML屬性…

2025年“深圳杯”數學建模挑戰賽C題國獎大佬萬字思路助攻

完整版1.5萬字論文思路和Python代碼下載:https://www.jdmm.cc/file/2712073/ 引言 本題目旨在分析分布式能源 (Distributed Generation, DG) 接入配電網系統后帶來的風險。核心風險評估公式為: R P_{loss} \times C_{loss} P_{over} \times C_{over}…

兩數相加(2)

2. 兩數相加 - 力扣(LeetCode) 解法: class Solution { public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {ListNode * dummy new ListNode(0);int carry 0;ListNode * head dummy;while (l1 ! nullptr || l2 ! nullptr ||…

基于大模型的新型隱球菌腦膜炎智能診療全流程系統設計與實現的技術方案文檔

目錄 一、術前風險預測系統1. 多模態融合模型架構2. 風險預測流程圖(Mermaid)二、麻醉劑量預測系統1. 靶控輸注(TCI)模型2. 麻醉方案優化流程圖(Mermaid)三、術后并發癥預測模型1. 時序預測模型(LSTM)2. 并發癥預測流程圖(Mermaid)四、健康教育管理模塊1. 移動健康(…

coze工作流完成行業調研報告

一、coze 是什么? Coze是由字節跳動推出的新一代AI應用開發平臺,定位是零代碼或低代碼的AI開發平臺,也被稱為字節跳動版的GPTs ,國內版名為“扣子”。 Coze有國內版和國外版兩個版本。國內版網址為http://www.coze.cn &#xff…

智慧農業運維平臺養殖—傳感器管理監控設計—仙盟創夢IDE

智慧農業綜合監測與智能執行系統簡介 該系統圍繞農業生產全流程,融合氣象環境監測、農技指導精準推送及多維度智能控制,助力農業高效、科學發展。 氣象環境與農技指導:于農業現場部署慧云智能物聯網設備,實時監測空氣溫濕度、光照…

docker 鏡像的導出和導入(導出完整鏡像和導出容器快照)

一、導出原始鏡像 1. 使用 docker save 導出完整鏡像 適用場景&#xff1a;保留鏡像的所有層、元數據、標簽和歷史記錄&#xff0c;適合遷移或備份完整鏡像環境。 操作命令 docker save -o <導出文件名.tar> <鏡像名:標簽>示例&#xff1a;docker save -o milvu…

Spring循環依賴問題

個人理解&#xff0c;有問題歡迎指正。 Spring 生命周期中&#xff0c;首先使用構造方法對 bean 實例化&#xff0c;實例化完成之后才將不完全的 bean放入三級緩存中提前暴露出 bean&#xff0c;然后進行屬性賦值&#xff0c;此時容易出現循環依賴問題。 由此可見&#xff0c;…

JAVA自動裝箱拆箱

引言 Java 中的**裝箱&#xff08;Boxing&#xff09;和拆箱&#xff08;Unboxing&#xff09;**是自動類型轉換的機制&#xff0c;用于在基本數據類型&#xff08;如 int、long 等&#xff09;和其對應的包裝類&#xff08;如 Integer、Long 等&#xff09;之間進行轉換。這種…

如何閱讀、學習 Linux 2 內核源代碼 ?

學習Linux 2內核源代碼是深入理解操作系統工作原理的絕佳途徑&#xff0c;但這無疑是一項極具挑戰性的任務。下面為你提供一套系統的學習方法和建議&#xff1a; 一、扎實基礎知識 操作系統原理 透徹掌握進程管理、內存管理、文件系統、設備驅動等核心概念。推薦閱讀《操作系…

樹莓派4的v4l2攝像頭(csi)no cameras available,完美解決

根據2025年最新技術文檔和樹莓派官方支持建議&#xff0c;no cameras available錯誤通常由驅動配置沖突或硬件連接問題導致。以下是系統化解決方案&#xff1a; 一、核心修復步驟 強制禁用傳統驅動 sudo nano /boot/firmware/config.txt確保包含以下配置&#xff08;2025年新版…

c++學習之路(3)

通過《c學習之路&#xff08;2&#xff09;》的學習&#xff0c;我們已經掌握了數據的儲存&#xff0c;以及數據的讀入與輸出&#xff0c;這次課程&#xff0c;我們要學習if語句的使用方法以及邏輯表達式請各位學者做好準備&#xff0c;謝謝配合&#xff01;&#xff01;&#…

Java程序題案例分析

目錄 一、基礎語法 1. 類與對象 2. 接口與抽象類 二、面向對象語法 1. 繼承與多態 2. 四種訪問修飾符 三、設計模式相關語法 一、策略模式&#xff08;接口回調實現&#xff09; 1. 完整實現與解析 二、工廠模式&#xff08;靜態工廠方法實現&#xff09; 1. 完整實…