磁盤管理(二)Raid與LVM邏輯卷

概述:本章主要講解raid和邏輯卷

什么是RAID

RAID:Redundant Arrays of Inexpensive(Independent) Disks

1988年由加利福尼亞大學伯克利分校( University ofCalifornia-Berkeley) “ A Case for RedundantArrays of Inexpensive Disks”。

多個磁盤合成一個“陣列”來提供更好的性能、冗余,或者兩者都提供

RAID

提高IO能力:

          磁盤并行讀寫

提高耐用性;

          磁盤冗余來實現

級別:多塊磁盤組織在一起的工作方式有所不同

RAID實現的方式:

        外接式磁盤陣列:通過擴展卡提供適配能力

        內接式RAID:主板集成RAID控制器

                    安裝OS前在BIOS里配置

        Software RAID:通過OS實現

RAID級別:磁盤組織形式

                             

RAID-0:條帶卷, strip

RAID-1: 鏡像卷, mirror

RAID-2

..

RAID-5                    至少3塊  相當于其中1塊校驗

RAID-6                    至少4塊  相當于其中2塊校驗

RAID-10(RAID-1,RAID-0)

RAID-01(RAID-0,RAID-1)

   chunk

RAID-0:

讀、寫性能提升;

可用空間: N*min(S1,S2,…)(min為磁盤當中剩余空間最小的大?。?/p>

無容錯能力

最少磁盤數: 2, 2+

一般用于非關鍵性數據例如臨時文件、swap、中間交換數據

注重:不是說數據不重要就可以RAID-0,相關業務重要也不能用,例如web服務的緩存就不可以

RAID-1:

讀性能提升(都可以讀)、寫性能略有下降(需要復制);

可用空間: 1*min(S1,S2,…)

有冗余能力

最少磁盤數: 2, 2N

RAID-4:

至少3塊硬盤,其中一塊存儲校驗碼,其他存儲數據

多塊數據盤異或運算值,存于專用校驗盤

有冗余能力(允許最多1塊)

   RAID-5:

讀、寫性能提升

可用空間: (N-1)*min(S1,S2,…)

有容錯能力:允許最多1塊磁盤損壞

最少磁盤數: 3, 3+

RAID-6:

讀、寫性能提升

可用空間: (N-2)*min(S1,S2,…)

有容錯能力:允許最多2塊磁盤損壞

最少磁盤數: 4, 4+

RAID混合類型級別

RAID-10:(推薦使用的級別)

讀、寫性能提升

可用空間: N*min(S1,S2,…)/2

有容錯能力:每組鏡像最多只能壞一塊

最少磁盤數: 4, 4+

RAID-01

  RAID-50(數據不關鍵,但是性能要求高使用可以還可以)

RAID7: 可以理解為一個獨立存儲計算機,自身帶有操作系統和管理工具,可以獨立運行,理論上性能最高的RAID模式

JBOD: Just a Bunch Of Disks

功能:將多塊磁盤的空間合并一個大的連續空間使用

可用空間: sum(S1,S2,…)

常用級別: RAID-0, RAID-1, RAID-5, RAID-10,RAID-50, JBOD

軟RAID

mdadm:為軟RAID提供管理界面,為空余磁盤添加冗余

結合內核中的md(multi devices)

RAID設備可命名為/dev/md0、 /dev/md1、 /dev/md2、/dev/md3等等

軟件RAID的實現

mdadm:模式化的工具

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

支持的RAID級別: LINEAR(線性方式JBOD), RAID0, RAID1, RAID4,RAID5, RAID6, RAID10

模式:

        創建:-C

        裝配: -A

        監控: -F

        管理:-f(模擬損壞), -r(移除), -a(增加)

        查詢:-D

           <raiddevice>: /dev/md#

           <component-devices>: 任意塊設備

        -C: 創建模式

            -n #: 使用#個塊設備來創建此RAID;(此數量不包含冗余空閑盤數)

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

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

            -c CHUNK_SIZE: 指明塊大??;

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

            例如:

                #mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sda{7,8,9,10}

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

               mdadm -D /dev/md#

            觀察md的狀態:

               cat /proc/mdstat

            可以使用watch命令觀測命令的執行過程

               watch -n1 'cat /proc/mdstat'   每過一秒刷新查看命令執行情況           

        管理模式:

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

                  例如:#mdadm -f /dev/md0 /dev/sda10

              -a: 添加磁盤(組內成員的重新添加)

                  例如:#mdadm /dev/md0 -a /dev/sda10

              -r: 移除磁盤

                  例如:#mdadm /dev/md0 -r /dev/sda10     

        停止md設備:

                  mdadm -S /dev/md#

軟RAID配置實例

使用mdadm創建并定義RAID設備

      #mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

用文件系統對每個RAID設備進行格式化

      #mke2fs -j /dev/md0

測試RAID設備

 mdadm允許檢查RAID設備的狀況

      #mdadm –detail|D /dev/md0

增加新的成員

      #mdadm –G /dev/md0 –n4 -a /dev/sdf1

軟RAID測試和修復

模擬磁盤故障

       #mdadm /dev/md0 -f /dev/sda1

移除磁盤

       #mdadm /dev/md0 –r /dev/sda1

從軟件RAID磁盤修復磁盤故障

      替換出故障的磁盤然后開機

      在備用驅動器上重建分區

      #mdadm /dev/md0 -a /dev/sda1

mdadm、 /proc/mdstat及系統日志信息

軟RAID管理

生成配置文件: mdadm –D –s >> /etc/mdadm.conf

停服務:     mdadm –S /dev/md0

激活:      mdadm –A –s /dev/md0 激活

強制啟動:    mdadm –R /dev/md0

刪除raid信息: mdadm –zero-superblock /dev/sdb1

邏輯卷管理器( LVM)

允許對卷進行方便操作的抽象層,包括重新設定

文件系統的大小

允許在多個物理設備間重新組織文件系統

    將設備指定為物理卷

    用一個或者多個物理卷來創建一個卷組

    物理卷是用固定大小的物理區域( Physical Extent,PE)來定義的

    在物理卷上創建的邏輯卷是由物理區域( PE)組成

    可以在邏輯卷上創建文件系統

 LVM: Logical Volume Manager, Version: 2

 dm: device mapper: 將一個或多個底層塊設備組織成一個

     邏輯設備的模塊

 設備名: /dev/dm-#

 軟鏈接:

    /dev/mapper/VG_NAME-LV_NAME

        /dev/mapper/vol0-root

    /dev/VG_NAME/LV_NAME

        /dev/vol0/root

 LVM更改文件系統的容量

LVM可以彈性的更改LVM的容量通過交換PE來進行資料的轉換,將原來LV內的PE轉移到其他的設備中以降低LV的容量,或將其他設備中的PE加到LV中以加大容量

  刪除邏輯卷

刪除邏輯卷必須先刪除LV,再刪除VG,最后刪除PV

pv

  

  pv管理工具

 顯示pv信息

       pvs [ /dev/DEVICE ]:簡要pv信息顯示

       pvdisplay [ /dev/DEVICE ]:顯示物理卷

 創建pv物理卷

       pvcreate /dev/DEVICE

    轉移物理卷pe上的數據至別的pv上

       pvmove /dev/DEVICE 

    刪除物理卷

       pvremove /dev/DEVICE 

    掃描物理卷

       pcscan

    檢測物理卷

       pvck

  vg管理工具

 顯示卷組

        vgs :簡要vg信息顯示

        vgdisplay 顯示vg

 創建卷組

        vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…]

                 -s:指定pe大?。J4MiB)

        例如:vgcreate myvg /dev/sda3

 管理卷組

        vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…] 卷組擴展

        例如:#vgextend myvg /dev/sda5

        vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath…] 卷組縮減

        例如:#vgreduce myvg /dev/sda5

        vgsplit 卷組切割

        vgrename 卷組重命名

 刪除卷組

         vgremove

        先做pvmove,再做vgremove

    掃描卷組

       vgscan

    檢測卷組

       vgck

  lv管理工具

顯示邏輯卷

        lvs 簡要lv信息顯示

        lvdisplay 顯示lv

創建邏輯卷

        lvcreate -L #[mMgGtT] -n NAME VolumeGroup

        例如:lvcreate -L 5G -n lv0 myvg

刪除邏輯卷

        lvremove /dev/VG_NAME/LV_NAME

    掃描邏輯卷

          lvscan

 

   擴展和縮減邏輯卷

   擴展邏輯卷:

           # 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 /dev/VG_NAME/LV_NAME MOUNT_POINT

      調整邏輯卷大小

          lvresize

     

重設文件系統大小

        fsadm [options] resize device [new_size[BKMGTEP]] 

        resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

  創建邏輯卷實例

  fdisk /dev/sda

       n創建分區,t類型8e

創建物理卷

      pvcreate /dev/sda3

為卷組分配物理卷

      vgcreate vg0 /dev/sda3

從卷組創建邏輯卷

      lvcreate -L 256M -n data vg0

      mke2fs -j /dev/vg0/data

   mount /dev/vg0/data /mnt/data

邏輯卷管理器快照

快照是特殊的邏輯卷,它是在生成快照時存在的邏輯卷的準確拷貝

對于需要備份或者復制的現有數據集臨時拷貝以及其它操作來說,快照是最合適的選擇。

快照只有在它們和原來的邏輯卷不同時才會消耗空間。

   在生成快照時會分配給它一定的空間,但只有在原來的邏輯卷或者快照有所改變才會使用這些空間

   當原來的邏輯卷中有所改變時,會將舊的數據復制到快照中。

   快照中只含有原來的邏輯卷中更改的數據或者自生成快照后的快照中更改的數據

   建立快照的卷大小只需要原始邏輯卷的15%~20%就夠了。也可以使用lvextend放大快照。

能夠序列化的數據才能存儲在磁盤上

邏輯卷管理器快照

快照就是將當時的系統信息記錄下來,就好像照相一般,若將來有任何數據改動了,則原始數據會被移動到快照區,沒有改動的區域則由快照區和文件系統共享。

   由于快照區與原本的LV共用很多PE的區塊,因此快照去與被快照的LV必須要要在同一個VG上!系統恢復的時候的文件數量不能高于快照區的實際容量。

使用LVM快照

為現有邏輯卷創建快照

          #lvcreate -L #[mMgGtT] -s -n snap-data -p r original_lv_name

掛載快照

          #mkdir -p /mnt/snap

          #mount -o ro /dev/vg0/snap-data /mnt/snap

   刪除快照

          #umount /mnt/databackup

          #lvremove /dev/vg0/databackup

1、創建一個至少有兩個PV組成的大小為20G的名為testvg的VG;要求PE大小為16MB, 而后在卷組中創建大小為5G的邏輯卷testlv;掛載至/users目錄

2、 新建用戶archlinux,要求其家目錄為/users/archlinux,而后su切換至archlinux用戶,復制/etc/pam.d目錄至自己的家目錄

3、擴展testlv至7G,要求archlinux用戶的文件不能丟失

4、收縮testlv至3G,要求archlinux用戶的文件不能丟失

5、對testlv創建快照,并嘗試基于快照備份數據,驗正快照的功能

一、作業:

1:創建一個可用空間為1G的RAID1設備,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup目錄

[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0  100G  0 part /
├─sda3   8:3    0    4G  0 part [SWAP]
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0   20G  0 part /testdir
sdb      8:16   0  200G  0 disk 
sdc      8:32   0   20G  0 disk 
sdd      8:48   0   20G  0 disk 
sde      8:64   0   20G  0 disk 
sdf      8:80   0   20G  0 disk 
sr0     11:0    1  7.2G  0 rom  
[root@localhost ~]# fdisk /dev/sdc
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。


命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分區號 (1-4,默認 1):1
起始 扇區 (2048-41943039,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039):+1G
分區 1 已設置為 Linux 類型,大小設為 1 GiB

命令(輸入 m 獲取幫助):t
已選擇分區 1
Hex 代碼(輸入 L 列出所有代碼):fd
已將分區“Linux”的類型更改為“Linux raid autodetect”

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@localhost ~]# fdisk /dev/sdd
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。

Device does not contain a recognized partition table
使用磁盤標識符 0x4d64216a 創建新的 DOS 磁盤標簽。

命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分區號 (1-4,默認 1):1
起始 扇區 (2048-41943039,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039):+1G
分區 1 已設置為 Linux 類型,大小設為 1 GiB

命令(輸入 m 獲取幫助):t
已選擇分區 1
Hex 代碼(輸入 L 列出所有代碼):fd
已將分區“Linux”的類型更改為“Linux raid autodetect”

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@localhost ~]# fdisk /dev/sde
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。


命令(輸入 m 獲取幫助):n  
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分區號 (1-4,默認 1):1
起始 扇區 (2048-41943039,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039):+1G
分區 1 已設置為 Linux 類型,大小設為 1 GiB

命令(輸入 m 獲取幫助):t
已選擇分區 1
Hex 代碼(輸入 L 列出所有代碼):fd
已將分區“Linux”的類型更改為“Linux raid autodetect”

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@localhost ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/sd{c,d,e}1
mdadm: /dev/sdc1 appears to contain an ext2fs file system
       size=5242880K  mtime=Thu Sep  1 01:06:56 2016
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.
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Fri Sep  2 08:54:13 2016
     Raid Level : raid1
     Array Size : 1047552 (1023.17 MiB 1072.69 MB)
  Used Dev Size : 1047552 (1023.17 MiB 1072.69 MB)
   Raid Devices : 2
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Fri Sep  2 08:54:18 2016
          State : clean 
 Active Devices : 2
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 1

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : 66a8159b:6b4c91d2:0b38312f:10694816
         Events : 17

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1

       2       8       65        -      spare   /dev/sde1
[root@localhost ~]# mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 261888 blocks
13094 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
     32768, 98304, 163840, 229376

Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]#  mdadm –D –s >> /etc/mdadm.conf
[root@localhost ~]# mkdir /backup
[root@localhost ~]# vim /etc/fstab

#
# /etc/fstab
# Created by anaconda on Tue Jul 26 04:42:29 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
#
UUID=68200b07-fec2-4be9-95a7-79fba9e46abf /                       xfs     defaults        0 0
UUID=de6b3e61-2dd2-4699-82c2-cb20d4b3ea1f /boot                   xfs     defaults        0 0
UUID=b43f466d-a800-45b2-abb7-956252340786 /testdir                xfs     defaults        0 0
UUID=ee28f7a7-70a5-4f52-a3c2-887e1edf2bae swap                    swap    defaults        0 0
UUID="e1fbc519-a5d4-4993-bd0a-2b314a447d19"     /backup ext4 defaults   0       0

[root@localhost ~]# mount /dev/md0 /backup/
[root@localhost ~]# df -h
文件系統        容量  已用  可用 已用% 掛載點
/dev/sda2       100G  4.1G   96G    5% /
devtmpfs        899M     0  899M    0% /dev
tmpfs           913M   84K  913M    1% /dev/shm
tmpfs           913M  9.0M  904M    1% /run
tmpfs           913M     0  913M    0% /sys/fs/cgroup
/dev/sda5        20G   33M   20G    1% /testdir
/dev/sda1       197M  139M   59M   71% /boot
tmpfs           183M   20K  183M    1% /run/user/42
tmpfs           183M     0  183M    0% /run/user/0
/dev/md0        991M  2.6M  922M    1% /backup

2:創建由三塊硬盤組成的可用空間為2G的RAID5設備,要求其chunk大小為256k,文件系統為ext4,開機可自動掛載至/mydata目錄

[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0  200M  0 part /boot
├─sda2   8:2    0  100G  0 part /
├─sda3   8:3    0    4G  0 part [SWAP]
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0   20G  0 part /testdir
sdb      8:16   0  200G  0 disk 
sdc      8:32   0   20G  0 disk 
sdd      8:48   0   20G  0 disk 
sde      8:64   0   20G  0 disk 
sdf      8:80   0   20G  0 disk 
sr0     11:0    1  7.2G  0 rom  /run/media/root/CentOS 7 x86_64
[root@localhost ~]# fdisk /dev/sdc
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。


命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分區號 (1-4,默認 1):
起始 扇區 (2048-41943039,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039):+2G
分區 1 已設置為 Linux 類型,大小設為 2 GiB

命令(輸入 m 獲取幫助):t
已選擇分區 1
Hex 代碼(輸入 L 列出所有代碼):fd
已將分區“Linux”的類型更改為“Linux raid autodetect”

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@localhost ~]# fdisk /dev/sdd
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。


命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分區號 (1-4,默認 1):
起始 扇區 (2048-41943039,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039):+2G
分區 1 已設置為 Linux 類型,大小設為 2 GiB

命令(輸入 m 獲取幫助):t   
已選擇分區 1
Hex 代碼(輸入 L 列出所有代碼):fd
已將分區“Linux”的類型更改為“Linux raid autodetect”

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@localhost ~]# fdisk /dev/sde
歡迎使用 fdisk (util-linux 2.23.2)。

更改將停留在內存中,直到您決定將更改寫入磁盤。
使用寫入命令前請三思。


命令(輸入 m 獲取幫助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分區號 (1-4,默認 1):
起始 扇區 (2048-41943039,默認為 2048):
將使用默認值 2048
Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039):+2G
分區 1 已設置為 Linux 類型,大小設為 2 GiB

命令(輸入 m 獲取幫助):t
已選擇分區 1
Hex 代碼(輸入 L 列出所有代碼):fd
已將分區“Linux”的類型更改為“Linux raid autodetect”

命令(輸入 m 獲取幫助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盤。
[root@localhost ~]# mdadm -C /dev/md0 -a yes -n 3 -l 5 -c 256 /dev/sd{c,d,e}1
mdadm: /dev/sdc1 appears to contain an ext2fs file system
       size=5242880K  mtime=Thu Sep  1 01:06:56 2016
Continue creating array? y          
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Fri Sep  2 19:30:55 2016
     Raid Level : raid5
     Array Size : 4190208 (4.00 GiB 4.29 GB)
  Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)
   Raid Devices : 3
  Total Devices : 3
    Persistence : Superblock is persistent

    Update Time : Fri Sep  2 19:31:20 2016
          State : clean 
 Active Devices : 3
Working Devices : 3
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 256K

           Name : localhost.localdomain:0  (local to host localhost.localdomain)
           UUID : 27fbade1:fe212fbb:fcc95220:3f9832ac
         Events : 18

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1
       3       8       65        2      active sync   /dev/sde1
[root@localhost ~]# mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=64 blocks, Stripe width=128 blocks
262144 inodes, 1047552 blocks
52377 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=1073741824
32 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

Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]# mdadm -D -s >> /etc/mdadm.conf
[root@localhost ~]# vim /etc/fstab

#
# /etc/fstab
# Created by anaconda on Tue Jul 26 04:42:29 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
#
UUID=68200b07-fec2-4be9-95a7-79fba9e46abf /                       xfs     defaults        0 0
UUID=de6b3e61-2dd2-4699-82c2-cb20d4b3ea1f /boot                   xfs     defaults        0 0
UUID=b43f466d-a800-45b2-abb7-956252340786 /testdir                xfs     defaults        0 0
UUID=ee28f7a7-70a5-4f52-a3c2-887e1edf2bae swap                    swap    defaults        0 0
UUID="f3445f57-4cbd-45dc-9175-6f188f30a149"     /backup ext4 defaults   0       0 
[root@localhost ~]# mount /dev/md0 /backup/

3、創建和擴展邏輯卷

創建并檢查pv

[root@localhost etc]# pvcreate /dev/sdc
WARNING: ext4 signature detected on /dev/sdc at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sdc.
WARNING: dos signature detected on /dev/sdc at offset 510. Wipe it? [y/n]: y
  Wiping dos signature on /dev/sdc.
  Physical volume "/dev/sdc" successfully created
[root@localhost etc]# pvs
  PV         VG   Fmt  Attr PSize  PFree 
  /dev/sdc   vg0  lvm2 a--  20.00g 20.00g

創建并檢查vg

[root@localhost etc]# vgcreate vg0 /dev/sdc
  Volume group "vg0" successfully created
[root@localhost etc]# vgs
  VG   #PV #LV #SN Attr   VSize  VFree 
  vg0    1   0   0 wz--n- 20.00g 20.00g

創建并檢查lv

[root@localhost etc]# lvcreate -L 19G  -n lv0 vg0
WARNING: ext4 signature detected on /dev/vg0/lv0 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/vg0/lv0.
  Logical volume "lv0" created.
[root@localhost etc]# lvs
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0  -wi-a----- 19.00g

格式化邏輯卷為ext4文件系統并掛載使用

[root@localhost etc]# mkfs.ext4 /dev/vg0/lv0
mke2fs 1.42.9 (28-Dec-2013)
文件系統標簽=
OS type: Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1245184 inodes, 4980736 blocks
249036 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=2153775104
152 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, 1605632, 2654208, 
	4096000

Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost etc]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jul 26 04:42:29 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
#
UUID=68200b07-fec2-4be9-95a7-79fba9e46abf /                       xfs     defaults        0 0
UUID=de6b3e61-2dd2-4699-82c2-cb20d4b3ea1f /boot                   xfs     defaults        0 0
UUID=b43f466d-a800-45b2-abb7-956252340786 /testdir                xfs     defaults        0 0
UUID=ee28f7a7-70a5-4f52-a3c2-887e1edf2bae swap                    swap    defaults        0 0
UUID="5371c2fd-288b-4094-b567-215a1787f88d"     /backup ext4 defaults   0       0  
[root@localhost etc]# mount /dev/vg0/lv0 /backup

擴展邏輯卷20G

首先卸載邏輯卷

因為vg0卷組內沒有20G空間所以要添加新的pv

添加新的pv并檢查

[root@localhost etc]# pvcreate /dev/sdd
WARNING: dos signature detected on /dev/sdd at offset 510. Wipe it? [y/n]: y
  Wiping dos signature on /dev/sdd.
  Physical volume "/dev/sdd" successfully created
[root@localhost etc]# pvs
  PV         VG   Fmt  Attr PSize  PFree   
  /dev/sdc   vg0  lvm2 a--  20.00g 1020.00m
  /dev/sdd        lvm2 ---  20.00g   20.00g

將新添加的pv加入到vg0內,擴展vg0

[root@localhost etc]# vgextend vg0 /dev/sdd
  Volume group "vg0" successfully extended
[root@localhost etc]# vgs
  VG   #PV #LV #SN Attr   VSize  VFree 
  vg0    2   1   0 wz--n- 39.99g 20.99g

擴展lv0

[root@localhost etc]# lvextend -L +19G /dev/vg0/lv0 
  Size of logical volume vg0/lv0 changed from 20.00 GiB (5120 extents) to 39.00 GiB (9984 extents).
  Logical volume lv0 successfully resized.
[root@localhost etc]# lvs
  LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv0  vg0  -wi-a----- 39.00g

擴展文件系統

[root@localhost etc]# e2fsck -f /dev/vg0/lv0 
e2fsck 1.42.9 (28-Dec-2013)
第一步: 檢查inode,塊,和大小
第二步: 檢查目錄結構
第3步: 檢查目錄連接性
Pass 4: Checking reference counts
第5步: 檢查簇概要信息
/dev/vg0/lv0: 11/1245184 files (0.0% non-contiguous), 122210/4980736 blocks
[root@localhost etc]# resize2fs /dev/vg0/lv0
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg0/lv0 to 10223616 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 10223616 blocks long.

[root@localhost etc]# lsblk
NAME      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda         8:0    0  200G  0 disk 
├─sda1      8:1    0  200M  0 part /boot
├─sda2      8:2    0  100G  0 part /
├─sda3      8:3    0    4G  0 part [SWAP]
├─sda4      8:4    0    1K  0 part 
└─sda5      8:5    0   20G  0 part /testdir
sdb         8:16   0  200G  0 disk 
sdc         8:32   0   20G  0 disk 
└─vg0-lv0 253:0    0   39G  0 lvm  
sdd         8:48   0   20G  0 disk 
└─vg0-lv0 253:0    0   39G  0 lvm  
sde         8:64   0   20G  0 disk 
sdf         8:80   0   20G  0 disk 
sr0        11:0    1  7.2G  0 rom  /run/media/root/CentOS 7 x86_64

重新掛載使用

[root@localhost etc]# mount /dev/vg0/lv0 /backup/

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

(0)
NameLessNameLess
上一篇 2016-09-05 08:48
下一篇 2016-09-05 08:49

相關推薦

  • Linux基礎概念

    一、計算機的組成及其功能。 計算機機系統由五部分組成:運算器、控制器、存儲器、輸入設備、輸出設備,遵從馮.諾依曼體系結構。具體的功能如下 : CPU   :     運算器(處理數據)、控制器(指令控制),另有寄存器、緩存(緩沖數據,內部緩存非  常昂貴); 存儲器:內存即RAM(隨機訪問…

    Linux干貨 2016-10-09
  • 專屬個人的聊天機器人的實現——圖靈機器人

    先體驗一下:圖靈機器人智能聊天體驗:http://www.tuling123.com/openapi/cloud/proexp.jsp 1、簡介        本篇為大家介紹使用圖靈機器人api實現聊天機器人的方法,該api本身已經擁有了智能聊天的功能,但我們可以自定義知識庫的方式簡單實現專屬個人的聊天機器人。 2、開…

    Linux干貨 2016-03-28
  • Linux計算機基礎及Linux入門

    計算機,Linux發型版,Linux 哲學思想,基本命令,startx ,pwd tty ,shutdown ,ifconfig , echo, export, historybo, poweroff,reboot, date, hwclock, Linux 獲取命令幫助信息,Linux發行版的基礎目錄,

    2017-09-18
  • Java構造時成員初始化的陷阱

    讓我們先來看兩個類:Base和Derived類。注意其中的whenAmISet成員變量,和方法preProcess() public class Base {     Base() {         preP…

    Linux干貨 2015-04-03
  • 基于lvs調度的web應用——Discuz程序

    實驗環境: 前端主機:10.1.43.101 后端主機1:172.16.0.9   作為lvs-dr的調度器,并且提供mysql和nfs文件共享 后端主機2:172.16.0.2   作為ap服務器之一 后端主機3:172.16.0.3   作為ap服務器之一 實驗拓撲: 后端主機1: [root@node3…

    Linux干貨 2016-10-26
  • Oracle 11G 安裝圖解

    Oracle 11G 安裝圖解 wmd-preview h1 { color: #0077bb; /* 將標題改為藍色 */ } Oracle 11G 安裝圖解 oracle Oracle 介紹   Oracle Database,又名Oracle RDBMS,或簡稱Oracle 是甲骨文公司的一款關系數據庫管理系統。它是在數據庫領域一直處于領先地位的產品?!?/p>

    2017-04-24
欧美性久久久久