相關(guān)概念
物理卷:PV
物理卷就是 底層 真正存儲(chǔ)數(shù)據(jù)的設(shè)備,這個(gè)設(shè)備可以是 整個(gè)磁盤也可以是 磁盤的某一個(gè)分區(qū)滥比。
卷組:VG
顧名思義是組盗扇,是物理卷的組,建立在物理卷之上寥假,由一個(gè)或多個(gè)物理卷組成市框;就是 將多個(gè)物理卷融合在一起來提供容量。
邏輯卷:LV
邏輯卷就是建立在卷組之上糕韧,創(chuàng)建邏輯卷就是在 卷組中 『切』下一部分空間來使用枫振。
物理區(qū)域:PE
每個(gè)物理卷 被 劃分的最小單位,也是尋址的最小單位萤彩,默認(rèn)是4M粪滤,也可以通過選項(xiàng)進(jìn)行修改。
邏輯區(qū)域:LE
邏輯卷被劃分的 最小單位雀扶,也是尋址的最小單位杖小,在同卷組中,PE和LE 的大小是一一對(duì)應(yīng)的愚墓。
使用邏輯卷的優(yōu)點(diǎn):
靈活管理予权、動(dòng)態(tài)擴(kuò)容、在線擴(kuò)容浪册、離線裁剪扫腺、數(shù)據(jù)條帶化、數(shù)據(jù)鏡像
總結(jié):
真實(shí)的物理設(shè)備——>邏輯上做成物理卷(pv)——>卷組(vg)——>邏輯卷(lv)
實(shí)例部分:
Demo A . 創(chuàng)建 一個(gè) 1G的 邏輯卷村象,并且掛載使用笆环。(必須掛載到掛載點(diǎn)才可以使用)
(實(shí)現(xiàn)環(huán)境:已經(jīng)存在可用磁盤而且已經(jīng)分好區(qū),用第一個(gè)主分區(qū)進(jìn)行實(shí)現(xiàn))
1. 查看磁盤分區(qū)情況:lsblk 命令
1. 創(chuàng)建物理卷
# pvcreate /dev/sdb1
創(chuàng)建成功會(huì)有成功信息
查看 PV 信息 命令:
# pvs ?簡(jiǎn)單查看
# ?pvdisplay 查看PV的詳細(xì)信息
2. 創(chuàng)建卷組
命令:vgcreate VG名字 物理卷
# vgcreate ?vg1 ?/dev/sdb1
創(chuàng)建 卷組 vg1 煞肾,并且把物理卷 sdb1 加入卷組咧织,卷組中可以加入多個(gè) 物理卷
查看 VG 信息命令:
# vgs?
# vgdisplay
命令 vgcreate 的常用選項(xiàng)
-s:卷組中物理卷的PE大小設(shè)置,默認(rèn)下是 4M
-p:卷組中允許添加的最大物理卷數(shù)
-l :卷組上允許創(chuàng)建的最大邏輯卷數(shù)
注意: 創(chuàng)建 卷組的命令中籍救,可以直接使用 /dev/sdb1 , 不用先創(chuàng)建物理卷习绢,這個(gè)命令會(huì)把/dev/sdb1 自動(dòng)創(chuàng)建為物理卷再添加到 卷組 中。
3. 創(chuàng)建邏輯卷
命令:lvcreate -n ?LV名字 -L 容量 卷組名
# ?lvcreate -n lv1 -L 2G vg1?
在 卷組 vg1 中 切下 2G 的容量 來創(chuàng)建 邏輯卷 lv1?
注意: 創(chuàng)建好 邏輯卷 后蝙昙,會(huì)映射到以下兩個(gè)路徑:
# ?ll /dev/vg1/lv1
lrwxrwxrwx. 1 root root 7 7月21 19:41/dev/vg1/lv1->../dm-0
# ?ll /dev/mapper/vg1-lv1
lrwxrwxrwx. 1 root root 7 7月21 19:41/dev/mapper/vg1-lv1->../dm-0
這兩個(gè)路徑指的同一個(gè)文件闪萄。
詳細(xì)內(nèi)容查看:Linux中/dev/mapper目錄淺談
4. 格式化邏輯卷
格式化的作用:
格式化后才能掛載使用
命令:mkfs.ext4 /dev/vg1/lv1 或者 ? mkfs.ext4 ?/dev/mapper/vg1-lv1
對(duì)邏輯卷進(jìn)行格式化,將文件系統(tǒng)格式化為 ext4
5. 掛載使用
mount ? /dev/vg1/lv1 ?/test?
(/test 目錄 已經(jīng)存在奇颠,如果不存在败去,創(chuàng)建 mkdir ?/test?)
Demo B . 在線擴(kuò)容邏輯卷
擴(kuò)容邏輯卷 分為兩種情況:
(a)卷組的容量足夠擴(kuò)容邏輯卷:
1. 查看vg 的信息 :# vgs
VG ? #PV ?#LV ? #SN ? ? Attr ? ? ?VSize ? ? ? ? VFree
vg1 ? 1 ? ? ?1 ? ? ? ? ?0 ? wz--n- ? ? ? 1.86g ? ? ? ? 880.00m
2. 其中 VFree 就是 還可用容量,如果這個(gè) 容量 大于 LV 需要擴(kuò)展的容量 烈拒,那么直接對(duì) LV 擴(kuò)容:
# ?lvextend -L +0.5G ?/dev/vg1/lv1 ?在原來的基礎(chǔ)上 增加 0.5G?
或者:?
# ?lvextend -L ?1.5G ? /dev/vg1/lv1 ?將 LV 擴(kuò)容 到 1.5G?
3. 將擴(kuò)容的LV ?同步文件系統(tǒng)
# ?resize2fs ?/dev/vg1/lv1?
(b)卷組的容量不夠擴(kuò)容邏輯卷
1. 卷組(VG)的容量不夠 直接給 ?邏輯卷(LV)擴(kuò)容的情況下圆裕,那么首先需要進(jìn)行擴(kuò)容的 是 卷組(VG)广鳍。
命令: vgextend ?VG名 ?物理卷(或直接是 設(shè)備)
# ?vgextend ?vg1 ?/dev/sdb3?
%卷組是由 物理卷 組成,如果直接將設(shè)備 加入卷組吓妆,那么系統(tǒng)會(huì)自動(dòng)的把設(shè)備 創(chuàng)建為 物理卷(PV)赊时,然后再加入卷組%
2. 再查看VG的可用容量是否滿足 LV 所需大小
# ?vgs?
如果不夠,繼續(xù)擴(kuò)容 VG 的 容量行拢,如果足夠祖秒,那么就是跟 a 情況 步驟一樣
注意點(diǎn): 擴(kuò)容邏輯卷后,一定要 進(jìn)行 文件系統(tǒng)的擴(kuò)容舟奠,就是同步文件系統(tǒng)竭缝。不管是擴(kuò)容還裁剪,都要進(jìn)行 同步文件系統(tǒng)沼瘫。
Demo C . 離線裁剪邏輯卷容量
> 做好數(shù)據(jù)備份 通過一些 備份方法對(duì)數(shù)據(jù)進(jìn)行備份
> 卸載邏輯卷
# umount ?/root/stu1
> 先裁剪文件系統(tǒng)(同步文件系統(tǒng))
%區(qū)別 擴(kuò)容 操作中抬纸,先擴(kuò)容再同步文件系統(tǒng),裁剪邏輯卷是先 裁剪文件系統(tǒng)%
# resize2fs ?/dev/vg1/lv1 1G ? ?---裁剪到 1G 的容量
# ?e2fsck ?-f ?/dev/vg1/lv1 ? ? ? ?---檢查 磁盤
> 裁剪邏輯卷
# ?lvreduce -L 1G ?/dev/vg1/lv1
或者
# lvreduce -L 1G ?/dev/mapper/vg1-lv1
lvs 對(duì) 邏輯卷信息查看耿戚,如果沒有問題的話
> 重新掛載使用
# ?mount ?/dev/vg1/lv1 ?/root/stu1?
裁剪的注意點(diǎn):
1. 裁剪前 最好 做個(gè)數(shù)據(jù)備份
2. 裁剪 后的容量大小 一定要 大于 數(shù)據(jù)的容量大小
Demo D . 邏輯卷實(shí)現(xiàn)條帶化
概念:把保存在邏輯卷上的數(shù)據(jù)分成 n 等分松却,分別同時(shí)寫入 到不同的物理卷中,簡(jiǎn)單理解為:條帶化就是溅话,在卷組中 有多個(gè) 物理卷晓锻,在卷組的基礎(chǔ)上創(chuàng)建一個(gè)邏輯卷,這個(gè)邏輯卷的容量 是 由 卷組中所有的 物理卷 平均提供同等的容量給邏輯卷飞几,所以 邏輯卷存儲(chǔ)的數(shù)據(jù) 是 分成 多個(gè) 等分砚哆,存入 卷組的 物理卷中。
優(yōu)缺點(diǎn):可以提高數(shù)據(jù)的讀寫速率屑墨;如果任何一個(gè) 涉及到 的 物理卷損壞躁锁,數(shù)據(jù)都將無法恢復(fù)。
> 創(chuàng)建條帶化的邏輯卷
# lvcreate -n lv1 ?-L 1G ?-i 2 vg1 /dev/sdb[12]
選項(xiàng) :i ?------ 指定條帶化的個(gè)數(shù)(指定條帶化的個(gè)數(shù)為2 卵史,那么表示lv1 的1G 的容量 分別 來自 物理卷 /dev/sdb1 的 0.5G 和 /dev/sdb2 的0.5G)战转。
> 格式化文件系統(tǒng)
# ?mkfs.ext4 ?/dev/vg1/lv1
> 掛載使用
# ?mount /dev/vg1/lv1 ?/root/stu1
> 測(cè)試
# ?iostat ?-d ?-m ?/dev/sdb[12] ?2 ?
:-d ? ------查看磁盤
? ? -m ?-------以什么速度顯示信息,表示Mb/s
? ? ?2 ? -------每隔2s 顯示一次 * ?如果 2 后面還接有數(shù)字以躯,代表總共顯示多少次
Demo D . 邏輯卷實(shí)現(xiàn)鏡像
概念:對(duì)某個(gè)邏輯卷做數(shù)據(jù)鏡像槐秧,實(shí)現(xiàn)數(shù)據(jù)備份作用
> 創(chuàng)建一個(gè)互為鏡像的邏輯卷
# lvcreate ?-n lv2 ?-L 0.7G ?-m ?1 vg2 ?dev/sdb[34]
選項(xiàng):-m ? ? ? ---------指定鏡像的個(gè)數(shù)
> 查看鏡像數(shù)據(jù)的完成
# ?lvs ??
> 格式化文件系統(tǒng),掛載使用
mkfs.ext4 ?/dev/vg2/lv2
mkdir ?/root/stu2
mount ?/dev/vg2/lv2 ?/root/stu2
> 測(cè)試驗(yàn)證
# ?dd ?if = /dev/zero ?of = /dev/sdb3 ?bs = 1M count = 300
# ?vgredue ?--removemissing ?-f ?vg2 ----強(qiáng)制從卷組中移除損壞的盤
> 再次將 邏輯卷 掛載使用忧设,我們需要將壞的盤 修好換成 健康的 盤 讓它 再次互為鏡像
# ?lvconvert ? -m ?1 /dev/vg2/lv2 ?/dev/sdb[34]
練習(xí):
1刁标、添加一塊新的10g硬盤到你的linux系統(tǒng)中,并將其分為2個(gè)分區(qū)(大小自己決定)址晕,如sdb1和sdb2
答: lsblk -----查看磁盤情況
? ? ? ? df -h ?------查看所有分區(qū)的掛載情況
? ? ? ? fdisk ? ?/dev/sdb ? ?-------對(duì)指定的 硬盤(dev/sdb) 進(jìn)行分區(qū)
分區(qū)詳情:
2膀懈、創(chuàng)建大小為2G的邏輯卷lv01掛載到系統(tǒng)中的/u01目錄下面,并且在/u01目錄下面創(chuàng)建file1~file5 5個(gè)文件
答: # vgcreate ?vgName ?/dev/sdb1 ? ? ? ? ? -----創(chuàng)建卷組
? ? ? ? # lvcreate ?-n ?lv01 ?-L 2G vgName ? ? ? -----創(chuàng)建邏輯卷
? ? ? ? # mkfs ? -t ext4 ?/dev/vgName/lv01 或者 ?mkfs.ext4 ?/dev/vgName/lv01 ? ---格式化
? ? ? ? # mkdir? /u01 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ------創(chuàng)建 目錄 /u01
? ? ? ?# ?mount ? /dev/vgName/lv01 ?/u01 ? ? ? ? -----掛載到 目錄 /u01
? ? ? ?# cd /u01 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?------切換到 /u01目錄
? ? ? ?# ?touch file{1..5} ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-------創(chuàng)建文件file1...file5
? ? ? ?# ?ll ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -------查看
3谨垃、假設(shè)sdb1分區(qū)有壞塊启搂,現(xiàn)在需要將sdb1分區(qū)上的數(shù)據(jù)快速移動(dòng)到另外的硬盤sdb2上硼控,怎么做?
答: # ?vgextend ?vg01 /dev/sdb2 ? ? ? ? ? ? ? ? ? -----------把/dev/sdb2添加到卷組
? ? ? ? # ?pvmove ? /dev/sdb1 ?/dev/sdb2 ? ? ? ? ? -----------把/dev/sdb1的數(shù)據(jù)移動(dòng)/dev/sdb2
* ?pvmove 命令 通過 man pvmove 來查看詳情胳赌。
4淀歇、由于業(yè)務(wù)需要,/u01目錄需要擴(kuò)大到9G匈织,怎么做?
答: # ?vgs ? ? ? ? ? ? ? ? ? ? ? ? ?-------------------查看vg的剩余容量
如果不夠的話:
? ? ? ? # ?vgextend ?vg01 ?/dev/sdb3(/dev/sdc1....4) --------擴(kuò)展VG容量 ?
? ? ? ? # ?lvextend ? -L 9G /dev/vg01/lv01 ? ? ?------------------擴(kuò)展LV容量
? ? ? ? # ?resize2fs ?/dev/vg01/lv01 ? ? ? ? ? ? ?-------------------同步文件系統(tǒng)
5牡直、新建一個(gè)卷組vg02缀匕,PEsize為8M,在卷組中創(chuàng)建一個(gè)名為lv02的邏輯卷碰逸,大小為50個(gè)pe乡小,格式化成ext3的文件系統(tǒng)掛載使用.
答: ?# ?vgcreate ?-s 8M vg03 ?/dv/sdc1
? ? ? ? ?# ? lvcreate ?-n lv02 ?-l 50 ?vg02?
? ? ? ? ?# ? mkfs.ext3 ?/dev/vg02/lv02 ?
? ? ? ? ?# ? mount ?/dev/vg02/lv02 ?/root/stu2
擴(kuò)展:
1、測(cè)試驗(yàn)證已有邏輯卷的硬盤饵史,從一臺(tái)服務(wù)器換到另一臺(tái)服務(wù)器上是否可以正常讀取到原來的數(shù)據(jù)满钟?需要怎么做?
答: 不能正常的讀取原來的數(shù)據(jù)胳喷,要 ?激活 卷組湃番,才可以掛載使用
vgchange ?命令 激活卷組
2、測(cè)試驗(yàn)證已有互為鏡像的邏輯卷的硬盤吭露,從一臺(tái)服務(wù)器換到另一臺(tái)服務(wù)器上是否可以正常讀取數(shù)據(jù)吠撮?怎么做?
答:?
# ?lvmdiskscan ? ? ------掃描塊設(shè)備讲竿,查看邏輯卷
源端Server:
# ?umount ?/root/stu2 ? ?-------------------------卸載
# lvchange ?-an ?/dev/vg02/lv01 ? ------------激活邏輯卷
# vgchange ?-an ?vg01 ?-------------------------激活卷組
# vgexport ? ?vg01 ? ? ? ? -------------------------導(dǎo)出卷組
目標(biāo)段Server:
# ?vgimport ?vg01 ? ? ? ?---------------------------導(dǎo)入卷組
# ?vgchange ?-an ?vg01 ? ? ? ? ?------------------激活卷組
# ?mount ?/root/test ? ? ? --------------------------掛載使用