LVM基本應用,擴展及縮減實現!
阿新 • • 發佈:2018-05-13
查看 size reduce swa The 創建文件 nbsp AC from
LVM概述
【百度百科】 LVM是邏輯盤卷管理(LogicalVolumeManager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和 分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。通過LVM系統管理員可以輕松管理磁盤分區,如:將若幹個磁盤分區連接為一個整塊的卷組 (volumegroup),形成一個存儲池。管理員可以在卷組上隨意創建邏輯卷組(logicalvolumes),並進一步在邏輯卷組上創建文件系 統。管理員通過LVM可以方便的調整存儲卷組的大小,並且可以對磁盤存儲按照組的方式進行命名、管理和分配,例如按照使用用途進行定義:“development”和“sales”,而不是使用物理磁盤名“sda”和“sdb”。而且當系統添加了新的磁盤,通過LVM管理員就不必將磁盤的 文件移動到新的磁盤上以充分利用新的存儲空間,而是直接擴展文件系統跨越磁盤即可。
LVM架構
LVM創建
1 // 磁盤分區,模擬創建物理磁盤過程 2 [root@cdcjtx-centos-001 ~]# fdisk /dev/sdb 3 歡迎使用 fdisk (util-linux 2.23.2)。 4 5 更改將停留在內存中,直到您決定將更改寫入磁盤。 6 使用寫入命令前請三思。 7 8 9 命令(輸入 m 獲取幫助):n 10 Partition type: 11 p primary (0 primary, 0 extended, 4 free) 12 e extended 13 Select (default p): 14 Using default response p15 分區號 (1-4,默認 1): 16 起始 扇區 (2048-41943039,默認為 2048): 17 將使用默認值 2048 18 Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039):+3G 19 分區 1 已設置為 Linux 類型,大小設為 3 GiB 20 21 命令(輸入 m 獲取幫助):n 22 Partition type: 23 p primary (1 primary, 0 extended, 3 free) 24 e extended 25 Select (default p): 26 Using default response p27 分區號 (2-4,默認 2): 28 起始 扇區 (6293504-41943039,默認為 6293504): 29 將使用默認值 6293504 30 Last 扇區, +扇區 or +size{K,M,G} (6293504-41943039,默認為 41943039):+4G 31 分區 2 已設置為 Linux 類型,大小設為 4 GiB 32 33 命令(輸入 m 獲取幫助):n 34 Partition type: 35 p primary (2 primary, 0 extended, 2 free) 36 e extended 37 Select (default p): 38 Using default response p 39 分區號 (3,4,默認 3): 40 起始 扇區 (14682112-41943039,默認為 14682112): 41 將使用默認值 14682112 42 Last 扇區, +扇區 or +size{K,M,G} (14682112-41943039,默認為 41943039):+2G 43 分區 3 已設置為 Linux 類型,大小設為 2 GiB 44 45 命令(輸入 m 獲取幫助):t 46 分區號 (1-3,默認 3): 47 Hex 代碼(輸入 L 列出所有代碼):8e 48 已將分區“Linux”的類型更改為“Linux LVM” 49 50 命令(輸入 m 獲取幫助):t 51 分區號 (1-3,默認 3):2 52 Hex 代碼(輸入 L 列出所有代碼):8e 53 已將分區“Linux”的類型更改為“Linux LVM” 54 55 命令(輸入 m 獲取幫助):t 56 分區號 (1-3,默認 3):1 57 Hex 代碼(輸入 L 列出所有代碼):8e 58 已將分區“Linux”的類型更改為“Linux LVM” 59 60 命令(輸入 m 獲取幫助):w 61 The partition table has been altered! 62 63 Calling ioctl() to re-read partition table. 64 正在同步磁盤。 65 [root@cdcjtx-centos-001 ~]# fdisk /dev/sdb 66 歡迎使用 fdisk (util-linux 2.23.2)。 67 68 更改將停留在內存中,直到您決定將更改寫入磁盤。 69 使用寫入命令前請三思。 70 71 72 命令(輸入 m 獲取幫助):p 73 74 磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區 75 Units = 扇區 of 1 * 512 = 512 bytes 76 扇區大小(邏輯/物理):512 字節 / 512 字節 77 I/O 大小(最小/最佳):512 字節 / 512 字節 78 磁盤標簽類型:dos 79 磁盤標識符:0xc950dffb 80 81 設備 Boot Start End Blocks Id System 82 /dev/sdb1 2048 6293503 3145728 8e Linux LVM 83 /dev/sdb2 6293504 14682111 4194304 8e Linux LVM 84 /dev/sdb3 14682112 18876415 2097152 8e Linux LVM 85 86 命令(輸入 m 獲取幫助):q
1 // 創建PV 2 [root@cdcjtx-centos-001 ~]# pvcreate /dev/sdb1 3 Physical volume "/dev/sdb1" successfully created. 4 [root@cdcjtx-centos-001 ~]# pvcreate /dev/sdb2 5 Physical volume "/dev/sdb2" successfully created. 6 [root@cdcjtx-centos-001 ~]# pvcreate /dev/sdb3 7 Physical volume "/dev/sdb3" successfully created. 8 [root@cdcjtx-centos-001 ~]# pvs 9 PV VG Fmt Attr PSize PFree 10 /dev/sda2 centos lvm2 a-- <19.00g 0 11 /dev/sdb1 lvm2 --- 3.00g 3.00g 12 /dev/sdb2 lvm2 --- 4.00g 4.00g 13 /dev/sdb3 lvm2 --- 2.00g 2.00g
1 // 創建PE大小為12M,名稱為TESTvg的邏輯卷組 2 [root@cdcjtx-centos-001 ~]# vgcreate -s 12M TESTvg /dev/sdb1 /dev/sdb2 /dev/sdb3 3 Volume group "TESTvg" successfully created 4 [root@cdcjtx-centos-001 ~]# vgs 5 VG #PV #LV #SN Attr VSize VFree 6 TESTvg 3 0 0 wz--n- <8.98g <8.98g 7 centos 1 2 0 wz--n- <19.00g 0
1 // 創建大小為4G,名為TESTlv的邏輯分區 2 [root@cdcjtx-centos-001 ~]# lvcreate -L 4G -n TESTlv TESTvg 3 Rounding up size to full physical extent <4.01 GiB 4 Logical volume "TESTlv" created. 5 [root@cdcjtx-centos-001 ~]# lvs 6 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert 7 TESTlv TESTvg -wi-a----- <4.01g 8 root centos -wi-ao---- <17.00g 9 swap centos -wi-ao---- 2.00g
格式化分區和數據準備,準備數據便於後面的數據完整性測試
1 // 格式化分區為ext4類型,並掛載到/users目錄下,將目錄/etc/pam.d 復制到/users目錄下 2 [root@cdcjtx-centos-001 ~]# mkfs.ext4 /dev/TESTvg/TESTlv 3 mke2fs 1.42.9 (28-Dec-2013) 4 文件系統標簽= 5 OS type: Linux 6 塊大小=4096 (log=2) 7 分塊大小=4096 (log=2) 8 Stride=0 blocks, Stripe width=0 blocks 9 263472 inodes, 1053696 blocks 10 52684 blocks (5.00%) reserved for the super user 11 第一個數據塊=0 12 Maximum filesystem blocks=1080033280 13 33 block groups 14 32768 blocks per group, 32768 fragments per group 15 7984 inodes per group 16 Superblock backups stored on blocks: 17 32768, 98304, 163840, 229376, 294912, 819200, 884736 18 19 Allocating group tables: 完成 20 正在寫入inode表: 完成 21 Creating journal (32768 blocks): 完成 22 Writing superblocks and filesystem accounting information: 完成 23 24 [root@cdcjtx-centos-001 ~]# partprobe // 在不重新啟動機器的情況下系統能夠識別這些分區 25 [root@cdcjtx-centos-001 ~]# mount /dev/TESTvg/TESTlv /users/ 26 [root@cdcjtx-centos-001 ~]# cp -R /etc/pam.d/ /users/ 27 [root@cdcjtx-centos-001 ~]# ls -l /users/ 28 總用量 20 29 drwx------ 2 root root 16384 5月 13 16:27 lost+found 30 drwxr-xr-x 2 root root 4096 5月 13 16:29 pam.d
LVM擴展
1 // 為TESTlv新增加2G容量,並驗證數據完整度 2 3 [root@cdcjtx-centos-001 ~]# lvextend -L +2G /dev/TESTvg/TESTlv // 擴展物理邊界 4 Rounding size to boundary between physical extents: 2.00 GiB. 5 Size of logical volume TESTvg/TESTlv changed from <4.02 GiB (343 extents) to 6.02 GiB (514 extents). 6 Logical volume TESTvg/TESTlv successfully resized. 7 8 [root@cdcjtx-centos-001 ~]# resize2fs /dev/TESTvg/TESTlv // 擴展邏輯邊界 9 resize2fs 1.42.9 (28-Dec-2013) 10 Filesystem at /dev/TESTvg/TESTlv is mounted on /users; on-line resizing required 11 old_desc_blocks = 1, new_desc_blocks = 1 12 The filesystem on /dev/TESTvg/TESTlv is now 1579008 blocks long. 13 14 [root@cdcjtx-centos-001 ~]# ls -l /users/ //數據校驗 15 總用量 20 16 drwx------ 2 root root 16384 5月 13 16:27 lost+found 17 drwxr-xr-x 2 root root 4096 5月 13 16:29 pam.d
LVM縮減
1 // 將TESTlv縮減到2G大小,並校驗數據完整性! 2 // 這裏采用ext4作為文件系統類型 3 // 先卸載物理文件系統->文件系統的強制檢測和修復->縮減邏輯邊界->縮減物理邊界->重新掛載 4 5 [root@cdcjtx-centos-001 ~]# umount /dev/TESTvg/TESTlv // 卸載物理文件系統 6 7 [root@cdcjtx-centos-001 ~]# e2fsck -f /dev/TESTvg/TESTlv // 文件系統的強制檢測和修復 8 e2fsck 1.42.9 (28-Dec-2013) 9 第一步: 檢查inode,塊,和大小 10 第二步: 檢查目錄結構 11 第3步: 檢查目錄連接性 12 Pass 4: Checking reference counts 13 第5步: 檢查簇概要信息 14 /dev/TESTvg/TESTlv: 67/391216 files (0.0% non-contiguous), 61501/1579008 blocks 15 16 [root@cdcjtx-centos-001 ~]# resize2fs /dev/TESTvg/TESTlv 2G // 縮減邏輯邊界為2G大小 17 resize2fs 1.42.9 (28-Dec-2013) 18 Resizing the filesystem on /dev/TESTvg/TESTlv to 524288 (4k) blocks. 19 The filesystem on /dev/TESTvg/TESTlv is now 524288 blocks long. 20 21 [root@cdcjtx-centos-001 ~]# lvreduce -L 2G /dev/TESTvg/TESTlv // 縮減物理邊界為2G大小 22 Rounding size to boundary between physical extents: 2.00 GiB. 23 WARNING: Reducing active logical volume to 2.00 GiB. 24 THIS MAY DESTROY YOUR DATA (filesystem etc.) 25 Do you really want to reduce TESTvg/TESTlv? [y/n]: y // 確認執行,註意風險性 26 Size of logical volume TESTvg/TESTlv changed from 6.02 GiB (514 extents) to 2.00 GiB (171 extents). 27 Logical volume TESTvg/TESTlv successfully resized. 28 29 [root@cdcjtx-centos-001 ~]# mount /dev/TESTvg/TESTlv /users/ //重新掛載 30 31 [root@cdcjtx-centos-001 ~]# ls -l /users/ //數據查看 32 總用量 20 33 drwx------ 2 root root 16384 5月 13 16:27 lost+found 34 drwxr-xr-x 2 root root 4096 5月 13 16:29 pam.d
刪除LVM卷案例
1 [root@cdcjtx-centos-001 ~]# umount /users/ 2 3 [root@cdcjtx-centos-001 ~]# lvremove /dev/TESTvg/TESTlv 4 Do you really want to remove active logical volume TESTvg/TESTlv? [y/n]: y 5 Logical volume "TESTlv" successfully removed 6 7 [root@cdcjtx-centos-001 ~]# vgremove TESTvg 8 Volume group "TESTvg" successfully removed 9 10 [root@cdcjtx-centos-001 ~]# pvremove /dev/sdb1 11 Labels on physical volume "/dev/sdb1" successfully wiped. 12 13 [root@cdcjtx-centos-001 ~]# pvremove /dev/sdb2 14 Labels on physical volume "/dev/sdb2" successfully wiped. 15 16 [root@cdcjtx-centos-001 ~]# pvremove /dev/sdb3 17 Labels on physical volume "/dev/sdb3" successfully wiped. 18 19 [root@cdcjtx-centos-001 ~]# pvs 20 PV VG Fmt Attr PSize PFree 21 /dev/sda2 centos lvm2 a-- <19.00g 0 22 23 [root@cdcjtx-centos-001 ~]# vgs 24 VG #PV #LV #SN Attr VSize VFree 25 centos 1 2 0 wz--n- <19.00g 0 26 27 [root@cdcjtx-centos-001 ~]# lvs 28 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert 29 root centos -wi-ao---- <17.00g 30 swap centos -wi-ao---- 2.00g
LVM基本應用,擴展及縮減實現!