第四周作業(yè)

1、描述GPT是什么,該怎么使用

GPT(GUID Partition Table):是一個(gè)較新的分區(qū)機(jī)制,解決了MBR的很多缺點(diǎn)

1)支持超過(guò)2TB的磁盤:GPT有64bit尋址空間;而MBR對(duì)硬盤空間地址尋址最多只支持32bit,2的32次方,硬盤空間是以地址方式來(lái)被識(shí)別的,所以MBR只支持容量為2TB以內(nèi)的磁盤

2)向后兼容MBR

3)但是底層硬件必須支持UEFI(Intel提出的取代BIOS的新一代的引導(dǎo)系統(tǒng))才能使用,也就是底層硬件必須使用UEFI

4)必須使用64位操作系統(tǒng)

5)Mac、LInux系統(tǒng)都能支持GPT分區(qū)格式

6)Windows 7 64bit、Windows Server2008 64bit支持GPT

2、創(chuàng)建一個(gè)10G的分區(qū),并格式化為ext4文件系統(tǒng),

要求:

(1)block大小為2048,預(yù)留20%,卷標(biāo)為MYDATA

fdisk /dev/sdb

Command (m for help): n

Select (default p): p

Partition number (1-4, default 1): 1

First sector (2048-41943039, default 2048):

Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +10G

Command (m for help): w

mke2fs -t ext4 –m 20 -L MYDATA -b 2048 /dev/sdb1

-t 文件系統(tǒng)類型,-m 預(yù)留空間百分比,-L 指明卷標(biāo),-b blcok大小

(2)掛載至/mydata目錄,要求掛載時(shí)禁止程序自動(dòng)運(yùn)行,且不更新文件的訪問(wèn)時(shí)間戳

mkdir /mydata

-p 自動(dòng)創(chuàng)建各級(jí)目錄

mount -o noatime,noexec /dev/sdb1 /mydata

掛載至/data/mydata目錄

(3)可開(kāi)機(jī)掛載

在/etc/fstab中追加如下內(nèi)容:

/dev/sdb1 /mydata ext4 defaults,noatime,noexec 0 0

3、創(chuàng)建一個(gè)大小為1G的swap分區(qū),并啟用

fdisk /dev/sdb

Command (m for help): n

Select (default p): p

Partition number (2-4, default 2): 2

First sector (20973568-41943039, default 20973568):

Last sector, +sectors or +size{K,M,G} (20973568-41943039, default 41943039): +1G

Command (m for help): t

Partition number (1,2, default 2): 2

Hex code (type L to list all codes): 82

Command (m for help): w

partprobe

mkswap /dev/sdb2

swapon /dev/sdb2

4、編寫腳本計(jì)算:/etc/passwd 文件中第10個(gè)用戶和第20個(gè)用戶的id之和

!/bin/bash

uid1=head -10 /etc/passwd | tail -1 | cut -d ':' -f 3

uid2=head -20 /etc/passwd | tail -1 | cut -d ':' -f 3

sum=[uid1+$uid2 ]

echo "sum=$sum"

5、將當(dāng)前主機(jī)名保存至hostName變量中,主機(jī)名如果為空,或?yàn)閘ocalhost. localdomain,則將設(shè)置為www.magedu.com

hostName=$(hostname)

[[ -z "hostName" -o "hostName" =="localhost.localdomai" -o "$hostName" =="localhost" ]] && hostname www.magedun.com

6、編寫腳本,通過(guò)命令行 參數(shù)傳入一個(gè)用戶名,判斷id號(hào)是偶數(shù)還是奇數(shù);

!/bin/bash

2

3 if ! [ $# -eq 1 ];then

4 echo "pls input at least one username"

5 exit 2

6 fi

7

8 uid = grep "^1>" /etc/passwd | cut -d: -f3

9 uid_yu =uid % 2

10

11 if $uid_yu -eq 0;then

12 echo "$1 is even"

13 else

14 echo "$1 is odd"

15 fi

7、lvm基本應(yīng)用以及擴(kuò)展縮減實(shí)現(xiàn)

一、 前言

LVM是邏輯卷管理(Logical Volume Manager)的簡(jiǎn)稱,他是建立在物理存儲(chǔ)設(shè)備之上的一個(gè)抽象層,允許你生成邏輯存儲(chǔ)卷,和直接使用物理存儲(chǔ)在管理上相比,提供了更好靈活性。

LVM將存儲(chǔ)虛擬化,使用邏輯卷,你不會(huì)受限于物理磁盤的大小,另外,和硬件相關(guān)的存儲(chǔ)設(shè)置被其隱藏,你能不用停止應(yīng)用或卸載文件系統(tǒng)來(lái)調(diào)整卷大小或數(shù)據(jù)遷移.這樣能減少操作成本.

LVM和直接使用物理存儲(chǔ)相比,有以下好處:

1. 靈活的容量.

當(dāng)使用邏輯卷時(shí),文件系統(tǒng)能擴(kuò)展到多個(gè)磁盤上,你能聚合多個(gè)磁盤或磁盤分區(qū)成單一的邏輯卷.

2.可伸縮的存儲(chǔ)池.

你能使用簡(jiǎn)單的命令來(lái)擴(kuò)大或縮小邏輯卷大小,不用重新格式化或分區(qū)磁盤設(shè)備.

3.在線的數(shù)據(jù)再分配.

你能在線移動(dòng)數(shù)據(jù),數(shù)據(jù)能在磁盤在線的情況下重新分配.比如,你能在線更換可熱插拔的磁盤.

4. 方便的設(shè)備命名

邏輯卷能按你覺(jué)得方便的方式來(lái)起所有名稱.

5.磁盤條塊化.

你能生成一個(gè)邏輯盤,他的數(shù)據(jù)能被條塊化存儲(chǔ)在2個(gè)或更多的磁盤上.這樣能明顯提升數(shù)據(jù)吞吐量.

6.映像卷

邏輯卷提供方便的方法來(lái)映像你的數(shù)據(jù).

7.卷快照

使用邏輯卷,你能獲得設(shè)備快照用來(lái)一致性備份或測(cè)試數(shù)據(jù)更新效果而不影響真實(shí)數(shù)據(jù).

二、 LVM基本術(shù)語(yǔ)

前面談到,LVM是在物理存儲(chǔ)上添加的一個(gè)邏輯層,來(lái)為文件系統(tǒng)屏蔽下面的硬件存儲(chǔ)設(shè)備,提供了一個(gè)抽象的盤卷,在盤卷上建立文件系統(tǒng)。首先我們討論以下幾個(gè)LVM術(shù)語(yǔ):

  • 物理存儲(chǔ)介質(zhì)(The Physical Media)

這里指系統(tǒng)的存儲(chǔ)設(shè)備,如:/dev/hda1、/dev/sda等等,是存儲(chǔ)系統(tǒng)最低層的存儲(chǔ)單元。

  • 物理卷(PV, Physical Volume)

物理卷就是指磁盤,磁盤分區(qū)或從邏輯上和磁盤分區(qū)具有同樣功能的設(shè)備(如RAID),是LVM的基本存儲(chǔ)邏輯塊,但和基本的物理存儲(chǔ)介質(zhì)(如分區(qū)、磁盤等)比較,卻包含有和LVM相關(guān)的管理參數(shù)。當(dāng)前LVM允許你在每個(gè)物理卷上保存這個(gè)物理卷的0至2份元數(shù)據(jù)拷貝.默認(rèn)為1,保存在設(shè)備的開(kāi)始處.為2時(shí),在設(shè)備結(jié)束處保存第二份備份.

  • 卷組(VG, Volume Group)

LVM卷組類似于非LVM系統(tǒng)中的物理硬盤,其由物理卷組成。能在卷組上創(chuàng)建一個(gè)或多個(gè)“LVM分區(qū)”(邏輯卷),LVM卷組由一個(gè)或多個(gè)物理卷組成。

  • 邏輯卷(LV, Logical Volume)

LVM的邏輯卷類似于非LVM系統(tǒng)中的硬盤分區(qū),在邏輯卷之上能建立文件系統(tǒng)(比如/home或/usr等)。

*線性邏輯卷 (Linear Volumes)

一個(gè)線性邏輯卷聚合多個(gè)物理卷成為一個(gè)邏輯卷.比如,如果你有兩個(gè)60GB硬盤,你能生成120GB的邏輯卷.

*條塊化的邏輯卷(Striped Logical Volumes)

當(dāng)你寫數(shù)據(jù)到此邏輯卷中時(shí),文件系統(tǒng)能將數(shù)據(jù)放置到多個(gè)物理卷中.對(duì)于大量連接讀寫操作,他能改善數(shù)據(jù)I/O效率.

*映像的邏輯卷(Mirrored Logical Volumes)

映像在不同的設(shè)備上保存一致的數(shù)據(jù).數(shù)據(jù)同時(shí)被寫入原設(shè)備及映像設(shè)備.他提供設(shè)備之間的容錯(cuò)。

*快照卷(Snapshot Volumes)

快照卷提供在特定瞬間的一個(gè)設(shè)備虛擬映像,當(dāng)快照開(kāi)始時(shí),他復(fù)制一份對(duì)當(dāng)前數(shù)據(jù)區(qū)域的改動(dòng),由于他優(yōu)先執(zhí)行這些改動(dòng),所以他能重構(gòu)當(dāng)前設(shè)備的狀態(tài)。

  • PE(physical extent)

每一個(gè)物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號(hào)的PE是能被LVM尋址的最小單元。PE的大小是可設(shè)置的,默認(rèn)為4MB。

  • LE(logical extent)

邏輯卷也被劃分為被稱為L(zhǎng)E(Logical Extents) 的可被尋址的基本單位。在同一個(gè)卷組中,LE的大小和PE是相同的,并且一一對(duì)應(yīng)。

和非LVM系統(tǒng)將包含分區(qū)信息的元數(shù)據(jù)保存在位于分區(qū)的起始位置的分區(qū)表中相同,邏輯卷及卷組相關(guān)的元數(shù)據(jù)也是保存在位于物理卷起始處的VGDA(卷組描述符區(qū)域)中。VGDA包括以下內(nèi)容: PV描述符、VG描述符、LV描述符、和一些PE描述符 。系統(tǒng)啟動(dòng)LVM時(shí)激活VG,并將VGDA加載至內(nèi)存,來(lái)識(shí)別LV的實(shí)際物理存儲(chǔ)位置。當(dāng)系統(tǒng)進(jìn)行I/O操作時(shí),就會(huì)根據(jù)VGDA建立的映射機(jī)制來(lái)訪問(wèn)實(shí)際的物理位置。

三、 安裝LVM

首先確定系統(tǒng)中是否安裝了lvm工具:

[root@test2 root]# rpm ?qa|grep lvm

lvm-x-x-x

如果命令結(jié)果輸入類似于上例,那么說(shuō)明系統(tǒng)已安裝了LVM管理工具;如果命令沒(méi)有輸出則說(shuō)明沒(méi)有安裝LVM管理工具,則需要從網(wǎng)絡(luò)下載或從光盤裝LVM rpm工具包。

安裝了LVM的RPM軟件包以后,要使用LVM還需要設(shè)置內(nèi)核支持LVM。RedHat默認(rèn)內(nèi)核是支持LVM的,如果需要重新編譯內(nèi)核,則需要在設(shè)置內(nèi)核時(shí),進(jìn)入Multi-device Support (RAID and LVM)子菜單,選中以選項(xiàng):

  • Multiple devices driver support (RAID and LVM)
    Device mapper support
    Snapshot target (EXPERIMENTAL)
    Mirror target (EXPERIMENTAL) 然后重新編譯內(nèi)核,即可將LVM的支持添加到新內(nèi)核中。 為了使用LVM,要確保在系統(tǒng)啟動(dòng)時(shí)激活LVM,在RedHa的版本中,系統(tǒng)啟動(dòng)腳本已具有對(duì)激活LVM的支持,在/etc/rc.d/rc.sysinit中有以下內(nèi)容: if [ -x /sbin/lvm.static ]; then
    action $"Setting up Logical Volume Management:" /sbin/lvm.static vgchange -a y --ignorelockingfailure
    fi
    vgchange -a y命令激活系統(tǒng)所有卷組。 四、 創(chuàng)建和管理LVM 要?jiǎng)?chuàng)建一個(gè)LVM系統(tǒng),一般需要經(jīng)過(guò)以下步驟: 1、 創(chuàng)建分區(qū) 使用分區(qū)工具(如:fdisk等)創(chuàng)建LVM分區(qū),方法和創(chuàng)建其他一般分區(qū)的方式是相同的,差別僅僅是LVM的分區(qū)類型為8e。 # fdisk -l /dev/sdb /dev/sdc
    Disk /dev/sdb: 18.2 GB, 18200739840 bytes
    255 heads, 63 sectors/track, 2212 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Disk /dev/sdb doesn’t contain a valid partition table
    Disk /dev/sdc: 18.2 GB, 18200739840 bytes
    255 heads, 63 sectors/track, 2212 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot Start End Blocks Id System
    /dev/sdc1 1 200 1606468+ 8e Linux LVM 如果要將使用整塊盤,能通過(guò)下面的命令來(lái)覆蓋磁盤上的原有分區(qū)信息: #dd if=/dev/zero of=/dev/sdc bs=512 count=1

    2、 創(chuàng)建物理卷 創(chuàng)建物理卷的命令為pvcreate,利用該命令將希望添加到卷組的所有分區(qū)或磁盤創(chuàng)建為物理卷。將整個(gè)磁盤創(chuàng)建為物理卷的命令為: # pvcreate /dev/sdb
    Physical volume "/dev/sdb" successfully created 將單個(gè)分區(qū)創(chuàng)建為物理卷的命令為: # pvcreate /dev/sdc1
    Physical volume "/dev/sdc1" successfully created 也能同時(shí)生成多個(gè)卷: #pvcreate /dev/sdb /dev/sdc1

    3、掃描塊設(shè)備 通過(guò)lvmdiskscan能看到那些設(shè)備成為了物理卷.

    lvmdiskscan

    /dev/ramdisk [ 16.00 MB]
    /dev/sda [ 4.00 GB]
    /dev/root [ 2.88 GB]
    /dev/ram [ 16.00 MB]
    /dev/sda1 [ 101.94 MB]
    /dev/VolGroup00/LogVol01 [ 1.00 GB]
    /dev/ram2 [ 16.00 MB]
    /dev/sda2 [ 3.90 GB] LVM physical volume
    /dev/lvm_test/test [ 508.00 MB]
    /dev/ram3 [ 16.00 MB]
    /dev/ram4 [ 16.00 MB]
    /dev/ram5 [ 16.00 MB]
    /dev/ram6 [ 16.00 MB]
    /dev/ram7 [ 16.00 MB]
    /dev/ram8 [ 16.00 MB]
    /dev/ram9 [ 16.00 MB]
    /dev/ram10 [ 16.00 MB]
    /dev/ram11 [ 16.00 MB]
    /dev/ram12 [ 16.00 MB]
    /dev/ram13 [ 16.00 MB]
    /dev/ram14 [ 16.00 MB]
    /dev/ram15 [ 16.00 MB]
    /dev/sdb [ 512.00 MB] LVM physical volume
    /dev/sdc [ 512.00 MB] LVM physical volume
    5 disks
    16 partitions
    4、顯示物理卷
    能使用pvs,pvscan,pvdisplay來(lái)顯示當(dāng)前系統(tǒng)中的物理卷.

pvs

PV VG Fmt Attr PSize PFree
/dev/sda2 VolGroup00 lvm2 a- 3.88G 0
/dev/sdb lvm_test lvm2 a- 508.00M 0
/dev/sdc lvm2 -- 512.00M 512.00M

pvscan

PV /dev/sdb VG lvm_test lvm2 [508.00 MB / 0 free]
PV /dev/sda2 VG VolGroup00 lvm2 [3.88 GB / 0 free]
PV /dev/sdc lvm2 [512.00 MB]
Total: 3 [4.87 GB] / in use: 2 [4.37 GB] / in no VG: 1 [512.00 MB]

pvdisplay

--- Physical volume ---
PV Name /dev/sdb
VG Name lvm_test
PV Size 512.00 MB / not usable 4.00 MB
Allocatable yes (but full)
PE Size (KByte) 4096
Total PE 127
Free PE 0
Allocated PE 127
PV UUID Pkp5Cq-SD1w-ANw2-cDDe-BGtw-nmFS-jTxXFD

--- NEW Physical volume ---
PV Name /dev/sdc
VG Name
PV Size 512.00 MB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID BNCVEE-YWlK-0mrV-LOcf-0tCY-WWNw-DeySk0

5、移除物理卷

pvremove /dev/sdc

Labels on physical volume "/dev/sdc" successfully wiped

6、 創(chuàng)建卷組
創(chuàng)建卷組的命令為vgcreate,將使用pvcreate建立的物理卷創(chuàng)建為一個(gè)完整的卷組:

vgcreate lvm_test /dev/sdc1 /dev/sdb

Volume group "lvm_test" successfully created
vgcreate命令第一個(gè)參數(shù)是指定該卷組的邏輯名:lvm_test。后面參數(shù)是指定希望添加到該卷組的所有分區(qū)和磁盤。vgcreate在創(chuàng)建卷組 lvm_test 以外,還設(shè)置使用大小為4 MB的PE(默認(rèn)為4MB),這表示卷組上創(chuàng)建的所有邏輯卷都以 4 MB 為增量單位來(lái)進(jìn)行擴(kuò)充或縮減。PE最小為1KB ,并且必須總是1KB的 2^n 的倍數(shù)(使用-s指定,具體請(qǐng)參考man vgcreate)。

7、 激活卷組
卷組在創(chuàng)建時(shí)默認(rèn)激活,也能使用vgchange來(lái)激活卷組:

vgchange -a y lvm_test

8、 添加新的物理卷到卷組中
當(dāng)系統(tǒng)安裝了新的磁盤或新建分區(qū)并創(chuàng)建了新的物理卷,而要將其添加到已有卷組時(shí),就需要使用vgextend命令:

fdisk -l /dev/sdc

Disk /dev/sdc: 18.2 GB, 18200739840 bytes
255 heads, 63 sectors/track, 2212 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 200 1606468+ 8e Linux LVM
/dev/sdc2 201 400 1606500 8e Linux LVM

pvcreate /dev/sdc2

Physical volume "/dev/sdc2" successfully created

vgextend lvm_test /dev/sdc2

Volume group "lvm_test" successfully extended
這里/dev/sdc2是新的物理卷。

9、顯示卷組
顯示卷組能使用vgs和vgdisplay.

vgs

VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 2 0 wz--n- 3.88G 0
lvm_test 1 1 0 wz--n- 508.00M 0

vgdisplay

--- Volume group ---
VG Name lvm_test
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 10
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 508.00 MB
PE Size 4.00 MB
Total PE 127
Alloc PE / Size 127 / 508.00 MB
Free PE / Size 0 / 0
VG UUID uJx24t-WWdY-vffu-97Of-mgFB-FEov-eRwzAf

10、掃描磁盤生成緩存文件

vgscan

Reading all physical volumes. This may take a while...
Found volume group "lvm_test" using metadata type lvm2
Found volume group "VolGroup00" using metadata type lvm2

11、 從卷組中刪除一個(gè)物理卷
要從一個(gè)卷組中刪除一個(gè)物理卷,首先要確認(rèn)要?jiǎng)h除的物理卷沒(méi)有被所有邏輯卷正在使用,就要使用pvdisplay命令察看一個(gè)該物理卷信息:

pvdisplay /dev/sdc2

--- Physical volume ---
PV Name /dev/sdc2
VG Name lvm_test
PV Size 1.53 GB / not usable 868.00 KB
Allocatable yes
PE Size (KByte) 4096
Total PE 392
Free PE 392
Allocated PE 0 (表示未被使用)
PV UUID jAiils-1vRz-Td9k-1AiD-kIJs-191z-YMz09H

如果某個(gè)物理卷正在被邏輯卷所使用,就需要將該物理卷的數(shù)據(jù)備份到其他地方,然后再刪除。刪除物理卷的命令為vgreduce:

vgreduce lvm_test /dev/sdc2

Removed "/dev/sdc2" from volume group "lvm_test"

12、 創(chuàng)建邏輯卷
創(chuàng)建邏輯卷的命令為lvcreate:

lvcreate -L 1500 ?n test lvm_test

Logical volume "test" created
該命令就在卷組lvm_test上創(chuàng)建名字為test,大小為1500M的邏輯卷,并且設(shè)備入口為/dev/lvm_test/test (lvm_test為卷組名,test為邏輯卷名)。如果希望創(chuàng)建一個(gè)使用全部卷組的邏輯卷,則需要首先察看該卷組的PE數(shù),然后在創(chuàng)建邏輯卷時(shí)指定:

vgdisplay lvm_test| grep "Total PE"

Total PE 4731

lvcreate -l 4731 lvm_test -n test

Logical volume "test" created

13、創(chuàng)建條塊化的邏輯卷

lvcreate -L 500M -i2 -n test lvm_test

Using default stripesize 64.00 KB
Rounding size (125 extents) up to stripe boundary size (126 extents)
Logical volume "test" created
-i2指此邏輯卷在兩個(gè)物理卷中條塊化存放數(shù)據(jù),默認(rèn)一塊大小為64KB.

14、創(chuàng)建映像的邏輯卷。

lvcreate -L 52M -m1 -n test lvm_test /dev/sdb1 /dev/sdc1 /dev/sdb2

Logical volume "test" created
-m1表示只生成一個(gè)單一映像,映像分別放在/dev/sdb1和/dev/sdc1上,映像日志放在/dev/sdb2上.

15、創(chuàng)建快照卷。

lvcreate --size 10 --snapshot --name snaptest /dev/lvm_test/test

16、 創(chuàng)建文件系統(tǒng)
如使用ext3文件系統(tǒng):

mkfs.ext3 /dev/lvm_test/test

mke2fs 1.35 (28-Feb-2004)
max_blocks 4294967295, rsv_groups = 0, rsv_gdb = 1024
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2424832 inodes, 4844544 blocks
242227 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=8388608
148 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Writing inode tables: done
inode.i_blocks = 90120, i_size = 4243456
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
創(chuàng)建了文件系統(tǒng)以后,就能加載并使用他:

mkdir /mnt/test

mount /dev/lvm_test/test /mnt/test

如果希望系統(tǒng)啟動(dòng)時(shí)自動(dòng)加載文件系統(tǒng),則還需要在/etc/fstab中添加內(nèi)容:
/dev/lvm_test/test /mnt/test ext3 defaults 1 2

17、 刪除一個(gè)邏輯卷
刪除邏輯卷以前首先需要將其卸載,然后刪除:

umount /dev/lvm_test/test

lvremove /dev/lvm_test/test

Do you really want to remove active logical volume "test"? [y/n]: y
Logical volume "test" successfully removed

18、 擴(kuò)展邏輯卷大小
LVM提供了方便調(diào)整邏輯卷大小的能力,擴(kuò)展邏輯卷大小的命令是lvextend:

lvextend -L12G /dev/lvm_test/test

Extending logical volume test to 12.00 GB
Logical volume test successfully resized
上面的命令就實(shí)現(xiàn)將邏輯卷test的大小擴(kuò)大為12G。

lvextend -L+1G /dev/lvm_test/test

Extending logical volume test to 13.00 GB
Logical volume test successfully resized
上面的命令就實(shí)現(xiàn)將邏輯卷test的大小增加1G。
增加了邏輯卷的容量以后,就需要修改文件系統(tǒng)大小以實(shí)現(xiàn)利用擴(kuò)充的空間。
對(duì)于希望調(diào)整被加載的文件系統(tǒng)大小,使用ext2online(ext2resize) 或 resize2fs.

df -h

ext2online /dev/lvm_test/test

ext2online /dev/lvm_test/test
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b

df -h

Filesystem 容量 已用 可用 已用% 掛載點(diǎn)
/dev/mapper/VolGroup00-LogVol01
16G 11G 3.6G 76% /
/dev/sda1 494M 18M 451M 4% /boot
none 506M 0 506M 0% /dev/shm
/dev/mapper/lvm_test-test
13G 63M 13G 1% /mnt/test

一般建議最佳將文件系統(tǒng)卸載,調(diào)整大小,然后再加載:

umount /dev/lvm_test/test

resize2fs /dev/lvm_test/test

mount /dev/lvm_test/test /mnt/test

19、 減少邏輯卷大小
使用lvreduce即可實(shí)現(xiàn)對(duì)邏輯卷的容量,同樣需要首先將文件系統(tǒng)卸載:

umount /mnt/test

e2fsck -f /dev/lvm_test/test

resize2fs /dev/lvm_test/test 11G

lvreduce -L -1.992G /dev/lvm_test/test (少2個(gè)PE的大小)

resize2fs /dev/lvm_test/test (通過(guò)此命令確認(rèn)是否文件系統(tǒng)大小和收縮后的邏輯卷大小匹配)

mount /dev/lvm_test/test /mnt/test

20、顯示邏輯卷
通過(guò)lvscan,lvs及l(fā)vdisplay能察看當(dāng)前系統(tǒng)中存在的邏輯卷。

lvdisplay

--- Logical volume ---
LV Name /dev/VolGroup00/LogVol00
VG Name VolGroup00
LV UUID sPmLMD-6xq4-wStB-uSAP-jlQc-YKTm-3bt8Pc
LV Write Access read/write
LV Status available

open 1

LV Size 2.88 GB
Current LE 92
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:0

lvscan

lvscan
ACTIVE ’/dev/VolGroup00/LogVol00’ [2.88 GB] inherit
ACTIVE ’/dev/VolGroup00/LogVol01’ [1.00 GB] inherit

lvs -o +devices

LV VG Attr LSize Origin Snap% Move Log Copy% Devices
LogVol00 VolGroup00 -wi-ao 2.88G /dev/sda2(0)
LogVol01 VolGroup00 -wi-ao 1.00G /dev/sda2(92)

21、使用過(guò)濾控制LVM的設(shè)備掃描
通過(guò)編輯/etc/lvm/lvm.conf 中的filter段,來(lái)定義過(guò)濾那些設(shè)備要掃描。
filter =[ "a|/dev/sd.|", "a|/dev/hd.|", "r|.*|" ]
上面對(duì)scsi及ide設(shè)備掃描,對(duì)其他設(shè)備均不掃描。

22、在線數(shù)據(jù)遷移
通過(guò)pvmove能將一個(gè)PV上的數(shù)據(jù)遷移到新的PV上,也能將PV上的某個(gè)LV遷移到另一個(gè)PV上。

lvs -o +devices

LV VG Attr LSize Origin Snap% Move Log Copy% Devices
LogVol00 VolGroup00 -wi-ao 2.88G /dev/sda2(0)
LogVol01 VolGroup00 -wi-ao 1.00G /dev/sda2(92)
test lvm_test -wi-ao 52.00M /dev/sdb1(0)

pvmove -n test /dev/sdb1 /dev/sdc1

lvs -o +devices

LV VG Attr LSize Origin Snap% Move Log Copy% Devices
LogVol00 VolGroup00 -wi-ao 2.88G /dev/sda2(0)
LogVol01 VolGroup00 -wi-ao 1.00G /dev/sda2(92)
test lvm_test -wi-ao 52.00M /dev/sdc1(0)

23、刪除卷組
按照順序卸載文件系統(tǒng),刪除邏輯卷,然后刪除卷組。

umount /mnt/test

lvremove /dev/lvm_test/test

Do you really want to remove active logical volume "test"? [y/n]: y
Logical volume "test" successfully removed

vgremove lvm_test

Volume group "lvm_test" successfully removed
24、故障排查
通過(guò)在命令后加 -v,-vv,-vvv或-vvvv來(lái)獲得更周詳?shù)拿钶敵觥?br> 通過(guò)在lvs,vgs后加-P能更好的查看失敗設(shè)備.

vgs -a -o +devices -P

Partial mode. Incomplete volume groups will be activated read-only.
VG #PV #LV #SN Attr VSize VFree Devices
VolGroup00 1 2 0 wz--n- 3.88G 0 /dev/sda2(0)
VolGroup00 1 2 0 wz--n- 3.88G 0 /dev/sda2(92)
lvm_test 2 2 0 wz--n- 1016.00M 896.00M pvmove0(0)
lvm_test 2 2 0 wz--n- 1016.00M 896.00M /dev/sdb(0),/dev/sdc(0)

lvs -a -o +devices -P

Partial mode. Incomplete volume groups will be activated read-only.
Failure parsing mirror status fraction: 1 core
Failure parsing mirror status fraction: 1 core
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
LogVol00 VolGroup00 -wi-ao 2.88G /dev/sda2(0)
LogVol01 VolGroup00 -wi-ao 1.00G /dev/sda2(92)
[pvmove0] lvm_test p-C-ao 60.00M /dev/sdb /dev/sdb(0),/dev/sdc(0)
test lvm_test -wI-a- 60.00M pvmove0(0)

五、 總結(jié)
根據(jù)上面的討論能看到,LVM具有非常好的可伸縮性,使用起來(lái)非常方便。能方便地對(duì)卷組、邏輯卷的大小進(jìn)行調(diào)整,更進(jìn)一步調(diào)整文件系統(tǒng)的大小,還能方便的進(jìn)行數(shù)據(jù)遷移,數(shù)據(jù)完整性保護(hù)。如果希望了解更多信息,請(qǐng)參考LVM-HOWTO。

此文件使用內(nèi)核為2.6.22.1,在做pvmove時(shí)出現(xiàn)錯(cuò)誤,如上.補(bǔ)丁如下:
Index: linux-2.6.21/drivers/md/dm-raid1.c
===================================================================
--- linux-2.6.21.orig/drivers/md/dm-raid1.c 2007-05-13 18:56:09.000000000 +0100
+++ linux-2.6.21/drivers/md/dm-raid1.c 2007-05-13 19:09:54.000000000 +0100
@@ -1288,12 +1288,12 @@ static int mirror_status(struct dm_targe
for (m = 0; m nr_mirrors; m++)
DMEMIT("%s ", ms->mirror[m].dev->name);

  •            DMEMIT("%llu/%llu",
    
  •            DMEMIT("%llu/%llu ",
                      (unsigned long long)ms->rh.log->type->
                              get_sync_count(ms->rh.log),
                      (unsigned long long)ms->nr_regions);
    
  •            sz = ms->rh.log->type->status(ms->rh.log, type, result, maxlen);
    
  •            sz += ms->rh.log->type->status(ms->rh.log, type, result+sz, maxlen-sz);
    
              break;
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,354評(píng)論 0 5
  • 本文轉(zhuǎn)自:Linux LVM簡(jiǎn)明教程 邏輯卷管理LVM是一個(gè)多才多藝的硬盤系統(tǒng)工具。無(wú)論在Linux或者其他類似的...
    zhong閱讀 1,476評(píng)論 0 1
  • 一、目的 在使用CentOS6.3版本linux系統(tǒng)的時(shí)候,發(fā)現(xiàn)根目錄(/)的空間不是很充足,而其他目錄空間有很大...
    jadn閱讀 5,843評(píng)論 0 1
  • 媽媽,你愛(ài)不愛(ài)爸爸? 怎么了? 你為啥從來(lái)都不夸爸爸?你看你總是夸我夸弟弟,從來(lái)沒(méi)聽(tīng)到你夸爸爸…… 哦,你覺(jué)得夸就...
    喬沐之語(yǔ)閱讀 259評(píng)論 0 1
  • 怎樣快速的理解和記住二分法 1.定前后端left,right 2.前后不相錯(cuò),一直循環(huán),每次根據(jù)中間值調(diào)整兩端,或...
    掌灬紋閱讀 269評(píng)論 0 1

友情鏈接更多精彩內(nèi)容