中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Linux LVM
LVM使用手冊




1 簡介


1.1 什么是LVM


LVM是 Logical Volume Manager的簡寫,它由Heinz Mauelshagen在Linux 2.4內(nèi)核上實現(xiàn),目前最新版本為:穩(wěn)定版1.0.5,開發(fā)版 1.1.0-rc2,以及LVM2開發(fā)版。與傳統(tǒng)的磁盤與分區(qū)相比,LVM為計算機提供了更高層次的磁盤存儲。它使系統(tǒng)管理員可以更方便的為應(yīng)用與用戶分配存儲空間。在LVM管理下的存儲卷可以按需要隨時改變大小與移除(可能需對文件系統(tǒng)工具進行升級)。LVM也允許按用戶組對存儲卷進行管理,允許管理員用更直觀的名稱(如sales、development)代替物理磁盤名(如sda、sdb)來標識存儲卷。



1.2 為什么使用LVM


LVM通常用于裝備大量磁盤的系統(tǒng),但它同樣適于僅有一、兩塊硬盤的小系統(tǒng)。



1.2.1 小系統(tǒng)使用LVM的益處



傳統(tǒng)的文件系統(tǒng)是基于分區(qū)的,這種方式比較直觀,但不易改變:1.不同的分區(qū)相對獨立,無相互聯(lián)系,各分區(qū)空間很易利用不平衡,空間不能充分利用。2.當(dāng)一個文件系統(tǒng)/分區(qū)已滿時,無法對其擴充,只能采用重新分區(qū)/建立文件系統(tǒng),非常麻煩;或把分區(qū)中的數(shù)據(jù)移到另一個更大的分區(qū)中;或采用符號連接的方式使用其它分區(qū)的空間。3.如果要把硬盤上的多個分區(qū)合并在一起使用,只能采用再分區(qū)的方式,這個過程需要數(shù)據(jù)的備份與恢復(fù)。



當(dāng)采用LVM時,情況有所不同:1.硬盤的多個分區(qū)由LVM統(tǒng)一為卷組管理,可以方便的加入或移走分區(qū)以擴大或者減小卷組的可用容量,充分利用硬盤空間。2.文件系統(tǒng)建立在邏輯卷上,而邏輯卷可根據(jù)需要改變大小以滿足要求。3.文件系統(tǒng)建立在LVM上,可以跨分區(qū),方便使用。



1.2.2 大系統(tǒng)使用LVM的益處



在使用很多硬盤的大系統(tǒng)中,使用LVM主要是方便管理、增加了系統(tǒng)的擴展性。在一個有很多不同容量硬盤的大型系統(tǒng)中,對不同的用戶的空間分配是一個技巧性的工作,要在用戶需求與實際可用空間中尋求平衡。用戶/用戶組的空間建立在LVM上,可以隨時按要求增大,或根據(jù)使用情況對各邏輯卷進行調(diào)整。當(dāng)系統(tǒng)空間不足而加入新的硬盤時,不必把用戶的數(shù)據(jù)從原硬盤遷移到新硬盤,而只須把新的分區(qū)加入卷組并擴充邏輯卷即可。同樣,使用LVM可以在不停服務(wù)的情況下。把用戶數(shù)據(jù)從舊硬盤轉(zhuǎn)移到新硬盤空間中去。



2 LVM構(gòu)成


LVM的結(jié)構(gòu)簡圖如下:




2.1 卷組volume group (VG)


卷組是LVM中最高抽象層,是由一個或多個物理卷所組成的存儲器池。



2.2 物理卷physical volume (PV)


典型的物理卷是硬盤分區(qū),但也可以是整個硬盤或已創(chuàng)建的Software RAID 卷。



2.3 邏輯卷logical volume (LV)


邏輯卷相當(dāng)于非LVM系統(tǒng)中的分區(qū),它在卷組上建立,是一個標準的塊設(shè)備,可以在其上建立文件系統(tǒng)。



2.4 物理塊physical extent (PE)


物理卷按大小相等的“塊”為單位存儲,塊的大小與卷組中邏輯卷塊的大小相同。



2.5 邏輯塊logical extent (LE)


邏輯卷按“塊”為單位存儲,在一卷組中的所有邏輯卷的塊大小是相同的。



2.6 總述


例子:有一個卷組VG1,它的物理塊大小為4MB。在這個卷組中為2個硬盤分區(qū):/dev/hda1與/dev/hdb1,它們分別成為物理卷PV1與PV2。物理卷將按4MB為單位分塊,如PV1與PV2分別可分為99與248塊。在VG1上建立邏輯卷,它的大小可在1至347(99+248)塊之間。當(dāng)建立邏輯卷時,會建立邏輯塊與物理塊的一一映射關(guān)系。



2.7 映射模式 (linear/striped)


在建立邏輯卷時,可以選擇邏輯塊與物理塊映射的策略:

1.線性映射-將把一定范圍的物理塊按順序分配給邏輯卷,如 LV的LE 1–99映射到PV1,LE 100–347映射到PV2。 2.交錯模式-將把邏輯塊交錯映射到不同的物理卷中,如 LV的LE 1映射為PV1的PE1,LE 2映射為PV2的PE1,LE 3映射為PV1的PE2...。這種方式可以提高邏輯卷的性能,但是采用這種方式建立的邏輯卷將不能在它們所在的物理卷中擴展。



2.8 Snapshots (快照)


LVM提供了一個非常好的特性:snapshots。它允許管理員建立一個塊設(shè)備:該設(shè)備是一邏輯卷在某一時刻凍結(jié)的精確拷貝。這個特性通常用于批處理過程(如備份)需要處理邏輯卷,但又不能停止系統(tǒng)。當(dāng)操作完成時,snapshot設(shè)備可以被移除。這個特性要求在建立snapshot設(shè)備時邏輯卷處于相容狀態(tài)。



3 LVM的一般操作


3.1 建立PV


為把一個磁盤或分區(qū)作為PV,首先應(yīng)使用 pvcreate 對其初始化,如對IDE硬盤/dev/hdb。

PV初始化命令pvcreate的一般用法為:

# pvcreate PV1 [ PV2 ... ]

#它的參數(shù)可以是整個磁盤,分區(qū),也可以是loop設(shè)備。



l使用整個磁盤:

# pvcreate /dev/hdb

這將在磁盤上建立VG的描述符。

l使用磁盤分區(qū):(使用fdisk 的t 命令把/dev/hda1的分區(qū)類型設(shè)為0x8e,然后運行)

# pvcreate /dev/hdb1



3.2 建立VG


vgcreate的一般用法為:

# vgcreate [options] VG_name PV1 [PV2 ...]

#其中的可選項包括設(shè)置VG最大支持的LV數(shù)、PE大小(缺省為4MB)等。



l在使用pvcreate 建立了PV后,可以用vgcreate 建立卷組,如有PV1、PV2分別是/dev/hda1與/dev/hdb1,使用

# vgcreate testvg /dev/hda1 /dev/hdb1

l當(dāng)使用devfs系統(tǒng)時,應(yīng)使用設(shè)備的全名而不能是Symbol Link,如對上例應(yīng)為:

# vgcreate testvg /dev/ide/host0/bus0/target0/lun0/part1/ /dev/ide/host0/bus0/target1/lun0/part1



3.3 激活VG


在被激活之前,VG與LV是無法訪問的,這時可用命令:

# vgchange -a y testvg

激活所要使用的卷組。當(dāng)不再使用VG時,可用

# vgchange -a n testvg

使之不再可用。



3.4 移除VG


在移除一卷組前應(yīng)確認卷組中不再有邏輯卷,首先休眠卷組:

# vgchange -a n testvg

然后可用vgremove移除該卷組:

# vgremove testvg



3.5 為VG增加新PV


當(dāng)卷組空間不足時,可以加入新的物理卷來擴大容量,這時可用命令vgextend,如

# vgextend testvg /dev/hdc1

其中/dev/hdc1是新的PV,當(dāng)然在這之前,它應(yīng)使用pvcreate初始化。



3.6 從VG移除PV


在移除PV之前,應(yīng)確認該PV沒用被LV使用,這可用命令pvdisplay,如:

# pvdisplay /dev/hda1

如這個PV仍在被使用,則應(yīng)把數(shù)據(jù)傳移到其它PV上。在確認它未被使用后,可用命令vgreduce把它從VG中刪除,如:

# vgreduce testvg /dev/hda1



3.7 創(chuàng)建LV


在創(chuàng)建邏輯卷前,應(yīng)決定LV使用哪些PV,這可用命令vgdisplay與pvdisplay查看當(dāng)前卷組與PV的使用情況。在已有的卷組上創(chuàng)建邏輯卷使用命令lvcreate,如:

# lvcreate -L1500 -ntestlv testvg

#將在卷組testvg上建立一個1500MB的線性LV,其命名為testlv,

對應(yīng)的塊設(shè)備為/dev/testvg/testlv。



# lvcreate -i2 -I4 -l100 -nanothertestlv testvg

#將在卷組testvg上建立名為anothertestlv的LV,其大小為100LE,

采用交錯方式存放,交錯值為2,塊大小為4KB。



如果需要LV使用整個VG,可首先用vgdisplay 查找 Total PE值,然后在運行l(wèi)vcreate時指定。如:

# vgdisplay testvg | grep "Total PE"

# lvcreate -l 10230 testvg -n mylv

將使用卷組testvg的全部空間創(chuàng)建邏輯卷mylv。在創(chuàng)建邏輯卷后,就可在其上創(chuàng)建文件系統(tǒng)并使用它。



命令lvcreate的常用方法:

# lvcreate [options] -n 邏輯卷名 卷組名 [PV1 ... ]

其中的常用可選項有:

-i Stripes :采用交錯(striped)方式創(chuàng)建LV,其中Stripes指卷組中PV的數(shù)量。

-I Stripe_size :采用交錯方式時采用的塊大小(單位為KB),

Stripe_size必須為2的指數(shù):2N ,N=2,3...9。

-l LEs :指定LV的邏輯塊數(shù)。

-L size :指定LV的大小,其后可以用K、M、G表示KB、MB、GB。

-s :創(chuàng)建一已存在LV的snapshot卷。

-n name :為LV指定名稱。



3.8 刪除LV


為刪除一個邏輯卷,必須首先從系統(tǒng)卸載其上的文件系統(tǒng),然后可用lvremove刪除,如:

# umount /dev/testvg/testlv

# lvremove /dev/testvg/testlv

lvremove -- do you really want to remove "/dev/testvg/testlv"? [y/n]: y

lvremove -- doing automatic backup of volume group "testvg"

lvremove -- logical volume "/dev/testvg/testlv" successfully removed



3.9 擴展LV


為邏輯卷增加容量可使用lvextend,即可以指定要增加的尺寸也可以指定擴容后的尺寸。如

# lvextend -L12G /dev/testvg/testlv

#將擴大邏輯卷testlv的容量為12GB。

# lvextend -L+1G /dev/testvg/testlv

#將為LV testlv再增大容量1GB至13GB。

為LV擴容的一個前提是:LV所在的VG有足夠的空閑存儲空間可用。

在為LV擴容之后,應(yīng)同時為LV之上的文件系統(tǒng)擴容,使二者相匹配。對不同的文件系統(tǒng)有相對應(yīng)的擴容方法。



3.9.1 ext2/ext3



除非內(nèi)核已有ext2online 補丁,否則在改變ext2/ext3文件系統(tǒng)的大小時應(yīng)卸載它:

# umount /dev/testvg/testlv

# resize2fs /dev/testvg/testlv

# mount /dev/testvg/testlv /home

這里假設(shè)testlv安裝點為/home。在es2fsprogs-1.19或以上版本中包含resize2fs命令。

在LVM發(fā)行包中有一個稱為e2fsadm的工具,它同時包含了lvextend與resize2fs的功能,如:

# e2fsadm -L+1G /dev/testvg/testlv

等價于下面兩條命令:

# lvextend -L+1G /dev/testvg/testlv

# resize2fs /dev/testvg/testlv

但用戶仍需首先卸載文件系統(tǒng)。



3.9.2 reiserfs



與ext2不同,Reiserfs不必卸載文件系統(tǒng),如:

# resize_reiserfs -f /dev/testvg/testvl



3.9.3 xfs



SGI XFS文件系統(tǒng)必須在安裝的情況下才可改變大小,并且要使用安裝點而不是塊設(shè)備,如:

# xfs_growfs /home



3.10 縮小LV


邏輯卷可擴展同樣也可縮小,但應(yīng)在縮小LV之前首先減小文件系統(tǒng),否則將可能導(dǎo)致數(shù)據(jù)丟失。



3.10.1 ext2/ext3



可以使用LVM的工具e2fsadm操作,如:

# umount /home

# e2fsadm -L-1G /dev/testvg/testvl

# mount /home

如果采用resize2fs,就必須知道縮少后卷的塊數(shù):

# umount /home

# resize2fs /dev/testvg/testvl 524288

# lvreduce -L-1G /dev/testvg/testvl

# mount /home



3.10.2 reiserfs



在縮小reiserfs時,應(yīng)首先卸載它,如:

# umount /home

# resize_reiserfs -s-1G /dev/testvg/testvl

# lvreduce -L-1G /dev/testvg/testvl

# mount -treiserfs /dev/testvg/testvl /home



3.10.3 xfs



無法實現(xiàn)。



3.11 在PV間轉(zhuǎn)移數(shù)據(jù)


若要把一個PV從VG中移除,應(yīng)首先把其上所有活動PE中的數(shù)據(jù)轉(zhuǎn)移到其它PV上,而新的PV必須是本VG的一部分,有足夠的空間。如要把PV1:/dev/hda1上的數(shù)據(jù)移到PV2:/dev/sda1上可用命令:

# pvmove /dev/hdb1 /dev/sdg1



如果在該PV之上的LV采用交錯方式存放,則這個轉(zhuǎn)移過程不能被打斷。

建議在轉(zhuǎn)移數(shù)據(jù)之前備份LV中的數(shù)據(jù)。



3.12 系統(tǒng)啟動/關(guān)閉


為使系統(tǒng)啟動時可自動激活并使用LVM,可將以下幾行添加到啟動 rc 腳本中:

# /sbin/vgscan

# /sbin/vgchange -a y

這些行將瀏覽所有可用的卷組并激活它們。要注意的是,它們應(yīng)在安裝卷組上的文件系統(tǒng)操作之前被執(zhí)行,否則將無法正常安裝文件系統(tǒng)。

在系統(tǒng)關(guān)機時,要關(guān)閉LVM,這可將以下這行添加到關(guān)機 rc 腳本中,并確保它在卸裝了所有文件系統(tǒng)后執(zhí)行:

# /sbin/vgchange -a n



4 磁盤分區(qū)問題


4.1 一個磁盤上的多個分區(qū)


LVM允許PV建立在幾乎所有塊設(shè)備上,如整個硬盤、硬盤分區(qū)、Soft RAID:

# pvcreate /dev/sda1

# pvcreate /dev/sdf

# pvcreate /dev/hda8

# pvcreate /dev/hda6

# pvcreate /dev/md1

所以在一塊硬盤上可以有多個PV分區(qū),但一般建議一塊硬盤上只有一個PV:便于管理,易于處理錯誤。避免交錯方式中性能下降。LVM不能辨別兩個PV是否在同一硬盤上,故當(dāng)采用交錯方式時,會導(dǎo)致性能更差。但在某些情況下可采用:1把已存在的系統(tǒng)合并到LVM中。在一個只有少數(shù)硬盤的系統(tǒng)中,轉(zhuǎn)換為LVM時需在在各分區(qū)之間轉(zhuǎn)移數(shù)據(jù)。2把一個大硬盤分給不同的VG使用。



4.2 Sun disk labels


僅在SUN的SPARC系統(tǒng)中有此問題。



5 建立LVM用例


在本節(jié)中,將在3塊SCSI硬盤:/dev/sda,/dev/sdb,/dev/sdc上按步建立LVM。



5.1 準備分區(qū)


首先要做的是初始化硬盤,建立PV;這將會刪除硬盤上的原有數(shù)據(jù)。在此用整個硬盤為PV:

# pvcreate /dev/sda

# pvcreate /dev/sdb

# pvcreate /dev/sdc

pvcreate在每個硬盤的起始端建立卷組描述區(qū)。



5.2 創(chuàng)建卷組


利用上面三個PV建立卷組:

# vgcreate test_vg /dev/sda /dev/sdb /dev/sdc/

然后可用vgdisplay 查看/驗證卷組的信息:

# vgdisplay

其中最重要的前三條要正確,且VS size是以上三個硬盤容量之和。



5.3 建立LV


在確定卷組test_vg正確后,就可在其上創(chuàng)建LV。LV的大小可在VG大小范圍內(nèi)任意選擇,如同在硬盤上分區(qū)。



5.3.1 建立線性方式LV



在test_vg上建立一個大小為1GB的線性方式LV:

# lvcreate -L1G -ntest_lv test_vg



5.3.2 建立交錯方式LV



在test_vg上建立一個大小為1GB的交錯方式LV,交錯參數(shù)為4KB:

# lvcreate -i3 -I4 -L1G -ntest_lv test_vg

如果使用 -i2參數(shù),則LV將僅使用test_vg中的兩塊硬盤。



5.4 建立文件系統(tǒng)


在LV test_lv創(chuàng)建后,就可在其上建立文件系統(tǒng),

如,ext2/ext3系統(tǒng):

# mke2fs /dev/test_vg/test_lv

如,reiserfs:

# mkreiserfs /dev/test_vg/test_lv



5.5 測試文件系統(tǒng)


安裝LV:

# mount /dev/test_vg/test_lv /mnt

# df

則可以通過/mnt訪問LV。



6 使用snapshot 做備份


例如我們要對卷組"test_vg"每晚進行數(shù)據(jù)庫備份,就要采用snapshot類型的卷組。這種卷組是其它卷組的一個只讀拷貝,它含有在創(chuàng)建snapshot卷組時原卷組的所有數(shù)據(jù),這意味你可以備份這個卷組而不用擔(dān)心在備份過程中數(shù)據(jù)會改變,也不需要暫時關(guān)閉數(shù)據(jù)庫卷以備份。



6.1 建立snapshot卷


一個snapshot卷可大可小,但必須有足夠的空間存放所有在本snapshot卷生存期間改變的數(shù)據(jù),一般最大要求是原卷組的1.1倍。如空間不夠,snapshot卷將不能使用。

# lvcreate -L592M -s -n dbbackup /dev/test_vg/databases



6.2 安裝snapshot卷


現(xiàn)在可以安裝該卷:

# mkdir /mnt/test_vg/dbbackup

# mount /dev/test_vg/dbbackup /mnt/test_vg/dbbackup

從上面可以看出,snapshot卷是只讀的。

當(dāng)使用XFS文件系統(tǒng)時,mount命令要使用nouuid與norecovery選項:

# mount /dev/test_vg/dbbackup /mnt/test_vg/dbbackup -o nouuid,norecovery,ro



6.3 備份數(shù)據(jù)


如采用tar向磁帶備份:

# tar -cf /dev/rmt0 /mnt/test_vg/dbbackup



6.4 刪除snapshot卷


在完成備份后,就可卸載并刪除snapshot卷。

# umount /mnt/test_vg/dbbackup

# lvremove /dev/test_vg/dbbackup
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
linux磁盤分區(qū)及LVM邏輯卷管理
存儲基礎(chǔ)知識之——磁盤陣列原理及操作實戰(zhàn) | 碼范 | Code Fine
CentOS下LVM卷的管理及創(chuàng)建
Linux下的VG
Linux創(chuàng)建LVM(LogicalVolumeManager)基本過程及配置方法【轉(zhuǎn)載】
在Linux系統(tǒng)中創(chuàng)建LVM物理卷、擴展卷組及LVM邏輯卷的方法
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服