您好,登錄后才能下訂單哦!
本篇文章為大家展示了Ubuntu系統中怎么使用LVM調整硬盤分區,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
LVM是Logical Volume Manager(邏輯卷管理器)的簡寫,又譯為邏輯卷宗管理器、邏輯扇區管理器、邏輯磁盤管理器。是Linux核心所提供的邏輯卷管理(Logical Volume Management)功能。它在硬盤的硬盤分區之上,又創建了一個邏輯層以方便系統管理硬盤分區系統。
LVM的優點:
它是建立在物理存儲設備之上的一個抽象層,允許用戶生成邏輯存儲卷,與直接使用物理存儲在管理上相比,提供了更好靈活性;
LVM將存儲虛擬化,使用邏輯卷,用戶不會受限于物理磁盤的大小;另外,與硬件相關的存儲設置被器隱藏,用戶可以不用停止應用或卸載文件系統來調整卷大小或數據遷移,可以減少操作成本。
LVM與直接使用物理存儲相比,有以下優點:
1、 靈活的容量
當使用邏輯卷時,文件系統可以擴展到多個磁盤上,你可以聚合多個磁盤或磁盤分區成單一的邏輯卷.
2、 可伸縮的存儲池;
你可以使用簡單的命令來擴大或縮小邏輯卷大小,不用重新格式化或分區磁盤設備.
3、 在線的數據再分配
你可以在線移動數據,數據可以在磁盤在線的情況下重新分配.比如,你可以在線更換可熱插拔的磁盤.
4、 方便的設備命名;
邏輯卷可以按你覺得方便的方式來起任何名稱.
5、 磁盤條塊化
你可以生成一個邏輯盤,它的數據可以被條塊化存儲在2個或更多的磁盤上.這樣可以明顯提升數據吞吐量.
6、 鏡像卷
邏輯卷提供方便的方法來鏡像你的數據.
7、 卷快照
使用邏輯卷,你可以獲得設備快照用來一致性備份或者測試數據更新效果而不影響真實數據.
2.版本:
LVM1 最初的LVM與1998年發布,只在Linux內核2.4版本上可用,它提供最基本的邏輯卷管理。
LVM2 LVM-1的更新版本,在Linux內核2.6中才可用,它在標準的LVM-1功能外還提供了額外的功能。
查看版本:
代碼如下:
[root@localhost ~]#uname -a
Linux localhost.localdomain2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64GNU/Linux
代碼如下:
[root@localhost ~]#uname -r
2.6.32-504.el6.x86_64
代碼如下:
[root@localhost ~]#rpm -qa | grep lvm
mesa-private-llvm-3.4-3.el6.x86_64
lvm2-libs-2.02.111-2.el6.x86_64
lvm2-2.02.111-2.el6.x86_64
3.LVM基本術語:
物理存儲介質(The Physical Media):
這里指系統的存儲設備,如:/dev/hda1、/dev/sda等等,是存儲系統最低層的存儲單元。
物理卷(PV,Physical Volume):
物理卷就是指磁盤,磁盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。當前LVM允許你在每個物理卷上保存這個物理卷的0至2份元數據拷貝。默認為1,保存在設備的開始處。為2時,在設備結束處保存第二份備份。
卷組(VG,Volume Group):
LVM卷組類似于非LVM系統中的物理硬盤,其由物理卷組成。可以在卷組上創建一個或多個“LVM分區”(邏輯
卷),LVM卷組由一個或多個物理卷組成。
邏輯卷(LV,Logical Volume):
LVM的邏輯卷類似于非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等)。
線性邏輯卷(Linear Volumes):
一個線性邏輯卷聚合多個物理卷成為一個邏輯卷.比如,如果你有兩個60GB硬盤,你可以生成120GB的邏輯卷.
條塊化的邏輯卷(Striped Logical Volumes)
當你寫數據到此邏輯卷中時,文件系統可以將數據放置到多個物理卷中.對于大量連接讀寫操作,它能改善數據I/O效率.
鏡像的邏輯卷(MirroredLogical Volumes)
鏡像在不同的設備上保存一致的數據.數據同時被寫入原設備及鏡像設備.它提供設備之間的容錯。
快照卷(SnapshotVolumes)
快照卷提供在特定瞬間的一個設備虛擬映像,當快照開始時,它復制一份對當前數據區域的改變,由于它優先執行這些改變,所以它可以重構當前設備的狀態。
PE(physical extent)
每一個物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。
LE(logical extent)
邏輯卷也被劃分為被稱為LE(Logical Extents) 的可被尋址的基本單位。在同一個卷組中,LE的大小和PE是相同的,并且一一對應。
和非LVM系統將包含分區信息的元數據保存在位于分區的起始位置的分區表中一樣,邏輯卷以及卷組相關的元數據也是保存在位于物理卷起始處的VGDA(卷組描述符區域)中。VGDA包括以下內容: PV描述符、VG描述符、LV描述符、和一些PE描述符。系統啟動LVM時激活VG,并將VGDA加載至內存,來識別LV的實際物理存儲位置。當系統進行I/O操作時,就會根據VGDA建立的映射機制來訪問實際的物理位置。
4.LVM模塊:
Physicalvolume (PV)、Volume group (VG)、Logicalvolume(LV)、 Physical extent (PE),下面我們用一個簡單
的圖來說明下物理卷、卷組、邏輯卷他們之間的關系:
邏輯卷的創建,就是將多塊硬盤創建物理卷,而將這些物理卷以邏輯的形式總成一個容器,然后從這個容器里面創建大小不同的分區文件,而這個容器就是所謂的卷組(VG),而從這個容器里創建大小不同的分區文件,這個分區文件就叫做邏輯卷。
LVM實現邏輯卷鏡像
LVM的鏡像功能,有點兒類似于Raid1,即多塊兒磁盤互相同步,確保資料不會丟失。
1、在此添加4塊物理硬盤,每塊2G空間
2、將sdb、sdc、sdd、sde 創建物理卷,將sdb、sdc、sdd 添加卷組到vmTest
代碼如下:
[root@node4 ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
代碼如下:
[root@node4 ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created
代碼如下:
[root@node4 ~]# pvcreate /dev/sdd
Physical volume "/dev/sdd" successfully created
代碼如下:
[root@node4 ~]# pvcreate /dev/sde
Physical volume "/dev/sde" successfully created
代碼如下:
[root@node4 ~]# vgcreate vgTest /dev/sdb /dev/sdc /dev/sdd
Volume group "vgTest" successfully created
代碼如下:
[root@node4 ~]#
3、創建邏輯卷
代碼如下:
[root@node4 ~]# lvcreate -L 1G -m1 -n lvTest vgTest /dev/sdb /dev/sdc /dev/sdd
Logical volume "lvTest" created
查看lvs信息
代碼如下:
[root@node4 ~]# lvs -a -o +devices
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Devices
lv_root VolGroup -wi-ao---- 8.54g /dev/sda2(0)
lv_swap VolGroup -wi-ao---- 992.00m /dev/sda2(2186)
lvTest vgTest mwi-a-m--- 1.00g lvTest_mlog 100.00 lvTest_mimage_0(0),lvTest_mimage_1(0)
[lvTest_mimage_0] vgTest iwi-aom--- 1.00g /dev/sdb(0)
[lvTest_mimage_1] vgTest iwi-aom--- 1.00g /dev/sdc(0)
[lvTest_mlog] vgTest lwi-aom--- 4.00m /dev/sdd(0)
LVM鏡像需要用到-m1參數,從上面可以看出,/dev/sdb和/dev/sdc互為鏡像,而/dev/sdd作為日志存儲使用
4、格式化分區,在邏輯卷上創建一個文件。對/dev/sdc進行破壞。
代碼如下:
[root@node4 ~]# mkfs.ext4 /dev/vgTest/lvTest
mke2fs 1.41.12 (17-May-2010)
文件系統標簽=
操作系統:Linux
塊大小=4096 (log=2)
分塊大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
第一個數據塊=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
正在寫入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
代碼如下:
[root@node4 ~]# dd if=/dev/zero of=/dev/sdc count=10 bs=20M
記錄了10+0 的讀入
記錄了10+0 的寫出
209715200字節(210 MB)已復制,2.08666 秒,101 MB/秒
代碼如下:
[root@node4 ~]# lvs -a -o +devices
Couldn't find device with uuid zecO8D-2Suc-rnmK-a2Z7-6613-Zy1X-whVS0X.
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Devices
lv_root VolGroup -wi-ao---- 8.54g /dev/sda2(0)
lv_swap VolGroup -wi-ao---- 992.00m /dev/sda2(2186)
lvTest vgTest mwi-a-m-p- 1.00g lvTest_mlog 100.00 lvTest_mimage_0(0),lvTest_mimage_1(0)
[lvTest_mimage_0] vgTest iwi-aom--- 1.00g /dev/sdb(0)
[lvTest_mimage_1] vgTest iwi-aom-p- 1.00g unknown device(0)
[lvTest_mlog] vgTest lwi-aom--- 4.00m /dev/sdd(0)
代碼如下:
[root@node4 ~]# lvscan
Couldn't find device with uuid zecO8D-2Suc-rnmK-a2Z7-6613-Zy1X-whVS0X.
ACTIVE '/dev/vgTest/lvTest' [1.00 GiB] inherit
ACTIVE '/dev/VolGroup/lv_root' [8.54 GiB] inherit
ACTIVE '/dev/VolGroup/lv_swap' [992.00 MiB] inherit
代碼如下:
[root@node4 ~]#
重新掛載邏輯卷,確認文件可以正常讀取
代碼如下:
[root@node4 ~]# mkdir /lvmTest
[root@node4 ~]# mount /dev/vgTest/lvTest /lvmTest/
[root@node4 ~]# cd /lvmTest/
[root@node4 lvmTest]# ls
lost+found
代碼如下:
[root@node4 lvmTest]# echo "ac" > ac
[root@node4 lvmTest]# cat ac
ac
代碼如下:
[root@node4 lvmTest]#
將卷組中壞掉的物理卷(/dev/sdc)移除:
代碼如下:
[root@node4 lvmTest]# vgdisplay
Couldn't find device with uuid zecO8D-2Suc-rnmK-a2Z7-6613-Zy1X-whVS0X.
--- Volume group ---
VG Name vgTest
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 2
VG Size 5.99 GiB
PE Size 4.00 MiB
Total PE 1533
Alloc PE / Size 513 / 2.00 GiB
Free PE / Size 1020 / 3.98 GiB
VG UUID 1qzO3A-Tjvi-by9l-Oq49-byz3-tIkx-rfSqex
代碼如下:
[root@node4 lvmTest]# vgreduce --removemissing --force vgTest
Couldn't find device with uuid zecO8D-2Suc-rnmK-a2Z7-6613-Zy1X-whVS0X.
Wrote out consistent volume group vgTest
代碼如下:
[root@node4 lvmTest]#
5、向卷組中加入新的物理卷(/dev/sde):
代碼如下:
[root@node4 lvmTest]# vgextend vgTest /dev/sde
Volume group "vgTest" successfully extended
代碼如下:
[root@node4 lvmTest]#
6、進行數據恢復(過程中無須解除邏輯卷的掛載)
代碼如下:
[root@node4 lvmTest]# lvconvert -m1 /dev/vgTest/lvTest /dev/sdb /dev/sdd /dev/sde
vgTest/lvTest: Converted: 0.0%
vgTest/lvTest: Converted: 100.0%
代碼如下:
[root@node4 lvmTest]# lvs -a -o +devices
LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert Devices
lv_root VolGroup -wi-ao---- 8.54g /dev/sda2(0)
lv_swap VolGroup -wi-ao---- 992.00m /dev/sda2(2186)
lvTest vgTest mwi-aom--- 1.00g lvTest_mlog 100.00 lvTest_mimage_0(0),lvTest_mimage_1(0)
[lvTest_mimage_0] vgTest iwi-aom--- 1.00g /dev/sdb(0)
[lvTest_mimage_1] vgTest iwi-aom--- 1.00g /dev/sdd(0)
[lvTest_mlog] vgTest lwi-aom--- 4.00m /dev/sde(0)
7、核實原數據
代碼如下:
[root@node4 lvmTest]# cat ac
ac
代碼如下:
[root@node4 lvmTest]# echo "abcde" >> ac
[root@node4 lvmTest]# cat ac
ac
abcde
代碼如下:
[root@node4 lvmTest]#</p>
<p>[root@node4 lvmTest]# lvdisplay
--- Logical volume ---
LV Path /dev/vgTest/lvTest
LV Name lvTest
VG Name vgTest
LV UUID a8kDmI-R3ls-SfKJ-qx3d-1Tbb-wPAd-TJcQfn
LV Write Access read/write
LV Creation host, time node4.lansgg.com, 2015-09-10 20:50:41 +0800
LV Status available
# open 1
LV Size 1.00 GiB
Current LE 256
Mirrored volumes 2
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:5
上述內容就是Ubuntu系統中怎么使用LVM調整硬盤分區,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。