LVM模式详解

1.LVM概念

LVM(Logical Volume Manager):逻辑卷管理。它最大的功能不是提高磁盘的效能或是安全,而是能在线扩大或缩小磁盘容量。基本理念是先将文件系统分区(如sda1,sdb2,sdc1)创建为物理卷(PV:Physical Volume),再将多個PV创建为卷组(VG:Volume Group),然后在VG上建立逻辑卷(LV:Logical Volume),最后对LV格式化挂载使用。扩大容量即将文件创建为PV加入VG,再对LV复設定大小。缩小容量则是先对LV重设定大小(减小容量了),再将要移除的PV上的数据转移到其它PV上,最后将PV移出VG以达到减小容量目的。在LVM的世界里还有一个概念需要理解,PE(Physical Exten):LVM最小可存储单元,类似于磁盘的block概念。默认一个PE=4MB,一个VG组里最多可有65534个PE(256GB),所以PE越大,VG的最大容量也越大。最好通过fdisk将要创建为PV的分区的System ID改为8e;lvm数据存储有两种方式:线性模式:第一个PV存完再存下一个PV,这是默认模式;交叉模式:所有数据均匀分布在各个PV上面。不管哪种数据存储模式,只要有一PV坏了,整个卷组的数据都丢失。

2.LVM基本操作

2.1 磁盘准备

用一个10GB的硬盘分出3个2.0GB的分区,并将System ID改为8e,fdisk的用法就不讲了。
[root@FIHSER-V49 ~]# fdisk /dev/hdd
[root@FIHSER-V49 ~]# partprobe    #这个指令执行一次
[root@FIHSER-V49 ~]# fdisk -l /dev/hdd
Disk /dev/hdd: 10.7 GB, 10737418240 bytes
15 heads, 63 sectors/track, 22192 cylinders
Units = cylinders of 945 * 512 = 483840 bytes
Device Boot     Start     End      Blocks       Id     System
/dev/hdd1      1        4439     2097396     8e     Linux LVM
/dev/hdd2      4440    8878     2097427+    8e     Linux LVM
/dev/hdd3      8879    13317    2097427+    8e     Linux LVM

2.2 建立PV

pvcreate :将实体 partition 建立成为 PV ;  
pvscan :搜寻目前系统里面任何具有 PV 的磁盘;  
pvdisplay :显示出目前系统上面的 PV 状态;  
pvmove s_partition d_partition:将一个PV上的数据移至另一个PV上,在减小卷容量以抽离分区时用得着
pvremove :将 PV 属性移除,让该 partition 不具有 PV 属性。
    [root@FIHSER-V49 ~]# pvscan
     No matching physical volumes found     #此时是没任何PV的
    [root@FIHSER-V49 ~]# pvcreate /dev/hdd{1,2,3}
      Physical volume "/dev/hdd1" successfully created
     Physical volume "/dev/hdd2" successfully created
      Physical volume "/dev/hdd3" successfully created
    [root@FIHSER-V49 ~]# pvscan
      PV /dev/hdd1                      lvm2 [2.00 GB]
      PV /dev/hdd2                      lvm2 [2.00 GB]
      PV /dev/hdd3                      lvm2 [2.00 GB]
     Total: 3 [6.00 GB] / in use: 0 [0   ] / in no VG: 3 [6.00 GB]
    [root@FIHSER-V49 ~]# pvdisplay
      "/dev/hdd1" is a new physical volume of "2.00 GB"
      --- NEW Physical volume ---
      PV Name               /dev/hdd1
      VG Name
      PV Size               2.00 GB
      Allocatable           NO
      PE Size (KByte)       0
      Total PE              0
     Free PE               0
      Allocated PE          0
      PV UUID      DfgtVk-Kmsp-3Hf4-rwGD-AdwL-1V2D-y0b49l  (后面…….)

2.3 建立VG

vgcreate [-s Num[mgt]] VG_Name PV_Name:建立 VG !-s:接PE的大小,单位可以是m,g,t(大小写均可)   
vgscan :搜寻系统上面是否有 VG 存在;
vgdisplay :显示目前系统上面的 VG 状态;  
vgextend VG_Name PV_Name :在 VG 内增加额外的 PV ;  
vgreduce VG_name partition:在 VG 内移除 PV;  
vgchange :设定 VG 是否启动(active);  
vgremove :移除一个 VG ;
    [root@FIHSER-V49 ~]# vgcreate -s 16M VG /dev/hdd{1,2,3}  
#设定PE=16MB
      Volume group "VG" successfully created
    [root@FIHSER-V49 ~]# vgdisplay
      --- Volume group ---
     VG Name               VG
      System ID
      Format                lvm2
      Metadata Areas        3
      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                3
      Act PV                3
      VG Size               6.00 GB  #3个2GB的分区已经创建为卷组了
      PE Size               16.00 MB
      Total PE              384    #总共有384个PE,每个16MB
      Alloc PE / Size       0 / 0
      Free  PE / Size       384 / 6.00 GB
      VG UUID               Kyrkwu-v7Zs-QaxL-QThk-3v1b-Q4ja-17IlXO

2.4 创建LV

    lvcreate [-L Num[mgt]][-s][-n LV_name] VG_Name:建立 LV 。-L:接容量,单位可以是m,g,t。-l:接PE的个数,那么则需要自己算空间的大小。-s:创建快照逻辑卷
lvscan :查询系统上面的 LV ;  
lvdisplay :显示系统上面的 LV 状态!  
lvextend :在 LV 里面增加容量!  
lvreduce :在 LV 里面减少容量;  
lvremove :移除一个 LV !  
resize2fs [-f][device][size]:-f:强制进行resize的动作
lvresize [-l +/-PE_Num] LV_name:对 LV 进行容量大小的调整!
    [root@FIHSER-V49 ~]# lvcreate -l 384 -n lv VG
#前面我们查询到该VG共有384个PE,我们把所有空间都分给一个逻辑卷
      Logical volume "lv" created
    [root@FIHSER-V49 ~]# lvdisplay
      --- Logical volume ---
      LV Name                /dev/VG/lv
      VG Name                VG
      LV UUID                lmzRoc-4vtA-xDHS-eIiH-ixiL-9unA-PennPh
      LV Write Access        read/write
      LV Status              available
      # open                 0
      LV Size                6.00 GB
      Current LE             384
      Segments               3
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     256
      Block device           253:0

2.5 文件系统格式化挂载

    [root@FIHSER-V49 ~]# ll /dev/VG/lv     #文件系统路径
    lrwxrwxrwx 1 root root 17 Apr 28 08:29 /dev/VG/lv -> /dev/mapper/VG-lv     
    [root@FIHSER-V49 ~]# mkfs -t ext3 /dev/VG/lv
    [root@FIHSER-V49 ~]# mkdir /mnt/lvm
    [root@FIHSER-V49 ~]# mount /dev/VG/lv /mnt/lvm     
    [root@FIHSER-V49 ~]# df -h /mnt/lvm/
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/VG-lv     6.0G  141M  5.5G   3% /mnt/lvm    
    [root@FIHSER-V49 ~]# cp -a /etc /var/log /mnt/lvm  #拷点文件进来方便到时候测试,至此LVM已完全建立起来了。当然,上面实例中你也可以在一个卷组中创建多个逻辑卷。下面演示如何增大和缩小LV的容量。

2.6 增大LV的容量

    依前面步骤再创建一个PV(/dev/hdd5),这里不演示。
    [root@FIHSER-V49 ~]# vgextend VG /dev/hdd5   #扩展VG卷组
      Volume group "VG" successfully extended                      
    [root@FIHSER-V49 ~]# vgdisplay
      --- Volume group ---
      VG Name               VG
      System ID
      Format                lvm2
      Metadata Areas        4
      Metadata Sequence No  3
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               1
      Max PV                0
      Cur PV                4
      Act PV                4
      VG Size               9.98 GB
      PE Size               16.00 MB
      Total PE              639     #看到没有,之前总共的PE是384
      Alloc PE / Size       384 / 6.00 GB
      Free  PE / Size       255 / 3.98 GB   #255个PE是新增的是没有用到的
      VG UUID               Kyrkwu-v7Zs-QaxL-QThk-3v1b-Q4ja-17IlXO
    [root@FIHSER-V49 ~]# lvresize -l +255 /dev/VG/lv  #将新加入的PV分配给逻辑卷
      Extending logical volume lv to 9.98 GB
      Logical volume lv successfully resized
    [root@FIHSER-V49 ~]# df -h /mnt/lvm
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/VG-lv     6.0G  250M  5.4G   5% /mnt/lvm   #大小没变
    [root@FIHSER-V49 ~]# resize2fs /dev/VG/lv
    resize2fs 1.39 (29-May-2006)
    Filesystem at /dev/VG/lv is mounted on /mnt/lvm; on-line resizing required
    Performing an on-line resize of /dev/VG/lv to 2617344 (4k) blocks.
    The filesystem on /dev/VG/lv is now 2617344 blocks long.
    [root@FIHSER-V49 ~]# df -h /mnt/lvm
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/VG-lv     9.9G  252M  9.1G   3% /mnt/lvm #容量变大了吧,而且里面的数据完全没有发生变化哦。

2.7 减小LV的容量

    刚才演示了如何增大LV的容量,现在演示如何在线减小LV的容量,现在我将/dev/hdd1抽离出来以减小容量。
    [root@FIHSER-V49 ~]# pvdisplay
      --- Physical volume ---
      PV Name               /dev/hdd1
      VG Name               VG
      PV Size               2.00 GB / not usable 244.00 KB
      Allocatable           yes (but full)
      PE Size (KByte)       16384
      Total PE              128      #我们看到/dev/hdd1共有128个PE
      Free PE               0
      Allocated PE          128
      PV UUID               DfgtVk-Kmsp-3Hf4-rwGD-AdwL-1V2D-y0b49l
    [root@FIHSER-V49 ~]# pvscan
      /dev/cdrom: open failed: Read-only file system
      Attempt to close device '/dev/cdrom' which is not open.
      PV /dev/hdd1   VG VG   lvm2 [2.00 GB / 0    free]
      PV /dev/hdd2   VG VG   lvm2 [2.00 GB / 0    free]
      PV /dev/hdd3   VG VG   lvm2 [2.00 GB / 0    free]
      PV /dev/hdd5   VG VG   lvm2 [3.98 GB / 0    free]
      Total: 4 [9.98 GB] / in use: 4 [9.98 GB] / in no VG: 0 [0   ]
    所以,扣除要抽离的/dev/hdd1,剩下的容量将会是7.98GB
    [root@FIHSER-V49 ~]# umount /mnt/lvm
    [root@FIHSER-V49 ~]# resize2fs /dev/VG/lv 7980M
    resize2fs 1.39 (29-May-2006)
    Please run 'e2fsck -f /dev/VG/lv' first.      #提示你先执行一下e2fsck
    [root@FIHSER-V49 ~]# e2fsck -f /dev/VG/lv
    e2fsck 1.39 (29-May-2006)
    Pass 1: Checking inodes, blocks, and sizes
    Pass 2: Checking directory structure
    Pass 3: Checking directory connectivity
    Pass 4: Checking reference counts
    Pass 5: Checking group summary information
    /dev/VG/lv: 3264/1310720 files (0.1% non-contiguous), 105495/2617344 blocks
    [root@FIHSER-V49 ~]# resize2fs /dev/VG/lv 7980M
    resize2fs 1.39 (29-May-2006)
    Resizing the filesystem on /dev/VG/lv to 2042880 (4k) blocks.
    The filesystem on /dev/VG/lv is now 2042880 blocks long.
    [root@FIHSER-V49 ~]# mount /dev/VG/lv /mnt/lvm
    [root@FIHSER-V49 ~]# df -h /mnt/lvm
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/VG-lv     7.7G  252M  7.2G   4% /mnt/lvm   #看到没有,容量是变小了,可是/dev/hdd1还没有抽离出来啊。
    [root@FIHSER-V49 ~]# lvresize -l -128 /dev/VG/lv  #通过pvdisplay查看我们知道/dev/hdd1有128个PE
      WARNING: Reducing active and open logical volume to 7.98 GB
      THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce lv? [y/n]: y
      Reducing logical volume lv to 7.98 GB
      Logical volume lv successfully resized
    [root@FIHSER-V49 ~]# pvdisplay
      --- Physical volume ---
      PV Name               /dev/hdd1
      VG Name               VG
      PV Size               2.00 GB / not usable 244.00 KB
      Allocatable           yes (but full)
      PE Size (KByte)       16384
      Total PE              128
      Free PE               0          #/dev/hdd1的所有PE都被占用了
      Allocated PE          128
      PV UUID               DfgtVk-Kmsp-3Hf4-rwGD-AdwL-1V2D-y0b49l
      --- Physical volume ---
      PV Name               /dev/hdd2
      VG Name               VG
      PV Size               2.00 GB / not usable 275.50 KB
      Allocatable           yes (but full)
      PE Size (KByte)       16384
      Total PE              128
      Free PE               0    #/dev/hdd2的所有PE都被占用了
      Allocated PE          128
      PV UUID               FaOEtF-Nrkt-YFZ7-MabT-PB73-I0M1-74iCZ3
      --- Physical volume ---
      PV Name               /dev/hdd3
      VG Name               VG
      PV Size               2.00 GB / not usable 275.50 KB
      Allocatable           yes (but full)
      PE Size (KByte)       16384
      Total PE              128
      Free PE               0    #/dev/hdd3的所有PE都被占用了
      Allocated PE          128
      PV UUID               0WtnxJ-PnaZ-Pwy4-iX23-Jbzr-7R1P-ojqXvo
      --- Physical volume ---
      PV Name               /dev/hdd5
      VG Name               VG
      PV Size               4.00 GB / not usable 15.12 MB
      Allocatable           yes
      PE Size (KByte)       16384
      Total PE              255
      Free PE               128    #唉,新释放出来的PE全部在/dev/hdd5上面
      Allocated PE          127
      PV UUID               QkZsmB-D5tA-ppRb-vwP1-Csl0-2p41-VFw3Da
    看到没有新释放出来的PE全部在/dev/hdd5上面,证明了LVM线性数据存储方式了吧。可是我们要抽离的/dev/hdd1啊,所以我们要把数据从/dev/hdd1转移到/dev/hdd5上面
    [root@FIHSER-V49 ~]# pvmove /dev/hdd1 /dev/hdd5
     /dev/hdd1: Moved: 100.0%
    [root@FIHSER-V49 ~]# vgreduce VG /dev/hdd1 #将/dev/hdd1从卷组中抽离出去
      Removed "/dev/hdd1" from volume group "VG"
    [root@FIHSER-V49 ~]# pvscan
      PV /dev/hdd2   VG VG              lvm2 [2.00 GB / 0    free]
      PV /dev/hdd3   VG VG              lvm2 [2.00 GB / 0    free]
      PV /dev/hdd5   VG VG              lvm2 [3.98 GB / 0    free]
      PV /dev/hdd1                      lvm2 [2.00 GB]
      Total: 4 [9.98 GB] / in use: 3 [7.98 GB] / in no VG: 1 [2.00 GB]
将/dev/hdd1还原为普通的分区,System ID记得也改回83。
[root@FIHSER-V49 ~]# pvremove /dev/hdd1
      Labels on physical volume "/dev/hdd1" successfully wiped
    至此所有工作结束,/dev/hdd1完全从卷组抽离出来,属于自由之身。

3. LVM系统快照建立实例

3.1 建立快照区

接上实例,由于VG卷组已经没有剩余的空间来创建快照区了,全部分给了lv这个卷嘛,所以我们重新将/dev/hdd1加入卷组来做快照区了(麻烦,再将/dev/hdd1变回PV之身吧)。
1.将/dev/hdd1建立为PV(不要忘了先改System ID)
[root@FIHSER-V49 ~]# pvcreate /dev/hdd1
Physical volume "/dev/hdd1" successfully created
2.将/dev/hdd1加入卷组
[root@FIHSER-V49 ~]# vgextend VG /dev/hdd1
/dev/cdrom: open failed: Read-only file system
Attempt to close device '/dev/cdrom' which is not open.
Volume group "VG" successfully extended
[root@FIHSER-V49 ~]# vgdisplay
  --- Volume group ---
  VG Name               VG
  System ID
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  10
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               9.98 GB
  PE Size               16.00 MB
  Total PE              639
  Alloc PE / Size       511 / 7.98 GB
  Free  PE / Size       128 / 2.00 GB   #新加入的PV,用来做快照区
  VG UUID               Kyrkwu-v7Zs-QaxL-QThk-3v1b-Q4ja-17IlXO
3.建立快照区域
[root@FIHSER-V49 ~]# lvcreate -l 128 -s -n VG_ss /dev/VG/lv
  Logical volume "VG_ss" created
[root@FIHSER-V49 ~]# lvdisplay
  --- Logical volume ---
  LV Name                /dev/VG/VG_ss
  VG Name                VG
  LV UUID                OXjCue-UcCp-zWGI-54Qg-TyYs-QKY3-YSlOJt
  LV Write Access        read/write
  LV snapshot status     active destination for /dev/VG/lv
  LV Status              available
  # open                 0
  LV Size                7.98 GB
  Current LE             511
  COW-table size         2.00 GB
  COW-table LE           128
  Allocated to snapshot  0.00%
  Snapshot chunk size    4.00 KB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
4.挂载快照区
[root@FIHSER-V49 ~]# mkdir /mnt/snapshot
[root@FIHSER-V49 ~]# mount /dev/VG/VG_ss /mnt/snapshot
[root@FIHSER-V49 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda3              29G  9.2G   18G  35% /
/dev/hda1              99M   12M   83M  12% /boot
/dev/hdb1              50G  2.5G   45G   6% /p1
tmpfs                1014M     0 1014M   0% /dev/shm
/dev/mapper/VG-lv     7.7G  252M  7.2G   4% /mnt/lvm
/dev/mapper/VG-VG_ss  7.7G  252M  7.2G   4% /mnt/snapshot
看到没有,快照区和被快照的是一样的。
解除挂载,我们来还原试试看
5.还原测试
[root@FIHSER-V49 ~]# umount /mnt/snapshot
先查看被快照区里面有哪些东西吧
[root@FIHSER-V49 ~]# ll /mnt/lvm
total 40
drwxr-xr-x 123 root root 12288 Apr 28 09:40 etc
drwxr-xr-x  26 root root  4096 Apr 28 06:57 log
drwx------   2 root root 16384 Apr 28 09:39 lost+found
删除被快照区的一些东西
[root@FIHSER-V49 ~]# rm -r /mnt/lvm/log
再复制点新东西进去以彰显和以前不一样了嘛
[root@FIHSER-V49 ~]# cp -a /boot /lib /mnt/lvm
再来看看快照区有什么不一样了
[root@FIHSER-V49 ~]# lvdisplay /dev/VG/VG_ss
  --- Logical volume ---
  LV Name                /dev/VG/VG_ss
  VG Name                VG
  LV UUID                OXjCue-UcCp-zWGI-54Qg-TyYs-QKY3-YSlOJt
  LV Write Access        read/write
  LV snapshot status     active destination for /dev/VG/lv
  LV Status              available
  # open                 0
  LV Size                7.98 GB
  Current LE             511
  COW-table size         2.00 GB
  COW-table LE           128
  Allocated to snapshot  4.18% #不再是0.00%,说明确实有快照东西了
  Snapshot chunk size    4.00 KB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
利用快照区将原本的filesystem备份
[root@FIHSER-V49 ~]# mount /dev/VG/VG_ss /mnt/snapshot
[root@FIHSER-V49 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda3              29G  9.2G   18G  35% /
/dev/hda1              99M   12M   83M  12% /boot
/dev/hdb1              50G  2.5G   45G   6% /p1
tmpfs                1014M     0 1014M   0% /dev/shm
/dev/mapper/VG-lv     7.7G  330M  7.1G   5% /mnt/lvm
/dev/mapper/VG-VG_ss  7.7G  252M  7.2G   4% /mnt/snapshot
格式化被快照区的东西
[root@FIHSER-V49 ~]# umount /mnt/lvm/
[root@FIHSER-V49 ~]# mkfs -t ext3 /dev/VG/lv
 [root@FIHSER-V49 ~]# mount /dev/VG/lv /mnt/lvm
原被快照区里的东西全部都回来了。这里有一个问题,那就是你的快照区要足够大容纳被快照区里面被改的数据,比如格式化被快照区时则全部的数据会搬一份至快照区
[root@FIHSER-V49 ~]# cp -rf /mnt/snapshot/* /mnt/lvm
[root@FIHSER-V49 ~]# ll -al /mnt/lvm/
total 48
drwxr-xr-x   6 root root  4096 Apr 28 11:21 .
drwxr-xr-x   4 root root  4096 Apr 28 11:06 ..
drwxr-xr-x 123 root root 12288 Apr 28 11:21 etc
drwxr-xr-x  26 root root  4096 Apr 28 11:21 log
drwx------   2 root root 16384 Apr 28 11:18 lost+found

4. LVM的删除

4.1 解除挂载

[root@FIHSER-V49 ~]# umount /mnt/lvm
 [root@FIHSER-V49 ~]# umount /mnt/snapshot/

4.2 移除逻辑卷

[root@FIHSER-V49 ~]# lvremove /dev/VG/VG_ss
Do you really want to remove active logical volume VG_ss? [y/n]: y
  Logical volume "VG_ss" successfully removed
[root@FIHSER-V49 ~]# lvremove /dev/VG/lv
Do you really want to remove active logical volume lv? [y/n]: y
  Logical volume "lv" successfully removed

4.3 移除卷组

[root@FIHSER-V49 ~]# vgchange -a n VG
  0 logical volume(s) in volume group "VG" now active
[root@FIHSER-V49 ~]# vgremove VG
  /dev/cdrom: open failed: Read-only file system
  Volume group "VG" successfully removed

4.4 移除物理卷

[root@FIHSER-V49 ~]# pvremove /dev/hdd{1,2,3,5}
  Labels on physical volume "/dev/hdd1" successfully wiped
  Labels on physical volume "/dev/hdd2" successfully wiped
  Labels on physical volume "/dev/hdd3" successfully wiped
      Labels on physical volume "/dev/hdd5" successfully wiped
 将System ID改回82

5.LVM安装ubuntu示例


假如你是从没装过ubuntu的新手,这篇可以跳过去了,因为安装的部份很少,主要在讲如何架构LVM,请勿自误...

我想这里大多数的人都没有碰过 LVM (Logical Volume Manager) 这个东西,因为用不到,所以不知道...
但 LVM对服务器来说,是一个很重要的东西,因为他保留硬盘扩充的能力。当分区容量不足时,只要加上硬盘,把空间划入分区,就可以轻易增加容量了。想一想, 当你的电脑有5个人使用,/home 下有5个帐号,但是每个人给1TB空间时,你该怎麼办?假如又突然有5个人要加入,你要怎麼解决 /home 的扩充?怎样减少管理与实际硬体的成本?

说远了,我的重点不在服务器....


我只是想在硬盘上各分区挤出一些空间安装ubuntu,但每个空间都是零碎的,不足以安装整个系统。所以我利用LVM的方法,把零碎空间集合起来成一个较大的空间。


因为目前没有实体机可以运用,所以我用虚拟机模拟这样的状况。(重点是我也没有windows...)
现在我在第一个硬盘有两个空的分区,第二个硬盘有一个空的分区,总和大约接近 10GB。





先把他们格式化成 lvm 的 pv (physical volume)(就是实体的分区)


所以我现在有 /dev/sda3 /dev/sda6 /dev/sdb2 三个 pv
以 sudo fdisk -l 来观察:








以 sudo pvscan 来观察:

我要把这三個 pv 组合成一个 vg (volume group)
使用方法为 sudo vgcreate [vg名称] [pv1] [pv2] [pv3]
vg名称请自行命名,我暂用"vg01"






若日后想要扩增,可以:sudo vgextend [vg名称] [pv4]
先整理一下这边的概念






我认为,你可以把 vg 当作是一个新的磁盘。只不过这个磁盘是组合而来的。
这个 vg 有多大?有哪些基本资料,我们可以藉由 vgdisplay 来观察。


接下来我们要「分割磁盘」了!把他分割成你所需要的 lv (logical volume)。你可以把他当作我们一般分割磁盘后的分区。


我预计分割成三个,一个放 /boot ,一个放 /,一个当作 swap。


使用方法为: sudo lvcreate -L [大小] -n [lv名称] [vg名称]
lv名称请自行命名,我认为容易记忆比较重要,因为日后挂载,不再是使用/dev/sdaX这样的设备名称,而是/dev/mapper/[vg名称]-[lv名称]



再整理一下观念,我们现在就好像把磁盘分割一样。






但其实这几个分割并不是完全按照顺序来,而是类似inode对应到档案区块一样,把某些区块对应到哪个分区,所以日后可以再增加空间,而不会有顺序的问题发生。
当然我们也可以sudo lvdisplay来观察他。




接下来就可以开始安装了,步骤与以前差不多,但在磁盘分割方面,有些差异。同样选择自行分割。



看到没?你的分区变成/dev/mapper/[vg名称]-[lv名称]了






就如同以前安装一样,把他挂载点设定好,格式选好即可按下安装




其实lvm相关的指令很简单,就pv, vg, lv 三个层级


加上create, remove, extend, reduce, scan, display几个动作,再多个lvresize而已,动手试看看,一下就上手了!


而且,LVM 在空间扩充上的优点,也保留了日后需要时,可以依需求增减系统空间,不需要重新安装系统。
以下是安装好,几个与磁盘分割有关的资料,内行看门道,外行看热闹。



转自: http://tieba.baidu.com/p/2821916458
        百度文档






20150609


LINUX学习笔记系列

--------------------------------------------

                    联系方式

--------------------------------------------

        Weibo: ARESXIONG

        E-Mail: [email protected]

------------------------------------------------



你可能感兴趣的:(linux,ubuntu,LVM模式)