Linux磁盤管理:LVM邏輯卷的建立及使用

轉載 http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/24/3096087.htmlhtml

詳細的講解了Linux的動態磁盤管理LVM邏輯卷的基本概念以及LVM的工做原理,包括LVM中最重要的四個基本點(PE、PV、VG以及LV),這篇隨筆將會詳細的講解LVM邏輯卷的建立、使用以及刪除.node

1、建立LVM邏輯卷app

咱們經過圖文並茂的方式來看看如何建立咱們的LVM,在上一篇隨筆中,咱們已經熟悉了LVM的工做原理,首先是要將咱們的物理硬盤格式化成PV,而後將多個PV加入到建立好的VG中,最後經過VG建立咱們的LV。因此咱們第一步就是將咱們的物理硬盤格式化成PV(物理卷)ide

①將物理硬盤格式化成PV(物理卷)  使用的是 pvcreate 命令ui

這裏我已經事先虛擬化了3快物理硬盤,每塊硬盤的大小爲8G,經過 fdisk -l 命令能夠查看spa

[root@xiaoluo ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00093d90

   Device Boot      Start         End      Blocks   Id  System/dev/sda1               1         523     4194304   82  Linux swap / Solaris
Partition 1 does not end on cylinder boundary./dev/sda2   *         523        2611    16776192   83  Linux

Disk /dev/sdb: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000Disk /dev/sdc: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000Disk /dev/sdd: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

這裏咱們根據上面圖所示,咱們先將 /dev/sdb、 /dev/sdc 兩塊硬盤格式化成PV操作系統

[root@xiaoluo ~]#  successfully created

建立完PV之後,咱們可使用pvdisplay(顯示詳細信息)、pvs命令來查看當前pv的信息3d

[root@xiaoluo ~]# pvdisplay  "/dev/sdb" is a new physical volume of "8.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name               
  PV Size               8.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               93UEEl-cxBU-A4HC-LNSh-jp9G-uU5Q-EG8LM9   
  "/dev/sdc" is a new physical volume of "8.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name               
  PV Size               8.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               lH1vul-KBHx-H2C6-wbt1-8AdK-yHpr-bBIul5
   
[root@xiaoluo ~]# pvs
  PV         VG   Fmt  Attr PSize PFree  /dev/sdb        lvm2 a--  8.00g 8.00g  /dev/sdc        lvm2 a--  8.00g 8.00g

經過這兩個命令咱們能夠看到咱們已經建立好的PV的信息,兩個PV都是8G,目前尚未使用,PFree都是8G.code

②建立卷組(VG),並將PV加入到卷組中  經過 vgcreate 命令orm

在建立完PV之後,這時候咱們須要建立一個VG,而後將咱們的PV都加入到這個卷組當中,在建立卷組時要給該卷組起一個名字

[root@xiaoluo ~]#  successfully created

一樣,在建立好VG之後,咱們也可使用 vgdisplay 或者 vgs 命來來查看VG的信息

[root@xiaoluo ~]# vgdisplay 
  --- Volume group ---
  VG Name               xiaoluo
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2  // 當前這裏有兩個PV,分別是咱們的 /dev/sdb 和 /dev/sdc
  Act PV                2
  VG Size               15.99 GiB  // 當前VG的大小
  PE Size               4.00 MiB  // 經過這個咱們也能夠看到咱們LVM默認的PE大小就是4M
  Total PE              4094  // 由於VG裏面存放的就是各個PV中的PE,因此PE的數量就是VG大小除以默認PE的大小
  Alloc PE / Size       0 / 0   
  Free  PE / Size       4094 / 15.99 GiB
  VG UUID               B8eavI-21kD-Phnm-F1t1-eo4K-wgvg-T5qUbt
   
[root@xiaoluo ~]# vgs
  VG      #PV #LV #SN Attr   VSize  VFree 
  xiaoluo   2   0   0 wz--n- 15.99g 15.99g

③基於卷組(VG)建立邏輯卷(LV)  經過 lvcreate 命令

由於建立好的PV、VG都是底層的東西,咱們上層使用的是邏輯卷,因此咱們要基於VG建立咱們的邏輯卷才行

[root@xiaoluo ~]#  created

經過 lvcreate 命令基於VG建立好咱們的邏輯卷,名字爲mylv,大小爲2G,一樣咱們可使用 lvdisplay 或者 lvs 命令來查看建立好的邏輯卷的信息

[root@xiaoluo ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/xiaoluo/mylv  // 邏輯卷的路徑
  LV Name                mylv  // 邏輯卷的名字
  VG Name                xiaoluo  // 邏輯卷所屬卷組的名字
  LV UUID                PYuiYy-WpI6-XZB8-IhnQ-ANjM-lcz0-dlk4LR
  LV Write Access        read/write
  LV Creation host, time xiaoluo, 2013-05-23 23:45:08 +0800
  LV Status              available
  # open                 0
  LV Size                2.00 GiB  // 邏輯卷的大小
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto  - currently set to     256
  Block device           253:0
   [root@xiaoluo ~]# lvs
  LV   VG      Attr      LSize Pool Origin Data%  Move Log Cpy%Sync Convert
  mylv xiaoluo -wi-a---- 2.00g

這樣子咱們的邏輯卷也就已經建立好了,咱們這個時候再經過 vgs 還有 pvs 命令查看一下咱們的PV與VG的信息

       wz--n- .99g /dev/sdb   xiaoluo lvm2 a--  .00g /dev/sdc   xiaoluo lvm2 a--  .00g .00g

複製代碼

咱們發現,當咱們每建立完一個LV時,VG與PV的信息都是時時在變化的,而且咱們建立LV的大小是根據當前VG的大小來決定的,不能超過當前VG的剩餘大小!

咱們在上一篇隨筆裏面有講過,每建立好一個邏輯卷,都會在 /dev 目錄下出現一個以該卷組命名的文件夾,基於該卷組建立的全部的邏輯卷都是存放在這個文件夾下面,咱們能夠查看一下

[root@xiaoluo ~]# /dev/xiaoluo/mylv

咱們每建立一個新的邏輯卷,該VG目錄下都會多出這麼一個設備。

2、格式化並使用咱們的邏輯卷

咱們已經建立好了咱們的PV、VG以及LV,這時候咱們若是要使用邏輯卷,就必須將其格式化成咱們須要用的文件系統,並將其掛載起來,而後就能夠像使用分區同樣去使用邏輯捲了

[root@xiaoluo ~]# . (-May-== (log== (log== blocks, Stripe width= inodes,  blocks (%) reserved == block  blocks per group, , , , ,  blocks):  days, whichever comes first.  Use tune2fs -c or -i to override.

格式化咱們的邏輯卷之後,就可使用 mount 命令將其進行掛載,咱們將其掛載到 /mnt 目錄下

[root@xiaoluo ~]#  /dev/xiaoluo/mylv /~]# /dev/sda2 on ////dev/pts type devpts (rw,gid=,mode=/dev/shm type tmpfs (rw,rootcontext=/proc/sys/fs//var/lib/nfs//dev/mapper/xiaoluo-mylv on /~]# cd /mnt/++found  xiaoluo.txt

咱們看到,咱們的卷組已經掛載好了,而且能夠像使用分區同樣來對其進行文件操做了。

3、刪除邏輯卷

咱們在建立好邏輯卷後能夠經過建立文件系統,掛載邏輯捲來使用它,若是說咱們不想用了也能夠將其刪除掉。

注意:】對於建立物理卷、建立卷組以及建立邏輯卷咱們是有嚴格順序的,一樣,對於刪除邏輯卷、刪除卷組以及刪除物理卷也是有嚴格順序要求的

①首先將正在使用的邏輯卷卸載掉  經過 umount 命令

②將邏輯卷先刪除  經過 lvremove 命令

③刪除卷組  經過 vgremove 命令

④最後再來刪除咱們的物理卷  經過 pvremove 命令

[root@xiaoluo /]#  /dev/xiaoluo/mylv /mnt/
/]#  /mnt//]# ? [y///]#  successfully wiped

此時咱們的剛建立的邏輯卷 mylv,卷組 xiaoluo以及物理卷 /dev/sdb 已經從咱們當前操做系統上刪除掉了,經過 lvs、vgs、pvs命令能夠查看一下

[root@xiaoluo ////dev/sdc        lvm2 a--  .00g .00g  // sdb物理卷已經沒有了,只剩下 sdc物理捲了
相關文章
相關標籤/搜索