RHCE系列之LVM—-操作篇

原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1350942

   上一篇為大家介紹LVM的一些概念,這一篇就教大家一些日常的LVM的操作吧。畢竟,理論還是要應用到實戰中來的嘛。

   本篇博文大致分了8個點為大家闡述和操作LVM的功能,希望能對大家有所幫助。



一、創建新的卷

1、準備物理分區(Physical Partions)

使用分區工具(如:fdisk)創建LVM分區,方法同創建其它一般分區的方式一樣。區別在于,LVM的分區類型為8e。

2、創建物理卷PV

假設上面創建了分區/dev/sdb1,這里我們用pvcreate創建物理卷PV。

# pvcreate /dev/sdb1  #使用pvcreate將sdb1轉換為物理卷
# pvdisplay            #查看已經存在的PV

3、創建卷組VG

# vgcreate -s 4M vgname /dev/sdb1 #將PV(/dev/sdb1)創建名為vgname的PE為4M的VG卷組

4、創建邏輯卷LV

# lvcreate -l 10 -n lvname vgname #在vgname卷組上創建名為lvname的占10個PE塊大小的LV邏輯卷
-l 指定PE塊數量
-L 直接指定大小,例如-L 40M,直接指定40M大小
-n 后跟所要創建的LV的名字

5、格式化邏輯卷

# mkfs -t ext4 /dev/vgname/lvname #格式化lvname這個邏輯卷為ext4的文件系統
-t 后跟所要格式過去的文件系統名

6、創建掛載點,掛載邏輯卷

# mkdir /file  #創建掛載目錄/file
# mount /dev/vgname/lvname /file  #將邏輯卷lvname掛載到/file掛載點下

二、增加卷組

以下測試在pv和vg都無剩余空間的情況下進行操作實驗。

1、準備物理分區(Physical Partions)

使用分區工具(如:fdisk)創建LVM分區,方法同創建其它一般分區的方式一樣。區別在于,LVM的分區類型為8e。

2、創建物理卷PV

假設上面創建分區/dev/sdb2,,這里我們用pvcreate創建物理卷PV。

# pvcreate /dev/sdb2  #使用pvcreate將sdb1轉換為物理卷
# pvdisplay            #查看已經存在的PV

3、增加卷組VG

# vgextend vgname /dev/sdb2 #將sdb2這個物理卷加入vgname卷組中
# pvdisplay       #添加完成之后,再次查看PV信息

方案一:

1、查看pv使用情況

# pvdisplay            #查看已經存在的PV
--- Physical volume ---
  PV Name               /dev/sda1
  VG Name               vgname
  PV Size               1019.72 MiB / not usable 3.72 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              254
  Free PE               254
  Allocated PE          0
  PV UUID               TEiNQm-3H9i-OpmE-p5cX-KgRS-aGuf-HKaLON
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               vgname
  PV Size               1019.72 MiB / not usable 3.72 MiB
  Allocatable           yes
  PE Size               4.00 MiB
 Total PE              254
  Free PE               80
  Allocated PE          174
  PV UUID               27pvVQ-lERX-91ew-0XL2-Oxbk-NFKh-7l6c4M

2、根據pv信息,抽離空的pv出來

# vgreduce vgname /dev/sda1

3、刪除抽離出來的pv

# pvremove /dev/sda1

方案二:

在sda1被使用的狀態下,抽離sda1這個PV

1、查看pv信息

# pvdisplay
  --- Physical volume ---
  PV Name             /dev/sda1
  VG Name             vgname
  PV Size               1019.72 MiB / not usable 3.72 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              254
  Free PE               80
  Allocated PE          174
  PV UUID              TEiNQm-3H9i-OpmE-p5cX-KgRS-aGuf-HKaLON
  --- Physical volume ---
  PV Name             /dev/sdb1
  VG Name             vgname
  PV Size               1019.72 MiB / not usable 3.72 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              254
  Free PE               254
  Allocated PE          0
  PV UUID              Duz6zM-GJwo-8cc5-5Jp2-vGiH-0j0L-gSvUtl

2、移動sda1的中的所有PE到sdb1中

# pvmove /dev/sdb1 /dev/sdd1
  /dev/sda1: Moved: 0.0%
  /dev/sdb1: Moved: 100.0%

3、查看現在pv使用情況

# pvdisplay            #查看已經存在的PV
--- Physical volume ---
  PV Name             /dev/sda1
  VG Name             vgname
  PV Size               1019.72 MiB / not usable 3.72 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              254
  Free PE               254
  Allocated PE          0
  PV UUID              TEiNQm-3H9i-OpmE-p5cX-KgRS-aGuf-HKaLON
  --- Physical volume ---
  PV Name             /dev/sdb1
  VG Name             vgname
  PV Size               1019.72 MiB / not usable 3.72 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              254
  Free PE               80
  Allocated PE         174
  PV UUID             Duz6zM-GJwo-8cc5-5Jp2-vGiH-0j0L-gSvUtl

4、根據pv信息,抽離空的pv出來

# vgreduce vgname /dev/sda1

5、刪除抽離出來的pv

# pvremove /dev/sda1

四、在線拉伸文件系統

1、查看VG空余

# vgdisplay

2、查看LV大小

# lvdisplay

3、拉伸邏輯卷大小

# lvresize -l +888 /dev/vgname/lvname #根據vg內剩余的PE快來指定數量
-l 后面跟+號是增加,跟-號是縮小,不跟就是直接指定大小

4、拉伸文件系統大小

# resize2fs /dev/vgname/lvname [nM/G]    若不加大小,則調整到最大

5、查看拉伸后的LV大小

# lvdisplay

五、在線縮小文件系統

1、取消掛載

# umount /dev/sda1

2、用fsck檢查

# e2fsck -f /dev/vgname/lvname

3、縮小文件系統大小

# resize2fs /dev/vgname/lvname 200M

4、縮小LV大小

# lvresize -L -40M  /dev/vgname/lvname

5、重新掛載

# mount -a

這里mount -a是按照之前這個分區掛載的條目在/etc/fstab里有的才生效。如果是之前就是臨時掛載上的,后來給卸載然后進行縮小文件系統大小了,這時就不能用mount -a重新掛載了。


簡單總結:在lvm邏輯卷上,縮小文件系統大小,需要先縮小文件系統大小,然后再縮小邏輯卷大小。就像瓶子里的水,只有先把水倒出去,然后再縮小瓶子大小。


六、刪除LVM

1、取消掛載及刪除/etc/fstab中條目

# umount /home   #取消掛載
# vim /etc/fstab   #刪除該文件中/home掛載的對應條目

2、移除邏輯卷LV

# lvchange -an /dev/vgname/lvname   #關閉邏輯卷
# lvremove /dev/vgname/lvname       #移除邏輯卷

3、移除卷組VG

# vgchange -an /dev/vgname   #關閉卷組
# vgremove /dev/vgname       #移除卷組

4、移除物理卷PV

# pvremove /dev/sda1      #移除物理卷

5、刪除磁盤分區

通過fdisk刪除磁盤分區,這個不做演示
# partx -d --nr 1 /dev/sda   #刪除之后,記得用該命令刷新內存條目

七、LVM的遷移

以下操作以遷移VG為主進行的操作,遷移LV同理

1、源主機上操作

①取消所要遷移的文件系統掛載

# umount /home

②關閉LV和VG

# lvchange -an /dev/vgname/lvname
# vgchange -an /dev/vgname

③導出VG

# vgexport vgname

2、目標主機上操作

①導入VG

#vgimport vgname

②激活VG,掛載文件系統

# vgchange -ay vgname

③掛載遷移過來的文件系統

# mkdir /home
# mount /dev/vgname/lvname /home
# df -h    #查看掛載情況

八、LVM的快照功能

     LVM快照有兩大用途,一是用來克隆虛擬機,例如做xen虛擬機時,可以先新建一臺完整虛擬機,假設大小為10G,然后我們可以在這臺10G的虛擬機上創建1個3G的快照,接著通過這個3G的快照啟動虛擬機,做完實驗后,可以直接刪除快照而保持原來完整虛擬機的純凈。二是實時備份(moment-in-time),即為了保持系統的一致性,我們先做一個快照凍結當前系統狀態,這樣快照里面的內容可暫時保持不變,系統本身繼續運行,通過備份快照來實現不中斷服務的備份。

另外,我們在創建快照時空間最好大于lvname的變換空間,不然一旦空間大小超過快照的大小,快照就會損壞。

現在假若,我們要對/dev/vgname/lvname做快照,lvname現在使用了100M了。

1、用lvcreate創建快照

# lvcreate -L 5M -s -n lvname_snap /dev/vgname/lvname

2、掛載快照

# mount /dev/vgname/lvname_snap /snap

1、PV

pvcreat  將partition創建成PV

pvscan   搜索系統里面任何具有PV的磁盤

pvdisplay  顯示出系統上面PV的狀態

pvremove 將partition的PV屬性移除



2、VG

vgcreate  創建VG

vgscan    搜索系統上是否有VG的存在

vgdisplay   顯示系統上VG的狀態

vgextend   在VG內增加PV

vgreduce   在VG內移除PV

vgchange  設定VG是否啟動(active)

vgremove  刪除VG


3、LV

lvcreate  創建LV

lvscan 搜索系統內的LV

lvdisplay  顯示系統內的LV狀態

lvextend  在LV內增加容量

lvreduce  在LV內減少容量

lvremove 刪除LV

lvresize  調整LV的容量大小


本篇博文就到這里了,后面會再寫一個補充篇來對LVM的一些功能和特性做一些補充。這個嘛,就要我再抽空寫嘍。

轉自:http://nolinux.blog.51cto.com/4824967/1350942

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

(0)
s19930811s19930811
上一篇 2016-08-15 12:12
下一篇 2016-08-15 12:12

相關推薦

  • 6個用于大數據分析的最好工具

    大數據是一個含義廣泛的術語,是指數據集,如此龐大而復雜的,他們需要專門設計的硬件和軟件工具進行處理。該數據集通常是萬億或EB的大小。這些數據集收集自各種各樣的來源:傳感器,氣候信息,公開的信息,如雜志,報紙,文章。大數據產生的其他例子包括購買交易記錄,網絡日志,病歷,軍事監控,視頻和圖像檔案,及大型電子商務。  在大數據和大數據分析,他們對企業的影…

    Linux干貨 2015-04-04
  • awk,systemctl,破解7root口令

    awk -F 指明輸入時用到的字段分隔符 默認空格為分隔符 -v 自定義變量 基本格式:awk [options] 'program' file $1,$2..$n稱為域標識,$0為所有域。 文件的每一行稱為記錄 awk '{print}' /etc/passwd 默認 print $0 顯示全段   awk…

    Linux干貨 2016-10-05
  • 常見文件管理命令及bash特性

    cat:查看文件文本內容  -n:顯示行號  [root@study ~]# cat -n /etc/passwd  1  root:x:0:0:root:/root:/bin/bash  2  bin:x:1:1:bin:/bin:/sb…

    系統運維 2016-11-06
  • 士大夫

    士大夫

    2017-11-13
  • HTTP詳解(3)-http1.0 和http1.1 區別

    翻了下HTTP1.1的協議標準RFC2616,下面是看到的一些它跟HTTP1.0的差別。 1. Persistent Connection持久連接        在HTTP1.0中,每對Request/Response都使用一個新的連接。      …

    Linux干貨 2015-04-04
  • linux 文件管理類命令及功能用法

    第一題:Linux上的文件管理類命令都有哪些,其常用的使用方法及相關示例演示。 文件管理類的命令有: cd,ls,touch,mldir,cp,mv,rm,rmdir,pwd,tree 使用方法 (1),cd命令用來切換工作目錄至dirname。其中dirName表示法可為絕對路徑或相對路徑。 常用格式: cd #進入用戶家目錄 cd~ #進入用戶家目錄 c…

    Linux干貨 2017-07-09
欧美性久久久久