Orange的運維學習日記--28.Linux邏輯卷詳解

Orange的運維學習日記–28.Linux邏輯卷詳解

文章目錄

  • Orange的運維學習日記--28.Linux邏輯卷詳解
    • 為什么使用 LVM
    • 基本概念
    • 創建物理卷
    • 創建卷組
    • 創建邏輯卷
    • 創建文件系統并掛載
    • 清理 LVM 對象
    • 擴展與縮減邏輯卷
      • 擴展 LV
      • 縮減 LV
    • 調整文件系統大小
      • 擴展 XFS 文件系統
      • 擴展 EXT4 文件系統
      • 縮減 EXT4 文件系統
    • 邏輯卷快照
    • 創建 RAID 邏輯卷
      • 創建 RAID0 條帶卷
      • 創建 RAID1 鏡像卷

為什么使用 LVM

物理分區方式雖然簡單,但存在以下不足

  • 分區必須使用連續空間,擴展時經常需要借助額外工具進行掛載區間移動
  • 難以跨多塊硬盤創建單一文件系統,受單盤容量限制
  • 單盤故障將導致該分區上所有數據不可用

LVM 提供了一種邏輯抽象層,將多個物理設備合并為一個存儲池,實現靈活的動態擴展、縮減、快照及鏡像等功能


基本概念

LVM 由三個核心對象組成

  • 物理卷(PV)
    基于磁盤、分區或軟件 RAID 設備創建,存儲 LVM 元數據
  • 卷組(VG)
    將一個或多個 PV 聚合為一個邏輯存儲池,管理員可在池內劃分空間
  • 邏輯卷(LV)
    從 VG 中按需切分出的可掛載塊設備,類似于傳統分區

在這里插入圖片描述

LVM 管理流程分為三步

  1. 在物理設備上創建 PV
  2. 將 PV 加入 VG
  3. 從 VG 上創建 LV

在這里插入圖片描述


創建物理卷

創建 PV 時,LVM 會在設備開頭和結尾寫入元數據,建議新加設備、分區或 RAID 設備上執行

# 單個設備創建 PV
pvcreate /dev/sdb# 同時對多個設備創建 PV
pvcreate /dev/sd{c,d}# 查看所有 PV 列表
pvs# 檢查單個 PV 詳細屬性
pvdisplay /dev/sdb

在 PV 詳細信息中,你可以看到 PV 大小、可用物理擴展(PE)數量及 UUID 等關鍵信息


創建卷組

卷組是物理卷的集合,后續邏輯卷會從中分配空間

# 創建名稱為 webapp 的 VG,包含 /dev/sdb
vgcreate webapp /dev/sdb# 創建名稱為 dbapp 的 VG,包含 /dev/sdc 和 /dev/sdd
vgcreate dbapp /dev/sd{c,d}# 查看所有 VG 列表及其聚合容量
vgs# 查看卷組 dbapp 詳細信息
vgdisplay dbapp

在 vgdisplay 輸出中,重點關注 VG 大小(VSize)、空閑空間(VFree)和 PE 大小(默認 4MiB,可用 -s 調整)


創建邏輯卷

邏輯卷相當于傳統分區,支持跨盤、在線擴容、鏡像及快照等高級功能

# webapp VG 中創建 5G 大小的 LV,名稱為 webapp01
lvcreate -n webapp01 -L 5G webapp# dbapp VG 中創建 25G 跨盤 LV,名稱為 data01
lvcreate -n data01 -L 25G dbapp# 列出所有 LV 及其所屬 VG、大小等信息
lvs

邏輯卷有三種常見路徑

  • /dev/卷組名/邏輯卷名
  • /dev/mapper/卷組名-邏輯卷名
  • /dev/dm-數字

可通過 ls -l /dev/卷組名/邏輯卷名 查看對應映射


創建文件系統并掛載

在邏輯卷上創建文件系統與普通分區相同,可選 XFS、EXT4 等格式

# 使用 XFS 格式化
mkfs.xfs /dev/webapp/webapp01# 掛載至目標目錄
mount /dev/webapp/webapp01 /var/www/html

持久化掛載需在 /etc/fstab 中添加相應條目,保證重啟后自動掛載


清理 LVM 對象

刪除操作會清除所有數據,請務必確認無用后再執行

# 卸載掛載點
umount /dev/webapp/webapp01# 刪除 LV
lvremove /dev/webapp/webapp01 /dev/dbapp/data01# 刪除 VG
vgremove webapp dbapp# 刪除 PV
pvremove /dev/sd{b..d}

擴展與縮減邏輯卷

擴展 LV

當 VG 空間充足,需要在線為 LV 增加容量時使用

# 在 webapp01 上增加 2G 空間
lvextend -L +2G /dev/webapp/webapp01# 查看最新大小
lvs /dev/webapp/webapp01

縮減 LV

縮減前請確保文件系統先縮減且無活躍寫操作,避免數據損壞

# 從 webapp01 上減少 2G 空間
lvreduce -L -2G /dev/webapp/webapp01# 查看最新大小
lvs /dev/webapp/webapp01

調整文件系統大小

擴展 XFS 文件系統

XFS 只支持在線擴展,不支持在線縮減

# 擴展 LV 至 15G
lvextend -L 15G /dev/webapp/webapp01# 掛載點已掛載情況下在線擴容
xfs_growfs /var/www/html# 或者一并擴容 LV 和文件系統
lvextend -rL 20G /dev/webapp/webapp01

擴展 EXT4 文件系統

EXT4 支持在線擴展、離線縮減

# 擴展 LV 至 25G
lvextend -L 25G /dev/webapp/webapp01# 在線擴容文件系統
resize2fs /dev/webapp/webapp01# 或者一并擴容 LV 和文件系統
lvextend -rL 30G /dev/webapp/webapp01

縮減 EXT4 文件系統

縮減需提前卸載,且不能小于當前使用空間

  1. 卸載文件系統
  2. 檢查文件系統完整性
  3. 離線縮減文件系統至目標大小
  4. 縮減 LV
  5. 掛載并驗證
umount /var/www/html
e2fsck -f /dev/webapp/webapp01
resize2fs /dev/webapp/webapp01 10G
lvreduce -L 10G /dev/webapp/webapp01
mount /dev/webapp/webapp01 /var/www/html

邏輯卷快照

快照基于寫時復制機制,記錄原 LV 某一時刻數據狀態

# 創建容量 10G 快照,名稱 webapp01-snap1
lvcreate -s -n webapp01-snap1 -L 10G /dev/webapp/webapp01# 卸載原 LV 并掛載快照
umount /dev/webapp/webapp01
mount /dev/webapp/webapp01-snap1 /mnt/snapshot# 在快照上進行讀寫測試
echo hello world > /mnt/snapshot/hello.txt
cat /mnt/snapshot/hello.txt

快照可用作臨時備份或測試環境,還原后可選擇保留或刪除


創建 RAID 邏輯卷

創建 RAID0 條帶卷

條帶卷將數據分散寫入多個物理卷,提升并行讀寫性能,無冗余,任何一塊設備故障都會丟失數據

假設存在三個未使用的物理卷 /dev/sdb/dev/sdc/dev/sdd,先將它們加入同一卷組

pvcreate /dev/sdb /dev/sdc /dev/sddvgcreate raidvg /dev/sdb /dev/sdc /dev/sdd

使用三條帶創建一個 30G 大小的邏輯卷,指定條帶數(-i)和條帶大小(-I)

lvcreate -n lv_stripe -L 30G -i3 -I64K raidvg

參數說明

  • -i3:將數據分成 3 條帶,分別寫入三塊物理卷
  • -I64K:每條帶大小為 64KB,增大并行度需適配實際 I/O 大小

格式化并掛載

mkfs.xfs /dev/raidvg/lv_stripe
mount /dev/raidvg/lv_stripe /mnt/stripe

查看條帶卷分布

lsblk /dev/sd{b..d}
# 三個設備下都會出現同一個 lv_stripe 的映射

創建 RAID1 鏡像卷

鏡像卷將數據寫入兩塊或多塊物理卷,提供數據冗余,任一副本設備損壞后仍可讀取

假設存在兩個物理卷 /dev/sdb/dev/sdc,先加入卷組

pvcreate /dev/sdb /dev/sdcvgcreate mirrorgroup /dev/sdb /dev/sdc

創建一個帶有 1 份鏡像的 5G 邏輯卷

lvcreate -n lv_mirror -L 5G -m1 mirrorgroup

參數說明

  • -m1:每個數據塊有一份鏡像,共兩份副本
  • 若要兩份鏡像(總 3 份),可指定 -m2

格式化并掛載

mkfs.ext4 /dev/mirrorgroup/lv_mirror
mount /dev/mirrorgroup/lv_mirror /mnt/mirror

檢查鏡像狀態

lvs -o +devices mirrorgroup/lv_mirror
# 可見兩個物理設備各自映射相同 LV
卷```bash
lvcreate -n lv_mirror -L 5G -m1 mirrorgroup

參數說明

  • -m1:每個數據塊有一份鏡像,共兩份副本
  • 若要兩份鏡像(總 3 份),可指定 -m2

格式化并掛載

mkfs.ext4 /dev/mirrorgroup/lv_mirror
mount /dev/mirrorgroup/lv_mirror /mnt/mirror

檢查鏡像狀態

lvs -o +devices mirrorgroup/lv_mirror
# 可見兩個物理設備各自映射相同 LV

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

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

相關文章

AI大模型學習三十三、HeyGem.ai 服務端(ubuntu)docker 安裝 /客戶端(win)分離部署

一、說明服務端安裝官方安裝客戶端在windows 上安裝解決分離問題利用samba實現共享,我是在局域網訪問,安裝道理可以在非局域網訪問重新弄了一塊顯卡,所以驅動也重新裝下二、環境準備(base) mucunax58:~$ lsb_release -a No LSB modules are …

AI在安全方面的十個應用場景

人工智能(AI)正在重塑安全領域的“游戲規則”,把“被動防御”變成“主動狩獵”。綜合當前主流實踐與最新案例,可將其應用歸納為以下十大場景:威脅檢測與狩獵利用機器學習/深度學習模型對網絡流量、終端行為和云端日志進…

Android --- Bug調查經驗記錄

文章目錄1.布局中Pag不顯示的問題2.數據庫降級問題3.RecycleView 列表滑動卡頓1.布局中Pag不顯示的問題 在調查一個pag不顯示的問題,整體邏輯沒有問題,但是就是不顯示 pag不顯示的根本原因大概有文件找不到,一個是路徑問題,一個是…

【C語言】深度剖析指針(三):回調機制、通用排序與數組指針邏輯

文章目錄一、回調函數:通過函數指針實現靈活調用1.1 什么是回調函數?1.2 回調函數的實際應用:簡化計算器代碼二、qsort函數2.1 qsort函數的參數說明2.2 使用qsort排序整型數據2.3 使用qsort排序結構體數據示例:學生信息排序2.4 qs…

sql調優總結

sql調優 線上發現部分sql查詢時間過長。使用explain觀察是否命中表的索引。未命中索引,使用 TABLE add index 語句添加索引。 除此之外,單個字段命中聯合索引的情況也會導致查詢變慢 針對多個字段的查詢可添加聯合索引。 總結如下慢sql的原因&#xff1a…

如何在nuxt項目中使用axios進行網絡請求?

在 Nuxt 項目中使用 Axios 進行網絡請求有兩種常用方式:一是直接安裝 Axios 并全局配置,二是使用 Nuxt 官方推薦的 nuxtjs/axios 模塊(更便捷)。以下是詳細步驟: 方法一:使用官方推薦的 nuxtjs/axios 模塊&…

Unity 實現手機端和電腦項目在局域網內通信

電腦端啟動后自動廣播自身存在,手機端啟動后監聽廣播并發現服務器。發現后自動建立 UDP 連接,雙方可互發消息。內置心跳檢測,網絡中斷時會自動檢測并提示斷開using UnityEngine; using System.Net; using System.Net.Sockets; using System.T…

C++_389_定義一個禁用了賦值操作、具有線程同步資源保護的結構體,作為一些回調函數的參數,方便獲取響應操作的結果等信息

/* 回調參數。注意:此結構體禁用了賦值,會編譯報錯 */struct API_CALLBACK_T{public:API_CALLBACK_T(){eRet = e_fail;bWait = true;

uniapp基礎 (一)

目錄 UniApp 是什么?有什么優勢 跨平臺高效開發 Vue.js 技術生態 插件生態豐富 漸進式開發支持 UniApp 跨平臺兼容的實現原理 編譯時轉 運行時適配層 條件編譯 性能優化策略 1.預編譯模 2.原生組件混合渲 3.分包加載 UniApp 的生命周期鉤子有哪些&#x…

【圖像算法 - 10】進階入門:改進 YOLO11 安全帽檢測的關鍵參數與場景適配

一、項目背景與需求 視頻全文介紹 【圖像算法 - 10】進階入門:改進 YOLO11 安全帽檢測的關鍵參數與場景適配今天我們使用深度學習來訓練一個安全帽檢測系統,基于YOLO11的安全帽檢測系統。我們使用了兩萬張圖片的數據集訓練了這次的基于YOLO11的安全帽檢…

【C 學習】04.1-類型轉換浮點數

“知道做不到就是不知道”一、類型轉換1.自動類型轉換:當運算符(常見、-、*、/、%)兩邊出現不一致的類型時,編譯器會自動轉換成較大的(范圍更大)類型。從小到大:char-short-int-long-long long;…

基于反事實對比學習的魯棒圖像表征|文獻速遞-醫學影像算法文獻分享

Title題目Robust image representations with counterfactual contrastive learning基于反事實對比學習的魯棒圖像表征01文獻速遞介紹醫學影像中的對比學習已成為利用未標記數據的有效策略。這種自監督學習方法已被證明能顯著提升模型跨領域偏移的泛化能力,并減少訓…

機器學習(5):樸素貝葉斯分類算法

貝葉斯的核心思想就是,誰的概率高就歸為哪一類。貝葉斯推論P(A):先驗概率。即在B事件發生之前,我們對A事件概率的一個判斷。P(A|B):后驗概率。即在B事件發生之后,我們對A事件概率的重新評估。P(B|A)/P(B):可能性函數。…

Docker 容器內進行 frp 內網穿透

開始之前需要有一臺可以進行公網訪問的服務器 下載安裝 frp 這個直接到 github 官網就可以下載了 點擊Releases 就可以查看到可以下載的源,根據自己電腦的型號進行選擇就好了。 linux服務器上下載 如果是在linux的服務器上的話可以直接通過wget進行下載 例如&a…

復制網頁文字到Word、WPS文字?選中后直接拖放

要把網頁、PDF或其他應用中的文字內容復制到Word、WPS文字、記事本等,不一定要先復制、再粘貼,也可以選中文字后直接拖動到目標位置即可。多次操作,可以把窗口并排再拖動。如果你經常需要在不同應用之間引用文字,不妨試一試。操作…

Starrocks中的 Query Profile以及explain analyze及trace命令中的區別

背景 本文基于Starrocks 3.5.5 現有公司因為業務的不同,可能會更加關系單個SQL 的RT,因為如果一個SQL的RT比較大的話,影響的就是這個業務,從而影響收入,所以對于這方面我們就比較關心, 而最近在基于Starro…

網絡 —— 筆記本(主機)、主機虛擬機(Windows、Ubuntu)、手機(筆記本熱點),三者進行相互ping通

背景介紹最近在筆記本電腦上的虛擬機(Ubuntu、Windows Server搭配)上部署了"WD"開源手游服務器(舊版本),手機連接上了筆記本電腦開啟的WIFI熱點,同時手機上安裝了"WD"手游客戶端。于是首先得保證網絡相互暢通才能玩游戲,…

裸露土堆識別準確率↑32%:陌訊多模態融合算法在生態監測的實戰解析

原創聲明本文為原創技術解析文章,涉及技術參數及架構描述均參考《陌訊技術白皮書》,禁止任何形式的轉載與抄襲。一、行業痛點:裸露土堆識別的現實挑戰在生態環境保護、建筑工地監管等場景中,裸露土堆的精準識別是遏制揚塵污染、防…

網站從HTTP升級到HTTPS網址方法

將網站從HTTP升級到HTTPS涉及幾個關鍵步驟,以確保安全連接以及用戶和搜索引擎的平穩過渡。獲取并安裝SSL/TLS證書:1、從CA機構授權提供商Gworg獲取SSL/TLS證書。選項包括域名驗證(DV)、組織驗證(OV)和擴展驗證(EV)證書,驗證嚴格度各不相同&am…

WaitForSingleObject 函數參數影響及信號處理分析

一、第二個參數(超時時間)的影響 DWORD result WaitForSingleObject(hHandle, 1000);中的第二個參數1000表示等待超時時間為1000毫秒(1秒),其核心影響如下: 1. 函數行為控制 立即返回:若對象已…