Linux--管理LVM逻辑卷 --原理+命令双结合(LVM的概述与建立,LVM的管理命令,LVM的应用步骤,磁盘配额的详解)
生活随笔
收集整理的這篇文章主要介紹了
Linux--管理LVM逻辑卷 --原理+命令双结合(LVM的概述与建立,LVM的管理命令,LVM的应用步骤,磁盘配额的详解)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux--管理LVM邏輯卷 --原理+命令雙結合(LVM的概述與建立,LVM的管理命令,LVM的應用步驟,磁盤配額的詳解)
- 前言
- 一:LVM概述
- 1.1:PV(Physical Volume,物理卷)
- 1.2:VG(Volume Group,卷組)
- 1.3:LV(Logical Volume,邏輯卷)
- 1.4:建立LVM分區管理機制的過程
- 二:管理LVM
- 2.1:PV物理卷管理
- 2.1.1:pvcreate命令
- 2.1.2:pvscan命令
- 2.1.3:pvdisplay命令
- 2.1.4:pvremove命令
- 2.2:VG卷組管理
- 2.2.1:vgcreate命令
- 2.2.2:vgscan命令
- 2.2.3:vgdisplay命令
- 2.2.4:vgremove命令
- 2.2.5:vgextend命令
- 2.2.6:vgreduce命令
- 2.3:LV邏輯卷管理
- 2.3.1:lvcreate命令
- 2.3.2:lvscan命令
- 2.3.3:lvdisplay命令
- 2.3.4:lvextend命令
- 2.3.5:lvremove命令
- 2.3.6:lvreduce命令
- 三:LVM應用步驟
- 3.1:命令實操的演示
- 四:磁盤配額
- 4.1:磁盤配額概述
- 4.1.1:實現磁盤限額的條件
- 4.1.2:Linux磁盤限額的特點
- 4.1.3:磁盤配額步驟
- 4.1.4:啟動磁盤配額支持
- 4.2:磁盤配額管理
- 4.2.1:編輯用戶和組賬號的配額設置
- 4.2.2:驗證磁盤配額功能
- 4.2.3:查看配額使用情況
- 4.3:磁盤配額命令實操
前言
- LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制
- 每個Linux使用者在安裝Linux時都會遇到這樣的困境:在為系統分區時,如何精評估LVM和分配各個硬盤分區的容量,因為系統管理員不但要考慮到當前某個分區需要的容量,還要預見該分區以后可能需要的容量的最大值。因為如果估 計不準確,當遇到某個分區不夠用時管理員可能甚至要備份整個系統、清除硬盤、重新對硬盤分區,然后恢復數據到新分區。
- 雖然有很多動態調整磁盤的工具可以使用,例如Partition Magic等等,但是它并不能完全解決問題,因為某個分區可能會再次被耗盡;另外一個方面這需要 重新引導系統才能實現,對于很多關鍵的服務器,停機是不可接受的,而且對于添加新硬盤,希望一個能跨越多個硬盤驅動器的文件系統時,分區調整程序就不能解 決問題。
- 因此完美的解決方法應該是在零停機前提下可以自如對文件系統的大小進行調整,可以方便實現文件系統跨越不同磁盤和分區。幸運的是Linux提供的邏輯盤卷管理(LVM,Logical Volume Manager)機制就是一個完美的解決方案。
一:LVM概述
- 在安裝CentOS 系統的過程中選擇自動分區時,就會默認采用LVM分區方案。不需要再進行手動配置
- 動態調整磁盤容量,從而提高磁盤管理的靈活性
- 需要注意的是,“/boot”分區用于存放引導文件,不能基于LVM創建,必須獨立出來
- 圖形化管理界面:system-config
1.1:PV(Physical Volume,物理卷)
- 物理卷是LVM機制的基本存儲設備,通常對應為一個普通分區或整個硬盤。
- 創建物理卷時,會在分區或硬盤的頭部創建一個保留區塊,用于記錄LVM的屬性,并把存儲空間分割成默認大小為4MB的基本單元(Physical Extent,PE),從而構成物理卷。
- 物理卷一般直接使用設備文件名稱,如/dev/sdb1 , /dev/sdb1, /dev/sdd等。
- 對于轉換成物理卷的普通分區,建議先使用fdisk工具將分區類型的ID標記號改為“8e”(8e表示LVM邏輯卷),若是整塊硬盤,可以將所有磁盤空間劃分為一個主分區后再做相對應調整
1.2:VG(Volume Group,卷組)
- 卷組:由一個或多個物理卷組成一個整體
- 在卷組中可以動態的添加或移除物理卷
- 許多個物理卷可以分別組成不同的卷組,卷組的名稱由用戶自定義
1.3:LV(Logical Volume,邏輯卷)
- 邏輯卷建立在卷組之上,與物理卷沒有直接關系
- 對于邏輯卷來說,每一個卷組就是一個整體,從這個整體中“切出”一小塊空間,作為用戶創建文件系統的基礎,這一小塊空間就稱為邏輯卷
- 使用mkfs等工具在邏輯卷上創建文件系統以后,就可以掛載到Linux系統中的目錄下使用
1.4:建立LVM分區管理機制的過程
二:管理LVM
-
LVM管理命令主要包括三大類
PV物理卷管理
VG卷組管理
LV邏輯卷管理
-
對應的命令程序文件分別以“PV”“VG”“LV”開頭
| Scan(顯示概要信息) | pvscan | vgscan | lvscan |
| Create(建立) | pvcreate | vgcreate | lvcreate |
| Display(顯示詳細信息) | pvdisplay | vgdisplay | lvdisplay |
| Remove(刪除) | pvremove | vgremove | lvremove |
| Extend(擴展) | --------------- | vgextend | lvextend |
| Reduce(減少) | --------------- | vgreduce | lvreduce |
- 幾個主要命令的格式
2.1:PV物理卷管理
2.1.1:pvcreate命令
- pvcreate用于將分區或整個硬盤轉換為物理卷,主要是添加LVM屬性并劃分PE存儲單元
- 該命令需要使用硬盤或分區的設備文件作為參數
2.1.2:pvscan命令
- pvscan命令用于掃描系統中的所有物理卷,并輸出相關信息。
2.1.3:pvdisplay命令
- pvdisplay命令用于顯示物理卷的詳細信息
- 需要使用指定的物理卷作為命令參數,默認時將顯示所有物理卷信息
2.1.4:pvremove命令
- pvremove命令用于將物理卷還原成普通分區或磁盤,不再用于LVM體系
- 被移除的物理卷將無法被pvscan命令識別
2.2:VG卷組管理
2.2.1:vgcreate命令
- vgcreate命令用于將一個或多個物理卷創建為一個卷組
- 第一個命令參數用于設置新卷組的名稱。然后依次指定需要加入到該卷組的物理卷作為參數
2.2.2:vgscan命令
- vgscan命令用于掃描系統中已建立的LVM卷組及相關信息
2.2.3:vgdisplay命令
- vgdisplay命令用于顯示系統中各卷組的詳細信息
- 需要指定卷組名稱作為命令參數(未指定卷組名稱時將顯示所有卷組的信息)
- 命令格式同pvdisplay
2.2.4:vgremove命令
- vgremove命令用于刪除指定的卷組,指定卷組名稱作為參數即可
- 刪除時應確保該卷組中沒有正在使用的邏輯卷
2.2.5:vgextend命令
- vgextend命令用于擴展卷組的磁盤空間
- 當建立了新的物理卷,并需要將其添加到已有的卷組中時,就可以使用vgextend命令
- vgextend命令第一個參數為需要擴展容量的卷組名稱,其后為需要添加到該卷組中的各物理卷
2.2.6:vgreduce命令
- vgreduce命令:從卷組中刪除物理卷
- vgreduce指令通過刪除LVM卷組中的物理卷來減少卷組容量。
- 刪除刪除卷組中丟失的物理卷,使卷組恢復正常狀態
2.3:LV邏輯卷管理
2.3.1:lvcreate命令
- lvcreate命令用于從指定的卷組中分割空間,以創建新的邏輯卷
- 需要指定邏輯卷大小,名稱和所在的卷組名稱作為參數
- 邏輯卷創建好以后,可以通過“/dev/卷組名/邏輯卷名”形式的設備文件進行訪問(或/dev/mapper/卷組名-邏輯卷名)
2.3.2:lvscan命令
- lvscan命令用于掃描系統中已建立的邏輯卷及相關信息
2.3.3:lvdisplay命令
-
lvdisplay命令用于顯示邏輯卷的詳細信息
-
需要指定邏輯卷的設備文件作為參數,也可以使用卷組名作為參數(顯示該卷組中的所有邏輯卷信息)
-
不指定參數則顯示所有,同pvdisplay和vgdisplay
- 例如 [root@localhost ~]# lvdisplay--- Logical volume ---LV Path /dev/123/111LV Name 111VG Name 123LV UUID 8Mndsn-uBg9-SNyt-bsd4-2DP0-WIIO-ZaqzU6LV Write Access read/writeLV Creation host, time localhost.localdomain, 2019-11-04 01:14:32 +0800LV Status available# open 0LV Size 10.00 GiBCurrent LE 2560Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:0
2.3.4:lvextend命令
- lvextend命令用于動態擴展邏輯卷的空間,當目前使用的邏輯卷空間不足時,可以從所在卷組中分割額外的空間進行擴展
- 需要指定增加的容量大小和邏輯卷文件位置
- 前提是該卷組中還有尚未分配的磁盤空間,否則需要先擴展卷組容量
- 掛載文件系統后擴容,需要執行以下命令才能被系統識別
- xfs 只支持擴容,不支持減少
- ext 4 的更新形式。可以reduce
2.3.5:lvremove命令
- lvremove命令用于刪除指定的邏輯卷
- 直接使用邏輯卷的設備文件作為參數即可
2.3.6:lvreduce命令
- vreduce命令用于減少LVM邏輯卷占用的空間大小。
- 使用lvreduce命令收縮邏輯卷的空間大小有可能會刪除邏輯卷上已有的數據,所以在操作前必須進行確認。
三:LVM應用步驟
- xfs 只支持擴容,不支持減少
- ext 4 的更新形式。可以reduce
3.1:命令實操的演示
VMware軟件中,在centos 7系統中添加兩塊磁盤,我們開始實操。
查看磁盤是否添加成功 [root@localhost ~]# fdisk -l 磁盤 /dev/sda:42.9 GB, 42949672960 字節,83886080 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x000c1f00設備 Boot Start End Blocks Id System /dev/sda1 * 2048 12584959 6291456 83 Linux /dev/sda2 12584960 54527999 20971520 83 Linux /dev/sda3 54528000 62916607 4194304 82 Linux swap / Solaris /dev/sda4 62916608 83886079 10484736 5 Extended /dev/sda5 62918656 83886079 10483712 83 Linux磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節磁盤 /dev/sdc:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 2.開始創建分區,同樣的方法創建/dev/sdc [root@localhost ~]# fdisk /dev/sdb 歡迎使用 fdisk (util-linux 2.23.2)。更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。Device does not contain a recognized partition table 使用磁盤標識符 0x50f1e234 創建新的 DOS 磁盤標簽。命令(輸入 m 獲取幫助):n Partition type:p primary (0 primary, 0 extended, 4 free)e extended Select (default p): Using default response p 分區號 (1-4,默認 1): 起始 扇區 (2048-41943039,默認為 2048): 將使用默認值 2048 Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039): 將使用默認值 41943039 分區 1 已設置為 Linux 類型,大小設為 20 GiB命令(輸入 m 獲取幫助):t 已選擇分區 1 Hex 代碼(輸入 L 列出所有代碼):8e //分區ID改成8e,8e是lvm格式,我們保持前后格式相同 已將分區“Linux”的類型更改為“Linux LVM”命令(輸入 m 獲取幫助):w The partition table has been altered!Calling ioctl() to re-read partition table. 正在同步磁盤。 3.查看分區創建情況 [root@localhost ~]# fdisk -l 磁盤 /dev/sda:42.9 GB, 42949672960 字節,83886080 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x000c1f00設備 Boot Start End Blocks Id System /dev/sda1 * 2048 12584959 6291456 83 Linux /dev/sda2 12584960 54527999 20971520 83 Linux /dev/sda3 54528000 62916607 4194304 82 Linux swap / Solaris /dev/sda4 62916608 83886079 10484736 5 Extended /dev/sda5 62918656 83886079 10483712 83 Linux磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x50f1e234設備 Boot Start End Blocks Id System /dev/sdb1 2048 41943039 20970496 8e Linux LVM磁盤 /dev/sdc:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x6a90762a設備 Boot Start End Blocks Id System /dev/sdc1 2048 41943039 20970496 8e Linux LVM 4.創建物理卷 [root@localhost ~]# pvcreate /dev/sd[b-c]1Physical volume "/dev/sdb1" successfully created.Physical volume "/dev/sdc1" successfully created. [root@localhost ~]# pvscan '//查看物理卷'PV /dev/sdc1 lvm2 [<20.00 GiB]PV /dev/sdb1 lvm2 [<20.00 GiB]Total: 2 [<40.00 GiB] / in use: 0 [0 ] / in no VG: 2 [<40.00 GiB] 5.創建卷組 [root@localhost ~]# vgcreate mail_stor /dev/sd[b-c]1Volume group "mail_stor" successfully created [root@localhost ~]# vgscan '//掃描卷組'Reading volume groups from cache.Found volume group "mail_stor" using metadata type lvm2 [root@localhost ~]# vgdisplay '//查看卷組詳細信息'--- Volume group ---VG Name mail_storSystem ID Format lvm2Metadata Areas 2Metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV 0Cur LV 0Open LV 0Max PV 0Cur PV 2Act PV 2VG Size 39.99 GiBPE Size 4.00 MiBTotal PE 10238Alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiBVG UUID iEKi0I-hg0i-it0a-cOwe-DfPj-FkXs-fnSP4N- 6.創建邏輯卷 [root@localhost ~]# lvcreate -L 20G -n mbox mail_storLogical volume "mbox" created. [root@localhost ~]# lvdisplay--- Logical volume ---LV Path /dev/mail_stor/mboxLV Name mboxVG Name mail_storLV UUID VXD0B0-wxqV-wXgk-b7N4-GEPE-c1au-u6nGBsLV Write Access read/writeLV Creation host, time localhost.localdomain, 2019-11-04 14:45:59 +0800LV Status available# open 0LV Size 20.00 GiBCurrent LE 5120Segments 2Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:0 7.格式化邏輯卷 [root@localhost 1]# mkfs.xfs /dev/mail_stor/mbox meta-data=/dev/mail_stor/mbox isize=512 agcount=4, agsize=1310720 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5242880, 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 8.創建掛載點,設置自動掛載 [root@localhost 1]# mkdir mailbox [root@localhost 1]# vim /etc/fstab
四:磁盤配額
- 磁盤配額是計算機中指定磁盤的儲存限制,就是管理員可以為用戶所能使用的磁盤空間進行配額限制,每一用戶只能使用最大配額范圍內的磁盤空間。
- 磁盤配額可以限制指定賬戶能夠使用的磁盤空間,這樣可以避免因某個用戶的過度使用磁盤空間造成其他用戶無法正常工作甚至影響系統運行。在服務器管理中此功能非常重要,但對單機用戶來說意義不大。
4.1:磁盤配額概述
4.1.1:實現磁盤限額的條件
- 需要Linux內核支持
- 安裝xfsprogs與quota軟件包
- quota軟件包在7.0版本自動加入到xfsprogs,所以只需要安裝xfsprogs就可以。
4.1.2:Linux磁盤限額的特點
-
作用范圍:針對指定的文件系統(分區)
-
限制對象:用戶賬號,組賬號
-
限制類型:磁盤容量,文件數量
-
限制方法:軟限制,硬限制
-
軟限制:可以超出限制,但是有時限期,如時限7天,超出時間就將多余的刪除
軟限制 小于等于 硬限制
4.1.3:磁盤配額步驟
- 臨時設置(大部分都是通過命令實現),永久設置(都是通過源碼文件中配置)
? 大部分命令設置都是臨時生效,重啟失效
? 配置文件是永久生效
? 編輯用戶和組賬號的配額設置:組的配額是固定的,
4.1.4:啟動磁盤配額支持
- 添加usrquota,grpquota掛載參數
- 臨時設置需要加上 -o 參數
4.2:磁盤配額管理
4.2.1:編輯用戶和組賬號的配額設置
- 使用xfs_quota命令編輯配額設置
4.2.2:驗證磁盤配額功能
- 切換到設置配額的分區(掛載目錄)
- 創建指定數量的文件:使用touch命令,或cp命令
- 創建指定容量的文件:使用dd命令,或cp命令 (dd命令等同于復制,一般用于驗證)
4.2.3:查看配額使用情況
命令格式 xfs_quota -x -c 'report 選項'掛載點report常用選項 -a //all 所有 -i //節點,數量 -b //block 塊,容量 -u //user -g //group- 查看所有用戶配額
- 查看用戶配額信息,看容量信息
- 查看用戶配額信息,看節點信息
- 查看用戶配額信息,看節點信息
- 連續復制文件(/mail/demo01.txt是自己剛剛創建的文件),每次復制1M,連續復制N次
4.3:磁盤配額命令實操
- mount 查看掛載信息
- rpm -q xfsprogs 查看xfsprogs是否安裝
總結
以上是生活随笔為你收集整理的Linux--管理LVM逻辑卷 --原理+命令双结合(LVM的概述与建立,LVM的管理命令,LVM的应用步骤,磁盘配额的详解)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为云冰山安全,让用户安心用云
- 下一篇: “燕云十六将”之陈丽辉(11)