[关闭]
@gy-ban 2017-08-06T08:37:18.000000Z 字数 12900 阅读 1386

LVM详解

lvm


LVM 的全名是 Logical Volume Manager,主要用来对文件系统进行伸缩管理,具体怎么做,我们来一步一步的讲解。

基础概念

首先我们得要清楚lvm中的几个概念:
Physical Volume, PV
我们实际的 partition 需要调整系统识别码 (system ID) 成为 8e (LVM 的识别码),然后再经过 pvcreate 的命令将他转成 LVM 最底层的实体卷轴 (PV) ,之后才能够将这些 PV 加以利用!

Volume Group, VG
VG是有一个或多个PV组成的一个“大磁盘”,每个 VG 最多仅能包含 65534 个 PE,所以创建VG时,指定PE的大小就决定了VG的最大容量。

Physical Extend, PE
LVM 默认使用 4MB 的 PE 区块,而 LVM 的 VG 最多仅能含有 65534 个 PE ,因此默认的 LVM VG 会有 4M*65534/(1024M/G)=256G。PE是整个 LVM 最小的储存区块,也就是说,其实我们的文件数据都是藉由写入 PE 来处理的。 简单的说,这个 PE 就有点像文件系统里面的 block 大小啦。

Logical Volume, LV
最终的 VG 还会被切成 LV,这个 LV 就是最后可以被格式化使用,由于PE 是整个 LVM 的最小储存单位,那么 LV 的大小就与在此 LV 内的 PE 总数有关。 为了方便使用者利用 LVM 来管理其系统,因此 LV 的装置档名通常指定为『 /dev/vgname/lvname 』的样式

tips:
LVM 之所以可弹性的变更 filesystem 的容量,就是透过交换 PE 来进行数据转换, 将原本 LV 内的 PE 移转到其他装置中以降低 LV 容量,或将其他装置的 PE 加到此 LV 中以加大容量! VG、LV 与 PE 的关系有点像下图:

如上图所示,VG 内的 PE 会分给虚线部分的 LV,如果未来这个 VG 要扩充的话,加上其他的 PV 即可。 而最重要的 LV 如果要扩充的话,也是透过加入 VG 内没有使用到的 PE 来扩充的!

实战操作

通过 PV, VG, LV 的规划之后,再利用 mkfs 就可以将你的 LV 格式化成为可以利用的文件系统,整个流程由基础到最终的结果如下图:

如此一来,我们就可以利用 LV 来进行系统的挂载了

tips
你应该要觉得奇怪的是, 那么我的数据写入这个 LV 时,到底他是怎么写入硬盘当中的?
依据写入机制的不同,有两种方式:

基本上,LVM 最主要的用处是在实现一个可以弹性调整容量的文件系统上, 而不是在创建一个效能为主的磁碟上,所以,我们应该利用的是 LVM 可以弹性管理整个 partition 大小的用途上,而不是著眼在效能上的。因此, LVM 默认的读写模式是线性模式。并且,如果你使用 triped 模式,任何一个partition坏了,整个数据都没了。
所以,不是很适合使用这种模式!如果要强调效能与备份,那么就直接使用 RAID 即可, 不需要用到 LVM 。

PV阶段

首先,我们使用fdisk创建了三个分区,具体步骤我就不一一详解,这其中需要注意的一点就是要将分区system ID 需要为 8e,其实没有配置成为 8e 也没关系, 不过某些 LVM 的侦测命令可能会侦测不到该 partition。

  1. [root@gy-vm03 ~]# fdisk /dev/sdb
  2. WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
  3. switch off the mode (command 'c') and change display units to
  4. sectors (command 'u').
  5. Command (m for help): n
  6. Command action
  7. e extended
  8. p primary partition (1-4)
  9. p
  10. Partition number (1-4): 1
  11. First cylinder (1-2610, default 1):
  12. Using default value 1
  13. Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): 800
  14. Command (m for help): t
  15. Selected partition 1
  16. Hex code (type L to list codes): 8e
  17. Changed system type of partition 1 to 8e (Linux LVM)
  18. Command (m for help): p
  19. Disk /dev/sdb: 21.5 GB, 21474836480 bytes
  20. 255 heads, 63 sectors/track, 2610 cylinders
  21. Units = cylinders of 16065 * 512 = 8225280 bytes
  22. Sector size (logical/physical): 512 bytes / 512 bytes
  23. I/O size (minimum/optimal): 512 bytes / 512 bytes
  24. Disk identifier: 0x0c6b04a7
  25. Device Boot Start End Blocks Id System
  26. /dev/sdb1 1 800 6425968+ 8e Linux LVM

PV相关命令

  1. [root@gy-vm03 ~]# pvscan
  2. No matching physical volumes found
  3. [root@gy-vm03 ~]# pvcreate /dev/sdb{1,2,3}
  4. Physical volume "/dev/sdb1" successfully created
  5. Physical volume "/dev/sdb2" successfully created
  6. Physical volume "/dev/sdb3" successfully created
  7. [root@gy-vm03 ~]# pvscan
  8. PV /dev/sdb1 lvm2 [6.13 GiB]
  9. PV /dev/sdb2 lvm2 [6.13 GiB]
  10. PV /dev/sdb3 lvm2 [6.13 GiB]
  11. Total: 3 [18.38 GiB] / in use: 0 [0 ] / in no VG: 3 [18.38 GiB]
  12. [root@gy-vm03 ~]# pvs
  13. PV VG Fmt Attr PSize PFree
  14. /dev/sdb1 lvm2 --- 6.13g 6.13g
  15. /dev/sdb2 lvm2 --- 6.13g 6.13g
  16. /dev/sdb3 lvm2 --- 6.13g 6.13g
  17. [root@gy-vm03 ~]# pvdisplay
  18. "/dev/sdb1" is a new physical volume of "6.13 GiB"
  19. --- NEW Physical volume ---
  20. PV Name /dev/sdb1
  21. VG Name
  22. PV Size 6.13 GiB
  23. Allocatable NO
  24. PE Size 0
  25. Total PE 0
  26. Free PE 0
  27. Allocated PE 0
  28. PV UUID G6mlYu-mL9o-JSwU-NRft-ZLQu-Sgpv-m0mczx
  29. "/dev/sdb2" is a new physical volume of "6.13 GiB"
  30. --- NEW Physical volume ---
  31. PV Name /dev/sdb2
  32. VG Name
  33. PV Size 6.13 GiB
  34. Allocatable NO
  35. PE Size 0
  36. Total PE 0
  37. Free PE 0
  38. Allocated PE 0
  39. PV UUID v2PNzU-aFwG-RUfV-N3Oo-CVyZ-6dFn-ZVWypd
  40. "/dev/sdb3" is a new physical volume of "6.13 GiB"
  41. --- NEW Physical volume ---
  42. PV Name /dev/sdb3
  43. VG Name
  44. PV Size 6.13 GiB
  45. Allocatable NO
  46. PE Size 0
  47. Total PE 0
  48. Free PE 0
  49. Allocated PE 0
  50. PV UUID Y3ou2R-zugI-dPLJ-nZzk-EgQe-3Fwt-jHm8DL

这样三个pv就创建好了。

VG阶段

vg相关命令:

和pv不一样,vg是自己指定名字,而pv是使用分区的名字。
vgcreate [-s N[mgt]] VG名称 PV名称
-s :后面接 PE 的大小 (size) ,单位可以是 m, g, t (大小写均可)

  1. [root@gy-vm03 ~]# vgcreate -s 16M ggyy /dev/sdb{1,2}
  2. Volume group "ggyy" successfully created
  3. [root@gy-vm03 ~]# vgscan
  4. Reading all physical volumes. This may take a while...
  5. Found volume group "ggyy" using metadata type lvm2
  6. [root@gy-vm03 ~]# pvs
  7. PV VG Fmt Attr PSize PFree
  8. /dev/sdb1 ggyy lvm2 a-- 6.12g 6.12g
  9. /dev/sdb2 ggyy lvm2 a-- 6.12g 6.12g
  10. /dev/sdb3 lvm2 --- 6.13g 6.13g
  11. [root@gy-vm03 ~]# vgdisplay
  12. --- Volume group ---
  13. VG Name ggyy
  14. System ID
  15. Format lvm2
  16. Metadata Areas 2
  17. Metadata Sequence No 1
  18. VG Access read/write
  19. VG Status resizable
  20. MAX LV 0
  21. Cur LV 0
  22. Open LV 0
  23. Max PV 0
  24. Cur PV 2
  25. Act PV 2
  26. VG Size 12.25 GiB
  27. PE Size 16.00 MiB
  28. Total PE 784
  29. Alloc PE / Size 0 / 0
  30. Free PE / Size 784 / 12.25 GiB
  31. VG UUID floxh7-Hexi-7WHJ-ZMwI-Ej0l-RFDy-V32p1u

这里我创建了一个名为ggyy的vg,并且只使用了sdb1和sdb2两个分区。接下里,我们把sdb3也加进来,并移除sdb2

  1. [root@gy-vm03 ~]# vgextend ggyy /dev/sdb3
  2. Volume group "ggyy" successfully extended
  3. [root@gy-vm03 ~]# vgs
  4. VG #PV #LV #SN Attr VSize VFree
  5. ggyy 3 0 0 wz--n- 18.38g 18.38g
  6. [root@gy-vm03 ~]# pvs
  7. PV VG Fmt Attr PSize PFree
  8. /dev/sdb1 ggyy lvm2 a-- 6.12g 6.12g
  9. /dev/sdb2 ggyy lvm2 a-- 6.12g 6.12g
  10. /dev/sdb3 ggyy lvm2 a-- 6.12g 6.12g
  11. [root@gy-vm03 ~]# vgdisplay
  12. --- Volume group ---
  13. VG Name ggyy
  14. System ID
  15. Format lvm2
  16. Metadata Areas 3
  17. Metadata Sequence No 2
  18. VG Access read/write
  19. VG Status resizable
  20. MAX LV 0
  21. Cur LV 0
  22. Open LV 0
  23. Max PV 0
  24. Cur PV 3
  25. Act PV 3
  26. VG Size 18.38 GiB
  27. PE Size 16.00 MiB
  28. Total PE 1176
  29. Alloc PE / Size 0 / 0
  30. Free PE / Size 1176 / 18.38 GiB
  31. VG UUID floxh7-Hexi-7WHJ-ZMwI-Ej0l-RFDy-V32p1u
  1. [root@gy-vm03 ~]# vgreduce ggyy /dev/sdb2
  2. Removed "/dev/sdb2" from volume group "ggyy"
  3. [root@gy-vm03 ~]# vgs
  4. VG #PV #LV #SN Attr VSize VFree
  5. ggyy 2 0 0 wz--n- 12.25g 12.25g
  6. [root@gy-vm03 ~]# pvs
  7. PV VG Fmt Attr PSize PFree
  8. /dev/sdb1 ggyy lvm2 a-- 6.12g 6.12g
  9. /dev/sdb2 lvm2 --- 6.13g 6.13g
  10. /dev/sdb3 ggyy lvm2 a-- 6.12g 6.12g
  11. [root@gy-vm03 ~]# vgdisplay
  12. --- Volume group ---
  13. VG Name ggyy
  14. System ID
  15. Format lvm2
  16. Metadata Areas 2
  17. Metadata Sequence No 3
  18. VG Access read/write
  19. VG Status resizable
  20. MAX LV 0
  21. Cur LV 0
  22. Open LV 0
  23. Max PV 0
  24. Cur PV 2
  25. Act PV 2
  26. VG Size 12.25 GiB
  27. PE Size 16.00 MiB
  28. Total PE 784
  29. Alloc PE / Size 0 / 0
  30. Free PE / Size 784 / 12.25 GiB
  31. VG UUID floxh7-Hexi-7WHJ-ZMwI-Ej0l-RFDy-V32p1u

LV阶段

lv相关命令

创建LV命令参数
lvcreate [-L N[mgt]] [-n LV名称] VG名称

  1. -L :后面接容量,容量的单位可以是 M,G,T 等,要注意的是,最小单位为 PE
  2. 因此这个数量必须要是 PE 的倍数,若不相符,系统会自行计算最相近的容量。
  3. -l :后面可以接 PE 的个数,而不是数量。若要这么做,得要自行计算 PE 数。
  4. -n :后面接的就是 LV 的名称

通过vgdisplay我们知道,总共有784个PE,那我们先分200PE给mysql卷

  1. [root@gy-vm03 ~]# lvcreate -l 200 -n mysql ggyy
  2. Logical volume "mysql" created
  3. [root@gy-vm03 ~]# lvdisplay
  4. --- Logical volume ---
  5. LV Path /dev/ggyy/mysql
  6. LV Name mysql
  7. VG Name ggyy
  8. LV UUID ngBzdl-dzGy-htsf-qfcW-US6P-4PGB-XhPew5
  9. LV Write Access read/write
  10. LV Creation host, time gy-vm03, 2017-08-06 15:36:09 +0800
  11. LV Status available
  12. # open 0
  13. LV Size 3.12 GiB
  14. Current LE 200
  15. Segments 1
  16. Allocation inherit
  17. Read ahead sectors auto
  18. - currently set to 256
  19. Block device 253:0

然后在创建一个5G lv

  1. [root@gy-vm03 ~]# vgdisplay
  2. --- Volume group ---
  3. VG Name ggyy
  4. System ID
  5. Format lvm2
  6. Metadata Areas 2
  7. Metadata Sequence No 4
  8. VG Access read/write
  9. VG Status resizable
  10. MAX LV 0
  11. Cur LV 1
  12. Open LV 0
  13. Max PV 0
  14. Cur PV 2
  15. Act PV 2
  16. VG Size 12.25 GiB
  17. PE Size 16.00 MiB
  18. Total PE 784
  19. Alloc PE / Size 200 / 3.12 GiB
  20. Free PE / Size 584 / 9.12 GiB
  21. VG UUID floxh7-Hexi-7WHJ-ZMwI-Ej0l-RFDy-V32p1u
  22. [root@gy-vm03 ~]# lvcreate -L 5G -n mongo ggyy
  23. Logical volume "mongo" created
  24. [root@gy-vm03 ~]# lvs
  25. LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
  26. mongo ggyy -wi-a----- 5.00g
  27. mysql ggyy -wi-a----- 3.12g
  28. [root@gy-vm03 ~]# lvdisplay
  29. --- Logical volume ---
  30. LV Path /dev/ggyy/mysql
  31. LV Name mysql
  32. VG Name ggyy
  33. LV UUID ngBzdl-dzGy-htsf-qfcW-US6P-4PGB-XhPew5
  34. LV Write Access read/write
  35. LV Creation host, time gy-vm03, 2017-08-06 15:36:09 +0800
  36. LV Status available
  37. # open 0
  38. LV Size 3.12 GiB
  39. Current LE 200
  40. Segments 1
  41. Allocation inherit
  42. Read ahead sectors auto
  43. - currently set to 256
  44. Block device 253:0
  45. --- Logical volume ---
  46. LV Path /dev/ggyy/mongo
  47. LV Name mongo
  48. VG Name ggyy
  49. LV UUID 63E9Qe-LnbQ-fdUf-ifnb-x9Rn-TqXl-sNjdiS
  50. LV Write Access read/write
  51. LV Creation host, time gy-vm03, 2017-08-06 15:38:50 +0800
  52. LV Status available
  53. # open 0
  54. LV Size 5.00 GiB
  55. Current LE 320
  56. Segments 1
  57. Allocation inherit
  58. Read ahead sectors auto
  59. - currently set to 256
  60. Block device 253:1

格式化分区,挂载

  1. [root@gy-vm03 ~]# mkfs.ext4 /dev/ggyy/mysql
  2. mke2fs 1.41.12 (17-May-2010)
  3. Filesystem label=
  4. OS type: Linux
  5. Block size=4096 (log=2)
  6. Fragment size=4096 (log=2)
  7. Stride=0 blocks, Stripe width=0 blocks
  8. 204800 inodes, 819200 blocks
  9. 40960 blocks (5.00%) reserved for the super user
  10. First data block=0
  11. Maximum filesystem blocks=838860800
  12. 25 block groups
  13. 32768 blocks per group, 32768 fragments per group
  14. 8192 inodes per group
  15. Superblock backups stored on blocks:
  16. 32768, 98304, 163840, 229376, 294912
  17. Writing inode tables: done
  18. Creating journal (16384 blocks): done
  19. Writing superblocks and filesystem accounting information: done
  20. This filesystem will be automatically checked every 23 mounts or
  21. 180 days, whichever comes first. Use tune2fs -c or -i to override.
  22. [root@gy-vm03 ~]# mkfs.ext4 /dev/ggyy/mongo
  23. mke2fs 1.41.12 (17-May-2010)
  24. Filesystem label=
  25. OS type: Linux
  26. Block size=4096 (log=2)
  27. Fragment size=4096 (log=2)
  28. Stride=0 blocks, Stripe width=0 blocks
  29. 327680 inodes, 1310720 blocks
  30. 65536 blocks (5.00%) reserved for the super user
  31. First data block=0
  32. Maximum filesystem blocks=1342177280
  33. 40 block groups
  34. 32768 blocks per group, 32768 fragments per group
  35. 8192 inodes per group
  36. Superblock backups stored on blocks:
  37. 32768, 98304, 163840, 229376, 294912, 819200, 884736
  38. Writing inode tables: done
  39. Creating journal (32768 blocks): done
  40. Writing superblocks and filesystem accounting information: done
  41. This filesystem will be automatically checked every 23 mounts or
  42. 180 days, whichever comes first. Use tune2fs -c or -i to override.
  43. [root@gy-vm03 ~]# mkdir /mysql
  44. [root@gy-vm03 ~]# mkdir /mongo
  45. [root@gy-vm03 ~]# mount /dev/ggyy/mysql /mysql
  46. [root@gy-vm03 ~]# mount /dev/ggyy/mongo /mongo/
  47. [root@gy-vm03 ~]# df -ah
  48. Filesystem Size Used Avail Use% Mounted on
  49. /dev/sda2 18G 2.9G 14G 18% /
  50. proc 0 0 0 - /proc
  51. sysfs 0 0 0 - /sys
  52. devpts 0 0 0 - /dev/pts
  53. tmpfs 491M 0 491M 0% /dev/shm
  54. /dev/sda1 283M 28M 240M 11% /boot
  55. none 0 0 0 - /proc/sys/fs/binfmt_misc
  56. vmware-vmblock 0 0 0 - /var/run/vmblock-fuse
  57. /dev/mapper/ggyy-mysql
  58. 3.1G 4.7M 2.9G 1% /mysql
  59. /dev/mapper/ggyy-mongo
  60. 4.8G 10M 4.6G 1% /mongo

lv 扩容和缩减

如果这个时候mysql的容量不够用了,那我们对其进行扩容操作

  1. [root@gy-vm03 ~]# lvresize -L +2G /dev/ggyy/mysql
  2. Size of logical volume ggyy/mysql changed from 3.12 GiB (200 extents) to 5.12 GiB (328 extents).
  3. Logical volume mysql successfully resized
  4. [root@gy-vm03 ~]# lvdisplay
  5. --- Logical volume ---
  6. LV Path /dev/ggyy/mysql
  7. LV Name mysql
  8. VG Name ggyy
  9. LV UUID ngBzdl-dzGy-htsf-qfcW-US6P-4PGB-XhPew5
  10. LV Write Access read/write
  11. LV Creation host, time gy-vm03, 2017-08-06 15:36:09 +0800
  12. LV Status available
  13. # open 1
  14. LV Size 5.12 GiB
  15. Current LE 328
  16. Segments 1
  17. Allocation inherit
  18. Read ahead sectors auto
  19. - currently set to 256
  20. Block device 253:0
  21. --- Logical volume ---
  22. LV Path /dev/ggyy/mongo
  23. LV Name mongo
  24. VG Name ggyy
  25. LV UUID 63E9Qe-LnbQ-fdUf-ifnb-x9Rn-TqXl-sNjdiS
  26. LV Write Access read/write
  27. LV Creation host, time gy-vm03, 2017-08-06 15:38:50 +0800
  28. LV Status available
  29. # open 1
  30. LV Size 5.00 GiB
  31. Current LE 320
  32. Segments 1
  33. Allocation inherit
  34. Read ahead sectors auto
  35. - currently set to 256
  36. Block device 253:1
  37. [root@gy-vm03 ~]# df -ah
  38. Filesystem Size Used Avail Use% Mounted on
  39. /dev/sda2 18G 2.9G 14G 18% /
  40. proc 0 0 0 - /proc
  41. sysfs 0 0 0 - /sys
  42. devpts 0 0 0 - /dev/pts
  43. tmpfs 491M 0 491M 0% /dev/shm
  44. /dev/sda1 283M 28M 240M 11% /boot
  45. none 0 0 0 - /proc/sys/fs/binfmt_misc
  46. vmware-vmblock 0 0 0 - /var/run/vmblock-fuse
  47. /dev/mapper/ggyy-mysql
  48. 3.1G 4.7M 2.9G 1% /mysql
  49. /dev/mapper/ggyy-mongo
  50. 4.8G 10M 4.6G 1% /mongo

通过lvresize,成功的对lv进行了扩容,而且,我们的 LVM 可以线上直接处理,并不需要特别给他 umount,但是文件系统却没有相对添加,这个时候就需要使用 resize2fs来处理一下
resize2fs [-f] [device] [size]
选项与参数:
-f :强制进行 resize 的动作
[device]:装置的文件名称
[size] :可以加也可以不加。如果加上 size 的话,那么就必须要给予一个单位,譬如 M, G 等等。如果没有 size 的话,那么默认使用整个 partition的容量来处理

  1. [root@gy-vm03 ~]# resize2fs /dev/ggyy/mysql
  2. resize2fs 1.41.12 (17-May-2010)
  3. Filesystem at /dev/ggyy/mysql is mounted on /mysql; on-line resizing required
  4. old desc_blocks = 1, new_desc_blocks = 1
  5. Performing an on-line resize of /dev/ggyy/mysql to 1343488 (4k) blocks.
  6. The filesystem on /dev/ggyy/mysql is now 1343488 blocks long.
  7. [root@gy-vm03 ~]# df -ah
  8. Filesystem Size Used Avail Use% Mounted on
  9. /dev/sda2 18G 2.9G 14G 18% /
  10. proc 0 0 0 - /proc
  11. sysfs 0 0 0 - /sys
  12. devpts 0 0 0 - /dev/pts
  13. tmpfs 491M 0 491M 0% /dev/shm
  14. /dev/sda1 283M 28M 240M 11% /boot
  15. none 0 0 0 - /proc/sys/fs/binfmt_misc
  16. vmware-vmblock 0 0 0 - /var/run/vmblock-fuse
  17. /dev/mapper/ggyy-mysql
  18. 5.0G 6.3M 4.8G 1% /mysql
  19. /dev/mapper/ggyy-mongo
  20. 4.8G 10M 4.6G 1% /mongo

缩减lv容量
注意事项
不能在线缩减,得先卸载切记
确保缩减后的空间大小依然能存储原有的所有数据 在缩减之前应该先强行检查文件,以确保文件系统处于一至性状态

将mongo分区缩减到2G

  1. [root@gy-vm03 ~]# umount /dev/ggyy/mongo
  2. [root@gy-vm03 ~]# df -ah
  3. Filesystem Size Used Avail Use% Mounted on
  4. /dev/sda2 18G 2.9G 14G 18% /
  5. proc 0 0 0 - /proc
  6. sysfs 0 0 0 - /sys
  7. devpts 0 0 0 - /dev/pts
  8. tmpfs 491M 0 491M 0% /dev/shm
  9. /dev/sda1 283M 28M 240M 11% /boot
  10. none 0 0 0 - /proc/sys/fs/binfmt_misc
  11. vmware-vmblock 0 0 0 - /var/run/vmblock-fuse
  12. /dev/mapper/ggyy-mysql
  13. 5.0G 6.3M 4.8G 1% /mysql
  14. [root@gy-vm03 ~]# e2fsck -f /dev/ggyy/mongo
  15. e2fsck 1.41.12 (17-May-2010)
  16. Pass 1: Checking inodes, blocks, and sizes
  17. Pass 2: Checking directory structure
  18. Pass 3: Checking directory connectivity
  19. Pass 4: Checking reference counts
  20. Pass 5: Checking group summary information
  21. /dev/ggyy/mongo: 11/327680 files (0.0% non-contiguous), 55902/1310720 blocks
  22. # 先将文件系统缩减到2G
  23. [root@gy-vm03 ~]# resize2fs /dev/ggyy/mongo 2G
  24. resize2fs 1.41.12 (17-May-2010)
  25. Resizing the filesystem on /dev/ggyy/mongo to 524288 (4k) blocks.
  26. The filesystem on /dev/ggyy/mongo is now 524288 blocks long.
  27. [root@gy-vm03 ~]# lvresize -L -3G /dev/ggyy/mongo
  28. WARNING: Reducing active logical volume to 2.00 GiB
  29. THIS MAY DESTROY YOUR DATA (filesystem etc.)
  30. Do you really want to reduce mongo? [y/n]: y
  31. Size of logical volume ggyy/mongo changed from 5.00 GiB (320 extents) to 2.00 GiB (128 extents).
  32. Logical volume mongo successfully resized
  33. [root@gy-vm03 ~]# lvs
  34. LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
  35. mongo ggyy -wi-a----- 2.00g
  36. mysql ggyy -wi-ao---- 5.12g
  37. [root@gy-vm03 ~]# mount /dev/ggyy/mongo /mongo
  38. [root@gy-vm03 ~]# df -ah
  39. Filesystem Size Used Avail Use% Mounted on
  40. /dev/sda2 18G 2.9G 14G 18% /
  41. proc 0 0 0 - /proc
  42. sysfs 0 0 0 - /sys
  43. devpts 0 0 0 - /dev/pts
  44. tmpfs 491M 0 491M 0% /dev/shm
  45. /dev/sda1 283M 28M 240M 11% /boot
  46. none 0 0 0 - /proc/sys/fs/binfmt_misc
  47. vmware-vmblock 0 0 0 - /var/run/vmblock-fuse
  48. /dev/mapper/ggyy-mysql
  49. 5.0G 6.3M 4.8G 1% /mysql
  50. /dev/mapper/ggyy-mongo
  51. 1.9G 7.5M 1.8G 1% /mongo
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注