LVM配置
推薦相關文章:
LVM的定義
LVM: Logical Volume Manager ,邏輯分卷管理器。,可用于管理磁盤驅動或其他類似的大量存儲設備。LVM將一個或多個磁盤的分區在邏輯上集合當做一個磁盤來使用,我們可以根據實際需求增加磁盤,或磁盤分區來擴大空間容量。
LVM基本組成
-
物理存儲介質(The physical media):這里指系統的存儲設備:硬盤,如:/dev/hda1、/dev/sda等等,是存儲系統最低層的存儲單元。
-
物理卷(physical volume):物理卷就是指硬盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。
-
卷組(Volume Group):LVM卷組類似于非LVM系統中的物理硬盤,其由物理卷組成??梢栽诰斫M上創建一個或多個“LVM分區”(邏輯卷),LVM卷組由一個或多個物理卷組成。
-
邏輯卷(logical volume):LVM的邏輯卷類似于非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等)。
-
PE(physical extent):每一個物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。
-
LE(logical extent):邏輯卷也被劃分為被稱為LE(Logical Extents) 的可被尋址的基本單位。在同一個卷組中,LE的大小和PE是相同的,并且一一對應。
簡單來說就是:
PV:是物理的磁盤分區
VG:LVM中的物理的磁盤分區,也就是PV,必須加入VG,可以將VG理解為一個倉庫或者是幾個大的硬盤。
LV:也就是從VG中劃分的邏輯分區 ,
LVM的配置過程
1.首先我們先創建幾個分區,注意要將分區類型設置為Linux LVM
Command (m for help): t #修改命令 Partition number (1-8): 6 Hex code (type L to list codes): 8e #選擇分區類型為Linux LVM Changed system type of partition 6 to 8e (Linux LVM) Command (m for help): w # 保存退出 The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. [root@localhost ~]# partx -a /dev/sda #將修改的磁盤信息更新至內核中 [root@localhost ~]# fdisk -l #查看磁盤信息,已創建成功 Disk /dev/sda: 64.4 GB, 64424509440 bytes 255 heads, 63 sectors/track, 7832 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: 0x00074ab5 Device Boot Start End Blocks Id System /dev/sda1 * 1 39 307200 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 39 4965 39570432 83 Linux /dev/sda3 4965 5222 2064384 82 Linux swap / Solaris /dev/sda4 5222 7832 20967500 5 Extended /dev/sda5 5222 5875 5247866 8e Linux LVM /dev/sda6 5876 6529 5253223+ 8e Linux LVM /dev/sda7 6530 7183 5253223+ 8e Linux LVM /dev/sda8 7184 7832 5213061 8e Linux LVM
2.首先來創建PV,先來認識一些PV的管理工具:
-
pvs: 簡要顯示pv格式
-
pvdisplay:顯示pv的詳細信息
-
pvcreate: 創建pv
[root@localhost ~]# pvcreate /dev/sda5 #將/dev/sda5創建為PV
[root@localhost ~]# pvdisplay "/dev/sda5" is a new physical volume of "5.00 GiB" — NEW Physical volume — PV Name /dev/sda5 VG Name
PV Size 5.00 GiB Allocatable NO PE Size 0 #因為還沒創建VG,所以此時沒有設置PE大小,數量。 Total PE 0 Free PE 0 Allocated PE 0 PV UUID J2ECPI-K90e-vKoH-rCYC-IM11-16W1-fFh7f
此時我們PV就已經創建好了!
3.接下來就開始介紹如何創建VG了,先來介紹一下VG的管理工具
-
vgs:簡要顯示VG信息
-
vgdisplay:顯示VG詳細信息
-
vgcreate -s PE_size /dev/sda#: 創建VG,-s指定PE大小。
[root@localhost ~]# vgcreate -s 8M myvg /dev/sda5 Volume group "myvg" successfully created [root@localhost ~]# vgdisplay myvg --- Volume group --- VG Name myvg System ID Format lvm2 Metadata Areas 1 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 1 Act PV 1 VG Size 5.00 GiB PE Size 8.00 MiB Total PE 640 Alloc PE / Size 0 / 0 Free PE / Size 640 / 5.00 GiB VG UUID DRLdb2-BawM-vO1R-3THE-4h6L-8b12-jxLCX4
此時PV中的PE大小確定,數量也確定下來了。
[root@localhost ~]# pvdisplay /dev/sda5 --- Physical volume --- PV Name /dev/sda5 VG Name myvg PV Size 5.00 GiB / not usable 4.87 MiB Allocatable yes PE Size 8.00 MiB #看,現在的PE大小就是創建VG時指定的PE大小。 Total PE 640 Free PE 640 Allocated PE 0 PV UUID J2ECPI-K90e-vKoH-rCYC-IM11-16W1-fFh7fF
4.現在開始擴展卷組,卷組可以在線擴展,所以可以直接增加一塊新的磁盤分區。并使用磁盤擴展命令。
[root@localhost ~]# pvcreate /dev/sda6 #新增加磁盤分區/dev/sda6 Physical volume "/dev/sda6" successfully created [root@localhost ~]# vgextend myvg /dev/sda6 # 將/dev/sda6直接擴展到myvg卷組中 Volume group "myvg" successfully extended [root@localhost ~]# vgdisplay myvg --- Volume group --- VG Name myvg System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 2 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 10.01 GiB #看,此時卷組大小變成10G了。 PE Size 8.00 MiB Total PE 1281 Alloc PE / Size 0 / 0 Free PE / Size 1281 / 10.01 GiB VG UUID DRLdb2-BawM-vO1R-3THE-4h6L-8b12-jxLCX4
-
如果此時我們想縮減卷組的話,只需兩步,第一,將要移除的PV中的數據轉移到該卷組其他的PV中。第二,使用vgreduce縮減卷組
[root@localhost ~]# pvmove /dev/sda6 #轉移數據 No data to move for myvg [root@localhost ~]# vgreduce myvg /dev/sda6 Removed "/dev/sda6" from volume group "myvg" [root@localhost ~]# vgdisplay myvg #移除卷組 --- Volume group --- VG Name myvg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 5.00 GiB #卷組大小變成了5G PE Size 8.00 MiB Total PE 640 Alloc PE / Size 0 / 0 Free PE / Size 640 / 5.00 GiB VG UUID DRLdb2-BawM-vO1R-3THE-4h6L-8b12-jxLCX4
6.最后我們可以來創建LV了,先來介紹LV的管理工具:
-
lvs:簡要介紹LV
-
lvdisplay:顯示LV詳細信息
-
lvcreate -L SIZE LV_Name
-
-l 指明盤區的數量,Logical Extents
-
-n NAME VolumeGroup
以下是示例:
[root@localhost ~]# lvcreate -L 2G -n mylv myvg Logical volume "mylv" created [root@localhost ~]# ls /dev/mapper control myvg-mylv ##此時,我們就可以確認LV已經創建好了。 [root@localhost ~]# mke2fs -t ext4 -b 1024 -L MYLV /dev/myvg/mylv mke2fs 1.41.12 (17-May-2010) Filesystem label=MYLV OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 131072 inodes, 2097152 blocks 104857 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=69206016 256 block groups 8192 blocks per group, 8192 fragments per group 512 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553, 1024001, 1990657 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 24 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
7.現在我們就可以進行掛載和創建文件系統了。
[root@localhost ~]# mkdir /backup [root@localhost ~]# mount /dev/myvg/mylv /backup/ [root@localhost ~]# ls /backup/ lost+found [root@localhost ~]# mount /dev/mapper/myvg-mylv on /backup type ext4 (rw) #已掛載完成
8.最后補充一點,如何擴展和縮減邏輯卷
邏輯卷支持在線擴展
[root@localhost ~]# lvextend -L 5G /dev/myvg/mylv #直接指定擴展到5G,也可以使用 -L +2G,表示擴展2G。 Extending logical volume mylv to 5.00 GiB Logical volume mylv successfully resized [root@localhost ~]# df -lh #顯示分區大小信息。 Filesystem Size Used Avail Use% Mounted on /dev/sda2 38G 2.5G 33G 7% / tmpfs 504M 84K 504M 1% /dev/shm /dev/sda1 291M 33M 244M 12% /boot /dev/mapper/myvg-mylv 2.0G 36M 1.9G 2% /backup
注意此時LV大小未改變,這是因為我們現在僅僅擴展了LV的大小,而并沒有擴展文件系統的大小,所以此時顯示的仍是文件系統的空間大小。
[root@localhost ~]# resize2fs /dev/myvg/mylv 擴展文件系統到LV的最大邊界,也可指定大小 resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/myvg/mylv is mounted on /backup; on-line resizing required old desc_blocks = 8, new_desc_blocks = 20 Performing an on-line resize of /dev/myvg/mylv to 5242880 (1k) blocks. ^[[BThe filesystem on /dev/myvg/mylv is now 5242880 blocks long. [root@localhost ~]# df -lh Filesystem Size Used Avail Use% Mounted on /dev/sda2 38G 2.5G 33G 7% / tmpfs 504M 84K 504M 1% /dev/shm /dev/sda1 291M 33M 244M 12% /boot /dev/mapper/myvg-mylv 5.0G 36M 4.7G 1% /backup #看,現在大小變成5G了吧。
縮減邏輯卷
首先要縮減文件系統大小至指定大小,此時必須要先卸載文件系統,然后做文件系統的強制檢測和修復,縮減文件系統并指明大小。最后縮減邏輯卷
[root@localhost ~]# umount /dev/myvg/mylv #卸載文件系統 [root@localhost ~]# e2fsck -f /dev/myvg/mylv #強制檢測修復 e2fsck 1.41.12 (17-May-2010) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information MYLV: 11/327680 files (0.0% non-contiguous), 119693/5242880 blocks [root@localhost ~]# resize2fs /dev/myvg/mylv 3G #縮減文件系統至指定大小 resize2fs 1.41.12 (17-May-2010) Resizing the filesystem on /dev/myvg/mylv to 3145728 (1k) blocks. The filesystem on /dev/myvg/mylv is now 3145728 blocks long. [root@localhost ~]# lvreduce -L 3G /dev/myvg/mylv #縮減LV至指定大小 WARNING: Reducing active logical volume to 3.00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce mylv? [y/n]: y Reducing logical volume mylv to 3.00 GiB Logical volume mylv successfully resized [root@localhost ~]# mount /dev/myvg/mylv /backup/ #重新掛載 [root@localhost ~]# df -lh Filesystem Size Used Avail Use% Mounted on /dev/sda2 38G 2.5G 33G 7% / tmpfs 504M 84K 504M 1% /dev/shm /dev/sda1 291M 33M 244M 12% /boot /dev/mapper/myvg-mylv 3.0G 36M 2.8G 2% /backup #看,此時大小縮減了
創建快照卷快照
快照: snapshot
-
關鍵是瞬間完成。
-
創建快照及瞬間產生一個監控對方的監視器。
-
快照卷是訪問原卷的另一個訪問路徑,若元卷發生變化,則將元卷要發生變化的元數據復制一份至快照卷中,要訪問未改變的數據時則訪問元卷。
-
快照卷與元卷必須在同一卷組中。
[root@localhost ~]# lvcreate -s -L 512M -n mylv-snap -p r /dev/myvg/mylv Logical volume "mylv-snap" created [root@localhost ~]# mount /dev/myvg/mylv-snap /mnt mount: block device /dev/mapper/myvg-mylv--snap is write-protected, mounting read-only
刪除LVM
[root@localhost ~]# umount /dev/myvg/mylv #卸載文件系統 [root@localhost ~]# lvremove /dev/myvg/mylv Do you really want to remove active logical volume mylv? [y/n]: y Logical volume "mylv" successfully removed [root@localhost ~]# vgremove myvg Volume group "myvg" successfully removed #刪除VG [root@localhost ~]# pvremove /dev/sda5 Labels on physical volume "/dev/sda5" successfully wiped #刪除PV [root@localhost ~]# pvremove /dev/sda6 Labels on physical volume "/dev/sda6" successfully wiped #刪除PV
原創文章,作者:21期-揚州-藍,如若轉載,請注明出處:http://www.www58058.com/24270
寫的很好,排版也很漂亮,加油