RAID及LVM的實現

RAID及LVM的實現


第一部分 : RAID介紹及創建

  • 1、mdadm工具

  • 2、創建RAID 5及刪除RAID

第二部分 : LVM的實現

  • 1、基本命令

  • 2、LVM創建及擴容和縮減

  • 3、LVM快照

RAID介紹及創建


1、mdadm工具

mdadm [mode] <raid device> [options] <任意塊設備>
   [mode] 
         -C : 創建
         -A : 裝配
         -F : 監控
         管理模式
             -f : 標記指定磁盤為損壞
             -a : 添加磁盤
             -r : 移除磁盤
     -C : 創建模式
         -n# : 使用#個設備來創建此RAID
         -l# : 指明要創建的RAID級別
         -a [yes | no] : 是否自動創建設備文件
         -c : 指明塊大小
         -x# : 指明空閑盤個數
         -D : 顯示RAID的詳細信息

先介紹一下一些常見RAID陣列

     RAID 0
             利用率為100%
             無容錯能力
             最小磁盤數 2
     RAID 1  
             利用率為50%
             有冗余能力
             最少磁盤數 2
     RAID 5  
             利用率為(n-1)/n ,有一塊作為備用
             有容錯能力
             最少磁盤數 3
     RAID 10
             利用率為50%
             有容錯能力,但每組鏡像只能壞一塊
             最少磁盤 4

2、創建并定義RAID設備

這里以創建RAID 5為例
開始工作: 準備系統磁盤,這里小編已經先做好了,并將系統ID改為RAID類型
     如下: 

        Device Boot         Start         End      Blocks   Id  System
        /dev/sdb1               1         262     2104483+  fd  Linux raid autodetect
        /dev/sdb2             263         524     2104515   fd  Linux raid autodetect
        /dev/sdb3             525         786     2104515   fd  Linux raid autodetect
        /dev/sdb4             787        1048     2104515   fd  Linux raid autodetect

     (1)、 在/dev下創建RAID5命名為md0,且設為開機自動創建,模式為RAID 5 使用3個設備創建此RAID,/dev/sdb4作為備用

         mdadm -C /dev/md0 -a yes -l5 -n3 -x1 /dev/sdb{1,2,3,4}

     (2)、 對創建的md0設備進行格式化

         mke2fs -j /dev/md0

     (3)、 將/dev/md0進行掛載,就可以進行使用了

           到此RAID 5 很簡單的就創建完畢

     (4)、 可以通過命令來查看RAID的設備狀況

         mdadm -D /dev/md0

        [root@Centos6 ~]#mdadm -D /dev/md0
        /dev/md0 :
         Version : 1.2
   Creation Time : Mon Aug 14 12:44:33 2017
      Raid Level : raid5                        # RAID 5模式
      Array Size : 4204544 (4.01 GiB 4.31 GB)     
   Used Dev Size : 2102272 (2.00 GiB 2.15 GB)    # 使用的設備大小
    Raid Devices : 3                            # RAID 設備數
   Total Devices : 4                            # RAID 總設備數
     Persistence : Superblock is persistent

     Update Time : Mon Aug 14 12:44:56 2017
           State : clean                        # 是否被破壞
  Active Devices : 3                            # 活動設備
 Working Devices : 4                            # 工作設備
  Failed Devices : 0                            # 損壞設備
   Spare Devices : 1                            # 空閑設備

          Layout : left-symmetric
      Chunk Size : 512K                            # chunk(塊)大小

            Name : Centos6.9ymd:0  (local to host Centos6.9ymd)
            UUID : 7d8465ed:f8b2c03b:8e7e2a82:0af865ee
          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        # 空閑設備

     (5)、 如若在最開始創建的時候并沒有備用的設備,我們可以在設備中增添新成員,增加容錯能力

         mdadm  -G  /dev/md0  -n4 -a /dev/add

     (6)、 生成配置文件,以備我們將其停止后能夠重新啟動它

         mdadm -Ds >> /etc/mdadm.conf 

     (7)、 停止RAID設備

         mdadm -S /dev/md0 

     (8)、重新啟動RAID設備

         mdadm -As /dev/md0

3、那么創建好后,怎樣刪除它呢?

     (1)、 首先我們需要將其卸載

         umount /dev/md0

     (2)、 停止RAID設備

         mdadm -S /dev/md0 

     (3)、 刪除配置文件

         rm -rf /etc/mdadm.conf

     (4)、 刪除RAID,清除其成員的元信息

         mdadm --zero-superblock /dev/sdb{1,2,3,4}

     (5)、如果在/etc/fstab文件中增加了開機自動加載的信息則還要將其刪除

LVM的實現


1、基本命令

     1、創建及刪除物理卷LV

         pvcreate  device 
         pvremove  device 

     2、創建卷組VG

         vgcreate vgname device
             vgname : 為自己指定的vg名稱
             -s # : 可指定PE的大小,默認為4M 

        管理卷組

         vgextend  vgname  device  在vg內添加pv
         vgreduce  vgname  device  在vg內移除pv
         vgchange                  配置vg是否啟動
         vgremove  device          刪除一個vg
         vgs | vgdisplay           查看vg信息
     3、創建邏輯卷LV

         lvcreate  [options] [lvname] device 
             [options]
                 -L # [+][G,g,T,t,M,m] 改變LV容量
                 -l #% VG              以百分比形式改變容量
                 -n name               設置LV名字
         lvextend          增加LV容量
         lvreduce          削減LV容量
         lvremove          刪除一個LV
         lvresize          調整lv容量大小
         lvs | lvdisplay   查看lv信息
     4、掛載使用邏輯卷

2、接下來我們開始邏輯卷的創建

將自己創建的過程及相關命令列出

如下:

1、創建pv
         [root@Centos6 ~]#pvcreate /dev/sdb{1..4}
         Physical volume "/dev/sdb1" successfully created
         Physical volume "/dev/sdb2" successfully created
         Physical volume "/dev/sdb3" successfully created
         Physical volume "/dev/sdb4" successfully created

         [root@Centos6 ~]#pvs
         PV         VG   Fmt  Attr PSize PFree 
         /dev/sdb1  vg0  lvm2 a--u 2.00g     0 
         /dev/sdb2  vg0  lvm2 a--u 2.00g     0 
         /dev/sdb3  vg0  lvm2 a--u 2.00g     0 
         /dev/sdb4  vg0  lvm2 a--u 2.00g 16.00m
     2、創建vg
         [root@Centos6 ~]#vgcreate vg0 /dev/sdb{1..4}
         Volume group "vg0" successfully created

         [root@Centos6 ~]#vgs
         VG   #PV #LV #SN Attr   VSize VFree 
         vg0    4   1   0 wz--n- 8.02g 16.00m
     3、創建lv
         [root@Centos6 ~]#lvcreate -L +8G -n lv0 vg0
         Logical volume "lv0" created.

         [root@Centos6 ~]#lvdisplay 
         --- Logical volume ---
         LV Path                /dev/vg0/lv0
         LV Name                lv0
         VG Name                vg0
         LV UUID                NfI3VT-QXop-Ju9V-qdzT-jZOj-Okmz-lcDAAf
         LV Write Access        read/write
         LV Creation host, time Centos6.9ymd, 2017-08-17 06:11:37 +0800
         LV Status              available
          # open                 0
         LV Size                8.00 GiB
         Current LE             2048
         Segments               4
         Allocation             inherit
         Read ahead sectors     auto
         - currently set to     256
         Block device           253:0

3、LV擴容及縮減

(1)、擴容LV

1、創建系統ID是LVM的分區
         這里以/dev/sdc1為例

     2、將/dev/sdc1變成物理卷
         pvcreate /dev/sdc1
     3、將其加入卷組中
         vgcreate vg0 /dev/sdc1
     4、擴容LV
         lvextend  -L +#G  /dev/vg0/lv0
     5、同步文件系統(當在磁盤上看不到增加的容量時可用)
         resize2fs  /dev/vg0/lv0 #G 

         也可將4、5合并成以下命令來代替
         lvextend -r -L +#G  /dev/vg0/lv0

(2)、縮減LV

1、卸載已經掛載的lv
         umount
     2、強制進行磁盤檢測
         e2fsck -f /dev/vg0/lv0
     3、同步文件系統
         resize2fs  /dev/vg0/lv0  #G
     4、縮減LV
         lvreduce  -L #G  /dev/vg0/lv0 
     5、掛載重新使用
         mount

4、如何跨主機遷移卷組到新系統

首先要確定被遷移的卷組是否與新卷組名稱沖突,如果沖突則先要更改名字
         vgrename  vg0   newvg0name
     1、先卸載被掛載的邏輯卷
         umount
     2、禁用卷組中的所有邏輯卷
         vgchange -an vg0
     3、讓卷組處于導出狀態
         vgexport  vg0
     4、關機拆除硬盤,出入新的系統
     5、導入轉移的vg0
         vgimport vg0
     6、激活邏輯卷
         vgchange -ny vg0 
     7、掛載使用

5、邏輯卷快照

快照,顧名思義,保存當前的狀態,以備以后能夠還原到當前的狀態,其原理這里不再贅述

1、為現有的LV創建快照
         lvcreate  -s  -l 60  -n /dev/vg0/data  -p r /dev/vg0/lv0 
             -s : 創建快照
             -l : 使用PE數量,作為快照區使用
             -n : 快照區設備名稱
             -p r : 設定快照為只讀屬性
     2、掛載快照
         mount -o ro /dev/vg0/data  /mnt/snap 
     3、恢復快照
         lvconvert --merge  /dev/vg0/data

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

(0)
M25_ymdM25_ymd
上一篇 2017-08-21
下一篇 2017-08-22

相關推薦

  • 關于大型網站技術演進的思考(十二)–網站靜態化處理—緩存(4)

    原文出處: 夏天的森林   上篇我補充了下SSI的知識,SSI是一個十分常見的技術,記得多年前我看到很多門戶網站頁面的后綴是.shtml,那么這就說明很多門戶網站都曾經使用過SSI技術,其實現在搜狐網站也還在用shtml,如下圖所示: 由此可見SSI在互聯網的應用還是非常廣泛的。其實互聯網很多網頁如果我們按照動靜分離策略拆分,絕…

    2015-03-11
  • Linux Yum源的安裝配置??

    Linux Yum源的安裝配置     一、基本概念   Yum(全稱為YellowdogUpdater,Modified)是一個在Fedora和RedHat以及SUSE、CentOS中的Shell前端軟件包管理器?;赗PM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟件包…

    Linux干貨 2015-05-11
  • wordpress和discuz的負載均衡(lvs-dr)

    wordpress和discuz的負載均衡 實驗目的:利用lvs-dr模型實現wordpress和discuz的負載均衡 實驗要求:客戶端訪問wordpress或discuz服務器時,無論被調度至哪臺RS上,其會話和訪問的頁面都應保持一致; 實驗環境:一臺server用作VS,兩臺server用作RS,一臺server用于部署mysql、NFS、wordpr…

    2017-05-13
  • 幾種常見開源協議

    幾種常見的開源協議: 一、GPL詳解: 在自由軟件所使用的各種許可證之中,最為人們注意的也許是通用公開許可證(General Public License,簡稱GPL)。 GPL同其它的自由軟件許可證一樣,許可社會公眾享有:運行、復制軟件的自由,發行傳播軟件的自由,獲得軟件源碼的自由,改進軟件并將自己作出的改進版本向社會發行傳播的自由。 GPL還規定:只要這…

    Linux干貨 2016-07-12
  • 磁盤配額管理

    磁盤配額管理    設定文件系統配額 配置邏輯卷設定LVM快照 配置配額系統綜述在內核中執行以文件系統為單位啟用對不同組或用戶的策略不同根據塊或者節點進行限制   執行軟限制(soft linmit)   硬限制(hard limit)初始化分區掛載選項:usrquota, ge…

    Linux干貨 2017-05-22
  • 1017作業

    1 生產環境發現一臺服務器系統時間產生偏差,造成服務異常,請幫忙校正 ##先分析硬件時間不對還是系統時間不對,如果是系統時間不對: [root@localhost ~]# hwclock -w [root@localhost ~]#  ##如果是硬件時間不對: [root@localhost ~]#…

    Linux干貨 2016-10-18
欧美性久久久久