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 環境

建立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 竣工
建立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

全站熱搜