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
        百度文檔
node






20150609 ubuntu


LINUX學習筆記系列 windows

-------------------------------------------- 安全

                    聯繫方式 服務器

-------------------------------------------- 架構

        Weibo: ARESXIONG app

        E-Mail: aresxdy@gmail.com 學習

------------------------------------------------
相關文章
相關標籤/搜索