首頁 > 軟體

Linux基礎教學學習筆記25——邏輯卷LVM管理

2020-06-16 18:03:08

Linux基礎教學學習筆記25——邏輯卷LVM管理

1、建立和管理卷組
[root@linuxidc ~]# vgcreate vg0 /dev/sdb1 /dev/sdb2
  Volume group "vg0" successfully created
[root@linuxidc ~]# pvscan 
  PV /dev/sda2  VG rhel  lvm2 [19.51 GiB / 0    free]
  PV /dev/sdb1  VG vg0    lvm2 [96.00 MiB / 96.00 MiB free]
  PV /dev/sdb2  VG vg0    lvm2 [96.00 MiB / 96.00 MiB free]
  Total: 3 [19.70 GiB] / in use: 3 [19.70 GiB] / in no VG: 0 [0  ]

[root@linuxidc ~]# vgs
  VG  #PV #LV #SN Attr  VSize  VFree 
  rhel  1  2  0 wz--n-  19.51g      0 
  vg0    3  0  0 wz--n- 288.00m 288.00m

    擴充套件捲組:
[root@linuxidc ~]# vgextend vg0 /dev/sdb3
  Volume group "vg0" successfully extended
[root@linuxidc ~]# pvscan 
  PV /dev/sda2  VG rhel  lvm2 [19.51 GiB / 0    free]
  PV /dev/sdb1  VG vg0    lvm2 [96.00 MiB / 96.00 MiB free]
  PV /dev/sdb2  VG vg0    lvm2 [96.00 MiB / 96.00 MiB free]
  PV /dev/sdb3  VG vg0    lvm2 [96.00 MiB / 96.00 MiB free]
  Total: 4 [19.79 GiB] / in use: 4 [19.79 GiB] / in no VG: 0 [0  ]
[root@linuxidc ~]# vgs
  VG  #PV #LV #SN Attr  VSize  VFree 
  rhel  1  2  0 wz--n-  19.51g      0 
  vg0    3  0  0 wz--n- 288.00m 288.00m

顯示卷組的詳細資訊:

[root@linuxidc ~]# vgdisplay vg0
  --- Volume group ---
  VG Name              vg0
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  2
  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              288.00 MiB
  PE Size              4.00 MiB
  Total PE              72
  Alloc PE / Size      0 / 0   
  Free  PE / Size      72 / 288.00 MiB
  VG UUID              djqWJB-ppYY-RMkR-8pdd-Cc2D-mAt2-ab7ioS

    建立卷組的時候指定PE size大小:
[root@linuxidc ~]# vgcreate vg0 -s 8 /dev/sdb1 /dev/sdb2

    刪除捲組:
[root@linuxidc ~]# vgremove vg0

二、建立和管理邏輯卷

建立邏輯卷;

 [root@linuxidc ~]# lvcreate -L 96M -n lv0 vg0
  Logical volume "lv0" created
[root@linuxidc ~]# lvscan 
  ACTIVE            '/dev/rhel/swap' [2.00 GiB] inherit
  ACTIVE            '/dev/rhel/root' [17.51 GiB] inherit
  ACTIVE            '/dev/vg0/lv0' [96.00 MiB] inherit

[root@linuxidc ~]# lvcreate -l 10%vg  -n lv1 vg0

[root@linuxidc ~]# lvcreate -l 10%free  -n lv2 vg0

  刪除邏輯卷:
[root@linuxidc ~]# lvremove /dev/vg0/lv2 -f
  Logical volume "lv2" successfully removed

        建立檔案系統:
[root@linuxidc ~]# mkfs.xfs /dev/vg0/lv1

掛載檔案系統:

[root@linuxidc ~]# mount /dev/vg0/lv1 /aa

[root@linuxidc ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-lv1    13M  880K  12M  7% /aa

    拓展邏輯卷:
[root@linuxidc ~]# lvextend -L +16M /dev/vg0/lv1

[root@linuxidc ~]# xfs_growfs /aa/

[root@linuxidc ~]# df -h
/dev/mapper/vg0-lv1    29M  912K  28M  4% /aa

縮小邏輯卷:

先縮小檔案系統,後縮小邏輯卷:xfs檔案系統是職能增大,不能減小

範例:擴大和縮小ext4的檔案系統 

擴大LV:

[root@linuxidc ~]# mkfs.ext4 /dev/vg0/lv1

[root@linuxidc ~]# lvextend -L +16M /dev/vg0/lv1

[root@linuxidc ~]# resize2fs /dev/vg0/lv1

[root@linuxidc ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg0-lv1  ext4      43M  1.1M  39M  3% /aa

        縮小LV:

    步驟:

    1、先解除安裝檔案系統:

    2、fsck對檔案系統進行體檢:

    3、縮小檔案系統;

    4、縮小邏輯卷;

   
[root@linuxidc ~]# umount /aa/
[root@linuxidc ~]# fsck /dev/vg0/lv1 -f

[root@linuxidc ~]# resize2fs /dev/vg0/lv1 29M

[root@linuxidc ~]# lvreduce -L -24M /dev/vg0/lv1

[root@linuxidc ~]# mount /dev/vg0/lv1 /aa/

給邏輯卷建立快照,快照的size必須為PE的整數倍:

[root@linuxidc ~]# lvcreate -L 16M -n lv2 -s /dev/vg0/lv1
     
[root@linuxidc ~]# lvscan 
  ACTIVE  Original '/dev/vg0/lv1' [24.00 MiB] inherit
  ACTIVE  Snapshot '/dev/vg0/lv2' [16.00 MiB] inherit

    建立的快照包含了源卷的檔案系統,不需要再格式化,快照類似於一個軟連結,快照的大小,意思允許在快照裏面建立和修改的檔案大小
[root@linuxidc /]# mkdir bb
[root@linuxidc /]# mount /dev/vg0/lv2 /bb

[root@linuxidc /]# df -hT
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/vg0-lv1  ext4      23M  396K  21M  2% /aa
/dev/mapper/vg0-lv2  ext4      23M  396K  21M  2% /bb

    如果源邏輯卷被刪除了,可以通過lvconvert命令恢復映象:
[root@linuxidc /]# lvconvert --merge /dev/vg0/lv2
  Logical volume vg0/lv1 contains a filesystem in use.
  Can't merge over open origin volume.
  Merging of snapshot lv2 will start next activation.

   
二、RAID分為硬RAID和軟RAID

    Chunk:512K為一次往磁碟寫入的資料量

    Stride:跨步:一個chunk由多少個Block(4K)組成 128
    Stripe:條帶:256(一次寫入多少個磁碟,如2個磁碟,128*2)

    RAID0:條帶化,至少需要2塊磁碟,資料分別儲存在不同的硬碟,優點是提高讀寫速度,缺點是沒有冗餘

    RAID1:映象化,至少需要2塊磁碟,資料有備份,優點是有冗餘,缺點是硬碟的儲存率較低,1/n(硬碟數量)

    RAID5:  條帶化,  至少需要3塊硬碟,優點是提高了讀的速度,缺點是修改資料慢,資料儲存效率為(n-1)/n

    建立Raid5

    先將分割區的型別轉換為RAID型別:
Number  Start (sector)    End (sector)  Size      Code  Name
  1            2048          206847  100.0 MiB  FD00  Linux RAID
  2          206848          411647  100.0 MiB  FD00  Linux RAID
  3          411648          616447  100.0 MiB  FD00  Linux RAID
  4          616448          821247  100.0 MiB  FD00  Linux RAID
  5          821248        1026047  100.0 MiB  FD00  Linux RAID
  6        1026048        1230847  100.0 MiB  FD00  Linux RAID

    檢視當前是否有RAID分割區:[
[root@linuxidc ~]# cat /proc/mdstat

    使用命令建立Raid5:

[root@linuxidc ~]# mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb{1..4}
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

    檢視Raid的詳細資訊:
[root@linuxidc ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sat Jan 31 19:02:57 2015
    Raid Level : raid5
    Array Size : 203776 (199.03 MiB 208.67 MB)
  Used Dev Size : 101888 (99.52 MiB 104.33 MB)
  Raid Devices : 3
  Total Devices : 4
    Persistence : Superblock is persistent
    Update Time : Sat Jan 31 19:03:00 2015
          State : clean 
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1
        Layout : left-symmetric
    Chunk Size : 512K

   
      Name : linuxidc.sg.com:0  (local to host linuxidc.sg.com)
          UUID : d5084cc8:b7b1a695:70b73034:183df2bd
        Events : 18
    Number  Major  Minor  RaidDevice State
      0      8      17        0      active sync  /dev/sdb1
      1      8      18        1      active sync  /dev/sdb2
      4      8      19        2      active sync  /dev/sdb3
      3      8      20        -      spare  /dev/sdb4

格式化檔案系統:

[root@linuxidc ~]# mkfs.ext4 /dev/md0

[root@linuxidc ~]# mount /dev/md0 /aa

    檢視ext4的檔案屬性:

[root@linuxidc ~]# tune2fs -l /dev/md0

    可以通過命令模擬Raid裡面的磁碟出現故障:
[root@linuxidc ~]# mdadm /dev/md0 -f /dev/sdb4

    關閉與啟動Raid

    首先解除安裝和關閉:
[root@linuxidc ~]# umount /aa
[root@linuxidc ~]# mdadm -S /dev/md0 
mdadm: stopped /dev/md0

[root@linuxidc ~]# mdadm -As

    Raid分割區刪除後,要對每個磁碟的superblock清零:

更多LLVM的資訊

LLVM 和 GCC 編譯器開發者將開始展開合作 http://www.linuxidc.com/Linux/2014-02/96366.htm

LLVM 基金會成立 http://www.linuxidc.com/Linux/2014-04/99454.htm

LLVM 編譯器架構獲得 ACM 軟體系統獎 http://www.linuxidc.com/Linux/2013-04/82660.htm

如何建立原生的LLVM SVN映象庫 http://www.linuxidc.com/Linux/2013-03/80162.htm

RMS 談 GCC、LLVM 和 Copyleft http://www.linuxidc.com/Linux/2014-01/95828.htm


IT145.com E-mail:sddin#qq.com