Linux教程網
LVM是什麼?
恩,全稱就是"邏輯盤卷管理" 英文全稱是"Logical Volume Manager".
干嗎用的?
恩,當我們硬盤空間不夠時候,如C盤(舉個通俗例子,linux沒C,D概念之說),如果沒有LVM管理話,可能我們要備份數據,然後格式化,重新添加分區.豈不是很麻煩,不過如果有了LVM技術的話,就不存在這樣的問題了.所以,用在服務器上是很方便的一門技術了.關鍵是,還不花錢.
網上有很多LVM知識解說的文章,說的比我詳細多了,在此粘貼兩經典文章的網址:
1: http://www.chinalinuxpub.com/read.php?wid=834
2: http://haka.sharera.com/blog/MyNetMark/954/0.htm
不過,鑒於實踐是檢驗成果的唯一標准,我也就自己重新認真的操作了一遍,可比看人家文章更容易理解了.
先復習下LVM裡面的基本必須記住的專業術語.偶會寫上自己的理解的.FYI.
1: PV (Physical Volume) 中文名:物理卷 相關命令: pvcreate pvdisplay pvscan
定義: 物理卷就是指硬盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數
個人理解: PV不是分區, 我們使用pvcreate來將一個或多個物理分區創造成PV.這是做LVM的第一步.
2: VG (volume group) 中文名: 卷組 相關命令: vgcreate vgdisplay vgscan
定義: LVM卷組類似於非LVM系統中的物理硬盤,其由物理卷組成。可以在卷組上創建一個或多個“LVM分區”(邏輯卷),LVM卷組由一個或多個物理卷組成。
個人理解: 只有通過PV將分區變成物理卷後, 我們才能將這變成的一個或多個物理卷組合成一個卷組.就相當於,將幾個班的教室合並成一個班樣(vgcreate).以後,就可以隨意分配學生了(LV).當然,前提就是將這些學生pvcreate成同一個年級(PV)了.
3: LV (logical volume ) 中文名: 邏輯卷 相關命令: lvcreate lvdisplay lvscan
定義: LVM的邏輯卷類似於非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等)
個人理解: 我們可以通過lvcreate在VG中劃分出某個區域.然後通過mount到某個文件夾中,這樣,偶們就可以使用這個區域了.注意哦,是在這個卷組中劃出一塊地出來使用,當然了,如果這塊的太少了,我們可以很輕松的把別人的地挪到自己這來.地裡面的莊稼當然不會少了.如果覺得地太多了,割出部分出去,莊稼會自動騰到沒割的地方去.這就是LVM的好處了.
OK,下面來看下我的操作過程了,其它的概念大家可以去看下別人寫的文章.很詳細的.
假設我有一塊空閒硬盤,硬盤符是/dev/sdb,在裡面分了三個分區,分別是 /dev/sdb1 /dev/sdb2 /dev/sdb3 三個都分別是100M.看下
[root@localhost /]# fdisk /dev/sdb
Command (m for help): p
Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 13 104391 8e Linux LVM #看到Id是8e哦.
/dev/sdb2 14 26 104422+ 8e Linux LVM
/dev/sdb3 27 39 104422+ 8e Linux LVM
好得,下一步,建立物理卷PV
[root@localhost /]# pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdb2" successfully created
Physical volume "/dev/sdb3" successfully created
創建VG卷組
[root@localhost /]# vgscan #一般我們初始建立卷組時都要先scan下.
Reading all physical volumes. This may take a while...
Couldn't find device with uuid '6T3gUb-fFdj-MMUL-wUTN-qdXG-8iEP-KsWbgb'.
Couldn't find all physical volumes for volume group VolGroup00.
Couldn't find device with uuid '6T3gUb-fFdj-MMUL-wUTN-qdXG-8iEP-KsWbgb'.
Couldn't find all physical volumes for volume group VolGroup00.
Volume group "VolGroup00" not found
[root@localhost /]# vgcreate vg0 /dev/sdb1 /dev/sdb2 #建立卷組,名字叫:vg0
Volume group "vg0" successfully created
[root@localhost /]#
[root@localhost /]# vgdisplay vg0 # 查看下卷組vg0得情況
--- Volume group ---
VG Name vg0
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 200.00 MB
PE Size 4.00 MB #默認PE 都是4M, 通過 vgcreate -s 8M 可修改.
Total PE 50
Alloc PE / Size 0 / 0
Free PE / Size 50 / 200.00 MB
VG UUID WKRPJT-MI6G-vGk9-vne2-Gfg2-sAry-llsF7B
請輸入內容
OK,下面是建立邏輯卷了,在這不我添加了名字為data 的邏輯卷了. 注意:-L 和-l的區別,前面是根據大小來的,後面的是根據塊數來的,也就是幾個PE.
[root@localhost /]# lvcreate -n data -L 10M vg0 #建立名為data,大小10M
/dev/cdrom: open failed: Read-only file system
Rounding up size to full physical extent 12.00 MB
Logical volume "data" created
[root@localhost /]# lvdisplay #查看下邏輯卷情況
--- Logical volume ---
LV Name /dev/vg0/data
VG Name vg0
LV UUID qrC9H4-iHWi-Si4m-hN7G-x6Cm-yupr-aXRBVi
LV Write Access read/write
LV Status available
# open 0
LV Size 12.00 MB #為什麼是12M呢?我不是輸入10M大小的嗎?
Current LE 3 就當是個問題考考大家了,
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:2
Couldn't find device with uuid '6T3gUb-fFdj-MMUL-wUTN-qdXG-8iEP-KsWbgb'.
Couldn't find all physical volumes for volume group VolGroup00.
Couldn't find device with uuid '6T3gUb-fFdj-MMUL-wUTN-qdXG-8iEP-KsWbgb'.
Couldn't find all physical volumes for volume group VolGroup00.
Volume group "VolGroup00" not found
[root@localhost /]# mkfs.ext3 /dev/vg0/data #格式化成ext3格式.
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
3072 inodes, 12288 blocks
614 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=12582912
2 block groups
8192 blocks per group, 8192 fragments per group
1536 inodes per group
Superblock backups stored on blocks:
8193
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@localhost /]# mount /dev/vg0/data /mnt/ #mount到/mnt文件夾
[root@localhost /]# cp /etc/services /mnt/ #拷貝個文件進去試下
[root@localhost /]# ls /mnt/ #看下,裡面已經有個services文件了.成功.
lost+found services
[root@localhost /]# umount /mnt/
[root@localhost /]# lvextend -L +10M /dev/vg0/data #擴展邏輯卷大小
/dev/cdrom: open failed: Read-only file system
Rounding up size to full physical extent 12.00 MB
Extending logical volume data to 24.00 MB
Logical volume data successfully resized
OK,試驗就做到這了,是不是很容易啊,其它比如物理卷擴展大小,刪除等操作其實已經大同小異了.
Copyright ©
Linux教程網 All Rights Reserved