LVM基礎


邏輯卷的原理

LVM基礎

邏輯卷的組成上包括物理卷,邏輯組,邏輯卷

物理卷即是磁盤分區或者塊設備經過轉換以后形成的抽象的邏輯設備

邏輯組即是將物理卷進行統一打包,合成一個更大的邏輯上的分區

邏輯卷是在邏輯組的基礎上細分的課動態調節的虛擬磁盤分

其工作原理是通過某種機制將物理上的塊設備或者分區抽象的進行封裝,然后以邏輯卷的方式統一呈現給

上層的應用



邏輯卷的操作

一:創建邏輯卷

步驟一:首先需要將塊設備轉換為邏輯卷
使用的命令為  pvcreate  
在創建之前可以使用  pv  或者  pvdisplay 命令來查看當前系統上的物理卷,如果沒有則不予顯示
pvcreate /dev/sdb  /dev/sdc  將/dev/sdb   和  /dev/sdc          兩個設備文件轉換為物理卷設備
LVM基礎
步驟二:創建邏輯組
邏輯組里面有一個PE的概念,這個是指定一次分配邏輯卷時的最小單位,相當于文件系統里面塊的概念
創建邏輯組之前可以先查看是否有邏輯卷,使用命令  vgs 或者  vgdisplay
創建邏輯組的命令為 vgcreat  命令
-s  :指定PE的大小

vgcreate  -s   16  /dev/sd{b,c}         創建 一個邏輯組,其中PE的大小為16M,

LVM基礎
步驟三:創建邏輯卷
邏輯卷的創建必須是在邏輯組的基礎上來創建,且最大的邏輯卷的大小是不能超過邏輯組的大小
創建邏輯卷之前可以查看是否邏輯卷,命令為  lvs 或者   lvdisplay  
-n  : 指定邏輯卷的名字
-L:指定邏輯卷的大小,數值單位,+50G
-l:指令邏輯卷的大小,以PE為單位,PE的個數   后面還可以這樣寫  %60VG   代表分出VG的%60的空間
      %100FREE 代表分配出全部的內存
lvcreat  -n lv0  -l  1000  vg0    創建一個邏輯卷,名字為lv0 ,大小為1000個PE ,從vg0分配
需要注意的是分配的名字并不不是設備的真正的名字,實際上它是一個軟鏈接,
設備名 /dev/vg0/lv0    或者 /dev/mapper/vg0-lv0
真正的名字一般為:

     /dev/dm-0

LVM基礎
LVM基礎

查看邏輯卷的狀態

LVM基礎

步驟四:格式化創建文件系統,掛載文件系統

二:擴展邏輯卷

擴展邏輯卷的前提是,邏輯組里面還有空間,否則報錯
擴展邏輯卷一般情況下有兩種需要:
  1. 擴充容量
  2. 擴充文件系統,容量擴充后,沒有擴充的文件系統,系統是無法識別的,容量就不會發生改變
lvextend   
-L:指定擴展的大小,100G  擴展到100G  +100G 額外增加100G 
       +100%FREE 將剩余的空間100%的分配給邏輯卷

lvextend  -L 100G  /dev/vg0/lv0   將/dev/vg0/lv0  擴容到100G

LVM基礎

擴充文件系統:擴充文件系統的過程中不會取消掛載狀態

resize2fs  /dev/vg0/lv0

LVM基礎
三:擴充邏輯組

當邏輯組的容量用完以后,此時邏輯卷不能再進行擴容,如果需要擴容,則需要新添加硬盤
方法是執行步驟一之后開始擴展邏輯組的容量
使用命令  vgextend  
vgextend vg0  /dev/sdd         將/dev/sdd硬盤加入邏輯組,實現邏輯組的擴容
四:邏輯卷的替換

邏輯卷一般情況下是不會替換的,不過某些情況下卻要進行替換,
比如硬盤提示有故障了,但是還沒當掉,此時需要將這塊硬盤拆下來,但是不能直接拆,不然會導致邏輯卷錯誤
其基本思想是,先將要替換的磁盤上面的東西(PE)移動到邏輯組上的任意空間(邏輯組空間要足夠,否則添加硬盤)
然后移除該硬盤,最后拔掉故障的硬盤
pvmove  /dev/sdc  將/dev/sdc上面的所欲PE全部遷移到邏輯組上有空余的空間上去
然后將/dev/sdc從邏輯組里面移除
vgreduce  vg0  /dev/sdc
然后查看  vgdisplay 
最后在物理卷上面移除該邏輯卷即可
pvremove  /dev/sdc
然后可以拔掉硬盤

首先觀察到/dev/sdc硬盤上面已經分好了PE

LVM基礎

然后執行移動操作

LVM基礎

報錯,提示邏輯組的空間不夠,現在添加一塊磁盤之后再來,先擴充vg0

LVM基礎
LVM基礎

從vg0里面移除/dev/sdc

LVM基礎

執行最后一步,在物理卷上移除/dev/sdc

LVM基礎
五:邏輯卷的縮減

邏輯卷的縮減不像邏輯卷的增加一樣可以在線的增加,邏輯卷的縮減需要先停止業務之后才能進行縮減
  • 取消掛載
          umount  /dev/sdc  
  • 縮減文件系統
          縮減文件系統到指定的值,不過這里需要特備強調的是,縮減一定要非常的注意當前狀態下的邏輯卷
          設備已經利用了多少,否則會因為縮減而導致數據的丟失
          resize2fs  /dev/vg0/lv0  50G  縮減lv0到50G ,一定要查看lv0里面所存的數據是否大于50G,故建議先備份然后再縮減
  • 檢查文件系統的完整性
           e2fsck   -f  /dev/vg0/lv0   
  •  縮減文件系統
          resize2fs   /dev/vg0/lv0  50G 
  • 縮減邏輯卷
          lvreduce   -L   50G  /dev/vg0/lv0
  • 重新掛載邏輯卷
實際操作:
  • 取消掛載
  • 執行檢查
LVM基礎
  • 縮減文件系統
LVM基礎
  • 縮減邏輯卷
LVM基礎
六:邏輯卷的整體遷移
     需要將整個邏輯卷遷移到另外的機器上的時候
     邏輯卷的遷移之前需要檢查要遷移到的主機上是否存在同名的邏輯卷組,否則需要改名
源主機:
  • 改名的指令:vgrename  vg0   vg1   將邏輯組vg0的名字改為vg1
  • 將卷組卸載
          umount  /dev/vg1/lv0
  • 將卷組設為禁用,防止遷移的過程中有人使用導致數據丟失
          vgchang   -a  n  vg1    將卷組設置為no 
  • 導出卷組
          vgexport    vg1
  • 拔掉與邏輯卷相關的所有硬盤
目標主機:
  •  插上剛剛卸載的硬盤
  • 導入新的邏輯卷組
          vgimport  vg1
  •  激活邏輯卷組
          vgchang   -a  y  
          
實際操作:
  • 將邏輯組改名
LVM基礎
  • 將邏輯組禁用
LVM基礎
  • 卸載邏輯卷
  • 導出邏輯卷組
LVM基礎
  • 拔出硬盤
目的主機上:
  • 先查看磁盤上導入是否成功
LVM基礎
  • 導入邏輯卷組
LVM基礎
  • 激活邏輯卷組
LVM基礎

原創文章,作者:Double f,如若轉載,請注明出處:http://www.www58058.com/74565

(0)
Double fDouble f
上一篇 2017-05-01
下一篇 2017-05-02

相關推薦

  • 文件系統磁盤管理上

    磁盤:主要作用用于存儲數據 早期一塊硬盤共有256個盤面,每個盤面有1024個磁道,每個磁道有63個扇區,每個扇區的大小是512byte 硬盤的命名: 早期IDE硬盤標記為hd scsi、usb、sas標記為sd 引用設備的方式 設備文件名 標卷 UUID 硬盤分區: 第0個磁道的第0個扇區存放的是磁盤的信息 MBR:Master Boot Record 主…

    Linux干貨 2016-08-30
  • 十二.Linux博客-2016年8月16日文件查找和壓縮、rpm包管理、while循環、until循環

    格式說明: 操作 概念 命令 說明及舉例 十二.文件查找和壓縮、rpm包管理、yum、while循環、until循環 tar tar -zcvf /testdir/etc.tar.gz /etc/ 備份etc創建etc.tar.gz文件 壓縮為gz格式 顯示過程 tar -jcvf&nbs…

    Linux干貨 2016-08-24
  • 計算機基礎知識

    計算機系統 計算機系統組成的兩大部分 硬件系統     主機         中央處理器CPU{運算器,控制器}         內存儲器{ROM,RAM} &…

    Linux干貨 2016-08-04
  • Linux介紹

    Linux簡介 Linux是一種自由和開放源代碼的類UNIX操作系統。該操作系統的內核由林納斯·托瓦茲在1991年10月5日首次發布。在加上用戶空間的應用程序之后,成為Linux操作系統。Linux也是自由軟件和開放源代碼軟件發展中最著名的例子。只要遵循GNU通用公共許可證,任何個人和機構都可以自由地使用Linux的所有底層源代碼,也可以自由地修改和再發布?!?/p>

    Linux干貨 2016-10-28
  • LAMP+logzilla+sphinx+syslog-ng實現集中日志管理(第一版)[原創]

    一、前言        目前查看系統日志比較被動,遇到系統不正?;蚬收蠒r才會主動去檢查服務器系統日志,這樣一來不能及時了解系統的運行情況,因此部署Logzilla+sphine+syslog-ng來彌補這不足。以下為安裝、部署平臺詳細步驟。(Logzilla是什么新東西?其實前身就是php-syslog-ng,引用作者…

    Linux干貨 2015-03-27
  • 8月5日課堂筆記

    bash基礎及shell編程初步 bash的特性及bash腳本編程初步    操作系統硬件, 內核把底層硬件的復雜性給隱藏起來,統一輸出為一種系統調用,系統調用非常底層,把系統調用封裝成了庫。讓程序運行起來。用戶在創建時有一個默認shell。終點設備用來當做標準輸入和輸出。  要想與主機交互,需要一個【終端】,附著在終端接口程序:  &n…

    Linux干貨 2016-08-07
欧美性久久久久