close
 實驗目標

建立LVM,擴充與縮小LVM空間,VG 空間之放大與縮小

建立之援金鑰驗證之LVM空間,擴展現有Swap置換空間


目前本人初始化配置環境如下

CentOS 6.2   x86_64  *1 台  #安裝於KVM 虛擬化平台上並運作,IP: 192168.0.113

此台機器我配置了兩顆硬碟(/vda,/vdb),本實驗初始化只使用到/vdb 這顆HD做LAB

於此台機器我配置了四個HD分割區

分別為

 LVM(8e) /dev/vdb5  /dev/vdb6    

                #本實驗預計將此二分割區綁定為VG(lvm2),並切出一LVM名為lvm22 做為LAB環境

                  亦將此LV 配置為金鑰驗證LVM

 LVM(8e) /dev/vdb7  #Lab後段我們將測試pvmove 將目前上線的/dev/vdb5 轉移到/dev/vdb7

                                     最後再將/dev/vdb5 分割區 安全下架

 Swpa(82) /dev/vdb8

#LAB 最後我們將擴充現有的Swap空間將/dev/vdb8 做為增加swap空間之標的




 Lab Part 1 : 準備本Lab LVM 環境

   pvcreate /dev/vdb{567}            #建立PV


   建立VG(lvm2)

    vgcreate lvm2 /dev/vdb{56}     #將PV加入VG裡

    vg(lvm2) 建立完成後,我們可以使用vgs指令,檢查vgs大小與使用率

    #由於/vdb5,/vdb6 皆為500MB , 此數值有符合我們要求


   建立LVM(lvm22) 初始其為大小為500 MB

    lvcreate -L 500M   -n lvm22  lvm2


   我們可以使用lvdisplay 指令查看詳細LV指令
 

   配置LVM 支援Luks 金鑰加密驗證

   *時機: 必須位於新增磁區,未格式化及該磁區未掛載之前完成Luks配置*

   cryptsetup luksFormat   /dev/mapper/lvm2-lvm22    #產生金鑰加密動作,請輸入YES(大寫)
                                                                                                 
                                                                                                請填入回應要求配置密碼

   cryptsetup luksOpen  /dev/mapper/lvm2-lvm22 lvmcrpt   
 
                                                                                           #lvmcrpt 此名稱會映射到LVM 


  編輯: /etc/crypttab 檔案使其開機時可加入金鑰輸入驗證,類似/etc/fstab

   echo 'lvmcrpyt  /dev/lvm2/lvm22 ' >> /etc/crypttab  

  #第一欄位為金鑰所映射LVM對應名稱,第二欄位請填入該LVM所在,儲存檔案後請離開


  接者請格式化該加密裝置,現在應為/dev/mapper/lvmcrpt

  mkdir /lvmcrpt    #建立mount 目錄

  mkfs.ext4  -L lvm2   /dev/mapper/lvmcrpt    #格式化加密LVM


  撰寫/etc/fstab 開機時使其mount

  echo '/dev/mapper/lvmcrpt  /lvmcrpt defaults 1 2'  >>  /etc/fstab

  mount -a                
   #下圖顯示我使用UUID方式寫/etc/fstab


因為接觸紅帽的課本人越來越喜歡用UUID 取代分割區路徑,您也可以立用blkid 查尋

該裝置的UUID <--可能考試時會指定用UUID或LABEL .



加密LVM步驟已完成,接者我們要驗證重開時是否系統會要求輸入金鑰才能OK進入系統

下一步請重開機, 我們重開機後,若系統顯示以下message表示您以上步驟設定皆OK

請輸入正確金鑰後,確認系統系統正常登入

TIP: 若在/etc/fstab 檔案中寫錯導致無法開機,

請重開機利用單人模式進入fix /etc/fstab 組態設定,由於單人模式進入後 / 為read only 模式

我們必須下以下指令重新掛載 /  改變其為rw 模式

mount  -o remount  rw  /         <==配置完成後,請修復好/etc/fstab 重開即可再登入系統


  開機時,加密金鑰的LVM若不想手動輸入密碼驗證,可配置密碼檔

 echo 'lvmcrypt  /dev/lvm2/lvm22   /root/lvm22pwd'  > /etc/cryptab

  echo -n  'lvm22'    >  /root/lvm22pwd     #將密碼寫入密碼檔

  再次開機將收不到要求密碼的驗證訊息,請自行測試TKS


   LV  擴大(lvextend)

   由於我們目前lv(lvm22)容量為500MB,查看VG size 約尚有400MB Freesize,故我們此次將

    lv (500M)  展延到(700M),使用指令步驟如下

   (A)  lvextend  -L +200M    /dev/lvm2/lvm22

   (B) resize2fs  /dev/lvm2/lvm22        
#由下圖中我們可以成功發現500M成長到700M



   LV  縮小(lvreduce) 

  接者我們將目前700MB LV(lvm22) 縮小到500MB

(A) umount /lvmcrypt      #卸載目前LV目錄

(B.) fsck -f   /dev/mapper/lvm2-lvm22  #檢查一下目前LVM裝置

(C.) resize2fs -p /dev/mapper/lvm2-lvm22  500M        #重置為500M

(D. )lvreduce -L 500M /dev/mapper/lvm2-lvm2      #縮小LV
  


移除現有PV以達到縮小VG空間 (VGREMOVE ,PVREMOVE)

Now,我們現在計畫將目前尚營運/dev/vdb5 下線,並把/dev/vdb5 資料搬移到

新加入VG成員
 /dev/vdb7

擴充VG現有容量

vgextend  lvm2 /dev/vdb7   <=將/dev/vdb7 加入vg

下圖中我們使用pvdisplay 指令檢視各PV使用狀況

 發現/dev/vdb5 使用率已滿,由於/dev/vdb5 與/dev/vdb7 容量皆為500M

我們計劃將/dev/vdb5 搬遷到/dev/vdb7 上




   pvmove -n lvm2  /dev/vdb5  /dev/vdb7    #直接執行線上搬遷PV動作,100%為OK


   再次使用pvdisplay 檢驗 /dev/vda5 使用率歸0,通通被搬到/dev/vda7 上 


  最後我們可以使用vgreduce 將/dev/vdb5 下架

  vgreduce lvm2 /dev/vd5
  

建立LVM快照備份

由於我目前使用lv(lvm22)容量充足,本人立即建立一個60MB快照,做測試

快照的目標: /lvmcrypt        <==本人掛載後,複製/etc底下所有檔案到/lvmcrypt目錄底下

THEN 建立快照

lvcreate -s -n lvmshoot -L 60M /dev/lvm2/lvm22

mkdir /lvmshoot

mount -o ro /dev/lvm2/lvmshoot  /lvmshoot   #唯讀掛載快照分割區


  Final : 我比對了 /etc 目錄與/lvmshoot  兩空間的大小應為一致 皆為33M

              快照確實可達到資料備份功效.  

    du -sh  /etc    /lvmshoot 


最後: 完成SWAP空間擴展

mkswap /dev/vdb8

free -m      #查看目前swap 配置約莫為999

接者我們再重新掛載所有swap

swapon -a           

再次使用free -m 看虛擬記憶體,已擴大1500M


做完本LAB心得: 有點疲倦 by Near 20120402 竣工
arrow
arrow
    全站熱搜

    終極.凱因斯 發表在 痞客邦 留言(0) 人氣()