RAID+LVM詳解

                                    一.RAID篇

一.什么是RAID

 

磁盤陣列全名是『Redundant Arrays of Inexpensive Disks, RAID 』,英翻中的意思是:容錯式廉價磁盤陣列。 RAID 可以透過一個技術(軟件或硬件),將多個較小的磁盤整合成為一個較大的磁盤裝置;而這個較大的磁盤功能可不止是儲存而已,他還具有數據保護的功能呢。RAID可以充分發 揮出多塊硬盤的優勢,可以提升硬盤速度,增大容量,提供容錯功能夠確保數據安全性,易于管理的優點,在任何一塊硬盤出現問題的情況下都可以繼續工作,不會 受到損壞硬盤的影響

 

二.Raid的級別

1.RAID 0

 RAID 0 又稱為 Stripe 或 Striping,它代表了所有 RAID 級別中最高的存儲性能。RAID 0 提高存儲性能的原理是把連續的數據分散到多個磁盤上存取,這樣,系統有數據請求就可以被多個磁盤并行的執行,每個磁盤執行屬于它自己的那部分數據請求。這種數據上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。
如圖 1 所示:系統向三個磁盤組成的邏輯硬盤(RADI 0 磁盤組)發出的 I/O 數據請求被轉化為 3 項操作,其中的每一項操作都對應于一塊物理硬盤。我們從圖中可以清楚的看到通過建立 RAID 0,原先順序的數據請求被分散到所有的三塊硬盤中同時執行。

                        blob.png

                                             
從理論上講,三塊硬盤的并行操作使同一時間內磁盤讀寫速度提升了 3 倍。 但由于總線帶寬等多種因素的影響,實際的提升速率肯定會低于理論值,但是,大量數據并行傳輸與串行傳輸比較,提速效果顯著顯然毋庸置疑。
RAID 0 的缺點是不提供數據冗余,因此一旦用戶數據損壞,損壞的數據將無法得到恢復。
RAID 0 具有的特點,使其特別適用于對性能要求較高。

 

2.RAID1

RAID 1 又稱為 Mirror 或 Mirroring,它的宗旨是最大限度的保證用戶數據的可用性和可修復性。 RAID1 的操作方式是把用戶寫入硬盤的數據百分之百地自動復制到另外一個硬盤上。當讀取數據時,系統先從 RAID 0 的源盤讀取數據,如果讀取數據成功,則系統不去管備份盤上的數據;如果讀取源盤數據失敗,則系統自動轉而讀取備份盤上的數據,不會造成用戶工作任務的中斷。當然,我們應當及時地更換損壞的硬盤并利用備份數據重新建立 Mirror,避免備份盤在發生損壞時,造成不可挽。

          blob.png

3.Raid 4

Raid4帶奇偶校驗碼的獨立磁盤結構

RAID 4是以扇區作數據分段,各磁盤相同位置的分段形成一個校驗磁盤分段(parity block),放在校驗磁盤。這種方式可在不同的磁盤平行執行不同的讀取命今,大幅提高磁盤陣列的讀取性能;但寫入數據時,因受限于校驗磁盤,同一時間只能作一次,啟動所有磁盤讀取數據形成同一校驗分段的所有數據分段,與要寫入的數據做好校驗計算再寫入。但校驗磁盤形成RAID 4的瓶頸,降低了性能,因有RAID 5而使得RAID 4較少使用

 

                          blob.png

 

4.raid 5

RAID 5 是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 以四個硬盤組成的 RAID 5 為例,其數據存儲方式如下圖所示:圖中,P0 為 D0,D1 和 D2 的奇偶校驗信息,其它以此類推。

 

                           blob.png

 

 

RAID 5 不對存儲的數據進行備份,而是把數據和相對應的奇偶校驗信息存儲到組
成 RAID5 的各個磁盤上,并且奇偶校驗信息和相對應的數據分別存儲于不同的磁盤上。當 RAID5 的一個
磁盤數據發生損壞后,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。
RAID 5 可以理解為是 RAID 0 和 RAID 1 的折衷方案。RAID 5 可以為系統提供數據安全保障,但保障
程度要比 Mirror 低而磁盤空間利用率要比 Mirror 高。RAID 5 具有和 RAID 0 相近似的數據讀取速度,只
是多了一個奇偶校驗信息,寫入數據的速度比對單個磁盤進行寫入操作稍慢。同時由于多個數據對應一個

 

 

5.RAID6

RADI6技術是在RAID 5基礎上,為了進一步加強數據保護而設計的一種RAID方式,實際上是一種擴展RAID 5等級。與RAID 5的不同之處于除了每個硬盤上都有同級數據XOR校驗區外,還有一個針對每個數據塊的XOR校驗區。當然,當前盤數據塊的校驗數據不可能存在當前盤而是交錯存儲的,具體形式見圖

                            blob.png

    

RAID-6和RAID-5一樣對邏輯盤進行條帶化然后存儲數據和校驗位,只是對每一位數據又增加了一位校驗位。這樣在使用RAID-6時會有兩塊硬盤用來存儲校驗位,增強了容錯功能,同時必然會減少硬盤的實際使用容量。以前的raid級別一般只允許一塊硬盤壞掉,而RAID-6可以允許壞掉兩塊硬盤,因此,RAID-6 要求至少4塊硬盤。

                       

6.RAID 0+1與RAID10

RAID 0 和 RAID 1 的組合稱為 RAID 0+1,或稱為 RAID 10。如下所述,它具有一些有趣的優越性。通
過將 RAID 0 分塊的速度和 RAID 1 鏡像的冗余進行組合,結果產生了一個快速、沒有寫開銷、具有極好冗
余性質的子系統。

Raid 0+1

                          blob.png 

 

Raid 10:先建立raid1,在建raid0

 

                         blob.png

 

RAID1+0與RAID0+1的區別:

RAID 1+0是先鏡射再分區數據,再將所有硬盤分為兩組,視為是RAID 0的最低組合,然后將這兩組各自視為RAID 1運作。RAID 0+1則是跟RAID 1+0的程序相反,是先分區再將數據鏡射到兩組硬盤。它將所有的硬盤分為兩組,變成RAID 1的最低組合,而將兩組硬盤各自視為RAID 0運作。性能上,RAID 0+1比RAID 1+0有著更快的讀寫速度??煽啃陨希擱AID 1+0有一個硬盤受損,其余三個硬盤會繼續運作。RAID 0+1 只要有一個硬盤受損,同組RAID 0的另一只硬盤亦會停止運作,只剩下兩個硬盤運作,可靠性較低。因此,RAID 10遠較RAID 01常用。

 

 

 

 

RAID總結:

 

RAID Level

性能提升

冗余能力

空間利用率

磁盤數量(塊)

允許磁盤故障數

優點

缺點

RAID 0

讀、寫提升

100%

至少2

不允許

讀寫性能,利用率高

缺乏冗余能力

RAID 1

讀性能提升,寫性能下降

50%

至少2

50%

讀性能提升,具有冗余

寫性能下降,磁盤利用率低

RAID 4

讀、寫提升

n*(n-1)/n

至少3

1

讀寫性能提升

瓶頸在校驗盤上

RAID 5

讀、寫提升

n*(n-1)/n

至少3

1

讀寫性能提升

僅允許壞一塊盤

RAID 6

讀、寫提升

n*(n-2)/n

至少4塊

2

讀寫性能提升

磁盤利用率降低,寫入速度沒有raid5塊

RAID 1+0

讀、寫提升

50%

至少4

50%

讀寫性能提升

磁盤利用率低

RAID 0+1

讀、寫提升

50%

至少4

50%

讀寫性能提升

磁盤利用率低,容錯性沒有raid10好

六、mdadm 工具介紹

 

mdadm(multiple devices admin)是 linux下標準的的軟raid管理工具,是一個模式化工具(在不同的模式下);程序工作在內存用戶程序區,為用戶提供RAID接口來操作內核的模塊,實現各種功能

目前支持的模式
LINEAR(線性模式)、RAID0(striping條帶模式)、RAID1(mirroring)、 RAID-4、RAID-5、 RAID-6、 RAID-10、 MULTIPATH和FAULTY

LINEAR:線性模式,該模式不是raid的標準模式,其主要作用是可以實現將幾塊小的硬盤組合為一塊大硬盤來使用,數組存儲時一次存滿一個硬盤在使用下一個硬盤,對上層來說操作的是一個大硬盤,這里就不對該模式進行詳解了。

 

命令的語法格式:mdadm [mode] <raiddevice> [options] <component-devices>

 

模式:

        創建:-C

        裝配: -A

        監控: -F

        管理:-f, -r, -a

-C: 創建模式

                        -n #: 使用#個塊設備來創建此RAID;

                        -l #:指明要創建的RAID的級別;

                        -a {yes|no}:自動創建目標RAID設備的設備文件;

                        -c CHUNK_SIZE: 指明塊大??;

                        -x #: 指明空閑盤的個數;

一.RAID創建

1.  創建分區/dev/sdbc5 /dev/sdbc6  /dev/sdb7 容量各5G,類型為fd

[root@localhost ~]# fdisk -l /dev/sdc
 
Disk /dev/sdc: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xe57d5d2f
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1        1958    15727603+   5  Extended
/dev/sdc5               1         654     5253192   fd  Linux raid autodetect
/dev/sdc6             655        1308     5253223+  fd  Linux raid autodetect
/dev/sdc7            1309        1958     5221093+  fd  Linux raid autodetect

 

2.  創建Raid1陣列

[root@localhost ~]# mdadm -C /dev/md0 -a yes -c 128 -l 1 -n 2  /dev/sdc{5,6}
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array? 
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started

3.查看raid陣列

[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sat Sep  3 22:06:01 2016
     Raid Level : raid1
     Array Size : 5216960 (4.98 GiB 5.34 GB)
  Used Dev Size : 5216960 (4.98 GiB 5.34 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent
 
    Update Time : Sat Sep  3 23:43:28 2016
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
 
           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : c3e420e0:6c7fa523:050ae5f1:ea7febec
         Events : 18
 
    Number   Major   Minor   RaidDevice State
       0       8       37        0      active sync   /dev/sdc5
       1       8       38        1      active sync   /dev/sdc6

4.掛載并查看

[root@localhost /]# mkdir /tmp/raid
[root@localhost /]# mount /dev/md0 /tmp/raid/
[root@localhost /]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   27G  3.6G   22G  15% /
tmpfs                         932M   72K  932M   1% /dev/shm
/dev/sda1                     485M   40M  421M   9% /boot
/dev/md0                      4.9G  138M  4.6G   3% /tmp/raid

5.  開機自動掛載

 

[root@localhost /]# vim /etc/fstab
# /etc/fstab
# Created by anaconda on Mon Aug 22 18:25:35 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1
UUID=e36e7a7c-97a5-4712-ac29-7973c98c847c /boot                   ext4    defaults        1 2
/dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/tmp/raid               /de/md0                 ext4    defaults        0 0

                                                                     

第二.Raid信息的查看

 

-D:顯示raid的詳細信息;

         mdadm -D /dev/md#

[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sat Sep  3 22:06:01 2016
     Raid Level : raid1
     Array Size : 5216960 (4.98 GiB 5.34 GB)
  Used Dev Size : 5216960 (4.98 GiB 5.34 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent
 
    Update Time : Sat Sep  3 23:43:28 2016
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
 
           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : c3e420e0:6c7fa523:050ae5f1:ea7febec
         Events : 18
 
    Number   Major   Minor   RaidDevice State
       0       8       37        0      active sync   /dev/sdc5
       1       8       38        1      active sync   /dev/sdc6

使用 watch -n 10 'cat /proc/mdstat'查看陣列同步情況

                           

 

第三.Raid陣列的管理

管理模式:

                        -f: 標記指定磁盤為損壞;

                        -a: 添加磁盤

                        -r: 移除磁盤

                        -S:停止RAID

 

RAID管理

1.  給raid-5新增一個spare(空)盤,添加磁盤到陣列中做備用盤(spare)

[root@localhost /]# mdadm -a /dev/md0 /dev/sdc7
mdadm: added /dev/sdc7

2.  模擬故障

[root@localhost /]# mdadm  -f /dev/md0 /dev/sdc5
[root@localhost /]# mdadm /dev/md0 
/dev/md0: 4.98GiB raid1 2 devices, 1 spare. Use mdadm --detail for more detail.
[root@localhost /]# mdadm -D /dev/md0 
/dev/md0:
        Version : 1.2
  Creation Time : Sat Sep  3 22:06:01 2016
     Raid Level : raid1
     Array Size : 5216960 (4.98 GiB 5.34 GB)
  Used Dev Size : 5216960 (4.98 GiB 5.34 GB)
   Raid Devices : 2
  Total Devices : 3
    Persistence : Superblock is persistent
 
    Update Time : Sat Sep  3 23:54:39 2016
          State : clean, degraded, recovering 
 Active Devices : 1
Working Devices : 2
 Failed Devices : 1
  Spare Devices : 1
 
 Rebuild Status : 68% complete
 
           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : c3e420e0:6c7fa523:050ae5f1:ea7febec
         Events : 35
 
    Number   Major   Minor   RaidDevice State
       2       8       39        0      spare rebuilding   /dev/sdc7
       1       8       38        1      active sync   /dev/sdc6
 
       0       8       37        -      faulty   /dev/sdc5

   

3.  移除故障的硬盤

[root@localhost /]# mdadm -r /dev/md0 /dev/sdc5
mdadm: hot removed /dev/sdc5 from /dev/md0
[root@localhost /]# mdadm -D /dev/md0 
/dev/md0:
        Version : 1.2
  Creation Time : Sat Sep  3 22:06:01 2016
     Raid Level : raid1
     Array Size : 5216960 (4.98 GiB 5.34 GB)
  Used Dev Size : 5216960 (4.98 GiB 5.34 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent
 
    Update Time : Sat Sep  3 23:55:29 2016
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
 
           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : c3e420e0:6c7fa523:050ae5f1:ea7febec
         Events : 44
 
    Number   Major   Minor   RaidDevice State
       2       8       39        0      active sync   /dev/sdc7
       1       8       38        1      active sync   /dev/sdc6

4. 停止RAID

 

[root@localhost /]# umount /tmp/raid/
[root@localhost /]# mdadm -S /dev/md0 
mdadm: stopped /dev/md0
[root@localhost /]# mdadm -D /dev/md0 
mdadm: cannot open /dev/md0: No such file or directory
[root@localhost /]#

                                           二.LVM篇

一、簡介

LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。

LVM的工作原理其實很簡單,它就是通過將底層的物理硬盤抽象的封裝起來,然后以邏輯卷的方式呈現給上層應用。在傳統的磁盤管理機制中,我們的上層應用是直接訪問文件系統,從而對底層的物理硬盤進行讀取,而在LVM中,其通過對底層的硬盤進行封裝,當我們對底層的物理硬盤進行操作時,其不再是針對于分區進行操作,而是通過一個叫做邏輯卷的東西來對其進行底層的磁盤管理操作。比如說我增加一個物理硬盤,這個時候上層的服務是感覺不到的,因為呈現給上層服務的是以邏輯卷的方式。

LVM最大的特點就是可以對磁盤進行動態管理。因為邏輯卷的大小是可以動態調整的,而且不會丟失現有的數據。如果我們新增加了硬盤,其也不會改變現有上層的邏輯卷。作為一個動態磁盤管理機制,邏輯卷技術大大提高了磁盤管理的靈活性。

基本的邏輯卷管理概念:

PVPhysical Volume物理卷 
物理卷在邏輯卷管理中處于最底層,它可以是實際物理硬盤上的分區,也可以是整個物理硬盤,也可以是raid設備

VGVolumne Group卷組 
卷組建立在物理卷之上,一個卷組中至少要包括一個物理卷,在卷組建立之后可動態添加物理卷到卷組中。一個邏輯卷管理系統工程中可以只有一個卷組,也可以擁有多個卷組。

LVLogical Volume邏輯卷 
邏輯卷建立在卷組之上,卷組中的未分配空間可以用于建立新的邏輯卷,邏輯卷建立后可以動態地擴展和縮小空間。系統中的多個邏輯卷可以屬于同一個卷組,也可以屬于不同的多個卷組。

關系圖如下:

    blob.png

PEPhysical Extent物理塊

LVM 默認使用4MBPE區塊,而LVMLV最多僅能含有65534PE (lvm1 的格式),因此默認的LVMLV最大容量為4M*65534/(1024M/G)=256GPE是整個LVM 最小的儲存區塊,也就是說,其實我們的資料都是由寫入PE 來處理的。簡單的說,這個PE 就有點像文件系統里面的block 大小。所以調整PE 會影響到LVM 的最大容量!不過,在 CentOS 6.x 以后,由于直接使用 lvm2 的各項格式功能,因此這個限制已經不存在了。

blob.png

二.Linux lvm的工具

pv管理工具:

       

        pvs:簡要pv信息顯示
        pvdisplay:顯示pv的詳細信息
        pvcreate /dev/DEVICE: 創建pv

 

vg管理工具:

       

        vgs  簡要vg信息顯示
        vgdisplay  顯示vg的詳細信息
        vgcreate  [-s #[kKmMgGtTpPeE]] VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]創建vg
         -s:指定pe大小
        vgextend  VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]   擴展vg容量
        vgreduce  VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]   減小vg容量
        vgremove  vg的移除

lv管理工具:

     

lvs  簡要lv顯示
        lvdisplay  詳細lv顯示
        lvcreate -L #[mMgGtT] -n NAME VolumeGroup    lv的創建
        lvremove /dev/VG_NAME/LV_NAME       lv的移除

擴展邏輯卷:
        # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME 
        # resize2fs /dev/VG_NAME/LV_NAME

  

縮減邏輯卷:
        # umount /dev/VG_NAME/LV_NAME
        # e2fsck -f /dev/VG_NAME/LV_NAME
        # resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
        # lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
        # mount

快照:snapshot
lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name

     -L:指定快照大小

     -p: 指定快照權限 r|rw

     -s:指定創建快照

     -n:快照名稱

     


實驗:

  一.lvm的創建     

1、 創建分區

使用分區工具(如:fdisk等)創建LVM分區,方法和創建其他一般分區的方式是一樣的,區別僅僅是LVM的分區類型為8e。

[root@localhost ~]# fdisk -l /dev/sdd
 
Disk /dev/sdd: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xbbe9bf26
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1        2610    20964793+   5  Extended
/dev/sdd5               1         654     5253192   8e  Linux LVM
/dev/sdd6             655        1308     5253223+  8e  Linux LVM
/dev/sdd7            1309        1962     5253223+  8e  Linux LVM

2 創建PV

[root@localhost ~]# pvcreate  /dev/sdd{5,6}
  Physical volume "/dev/sdd5" successfully created
  Physical volume "/dev/sdd6" successfully created

3.查看pv

[root@localhost ~]# pvdisplay 
 
  "/dev/sdd5" is a new physical volume of "5.01 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdd5
  VG Name               
  PV Size               5.01 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               32UtIW-NeDz-oTVa-hmHD-BJ4U-hD2o-5tN3yM
   
  "/dev/sdd6" is a new physical volume of "5.01 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdd6
  VG Name               
  PV Size               5.01 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               GPNOTF-rv8H-DS1Z-kQT7-WAQC-bMX4-L5dowi

3.創建VG

[root@localhost ~]# vgcreate vg0 /dev/sdd{5,6}
  Volume group "vg0" successfully created

     4.查看VG

[root@localhost ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg0
  System ID             
  Format                lvm2
  Metadata Areas        2
  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                2
  Act PV                2
  VG Size               10.02 GiB
  PE Size               4.00 MiB
  Total PE              2564
  Alloc PE / Size       0 / 0   
  Free  PE / Size       2564 / 10.02 GiB
  VG UUID               hf8cX5-Y2jb-FLh9-0ijm-cZmX-47wQ-KVU0pk

5.創建lv

 

創建了一個名字為lvm01,容量大小是6G的分區,其中:-L:指定LV的大小 -n:指定LV的名。vg0:表示從這個VG中劃分LV;

[root@localhost ~]# lvcreate -L 6G -n lvm01 vg0
  Logical volume "lvm01" created

6.lv格式化及掛載

 

下一步需要對LV進行格式化(使用mksf進行格式化操作),然后LV才能存儲資料

[root@localhost ~]# mke2fs -t ext4 /dev/vg0/lvm01 
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
393216 inodes, 1572864 blocks
78643 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1610612736
48 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
       32768, 98304, 163840, 229376, 294912, 819200, 884736
 
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override

7.掛載之后,可以看到此LV的容量

[root@localhost ~]# mkdir /tmp/lvm
[root@localhost ~]# mount /dev/vg0/lvm01 /tmp/lvm/
[root@localhost ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg0/lvm01
  LV Name                lvm01
  VG Name                vg0
  LV UUID                y0q9jX-MiGc-eS6u-YVoL-n834-Hf2d-Bqcfz0
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-09-04 00:24:35 +0800
  LV Status              available
  # open                 1
  LV Size                6.00 GiB
  Current LE             1536
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

8.開機自動掛載

 

 [root@localhost ~]# vim /etc/fstab 
#
# /etc/fstab
# Created by anaconda on Mon Aug 22 18:25:35 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root /                       ext4    defaults        1 1
UUID=e36e7a7c-97a5-4712-ac29-7973c98c847c /boot      ext4    defaults        1 2
/dev/mapper/VolGroup-lv_swap swap                    swap    defaults        0 0
tmpfs                   /dev/shm                     tmpfs   defaults        0 0
devpts                  /dev/pts                     devpts  gid=5,mode=620  0 0
sysfs                   /sys                         sysfs   defaults        0 0
proc                    /proc                        proc    defaults        0 0
/tmp/lvm                /dev/vg0/lvm01               ext4    defaults        0 0

二、擴容VG,LV

vgextend vg0 /dev/sdd7    #擴展vg0

[root@localhost ~]# vgextend vg0 /dev/sdd7
  No physical volume label read from /dev/sdd7
  Physical volume /dev/sdd7 not found
  Physical volume "/dev/sdd7" successfully created
  Volume group "vg0" successfully extended
[root@localhost ~]# vgdisplay 
  --- Volume group ---
  VG Name               vg0
  System ID             
  Format                lvm2
  Metadata Areas        3
  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                3
  Act PV                3
  VG Size               15.02 GiB
  PE Size               4.00 MiB
  Total PE              3846
  Alloc PE / Size       1536 / 6.00 GiB
  Free  PE / Size       2310 / 9.02 GiB
  VG UUID               hf8cX5-Y2jb-FLh9-0ijm-cZmX-47wQ-KVU0pk

2.lvextend –L 1G /dev/vg0/lvm01 #擴展lvm增加1G空間

[root@localhost ~]# lvextend  -L +1G /dev/vg0/lvm01  
  Extending logical volume lvm01 to 7.00 GiB
  Logical volume lvm01 successfully resized
[root@localhost ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg0/lvm01
  LV Name                lvm01
  VG Name                vg0
  LV UUID                y0q9jX-MiGc-eS6u-YVoL-n834-Hf2d-Bqcfz0
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-09-04 00:24:35 +0800
  LV Status              available
  # open                 1
  LV Size                7.00 GiB
  Current LE             1792
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

3.resize2fs /dev/vg0 /lvm01#執行該重設大小,對于當前正在使用的Lvm01有效

df –h #查看掛載情況,已經擴容

[root@localhost ~]# resize2fs /dev/vg0/lvm01 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg0/lvm01 is mounted on /tmp/lvm; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/vg0/lvm01 to 1835008 (4k) blocks.
The filesystem on /dev/vg0/lvm01 is now 1835008 blocks long.
 
[root@localhost ~]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   27G  3.6G   22G  15% /
tmpfs                         932M   72K  932M   1% /dev/shm
/dev/sda1                     485M   40M  421M   9% /boot
/dev/mapper/vg0-lvm01         6.9G  142M  6.5G   3% /tmp/lvm

三.減少VG,LV

 

縮減邏輯卷:

     1.# umount /dev/VG_NAME/LV_NAME  卸載設備

[root@localhost ~]# umount /dev/vg0/lvm01

    2. # e2fsck -f /dev/VG_NAME/LV_NAME 檢查邏輯卷

[root@localhost ~]# e2fsck -f /dev/vg0/lvm01 
e2fsck 1.41.12 (17-May-2010)
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/vg0/lvm01: 11/458752 files (0.0% non-contiguous), 65023/1835008 blocks

    3. # resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT] 重設大小

[root@localhost ~]# resize2fs  /dev/vg0/lvm01 5G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vg0/lvm01 to 1310720 (4k) blocks.
The filesystem on /dev/vg0/lvm01 is now 1310720 blocks long.

     4.# lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME  減少邏輯卷容量

[root@localhost ~]# lvreduce -L 5G /dev/vg0/lvm01 
  WARNING: Reducing active logical volume to 5.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lvm01? [y/n]: y
  Reducing logical volume lvm01 to 5.00 GiB
  Logical volume lvm01 successfully resized

    5. # mount 重新掛載

[root@localhost ~]# mount /dev/vg0/lvm01  /tmp/lvm/
[root@localhost ~]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   27G  3.6G   22G  15% /
tmpfs                         932M   72K  932M   1% /dev/shm
/dev/sda1                     485M   40M  421M   9% /boot
/dev/mapper/vg0-lvm01         5.0G  140M  4.6G   3% /tmp/lvm

四.快照

  快照技術是一種攝影技術,隨著存儲應用需求的提高,用戶需要在線方式進行數據保護,快照就是在線存儲設備防范數據丟失的有效方法之一

snapshot
		lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name
 
                  -L:指定快照大小
                  -p:指定邏輯卷的權限r:w
                  -s:指定為快照
                  -n:快照名稱
  1. 快照創建

[root@localhost ~]# lvcreate -L 1G -p r -s -n sna_lvm01 /dev/vg0/lvm01 
  Logical volume "sna_lvm01" created

 2.查看快照

[root@localhost ~]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/vg0/lvm01
  LV Name                lvm01
  VG Name                vg0
  LV UUID                y0q9jX-MiGc-eS6u-YVoL-n834-Hf2d-Bqcfz0
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2016-09-04 00:24:35 +0800
  LV snapshot status     source of
                         sna_lvm01 [active]
  LV Status              available
  # open                 1
  LV Size                5.00 GiB
  Current LE             1280
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

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

(6)
a295053193a295053193
上一篇 2016-09-07
下一篇 2016-09-07

相關推薦

  • 初學Linux

       已經學習了Linux一周了,從原來的設計網頁、動畫影視制作、3D模型到現在的黑白界面虛擬世界,從原來吃睡由我到現在重回高三生活,說實話,一開始還是不太能適應的,尤其是眼睛,酸脹痛。不過,越努力越幸運,也覺得linux其實很有意思。。以下是我第一篇微博的內容,也是我學習linux一周所總結的知識。 首先,學習一門知識就要先了解他的歷史…

    Linux干貨 2017-07-15
  • 雙主模型的Nginx高可用負載均衡集群

    實驗目的:使用keepalived實現Nginx的雙主高可用負載均衡集群 實驗環境:兩臺Nginx proxy(雙主Nginx,各需要兩塊網卡,eth0連接內網,eth1連接外網)、兩臺web server(請求的負載均衡)、一臺client用于驗證結果。 注意:為了不影響實驗結果,在實驗開始前先關閉iptables和selinux 操作步驟: 一、配置IP…

    2017-05-13
  • 關于壓測的宏觀個人總結

    工作角色定位 首先先從宏觀角度來評估下本次的壓測工作. 從工作職責上說本次壓測理應由組內其它同學來完成,個人從旁協助或指導即可。團隊成員的成長對我個人來說才是更大的成長。所以即使這次壓測工作完成的再出色,都會因為是由我來完成的,所以都不能稱之為優秀的。對我個人的成長最多是項目經驗的增長和問題的積累,但對組員來說如何讓他們做到現有成果的80%是我需要幫助他們來…

    Linux干貨 2015-04-21
  • 22期第六周課堂作業

    1.vim編輯器     文本編輯器:         文本:純文本,ASCII text;Unicode;     文本編輯種類:         行編輯器:sed         全屏編輯器:na…

    Linux干貨 2016-09-26
  • vsftpd基于mysql實現用戶認證

    一、前言   ftp介紹:     ftp全程是File Transfer Protocol(文件傳輸協議),方便于實文件交換;但是在文件傳輸以及賬號密碼發送時都是以明文傳輸,因此是一個明文協議 ftp是C/S方式:   常見的客戶端有:     GUI方式:browers、FileZilla-cl…

    Linux干貨 2015-06-15
  • 配置正、反向解析域,主從配置,子域授權

    配置解析一個正向區域:     1、定義區域        在主配置文件中(/etc/named.conf)或主配置文件輔助配置文件(/etc/named.rfc1912.conf)中實現:     (1) 在/etc/…

    Linux干貨 2017-05-31
欧美性久久久久