目錄
1. LVM 簡(jiǎn)介
2. LVM基本術(shù)語(yǔ)
3. LVM的安裝
4. LVM的使用
4.1 物理卷的管理
4.2 卷組的管理:
4.3 邏輯卷的管理:
5. 一個(gè)例子
5.1 練習(xí):
5.2 開(kāi)始部署
LVM邏輯卷管理器(英語(yǔ):Logical Volume Manager,縮寫(xiě)為L(zhǎng)VM),又譯為邏輯卷宗管理器、邏輯扇區(qū)管理器、邏輯磁盤(pán)管理器,是Linux核心所提供的邏輯卷管理(Logical volume management)功能。它在硬盤(pán)的硬盤(pán)分區(qū)之上,又創(chuàng)建一個(gè)邏輯層,以方便系統(tǒng)管理硬盤(pán)分區(qū)系統(tǒng)。
由四個(gè)磁盤(pán)分區(qū)可以組成一個(gè)很大的空間,然后在這些空間上劃分一些邏輯分區(qū),我們可以對(duì)這些邏輯分區(qū)進(jìn)行大小調(diào)節(jié), 也可以進(jìn)行快照備份.
Physical volume(PV): 物理卷就是指硬盤(pán)分區(qū)或從邏輯上與磁盤(pán)分區(qū)具有同樣功能的設(shè)備(如RAID),是LVM的基本存儲(chǔ)邏輯塊,但和基本的物理存儲(chǔ)介質(zhì)(如分區(qū)、磁盤(pán)等)比較,卻包含有與LVM相關(guān)的管理參數(shù)。典型的物理卷是硬盤(pán)分區(qū),但也可以是整個(gè)硬盤(pán)或已創(chuàng)建的Software RAID 卷。
Volume Group(VG): 卷組是LVM中最高抽象層,是由一個(gè)或多個(gè)物理卷所組成的存儲(chǔ)器池??梢栽诰斫M上創(chuàng)建一個(gè)或多個(gè)“LVM分區(qū)”(邏輯卷),LVM卷組由一個(gè)或多個(gè)物理卷組成。
Logical Volume(LV): 邏輯卷相當(dāng)于非LVM系統(tǒng)中的分區(qū),它在卷組上建立,是一個(gè)標(biāo)準(zhǔn)的塊設(shè)備,可以在其上建立文件系統(tǒng)
Physical Extent (PE): 物理塊, 物理卷按大小相等的“塊”為單位存儲(chǔ),塊的大小與卷組中邏輯卷塊的大小相同。PE的大小是可配置的,默認(rèn)為4MB。
查看lvm2是否已經(jīng)安裝
1 [root@stu ~]# rpm -qa|grep lvm
mesa-private-llvm-3.3-0.3.rc3.el6.i686
lvm2-2.02.100-8.el6.i686
lvm2-libs-2.02.100-8.el6.i686
如果沒(méi)有返回內(nèi)容, 那么需要進(jìn)行安裝
1 [root@stu ~]# yum install lvm2
如果要?jiǎng)?chuàng)建一個(gè)邏輯卷需要經(jīng)過(guò)以下三個(gè)階段:
4.1 物理卷的管理:
pvcreate /path/to/dev: 初始化一個(gè)磁盤(pán)或分區(qū)創(chuàng)建成為物理卷;
pvmove /path/to/dev: 移動(dòng)該設(shè)備上的物理塊到其他設(shè)備上.(在移除物理卷時(shí)可以使用,防止數(shù)據(jù)丟失)
pvscan: 搜索目前系統(tǒng)里面任何具有物理卷的磁盤(pán)或分區(qū);
pvdisplay: 顯示出目前系統(tǒng)上面的物理卷狀態(tài);
pvremove /path/to/pv_dev : 將物理卷移除,讓該分區(qū)不具有物理卷屬性。
4.2 卷組的管理:
vgcreate : 創(chuàng)建卷組命令 –s PE大小, 默認(rèn)4M;
vgscan : 搜索系統(tǒng)上面是否有卷組存在
vgdisplay : 顯示目前系統(tǒng)上面的卷組狀態(tài);
vgextend : 在卷組內(nèi)添加額外的物理卷;
vgreduce : 在卷組內(nèi)移除物理卷;
vgchange : 配置卷組是否啟動(dòng) (active);
vgremove : 刪除一個(gè)卷組
4.3 邏輯卷的管理:
lvcreate : 創(chuàng)建邏輯卷.
lvscan : 查詢(xún)系統(tǒng)上面的邏輯卷.
lvdisplay : 顯示系統(tǒng)上面的邏輯卷狀態(tài)
lvextend : 在邏輯卷里面添加容量.
lvreduce : 在邏輯卷里面減少容量.
lvremove : 刪除一個(gè)邏輯卷.
lvresize : 對(duì) LV 進(jìn)行容量大小的調(diào)整.
5.1 練習(xí):
1. 創(chuàng)建一個(gè)由兩個(gè)物理卷組成的大小為20G的卷組myvg, 要求PE大小16M.
2. 在該卷組上創(chuàng)建大小為7G的邏輯卷mylv1, 要求其文件系統(tǒng)為ext4, 塊大小為2048,
3. 開(kāi)機(jī)自動(dòng)掛載到/users
4. 新建用戶(hù)openstack, 其家目錄為/users/openstack, 切換至openstack用戶(hù), 復(fù)制一些文件到家目錄中
5. 縮減mylv1到5G大小, 切換到openstack用戶(hù), 確保沒(méi)有數(shù)據(jù)丟失
6. 對(duì)mylv1創(chuàng)建快照卷snap-mylv1, 并通過(guò)其備份數(shù)據(jù)到/tmp/user.tar.bz2;
5.2 開(kāi)始部署
格式化第一個(gè)sdb1
#使用fdisk格式化sdb
1 [root@stu ~]# fdisk /dev/sdb
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
#創(chuàng)建一個(gè)新的分區(qū)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1305, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): +8G
#調(diào)整分區(qū)格式為L(zhǎng)VM
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)
#如果忘了代碼,可以輸入l查找LVM格式的代碼
#查看分區(qū)狀況
Command (m for help): p
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8633d49d
Device Boot Start End Blocks Id System
/dev/sdb1 1 1045 8393931 8e Linux LVM
#保存退出
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
#格式化并保存退出
準(zhǔn)備第二個(gè)物理分區(qū)sdc1(12G) 步驟同上:
1 [root@stu ~]# fdisk /dev/sdc
#確認(rèn)分區(qū)狀況:
1 [root@stu ~]# lsblk
2. 創(chuàng)建物理卷
1 [root@stu ~]# pvcreate /dev/sdb1 /dev/sdc1
1 [root@stu ~]# pvs
#查看物理卷情況
1 [root@stu ~]# pvscan
3. 創(chuàng)建大小為20G的卷組myvg, 要求PE大小16M.
1 [root@stu ~]# vgcreate -s 16M myvg /dev/sdb1 /dev/sdc1
1 [root@stu ~]# vgs
#查看卷組情況
4. 在該卷組上創(chuàng)建大小為7G的邏輯卷mylv1, 要求其文件系統(tǒng)為ext4, 塊大小為2048
1 [root@stu ~]# lvcreate myvg -n mylv1 -L 7G
#在卷組myvg上創(chuàng)建大小為7G的邏輯卷mylv1
1 [root@stu ~]# fdisk /dev/myvg/mylv1
#在邏輯卷上創(chuàng)建分區(qū)
1 [root@stu ~]# mke2fs -t ext4 -b 2048 /dev/myvg/mylv1
#格式化邏輯卷mylv1為ext4文件系統(tǒng)塊大小2048K
5. 開(kāi)機(jī)自動(dòng)掛載到/users
1 [root@stu /]# mkdir /users2 3 [root@stu /]# vim + /etc/fstab
#設(shè)置開(kāi)機(jī)自動(dòng)掛載邏輯卷到/users上
#添加/dev/myvg/mylv1 /users ext4 defaults 0 2到/dev/fstab 最后一行
1 [root@stu /]# mount –a
#自動(dòng)掛載
6. 新建用戶(hù)openstack, 其家目錄為/users/openstack, 切換至openstack用戶(hù), 復(fù)制一些文件到家目錄中
1 [root@stu users]# useradd openstack -d /users/openstack
#新建用戶(hù)openstack, 其家目錄為/users/openstack
1 [root@stu users]# su - openstack2 [root@stu users]# cp -r /etc/* ~/
#切換至openstack用戶(hù), 復(fù)制一些/etc/下的文件到家目錄中
7. 縮減mylv1到5G大小, 切換到openstack用戶(hù), 確保沒(méi)有數(shù)據(jù)丟失
縮減邏輯卷大小思路:
7.1. 卸載卷, 并執(zhí)行強(qiáng)制檢測(cè)
# e2fsck -f /path/to/lv_device
7.2. 縮減邏輯邊界:
# resize2fs /path/to/lv_device Size
7.3. 縮減物理邊界:
# lvreduce -L [-]Size /path/to/vg_name/lvname
7.4. 驗(yàn)證是否正常
7.5. 開(kāi)始實(shí)施:
1 [root@stu ~]# umount /dev/myvg/mylv1 #卸載卷2 [root@stu ~]# e2fsck -f /dev/myvg/mylv1 #強(qiáng)行檢測(cè)3 [root@stu ~]# resize2fs /dev/myvg/mylv1 5G #縮減邏輯邊界到5G4 [root@stu ~]# lvreduce -L 5G /dev/myvg/mylv1 #縮減物理邊界到 5G5 [root@stu ~]# lsblk #驗(yàn)證數(shù)據(jù)
1 [root@stu ~]# mount –a #重新掛載邏輯卷2 [root@stu ~]# cd /users/openstack/ #驗(yàn)證數(shù)據(jù)3 [root@stu openstack]# ll
8. 對(duì)mylv1創(chuàng)建快照卷snap-mylv1, 并通過(guò)其備份數(shù)據(jù)到/tmp/user.tar.bz2;
1 [root@stu openstack]# lvcreate -s -L 50M -n snap_mylv1 -p r /dev/myvg/mylv1 #建立快照2 [root@stu openstack]# mount /dev/myvg/snap_mylv1 /media/snap/ #掛載快照3 [root@stu openstack]# tar -jcf /tmp/user.tar.bz2 /media/snap/openstack/* #建立歸檔
聯(lián)系客服