1. 程式人生 > 其它 >CentOS 6中建立及管理LVM邏輯卷

CentOS 6中建立及管理LVM邏輯卷

轉至:https://www.ibadboy.net/archives/1903.html#%E9%80%BB%E8%BE%91%E5%8D%B7%E7%9A%84%E6%89%A9%E5%AE%B9

文章目錄

  • LVM簡介:
  • 建立LVM:
    • 一、安裝LVM軟體包
    • 二、建立物理磁碟的分割槽
    • 三、建立物理卷
    • 四、建立卷組
    • 五、劃分邏輯卷
  • 管理LVM:
    • 卷組的擴容
    • 邏輯卷的擴容

 

LVM簡介:

LVM是邏輯管理卷的簡寫,其可以將多塊物理磁碟的分割槽組成一個大的卷組(可以把他想象成是一個大的資源池),再在卷組上劃分出邏輯卷並在其上建立檔案系統最終供使用者使用。

LVM的好處是可以動態的增加邏輯卷的大小,這樣就不用面臨隨著業務發展,原本的分割槽空間不足的尷尬啦!

下面是LVM的結構圖,最下面是物理磁碟分割槽,其上是物理卷(一個物理磁碟分割槽對應一個物理卷),再往上是我稱之為“資源池”的卷組,這個“資源池”的容量是由組成其的物理卷的總容量決定的,而最上面則是可以被當成“普通分割槽”來使用的邏輯卷,邏輯卷可以劃分很多個(預設一個卷組可以劃分256個邏輯卷),只要其加起來的容量不超過“資源池”的容量就好!

 

建立LVM:

一、安裝LVM軟體包

通常情況下,CentOS中都有自帶LVM軟體包,但為了以防萬一,我還是把安裝命令貼出來吧~

[root@localhost ~]# yum install -y lvm

 

二、建立物理磁碟的分割槽

記得要先新增一塊空磁碟吶,本實驗中我添加了一塊8GB大小的SCSI磁碟。

檢視新新增的磁碟。

[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 4.2G 0 rom /media/cdrom
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 500M 0 part /boot
└─sda2 8:2 0 7.5G 0 part
├─VolGroup-lv_root (dm-0) 253:0 0 6.7G 0 lvm /
└─VolGroup-lv_swap (dm-1) 253:1 0 816M 0 lvm [SWAP]
sdb 8:16 0 8G 0 disk

 

如果新加的磁碟不能被系統立即識別請參考此篇文章。

https://www.ibadboy.net/archives/1895.html

使用fdisk工具對新加磁碟進行分割槽。

[root@localhost ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x028d3c84.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): n //新建磁碟分割槽
Command action
e extended
p primary partition (1-4)
p //新建為主分割槽
Partition number (1-4): 1 //設定分割槽編號
First cylinder (1-1044, default 1): s //設定起始扇區
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044):522 //設定結束扇區,這裡我結束扇區設定為總扇區數的一半,相當於把分割槽容量設定為總容量的一半
Command (m for help): n //新建第二塊磁碟分割槽
Command action
e extended
p primary partition (1-4)
p //新建為主分割槽
Partition number (1-4): 2 //設定分割槽編號
First cylinder (523-1044, default 523): //設定起始扇區
Using default value 523
Last cylinder, +cylinders or +size{K,M,G} (523-1044, default 1044): //設定結束扇區
Using default value 1044
Command (m for help): t //更改分割槽的標識
Partition number (1-4): 1 //選擇編號為1的分割槽進行操作
Hex code (type L to list codes): 8e //將分割槽標識更改為“Linux LVM”,其對應的程式碼是8e,這裡可以輸入list來檢視所有標識對應的程式碼
Changed system type of partition 1 to 8e (Linux LVM)
Command (m for help): t //更改分割槽的標識
Partition number (1-4): 2 //選擇編號為2的分割槽進行操作
Hex code (type L to list codes): 8e //將分割槽標識更改為“Linux LVM”
Changed system type of partition 2 to 8e (Linux LVM)
Command (m for help): p //檢視剛剛新建的分割槽
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 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: 0x028d3c84
Device Boot Start End Blocks Id System
/dev/sdb1 1 522 4192933+ 8e Linux LVM
/dev/sdb2 523 1044 4192965 8e Linux LVM
Command (m for help): w //儲存並退出fdisk工具
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

 

三、建立物理卷

使用新建立的/dev/sdb1和/dev/sdb2這兩個分割槽分別組建物理卷。

[root@localhost ~]# pvcreate /dev/sdb[12]
Physical volume "/dev/sdb1" successfully created //提示說物理卷建立成功
Physical volume "/dev/sdb2" successfully created

 

檢視物理卷。

[root@localhost ~]# pvdisplay
"/dev/sdb1" is a new physical volume of "4.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1 //物理卷名稱
VG Name //所屬的卷組名稱,這裡還未加入任何卷組
PV Size 4.00 GiB //物理卷大小
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID pTps5V-4vKA-em0G-XR8Y-ltJu-4CeL-KEOMn3
"/dev/sdb2" is a new physical volume of "4.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb2 //物理卷名稱
VG Name //所屬的卷組名稱
PV Size 4.00 GiB //物理卷大小
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID uzW0YS-fl5a-4Qae-6vcG-iXce-a8iB-QYMvf4

 

四、建立卷組

將剛剛新建的物理卷/dev/sdb1和/dev/sdb2組成一個卷組——vg1

[root@localhost ~]# vgcreate vg1 /dev/sdb[12]
Volume group "vg1" successfully created //提示說卷組建立成功卷

 

檢視卷組

[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name vg1 //卷組名稱
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
Act PV 2
VG Size 7.99 GiB //卷組容量
PE Size 4.00 MiB
Total PE 2046
Alloc PE / Size 0 / 0
Free PE / Size 2046 / 7.99 GiB
VG UUID dY8zDo-vD43-DQB8-CpRs-Shla-kWfJ-OuDjhp

 

五、劃分邏輯卷

從總容量為8G(其實不足8G)的卷組vg1中劃分四個邏輯卷,分別為lv1、lv2、lv3、lv4,每個大小為2000MB。

[root@localhost ~]# lvcreate -L 2000MB -n lv1 vg1 //-L引數後面接邏輯卷大小,單位可以是KB、MB、GB。
Logical volume "lv1" created
[root@localhost ~]# lvcreate -L 2000MB -n lv2 vg1
Logical volume "lv2" created
[root@localhost ~]# lvcreate -L 2000MB -n lv3 vg1
Logical volume "lv3" created
[root@localhost ~]# lvcreate -L 2000MB -n lv4 vg1
Logical volume "lv4" created

 

檢視邏輯卷,因為這裡的輸出資訊比較多,我只擷取lv1這個邏輯卷的資訊做簡要說明。

[root@localhost ~]# lvdisplay
--- Logical volume ---
LV Path /dev/vg1/lv1 //邏輯卷路徑
LV Name lv1 //邏輯卷名稱
VG Name vg1 //邏輯卷所屬的卷組的名稱
LV UUID qhypYJ-jPOW-KDDy-NXtO-aWQO-ryHI-Tf04hS
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2017-10-11 13:13:54 +0800
LV Status available
# open 0
LV Size 1.95 GiB //邏輯卷容量
Current LE 500
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2

 

至此,邏輯卷已建立完成,但此時還不能立即使用,還需要在邏輯捲上新建檔案系統。

這裡為了不讓文章顯得囉嗦,我只在邏輯卷lv1上建立檔案系統。

[root@localhost ~]# mkfs.ext4 /dev/vg1/lv1
mke2fs 1.41.12 (17-May-2010)
檔案系統標籤=
作業系統:Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
128000 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
第一個資料塊=0
Maximum filesystem blocks=524288000
16 block groups
32768 blocks per group, 32768 fragments per group
8000 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
正在寫入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

 

掛載邏輯卷。

[root@localhost ~]# mount /dev/vg1/lv1 /mnt
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 6.7G 816M 5.5G 13% /
tmpfs 246M 0 246M 0% /dev/shm
/dev/sda1 485M 33M 427M 8% /boot
/dev/sr0 4.2G 4.2G 0 100% /media/cdrom
/dev/mapper/vg1-lv1 2.0G 35M 1.8G 2% /mnt

 

管理LVM:

卷組的擴容

這裡我新增加一塊8G的空SCSI磁碟,並在其基礎上建立一個8G的物理卷。

將剛剛新建的8G大小的物理卷加入到vg1卷組中,實現對vg1卷組的擴容。

[root@localhost ~]# vgextend vg1 /dev/sdc1
dev_is_mpath: failed to get device for 8:33
No physical volume label read from /dev/sdc1
Physical volume /dev/sdc1 not found
Physical volume "/dev/sdc1" successfully created
Volume group "vg1" successfully extended

 

檢視卷組資訊,注意看卷組容量。

[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 14
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 4
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size 15.99 GiB //卷組的總容量已增加
PE Size 4.00 MiB
Total PE 4093
Alloc PE / Size 2000 / 7.81 GiB
Free PE / Size 2093 / 8.18 GiB
VG UUID dY8zDo-vD43-DQB8-CpRs-Shla-kWfJ-OuDjhp

 

邏輯卷的擴容

這裡對已經掛載在/mnt目錄上的lv1邏輯捲進行擴容,將其大小變為10GB。

[root@localhost ~]# lvextend -L 10GB -n /dev/vg1/lv1
Extending logical volume lv1 to 10.00 GiB
Logical volume lv1 successfully resized

 

重設邏輯卷大小,只有正在使用的邏輯卷才需要重設大小。

[root@localhost ~]# resize2fs /dev/vg1/lv1
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg1/lv1 is mounted on /mnt; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/vg1/lv1 to 2621440 (4k) blocks.
The filesystem on /dev/vg1/lv1 is now 2621440 blocks long.

 

檢視此時lv1的容量,已實現動態擴容。

[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 6.7G 816M 5.5G 13% /
tmpfs 246M 0 246M 0% /dev/shm
/dev/sda1 485M 33M 427M 8% /boot
/dev/sr0 4.2G 4.2G 0 100% /media/cdrom
/dev/mapper/vg1-lv1 9.9G 37M 9.4G 1% /mnt

 

搜尋

複製