可伸縮的邏輯卷

什么是邏輯卷?

邏輯卷簡稱LVM, LVMLinux環境中對磁盤分區進行管理的一種機制,是建立在硬盤和分區之上、文件系統之下的一個邏輯層,可提高磁盤分區管理的靈活性.

 

為什么要使用邏輯卷?

邏輯卷相比于一般的磁盤分區, 具有更高的靈活性??呻S時伸縮空間的大小.

 

構建邏輯分區圖:

圖片4.png

 

邏輯卷概念:

PV(物理卷): 是在Linux Block Devices之上, 用于構建邏輯卷(LVM)的基礎。

VG(卷組): 是在PV之上, 用于構建LVM(邏輯卷)的直接設備。

 

模擬構建邏輯卷(LVM)?

1>. 構建PV

a>.查看/dev/sdc的設備

[root@centos 7 ~]# fdisk -l /dev/sdc
Disk /dev/sdc: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

b>./dev/sdc整個磁盤做成pv

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

c>.顯示pv

[root@centos6 ~]# pvdisplay 
  "/dev/sdc" is a new physical volume of "200.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name               
  PV Size               200.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               shaxHn-Zmeb-fw5u-5vv9-UCde-LMcy-aY1dC3

2>. 構建VG

a>. /dev/sdc轉化為vg0

[root@centos6 ~]# vgcreate vg0 /dev/sdc
  Volume group "vg0" successfully created

b>. 查看卷組vg0

[root@centos6 ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg0
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               200.00 GiB
  PE Size               4.00 MiB
  Total PE              51199
  Alloc PE / Size       38400 / 150.00 GiB
  Free  PE / Size       12799 / 50.00 GiB
  VG UUID               GEu8sM-fEzY-z6eo-Xltf-2B1V-hWQO-QQzy8X

3>. VG轉化為LVM(邏輯卷)

a>. 創建邏輯分區

[root@centos6 ~]# lvcreate -n lv0 -L 150G vg0
  Logical volume "lv0" created.

注釋:lvcreate命令的使用

lvcreate  -n  邏輯卷名字 -L #G/M/K  卷組名

-L  #G/M/K

-l  #   PE的個數

 

b>. 查看邏輯卷:

[root@centos6 ~]# lvdisplay 
   --- Logical volume ---
  LV Path                /dev/vg0/lv0
  LV Name                lv0
  VG Name                vg0
  LV UUID                t4TUyR-vBdE-LmUr-kIWZ-nNwD-L3ub-ZzkKR0
  LV Write Access        read/write
  LV Creation host, time centos6.8, 2016-08-26 05:44:56 +0800
  LV Status              available
  # open                 0
  LV Size                150.00 GiB
  Current LE             38400
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

4>. 卷組以構建完成, 格式化,掛載使用.

[root@centos6 ~]# mkfs.ext4 /dev/vg0/lv0 
[root@centos6 ~]# vim /etc/fstab

 圖片5.png

[root@centos6 ~]# mount -a
[root@centos6 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/sda2             48G  4.2G   42G  10% /
tmpfs                491M     0  491M   0% /dev/shm
/dev/sda1            190M   34M  147M  19% /boot
/dev/sda5            1.9G  3.0M  1.8G   1% /testdir
/dev/mapper/vg0-lv0  148G   60M  140G   1% /mnt/lvm

5>. 縮小邏輯卷

縮小邏輯卷為100G

a>. 縮小邏輯卷為100G

[root@centos6 lvm]# lvreduce -L 100G /dev/vg0/lv0
  WARNING: Reducing active and open logical volume to 100.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg0/lv0? [y/n]: y
  Size of logical volume vg0/lv0 changed from 150.00 GiB (38400 extents) to 100.00 GiB (25600 extents).
  Logical volume lv0 successfully resized.

b>. 查看LVM邏輯卷

  [root@centos6 ~]# lvs
  LV   VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0  -wi-a----- 100.00g

c>. 查看文件系統

[root@centos6 lvm]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/sda2             48G  4.2G   42G  10% /
tmpfs                491M     0  491M   0% /dev/shm
/dev/sda1            190M   34M  147M  19% /boot
/dev/sda5            1.9G  3.0M  1.8G   1% /testdir
/dev/mapper/vg0-lv0  148G   60M  140G   1% /mnt/lvm

邏輯卷發生了變化了,但是文件系統的大小并沒有發生改變。

 

6>. 如何正確的縮減邏輯卷

如何正確的縮減邏輯卷

a>. umount /mnt/lvm1
b>. e2fsck -f /dev/vg1/lv1
c>. resize2fs /dev/vg1/lv1 50G   //  文件系統縮減為50G
d>. lvreduce -L 50G /dev/vg1/lv1  //  /dev/vg1/lv1這個分區縮減為50G

 

文件系統是在邏輯卷之上, 想要減少文件系統的大小, 首先應該減少文件系統的大小, 然后再減小邏輯卷的大小。

 

7>. 如何正確的擴容邏輯卷?

a>. [root@centos6 lvm1]# lvextend -L 180G /dev/vg1/lv1
b>. [root@centos6 lvm1]# resize2fs /dev/vg1/lv1 180G

c>. 查看邏輯卷

root@centos6 lvm1]# df -h
Filesystem           Size  Used Avail Use% Mounted on
/dev/sda2             48G  4.2G   42G  10% /
tmpfs                491M     0  491M   0% /dev/shm
/dev/sda1            190M   34M  147M  19% /boot
/dev/sda5            1.9G  3.0M  1.8G   1% /testdir
/dev/mapper/vg1-lv1  178G   60M  168G   1% /mnt/lvm1

擴大邏輯卷則沒有那么復雜, 只要將邏輯卷擴大了, 然后使用resize2fs同步一下文件系統就ok了。

 

8>. 只要建立邏輯卷底層的卷組足夠的話,伸縮邏輯卷都是可以的。但是有時候邏輯卷底層的卷組不夠了, 要擴大卷組。

a>. 首先要建立物理卷。

[root@centos6 lvm1]# pvcreate /dev/sda9
  Physical volume "/dev/sda9" successfully created

b>. 然后再擴容邏輯卷

[root@centos6 lvm1]# vgextend vg1 /dev/sda9
  Volume group "vg1" successfully extended

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

(0)
458813466458813466
上一篇 2016-09-01 08:49
下一篇 2016-09-01 08:50

相關推薦

  • shell腳本之函數相關

       本節主要是作業和select 與case的相關 一、作業 1、斐波那契數列又稱黃金分割數列,因數學家列昂納多·斐波那契以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:0、1、1、2、3、5、8、13、21、34、……,斐波納契數列以如下被以遞歸的方法定義:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-…

    Linux干貨 2016-08-22
  • 馬哥教育網絡班20期 第8周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:工作于數據鏈路層,實現多個lan之間數據的轉發,隔離沖突域,類似二層交換機。 集線器:工作于物理層,實現設備的接入,數據信號放大、中轉,共享信道。把一個端口接收的所有信號向所有端口分發出去 二層交換機:工作于數據鏈路層,可連接多個lan,根據幀的mac來轉發數據,隔離沖突域…

    Linux干貨 2016-08-15
  • 馬哥教育網絡班20期-第五周課程作業

    Table of Contents 1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; 3、打出netstat -tan命令執行結果中以‘LISTEN’,后或跟空白字符結尾的行; 4、添加用戶bash, tes…

    Linux干貨 2016-07-12
  • N26-博客作業-week7

    1、創建一個10G分區,并格式為ext4文件系統;      (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;     ~]# fdisk /dev/sda Welcome to fdisk (util-li…

    Linux干貨 2017-03-19
  • HTTP詳解(2)-請求、響應、緩存

    1. HTTP請求格式              做過Socket編程的人都知道,當我們設計一個通信協議時,“消息頭/消息體”的分割方式是很常用的,消息頭告訴對方這個消息是干什么的,消息體告訴對方怎么干。HTTP協議傳輸的消息也是這樣規定的…

    Linux干貨 2015-04-04
  • linux學習第一天

    了解Linux和計算機的基礎

    2018-03-26

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-02 11:52

    從原理到實戰,有理有據,詳略得當,細心亮點頗多,贊

欧美性久久久久