LVM邏輯卷的創建及使用


===轉自http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/24/3096087.html===


一、創建LVM邏輯卷

23232123-639bc606018a46e28d9a4ddff539eaa


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

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

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

複製代碼
[root@xiaoluo ~]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00093d90   Device Boot      Start         End      Blocks   Id  System/dev/sda1               1523419430482  Linux swap / SolarisPartition 1 does not end on cylinder boundary./dev/sda2   *         52326111677619283  LinuxDisk /dev/sdb: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000Disk /dev/sdc: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000Disk /dev/sdd: 8589 MB, 8589934592 bytes255 heads, 63 sectors/track, 1044 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000
複製代碼

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

[root@xiaoluo ~]# pvcreate /dev/sdb /dev/sdc
 Physical volume
"/dev/sdb" successfully created  Physical volume "/dev/sdc" successfully created

創建完PV以後,我們可以使用pvdisplay(顯示詳細信息)、pvs命令來查看當前pv的信息

複製代碼
[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.

②創建卷組(VG),並將PV加入到卷組中  通過 vgcreate 命令

在創建完PV以後,這時候我們需要創建一個VG,然後將我們的PV都加入到這個卷組當中,在創建卷組時要給該卷組起一個名字

[root@xiaoluo ~]# vgcreate xiaoluo /dev/sdb /dev/sdc
 Volume group
"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   200 wz--n- 15.99g 15.99g
複製代碼

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

因爲創建好的PV、VG都是底層的東西,我們上層使用的是邏輯卷,所以我們要基於VG創建我們的邏輯卷才行

[root@xiaoluo ~]# lvcreate -n mylv -L 2G xiaoluo
 Logical volume
"mylv" 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-2323: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的信息

複製代碼
[root@xiaoluo mnt]# vgs  VG      #PV #LV #SN Attr   VSize  VFree   xiaoluo   210 wz--n- 15.99g 13.99g  // 我們看到LV的數量此時變成了1,因爲我們剛創建好了一個LV,LVFree還有14G
[root@xiaoluo mnt]# pvs  PV         VG      Fmt  Attr PSize PFree  
/dev/sdb xiaoluo lvm2 a-- 8.00g 6.00g  // 剛創建好的LV用的是 /dev/sdb 這塊硬盤的,所以這塊硬盤的PFree還剩下6G  /dev/sdc xiaoluo lvm2 a-- 8.00g 8.00g
複製代碼

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

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

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

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

二、格式化並使用我們的邏輯卷

我們已經創建好了我們的PV、VG以及LV,這時候我們如果要使用邏輯卷,就必須將其格式化成我們需要用的文件系統,並將其掛載起來,然後就可以像使用分區一樣去使用邏輯捲了


複製代碼
[root@xiaoluo ~]# mkfs.ext4 /dev/xiaoluo/mylv
mke2fs
1.41.12 (17-May-2010)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks131072 inodes, 524288 blocks26214 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=53687091216 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:     32768, 98304, 163840, 229376, 294912Writing inode tables: done                            Creating journal (16384 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 31 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.
複製代碼


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

複製代碼
[root@xiaoluo ~]# mount /dev/xiaoluo/mylv /mnt
[root@xiaoluo
~]# mount /dev/sda2 on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5,mode=620)tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)/dev/mapper/xiaoluo-mylv on /mnt type ext4 (rw)
[root@xiaoluo
~]# cd /mnt/[root@xiaoluo mnt]# lslost+found[root@xiaoluo mnt]# touch xiaoluo.txt[root@xiaoluo mnt]# lslost+found xiaoluo.txt
複製代碼

我們看到,我們的卷組已經掛載好了,並且可以像使用分區一樣來對其進行文件操作了。

三、刪除邏輯卷

我們在創建好邏輯卷後可以通過創建文件系統,掛載邏輯捲來使用它,如果說我們不想用了也可以將其刪除掉。

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

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

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

③刪除卷組  通過 vgremove 命令

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

複製代碼
[root@xiaoluo /]# mount /dev/xiaoluo/mylv /mnt/
[root@xiaoluo /]# umount /mnt/[root@xiaoluo /]# lvremove /dev/xiaoluo/mylv Do you really want to remove active logical volume mylv? [y/n]: y  Logical volume "mylv" successfully removed[root@xiaoluo /]# vgremove xiaoluo  Volume group "xiaoluo" successfully removed[root@xiaoluo /]# pvremove /dev/sdb   Labels on physical volume "/dev/sdb" successfully wiped
複製代碼

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

複製代碼
[root@xiaoluo /]# lvs  No volume groups found  // 邏輯卷已經沒有了
[root@xiaoluo
/]# vgs  No volume groups found  // 卷組也沒有了
[root@xiaoluo
/]# pvs  PV         VG   Fmt  Attr PSize PFree  /dev/sdc lvm2 a-- 8.00g 8.00g  // sdb物理卷已經沒有了,只剩下 sdc物理捲了
複製代碼

本篇隨筆詳細講解了LVM邏輯卷的創建、使用及刪除,在下一篇隨筆裏我們將繼續講解LVM邏輯卷的知識,包括如何對邏輯捲進行動態的拉伸以及對其進行壓縮!!!




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章