天天看點

lvm邏輯卷管理和軟Raid設定

一、LVM邏輯卷管理

1. 定義

    将多個實體分區/磁盤從邏輯上組合成一個更大的整體,從其中劃分出不同的邏輯分區,邏輯分區的大小可以根據需求擴大和縮減

2. LVM概念

    PV:實體卷

    VG:卷組(可以包含65534個PE)

    LV:邏輯卷,真正存儲資料的

    PV實體卷--->VG卷組--->LV邏輯卷--->格式化--->挂載使用檔案系統

3. LVM管理指令

功能 實體卷   卷組     邏輯卷

scan(掃描) pvscan vgscan lvscan

create(建立) pvcreate vgcreate lvcreate

display(顯示) pvdisplay vgdisplay lvdisplay

remove(移除) pvremove vgremove lvremove

extend(擴充)       vgextend lvextend

reduce(減小)       vgreduce lvreduce

4. 用法

    pvcreate  裝置名...

    vgcreate  卷組名  實體卷...

    lvcreate  -L  大小  -n  邏輯卷名  卷組名    

    lvextend  -L  +大小 /dev/卷組名/邏輯卷名(将VG的PE移動到LV中)

    resize2fs    /dev/卷組名/邏輯卷名

vgcreate -s 指定PE大小

lvcreate -l PE個數

二、軟RAID磁盤陣列管理

1. RAID定義

    廉價備援磁盤陣列,通過硬體/軟體技術,将多個較小/低速的磁盤整合成一個大磁盤,不僅可用存儲資料,還可以對資料提供一定的保護

2. RAID級别

    RAID0:條帶模式,由二個和二個以上的磁盤組成,同一份文檔分散在不同的磁盤中,并行寫入提高效率

    RAID1:鏡像模式,由二個和二個以上的磁盤組成,一份檔案會被分别寫入到不同的磁盤中,每份磁盤資料一樣,提供容錯,讀效率提高

    RAID1+0/RAID0+1:整合RAID0、RAID1的優勢。并行存取提高效率。鏡像寫入提高可靠性

    RAID5:結合RAID0和RAID1的好處,同時避免他們的缺點。由三個以上大小相同的磁盤組成,提供備援

3. RAID實作方式

    硬RAID:性能好,需要專門配置RAID卡

    軟RAID:在Linux中通過軟體模拟,效率差

4. 建立軟RAID

    mdadm -C 陣列名 [選項]  成員盤

            -C    建立

            -l    指定RAID級别

            -n   指定成員盤數量

            -x    指定備援盤數量

            -v    顯示詳細執行過程資訊

5. 模拟故障

    mdadm 陣列名 [選項] 成員盤

            -f    将某個成員盤标記為故障

            -r    移除成員盤

            -a    添加成員盤

6. 檢視RAID陣列

            -D    顯示詳細資訊

            -E    檢視超級快資訊

            -s    掃描運作中的陣列

7. 啟用/停用RAID陣列

    mdadm -S    停用

    mdadm -A    啟用

8. /proc/mdstat            記錄運作中陣列的狀态

9. /etc/mdadm.conf        存放RAID陣列的固定設定

lvm邏輯卷管理實驗

練習一:建立卷組

    1)準備3塊10G的空閑分區,将類型ID修改為8e (LVM)

    2)使用其中2塊分區組建名為myvg的卷組,檢視此卷組資訊

a)先檢查有哪些實體卷

b)将兩塊空閑分區轉換成實體卷

c)再檢查有哪些實體卷,檢視其中一個實體卷的詳細資訊

d)先檢視有哪些卷組

e)将兩個實體卷整編成卷組myvg

f)再檢視有哪些卷組,并檢視卷組myvg的詳細資訊

#########################################################################

[root@localhost ~]# fdisk -l

[root@localhost ~]# fdisk /dev/sdb

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-10443, default 1): 

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-10443, default 10443): +10G

Partition number (1-4): 2

First cylinder (1218-10443, default 1218): 

Using default value 1218

Last cylinder or +size or +sizeM or +sizeK (1218-10443, default 10443): +10G

Partition number (1-4): 3

First cylinder (2435-10443, default 2435): 

Using default value 2435

Last cylinder or +size or +sizeM or +sizeK (2435-10443, default 10443): +10G

Command (m for help): p

Command (m for help): t

Hex code (type L to list codes): 8e

Changed system type of partition 1 to 8e (Linux LVM)

Changed system type of partition 2 to 8e (Linux LVM)

Changed system type of partition 3 to 8e (Linux LVM)

Command (m for help): w

[root@localhost ~]# 

[root@localhost ~]# pvcreate /dev/sdb1

[root@localhost ~]# pvcreate /dev/sdb2

lvm邏輯卷管理和軟Raid設定
lvm邏輯卷管理和軟Raid設定
lvm邏輯卷管理和軟Raid設定

[root@localhost ~]# pvcreate /dev/sdb3

[root@localhost ~]# vgcreate myvg /dev/sdb[1-2]

[root@localhost ~]# pvscan

[root@localhost ~]# pvscan /dev/sdb1

[root@localhost ~]# vgscan

lvm邏輯卷管理和軟Raid設定

###########################################################################

練習二:建立/使用/擴充邏輯卷

    1)劃分一個16G的邏輯卷,名稱為lvmbox,檢視邏輯卷資訊

    2)将此邏輯卷格式化為ext3檔案系統,并挂載到/mbox目錄

    3)進入/mbox目錄,測試讀寫操作

    4)将邏輯卷從16G擴充為24G,確定df識别的大小準确

a)先擴充卷組(增加一個10G實體卷),再擴充邏輯卷

b)resize2fs識别新檔案系統的大小

    5)建立一個大小為250M的邏輯卷lvtest

[root@localhost ~]# lvcreate -L 16G -n lvmbox myvg

[root@localhost ~]# lvscan

[root@localhost ~]# mkfs.ext3 /dev/myvg/lvmbix

lvm邏輯卷管理和軟Raid設定

[root@localhost ~]# mkdir /mbox

[root@localhost ~]# mount /dev/myvg/lvmbox /mbox

[root@localhost ~]# mount

[root@localhost ~]# cd /mbox

[root@localhost mbox]# touch test.txt

[root@localhost mbox]# ls

lost+found  test.txt

[root@localhost mbox]# cd

  Writing physical volume data to disk "/dev/sdb3"

  Physical volume "/dev/sdb3" successfully created

[root@localhost ~]# vgextend myvg /dev/sdb3

lvm邏輯卷管理和軟Raid設定

[root@localhost ~]# lvextend -L 24G /dev/myvg/lvmbox 

  Extending logical volume lvmbox to 24.00 GB

  Logical volume lvmbox successfully resized

[root@localhost ~]# df -h

[root@localhost ~]# resize2fs /dev/myvg/lvmbox

lvm邏輯卷管理和軟Raid設定

[root@localhost ~]# lvcreate -L 250 -n lvswap myvg

  Rounding up size to full physical extent 252.00 MB

  Logical volume "lvswap" created

  ACTIVE            '/dev/myvg/lvmbox' [24.00 GB] inherit

  ACTIVE            '/dev/myvg/lvswap' [252.00 MB] inherit

[root@localhost ~]#

lvm邏輯卷管理和軟Raid設定

練習三:邏輯卷綜合應用

    1)删除上一練習建立的卷組myvg

    2)使用其中2個實體卷組成卷組vgnsd,另一個實體卷組成卷組vgdata

    3)從卷組vgnsd中建立一個20G的邏輯卷lvhome

    4)從卷組vgdata中建立一個4G的邏輯卷lvswap

    5)将/home目錄遷移到邏輯卷lvhome上

    6)将邏輯卷lvswap擴充到交換空間

    7)為第5、6步配置開機自動挂載,重新開機後驗證

[root@localhost ~]# umount /dev/myvg/lvmbox

[root@localhost ~]# lvremove /dev/myvg/lvmbox

Do you really want to remove active logical volume lvmbox? [y/n]: y

  Logical volume "lvmbox" successfully removed

You have mail in /var/spool/mail/root

[root@localhost ~]# vgremove /dev/myvg

Do you really want to remove volume group "myvg" containing 1 logical volumes? [y/n]: y

Do you really want to remove active logical volume lvswap? [y/n]: y

  Logical volume "lvswap" successfully removed

  Volume group "myvg" successfully removed

  Reading all physical volumes.  This may take a while...

  No volume groups found

[root@localhost ~]# vgcreate vgnsd /dev/sdb[1-2]

  Volume group "vgnsd" successfully created

[root@localhost ~]# vgcreate vgdata /dev/sdb3

lvm邏輯卷管理和軟Raid設定

  Volume group "vgdata" successfully created

[root@localhost ~]# lvcreate -L 4G -n lvswap vgdata

lvm邏輯卷管理和軟Raid設定

  ACTIVE            '/dev/vgdata/lvswap' [4.00 GB] inherit

[root@localhost ~]# lvcreate -l 4772 -n lvhome vgnsd 

  Logical volume "lvhome" created

  ACTIVE            '/dev/vgnsd/lvhome' [18.64 GB] inherit

lvm邏輯卷管理和軟Raid設定

[root@localhost ~]# mkdir /opt/home

[root@localhost ~]# cp -rpf /home/* /opt/home

[root@localhost ~]# mkfs.ext3 /dev/vgnsd/lvhome

[root@localhost ~]# mount /dev/vgnsd/lvhome /home

[root@localhost ~]# cp -rpf /opt/home/* /home

[root@localhost ~]# mkswap /dev/vgdata/lvswap

Setting up swapspace version 1, size = 4294963 kB

[root@localhost ~]# swapon /dev/vgdata/lvswap 

[root@localhost ~]# free -m

lvm邏輯卷管理和軟Raid設定

[root@localhost ~]# vim /etc/fstab

/dev/vgnsd/lvhome       /home                   ext3    defaults        0 0

/dev/vgdata/lvswap      swap                    swap    defaults        0 0

lvm邏輯卷管理和軟Raid設定

繼續閱讀