使用Linux好久了,一定会意识到一个问题,某个分区容量不够用了,想要扩容怎么办?这里就涉及到LVM逻辑卷的管理了,可以动态调整Linux分区容量。


LVM 概述

全称Logical Volume Manager,可以动态调整磁盘容量,提高磁盘管理灵活性。

在安装CentOS 7的过程中选择自动分区时,默认就是以LVM的方案安装的系统。

但是/boot分区必须独立出来,不能基于LVM创建。

PV 物理卷

物理卷,Physical Volume,是LVM机制的基本存储设备,通常对应一个普通分区或是整个硬盘。

创建物理卷时,会在分区或磁盘头部创建一个用于记录LVM属性的保留区块,并把存储空间分割成默认大小为4MB的基本单元(Physical Extend,PE),从而构成物理卷。

普通分区先转换分区类型为8e;整块硬盘,可以将所有的空间划分为一个主分区再做调整。

VG 卷组

卷组,Volume Group,是由一个或多个物理卷组成的一个整体。可以动态添加、移除物理卷,创建时可以指定PE大小。

LV 逻辑卷

逻辑卷,Logical Volume,建立在卷组之上,与物理卷没有直接关系。格式化后,即可挂载使用。

三者关系

通过以上对三者的解释可以看出,建立LVM的过程。首先,将普通分区或整个硬盘创建为物理卷;然后,将一个或多个物理卷创建为卷组;最后,在卷组上分割不同的数据存储空间形成逻辑卷。有了逻辑卷,就可以格式化、挂载使用了。


LVM 管理

LVM 常用命令

功能 PV 管理命令 VG 管理命令 LV 管理命令
Scan(扫描) pvscan vgscan lvscan
Create(建立) pvcreate vgcreate lvcreate
Display(显示) pvdisplay vgdisplay lvdisplay
Remove(移除) pvremove vgremove lvremove
Extend(扩展) / vgextend lvextend
Reduce(减少) / vgreduce lvreduce

PV 管理

pvsacn

  • 扫描列出系统中所有的物理卷

-e:仅显示属于输出卷组的物理卷

-n:仅显示不属于任何卷组的物理卷

  1. [root@localhost ~]# pvscan
  2. PV /dev/sda2 VG centos lvm2 [<19.00 GiB / 0 free]
  3. PV /dev/sdb1 lvm2 [<20.00 GiB]
  4. PV /dev/sdc1 lvm2 [<20.00 GiB]
  5. Total: 3 [58.99 GiB] / in use: 1 [<19.00 GiB] / in no VG: 2 [<40.00 GiB]

pvcreate

  • 将分区或整个硬盘转换成物理卷
  1. [root@localhost ~]# pvcreate /dev/sd{b,c}1
  2. Physical volume "/dev/sdb1" successfully created.
  3. Physical volume "/dev/sdc1" successfully created.

pvdisplay

  • 显示物理卷的详细信息
  1. [root@localhost ~]# pvdisplay
  2. --- Physical volume ---
  3. PV Name /dev/sda2
  4. VG Name centos
  5. PV Size <19.00 GiB / not usable 3.00 MiB
  6. Allocatable yes (but full)
  7. PE Size 4.00 MiB
  8. Total PE 4863
  9. Free PE 0
  10. Allocated PE 4863
  11. PV UUID E4eovQ-CgPo-OSDK-75MO-BfD8-pGsP-BUlqip
  12. "/dev/sdb1" is a new physical volume of "<20.00 GiB"
  13. --- NEW Physical volume ---
  14. PV Name /dev/sdb1
  15. VG Name
  16. PV Size <20.00 GiB
  17. Allocatable NO
  18. PE Size 0
  19. Total PE 0
  20. Free PE 0
  21. Allocated PE 0
  22. PV UUID gR5mm3-f50o-XLTq-34GY-n6Iz-WXkQ-uMZAkJ
  23. "/dev/sdc1" is a new physical volume of "<20.00 GiB"
  24. --- NEW Physical volume ---
  25. PV Name /dev/sdc1
  26. VG Name
  27. PV Size <20.00 GiB
  28. Allocatable NO
  29. PE Size 0
  30. Total PE 0
  31. Free PE 0
  32. Allocated PE 0
  33. PV UUID O2gKxa-ONts-kyXK-zZrO-3dDg-FhtI-V6GPy9

pvremove

  • 删除指定的物理卷,还原成普通分区或磁盘

TIPS:只有不属于卷组的物理卷才可以删除还原。

  1. [root@localhost ~]# pvremove /dev/sdd1
  2. Labels on physical volume "/dev/sdd1" successfully wiped.

VG 管理

vgscan

  • 扫描系统中已建立的LVM卷组
  1. [root@localhost ~]# vgscan
  2. Reading volume groups from cache.
  3. Found volume group "class" using metadata type lvm2
  4. Found volume group "centos" using metadata type lvm2

vgcreate

  • 将一个或多个物理卷创建为一个卷组

-l:卷组上允许创建的最大逻辑卷数

-p:卷组中允许添加的最大物理卷数

-s:卷组上的物理卷的PE大小

  1. [root@localhost ~]# vgcreate class /dev/sd{b,c}1
  2. Volume group "class" successfully created

vgdisplay

  • 显示系统中各卷组的详细信息
  1. [root@localhost ~]# vgdisplay
  2. --- Volume group ---
  3. VG Name class
  4. System ID
  5. Format lvm2
  6. Metadata Areas 2
  7. Metadata Sequence No 1
  8. VG Access read/write
  9. VG Status resizable
  10. MAX LV 0
  11. Cur LV 0
  12. Open LV 0
  13. Max PV 0
  14. Cur PV 2
  15. Act PV 2
  16. VG Size 39.99 GiB
  17. PE Size 4.00 MiB
  18. Total PE 10238
  19. Alloc PE / Size 0 / 0
  20. Free PE / Size 10238 / 39.99 GiB
  21. VG UUID ZtQvGX-YOdy-U8wj-mGQs-TT1e-1PBR-dBNKAG
  22. --- Volume group ---
  23. VG Name centos
  24. System ID
  25. Format lvm2
  26. Metadata Areas 1
  27. Metadata Sequence No 3
  28. VG Access read/write
  29. VG Status resizable
  30. MAX LV 0
  31. Cur LV 2
  32. Open LV 2
  33. Max PV 0
  34. Cur PV 1
  35. Act PV 1
  36. VG Size <19.00 GiB
  37. PE Size 4.00 MiB
  38. Total PE 4863
  39. Alloc PE / Size 4863 / <19.00 GiB
  40. Free PE / Size 0 / 0
  41. VG UUID bLPJGb-SQQ3-KcUb-OSdo-qaMR-9hJE-MTkc7a

vgremove

  • 删除指定的卷组

TIPS:卷组下面的逻辑卷没有被挂载使用,卷组删除时会一并删除下面的逻辑卷。

  1. [root@localhost ~]# vgremove class
  2. Volume group "class" successfully removed

vgextend

  • 添加新的物理卷,动态扩展卷组的磁盘空间
  1. [root@localhost ~]# vgextend class /dev/sdd1
  2. Volume group "class" successfully extended

vgreduce

  • 删除卷组中的物理卷,减少卷组容量,

-a:如果命令行中没有指定要删除的物理卷,则删除所有的空物理卷。(all)

TIPS:删除啊前确保对应的物理卷没有在使用,就是下面没有逻辑卷,否则删除不了。

  1. [root@localhost ~]# vgreduce class /dev/sdd1
  2. Removed "/dev/sdd1" from volume group "class"
  1. [root@localhost ~]# vgreduce -a class
  2. Physical volume "/dev/sdb1" still in use
  3. Physical volume "/dev/sdc1" still in use
  4. Removed "/dev/sdd1" from volume group "class"

LV 管理

lvscan

  • 扫描系统中已建立的LVM逻辑卷
  1. [root@localhost ~]# lvscan
  2. ACTIVE '/dev/class/stu01' [25.00 GiB] inherit
  3. ACTIVE '/dev/class/stu02' [14.99 GiB] inherit
  4. ACTIVE '/dev/centos/swap' [2.00 GiB] inherit
  5. ACTIVE '/dev/centos/root' [<17.00 GiB] inherit

lvcreate

  • 从指定的卷组中分割空间,创建新的逻辑卷

-L:指定逻辑卷的大小,单位为KMGT

-l:指定百分比创建,如50%vg卷组的一半空间、100%free所有剩下的。

-n:指定逻辑卷的名称

  1. [root@localhost ~]# lvcreate -L 15G -n stu01 class
  2. Logical volume "stu01" created.
  1. [root@localhost ~]# lvcreate -l 100%free -n stu02 class
  2. Logical volume "stu02" created.

lvdisplay

  • 显示逻辑卷的详细信息
  1. [root@localhost ~]# lvdisplay
  2. --- Logical volume ---
  3. LV Path /dev/class/stu01
  4. LV Name stu01
  5. VG Name class
  6. LV UUID XUP7dq-IM9f-PdKk-XpDH-J1hx-kkuB-cOu3Qx
  7. LV Write Access read/write
  8. LV Creation host, time localhost.localdomain, 2019-08-24 09:42:35 +0800
  9. LV Status available
  10. # open 0
  11. LV Size 25.00 GiB
  12. Current LE 6400
  13. Segments 2
  14. Allocation inherit
  15. Read ahead sectors auto
  16. - currently set to 8192
  17. Block device 253:2
  18. --- Logical volume ---
  19. LV Path /dev/class/stu02
  20. LV Name stu02
  21. VG Name class
  22. LV UUID P7iMC1-X0oT-6TCH-vLYj-HW2j-6QMu-rS7Jyp
  23. LV Write Access read/write
  24. LV Creation host, time localhost.localdomain, 2019-08-24 09:59:30 +0800
  25. LV Status available
  26. # open 0
  27. LV Size 14.99 GiB
  28. Current LE 3838
  29. Segments 1
  30. Allocation inherit
  31. Read ahead sectors auto
  32. - currently set to 8192
  33. Block device 253:3
  34. --- Logical volume ---
  35. LV Path /dev/centos/swap
  36. LV Name swap
  37. VG Name centos
  38. LV UUID NXiaXT-T6yv-ktM2-plyS-j6Hg-hkvu-1JQ2eL
  39. LV Write Access read/write
  40. LV Creation host, time localhost, 2019-08-16 17:12:19 +0800
  41. LV Status available
  42. # open 2
  43. LV Size 2.00 GiB
  44. Current LE 512
  45. Segments 1
  46. Allocation inherit
  47. Read ahead sectors auto
  48. - currently set to 8192
  49. Block device 253:1
  50. --- Logical volume ---
  51. LV Path /dev/centos/root
  52. LV Name root
  53. VG Name centos
  54. LV UUID 7FnsfT-B8xi-3vgu-8N0k-nzNn-8Rra-eoE4iC
  55. LV Write Access read/write
  56. LV Creation host, time localhost, 2019-08-16 17:12:19 +0800
  57. LV Status available
  58. # open 1
  59. LV Size <17.00 GiB
  60. Current LE 4351
  61. Segments 1
  62. Allocation inherit
  63. Read ahead sectors auto
  64. - currently set to 8192
  65. Block device 253:0

lvremove

  • 删除指定的逻辑卷

TIPS:备份数据,解挂载,删除。

  1. [root@localhost ~]# umount /mnt/stu02/
  2. [root@localhost ~]# lvremove /dev/class/stu02

lvextend

  • 动态扩展LVM逻辑卷的空间大小

-L:指定扩展逻辑卷的大小,单位为KMGT

-l:指定百分比扩建,如100%free所有剩下的。

  1. [root@localhost ~]# lvextend -L +8G /dev/class/stu01
  2. [root@localhost ~]# lvextend -L +8G /dev/class/stu02

TIPS:已挂载,使用在线调整大小,xfs使用xfs_growfsext4使用resize2fs

  1. [root@localhost ~]# xfs_growfs /dev/class/stu01
  2. [root@localhost ~]# resize2fs /dev/class/stu02

lvreduce

  • 减少LVM逻辑卷的空间大小,

-L:指定逻辑卷的大小,单位为KMGT

TIPS:对于xfs文件系统,备份数据,解挂载,减少空间,强制格式化,重新挂载。需要注意xfs文件系统只能扩大,不能缩小,非要缩小的话,只有缩小后并强制格式化,但这么做数据就丢失了。

  1. [root@localhost ~]# umount /mnt/stu01/
  2. [root@localhost ~]# lvreduce -L -10G /dev/class/stu01
  3. [root@localhost ~]# mkfs.xfs -f /dev/class/stu01
  4. [root@localhost ~]# mount -a
  5. [root@localhost ~]# df -hT

TIPS:对于ext4这类文件系统,备份数据,解挂载,e2fsck -f检查文件系统完整性,resize2fs设置文件系统大小,lvreduce设置逻辑卷大小,重新挂载。

  1. [root@localhost ~]# umount /mnt/stu02/
  2. [root@localhost ~]# e2fsck -f /dev/class/stu02
  3. [root@localhost ~]# resize2fs /dev/class/stu02 10G
  4. [root@localhost ~]# lvreduce -L 10G /dev/class/stu02
  5. [root@localhost ~]# mount -a
  6. [root@localhost ~]# df -hT

LVM 实验

创建 LVM 逻辑卷

1.添加两块20G的磁盘,重启机器,并对其进行分区,全部空间分为一个主分区,类型改为Linux LVM,ID为8e。分区过程省略,不清楚可参考上一篇博客

  1. [root@localhost ~]# fdisk -l /dev/sd{b,c} | grep -i "linux lvm"
  2. /dev/sdb1 2048 41943039 20970496 8e Linux LVM
  3. /dev/sdc1 2048 41943039 20970496 8e Linux LVM

2.将/dev/sdb1/dev/sdc1转换为物理卷。

  1. [root@localhost ~]# pvcreate /dev/sd{b,c}1
  2. Physical volume "/dev/sdb1" successfully created.
  3. Physical volume "/dev/sdc1" successfully created.

3.创建名称为class的卷组,并将sdb1sdc1添加进卷组。

  1. [root@localhost ~]# vgcreate class /dev/sd{b,c}1
  2. Volume group "class" successfully created

4.划分大小为15G,名称为stu01的逻辑卷,然后再扩容10G;剩下的空间创建名称为stu02的逻辑卷。

  1. [root@localhost ~]# lvcreate -L 15G -n stu01 class
  2. Logical volume "stu01" created.
  3. [root@localhost ~]# lvextend -L +10G /dev/class/stu01
  4. Size of logical volume class/stu01 changed from 15.00 GiB (3840 extents) to 25.00 GiB (6400 extents).
  5. Logical volume class/stu01 successfully resized.
  1. [root@localhost ~]# lvcreate -l 100%free -n stu02 class
  2. Logical volume "stu02" created.

5.格式化逻辑卷,stu01xfsstu02ext4,设置自动挂载,挂载后就可以使用了。

  1. [root@localhost ~]# mkfs.xfs /dev/class/stu01
  2. meta-data=/dev/class/stu01 isize=512 agcount=4, agsize=1638400 blks
  3. = sectsz=512 attr=2, projid32bit=1
  4. = crc=1 finobt=0, sparse=0
  5. data = bsize=4096 blocks=6553600, imaxpct=25
  6. = sunit=0 swidth=0 blks
  7. naming =version 2 bsize=4096 ascii-ci=0 ftype=1
  8. log =internal log bsize=4096 blocks=3200, version=2
  9. = sectsz=512 sunit=0 blks, lazy-count=1
  10. realtime =none extsz=4096 blocks=0, rtextents=0
  1. [root@localhost ~]# mkfs.ext4 /dev/class/stu02
  2. mke2fs 1.42.9 (28-Dec-2013)
  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. 983040 inodes, 3930112 blocks
  9. 196505 blocks (5.00%) reserved for the super user
  10. First data block=0
  11. Maximum filesystem blocks=2151677952
  12. 120 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, 819200, 884736, 1605632, 2654208
  17. Allocating group tables: done
  18. Writing inode tables: done
  19. Creating journal (32768 blocks): done
  20. Writing superblocks and filesystem accounting information: done
  1. [root@localhost ~]# mkdir /mnt/stu0{1,2}
  2. [root@localhost ~]# vim /etc/fstab
  3. //最后面添加下面两行内容
  4. /dev/class/stu01 /mnt/stu01 xfs defaults 0 0
  5. /dev/class/stu02 /mnt/stu02 ext4 defaults 0 0
  1. [root@localhost ~]# mount -a
  2. [root@localhost ~]# df -hT
  3. Filesystem Type Size Used Avail Use% Mounted on
  4. /dev/mapper/centos-root xfs 17G 927M 17G 6% /
  5. devtmpfs devtmpfs 901M 0 901M 0% /dev
  6. tmpfs tmpfs 912M 0 912M 0% /dev/shm
  7. tmpfs tmpfs 912M 8.7M 904M 1% /run
  8. tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
  9. /dev/sda1 xfs 1014M 143M 872M 15% /boot
  10. tmpfs tmpfs 183M 0 183M 0% /run/user/0
  11. /dev/mapper/class-stu01 xfs 25G 33M 25G 1% /mnt/stu01
  12. /dev/mapper/class-stu02 ext4 15G 41M 14G 1% /mnt/stu02

扩容 LVM 逻辑卷

1.再添加一块20G的磁盘,重启机器,并对其进行分区,全部空间分为一个主分区,类型改为Linux LVM,ID为8e

  1. [root@localhost ~]# fdisk -l /dev/sd{b..d} | grep -i "linux lvm"
  2. /dev/sdb1 2048 41943039 20970496 8e Linux LVM
  3. /dev/sdc1 2048 41943039 20970496 8e Linux LVM
  4. /dev/sdd1 2048 41943039 20970496 8e Linux LVM

2.将/dev/sdd1转换为物理卷。

  1. [root@localhost ~]# pvcreate /dev/sdd1
  2. Physical volume "/dev/sdd1" successfully created.

3.若是卷组剩余空间不够,就要先对class卷组进行扩容。

  1. [root@localhost ~]# vgdisplay class
  2. --- Volume group ---
  3. VG Name class
  4. System ID
  5. Format lvm2
  6. Metadata Areas 2
  7. Metadata Sequence No 6
  8. VG Access read/write
  9. VG Status resizable
  10. MAX LV 0
  11. Cur LV 2
  12. Open LV 2
  13. Max PV 0
  14. Cur PV 2
  15. Act PV 2
  16. VG Size 39.99 GiB
  17. PE Size 4.00 MiB
  18. Total PE 10238
  19. Alloc PE / Size 10238 / 39.99 GiB
  20. Free PE / Size 0 / 0
  21. VG UUID iB1h9h-2uQa-rD7o-GBVK-pOCA-ek2c-TXieLr
  1. [root@localhost ~]# vgextend class /dev/sdd1
  2. Volume group "class" successfully extended
  1. [root@localhost ~]# vgdisplay class
  2. --- Volume group ---
  3. VG Name class
  4. System ID
  5. Format lvm2
  6. Metadata Areas 3
  7. Metadata Sequence No 7
  8. VG Access read/write
  9. VG Status resizable
  10. MAX LV 0
  11. Cur LV 2
  12. Open LV 2
  13. Max PV 0
  14. Cur PV 3
  15. Act PV 3
  16. VG Size <59.99 GiB
  17. PE Size 4.00 MiB
  18. Total PE 15357
  19. Alloc PE / Size 10238 / 39.99 GiB
  20. Free PE / Size 5119 / <20.00 GiB
  21. VG UUID iB1h9h-2uQa-rD7o-GBVK-pOCA-ek2c-TXieLr

4.对stu01stu02都扩容8G,分别使用xfs_growfsresize2fs在线调整大小。

  1. [root@localhost ~]# lvextend -L +8G /dev/class/stu01
  2. Size of logical volume class/stu01 changed from 25.00 GiB (6400 extents) to 33.00 GiB (8448 extents).
  3. Logical volume class/stu01 successfully resized.
  1. [root@localhost ~]# lvextend -L +8G /dev/class/stu02
  2. Size of logical volume class/stu02 changed from 14.99 GiB (3838 extents) to 22.99 GiB (5886 extents).
  3. Logical volume class/stu02 successfully resized.
  1. [root@localhost ~]# xfs_growfs /dev/class/stu01
  2. meta-data=/dev/mapper/class-stu01 isize=512 agcount=4, agsize=1638400 blks
  3. = sectsz=512 attr=2, projid32bit=1
  4. = crc=1 finobt=0 spinodes=0
  5. data = bsize=4096 blocks=6553600, imaxpct=25
  6. = sunit=0 swidth=0 blks
  7. naming =version 2 bsize=4096 ascii-ci=0 ftype=1
  8. log =internal bsize=4096 blocks=3200, version=2
  9. = sectsz=512 sunit=0 blks, lazy-count=1
  10. realtime =none extsz=4096 blocks=0, rtextents=0
  11. data blocks changed from 6553600 to 8650752
  1. [root@localhost ~]# resize2fs /dev/class/stu02
  2. resize2fs 1.42.9 (28-Dec-2013)
  3. Filesystem at /dev/class/stu02 is mounted on /mnt/stu02; on-line resizing required
  4. old_desc_blocks = 2, new_desc_blocks = 3
  5. The filesystem on /dev/class/stu02 is now 6027264 blocks long.
  1. [root@localhost ~]# df -hT
  2. Filesystem Type Size Used Avail Use% Mounted on
  3. /dev/mapper/centos-root xfs 17G 927M 17G 6% /
  4. devtmpfs devtmpfs 901M 0 901M 0% /dev
  5. tmpfs tmpfs 912M 0 912M 0% /dev/shm
  6. tmpfs tmpfs 912M 8.7M 903M 1% /run
  7. tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
  8. /dev/sda1 xfs 1014M 143M 872M 15% /boot
  9. /dev/mapper/class-stu01 xfs 33G 33M 33G 1% /mnt/stu01
  10. /dev/mapper/class-stu02 ext4 23G 44M 22G 1% /mnt/stu02
  11. tmpfs tmpfs 183M 0 183M 0% /run/user/0

收缩 LVM 逻辑卷

关于收缩 LVM 逻辑卷,可以参考上面的命令lvreduce。这会涉及到数据安全性问题,谨慎使用。


总结

内容不多,但是还要实际操作才能了解。就是三步走,创建物理卷,创建卷组,创建逻辑卷,然后格式化并挂载使用。扩容的话,没有挂载使用,就正常扩,然后格式化挂载,已经挂载使用了,扩容后在线调整生效。还有下一篇关于磁盘配额。

Linux LVM 逻辑卷管理的更多相关文章

  1. Linux 笔记 - 第十七章 Linux LVM 逻辑卷管理器

    一.前言 在实际生产中,有时会遇到磁盘分区空间不足的情况,这时候就需要对磁盘进行扩容,普通情况下需要新加一块磁盘,重分区.格式化.数据复制.卸载旧分区.挂载新分区等繁琐的步骤,而且有可能造成数据的丢失 ...

  2. linux LVM逻辑卷管理

    什么是LVM LVM是逻辑卷管理(Logical Volume Manager)的简称,它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性. ...

  3. LINUX——LVM逻辑卷管理

    LVM: logical volumes manager LVM逻辑卷部署 物理卷—>卷组—>逻辑卷 第一步:关机添加磁盘:两个磁盘可以构成一个磁盘组. 第二步:查看磁盘 # ls /de ...

  4. linux lvm逻辑卷管理之lvdisplay命令

    linux 磁盘管理分fdisk parted 和LVM三种方式,我们这里重点是说lvm 我们来看看LVM基本术语(lvm和传统fdisk分区方式有区别)由于传统的磁盘管理不能对磁盘进行磁盘管理,因此 ...

  5. linux的存储管理(RALD) LVM 逻辑卷管理 虚拟阵列

    磁盘存储管理 LVM 逻辑卷 虚拟阵列 1.Linux系统中 磁盘使用 存在3个大问题: 1.灵活性 2.安全性 3.性能 2.解决办法RAID独立磁盘冗余阵列 RAID(Redundant Arra ...

  6. Linux系统磁盘管理(lvm逻辑卷管理)

    linux系统用户常遇到的一个问题就是如何精准的评估分区的大小,已分配合适的磁盘空间:普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文 ...

  7. 【Linux】LVM 逻辑卷管理

    LVM - 逻辑卷管理 简介 LVM(Logical Volume Manager), 即逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制. 相关名词 PV(physical volume) ...

  8. 『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍

    目录 1.LVM逻辑卷管理的简介 2.LVM逻辑卷管理的原理 3.总结建立LVM分区的步骤 1.LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理. ...

  9. Linux之LVM逻辑卷管理

    LVM逻辑卷管理 LVM机制:PV物理卷,VG卷组,LV逻辑卷. --功能-- --物理卷管理-- --卷组管理-- --逻辑卷管理-- create(建立) pvcreate vgcreate lv ...

随机推荐

  1. invalid argument (errno: 22)

    socket通信示例中,当accept客户端时,经常报这个错误. 并且是第一次没有问题,第二次或后面几次都会出现如下问题, 错误码为22, 错误描述为invalid argument. 问题解决如下: ...

  2. android文件分享在android7.0以上版本报错的解决方案

    最近在使用蓝牙进行文件分享时,出现了一个奇怪的问题.同样的代码在android5.1上可以顺利运行,但是在android7.0上就运行失败.出现如下的错误: Caused by: android.os ...

  3. vue-cli3项目关闭烦人的代码检测

    参考博客:https://blog.csdn.net/e1172090224/article/details/99636767 vue.config.js module.exports = { lin ...

  4. Node.js实现PC端类微信聊天软件(一)

    Github StackChat 技术栈 写这个软件StackChat的主要目的是巩固练习Node和对React的实践,也是为了学习东西,所以选用了这些自己还没在项目里使用过的技术,边学变写 Elec ...

  5. 将SpringCloud Eureka 服务注册与发现部署到docker

    一.前言 最近在学习docker,顺便把之前学习的spring cloud 部署到Docker 中.至于什么是SpringCloud的服务注册与发现,什么是docker,我这里就不作赘述了.可以先去学 ...

  6. RobotFrameWork基本语法练习

    1.基本使用如下图 2.运行日志如下(可对照查看语句输出) Starting test: Test.Test Suite.test_case1 20180810 15:48:58.525 : INFO ...

  7. 修改Jupyter Notebook的默认打开路径

    一: (也可以直接将删除的部分修改成所要存储的文件路径,之后三个步骤就可以省去了) 二: 打开Windows的cmd,在cmd中输入jupyter notebook --generate-config ...

  8. Python之路【第十九篇】:前端CSS

    CSS 一.CSS概述 CSS是Cascading Style Sheets的简称,中文称为层叠式样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离. 学CSS后我们需要掌握的技能: 1. ...

  9. sqoop与hbase导入导出数据

    环境:sqoop1.4.6+hadoop2.6+hbase1.1+mysql5.7 说明: 1.文中的导入导出的表结构借鉴了网上的某篇博客 2.mysql导入hbase可以直接通过sqoop进行 3. ...

  10. ArcGIS Engine开发鹰眼图的功能(代码优化篇)

    在上一篇,ArcGIS Engine开发鹰眼图的功能(基础篇) 上一篇的实现效果图如下, 如果仔细观察,会发现一个问题,即在“鹰眼”的区域,只要在红色线框内的注记会被覆盖. 如果红色框包括整张图的话, ...