2022
我们一起努力

CentOS7 磁盘空间以及文件系统扩容

1、PV VG LV概念

PV,VG,LV构成了一种易于管理拥有一个或多个硬盘的主机的文件系统,这些硬盘可能只有一个分区也可能有多个。通过将这些物理存在的分区(或称为卷)PV(physical volume)进行整合,组成一个分区(卷)组VG(volume group),进而再次进行分配形成逻辑分区(卷)LV(logical volume)。创建成功的逻辑分区对于操作系统来说会想普通分区无异,其好处是可以动态调整分区大小。管理PV,VG,LV的工具称为逻辑卷管理器LVM(logical volume manager)。其关系如下图所示:

2、环境信息

  1. cat/etc/centos-release
  2. CentOSLinuxrelease7.8.2003(Core)

3、查看当前文件系统的空间分配情况

  1. [root@localhost~]#df-h
  2. 文件系统容量已用可用已用%挂载点
  3. devtmpfs1.9G01.9G0%/dev
  4. tmpfs1.9G01.9G0%/dev/shm
  5. tmpfs1.9G8.9M1.9G1%/run
  6. tmpfs1.9G01.9G0%/sys/fs/cgroup
  7. /dev/mapper/centos-root44G4.4G40G10%/
  8. /dev/sda11014M150M865M15%/boot
  9. tmpfs379M0379M0%/run/user/0

可以看到挂载点为根目录的文件系统/dev/mapper/centos-root现在一共是44GB的空间,现在我想新加入一块1TB物理磁盘,将新的磁盘全部挂载到这个文件系统中(44GB+1TB)

4、查看当前磁盘空间

  1. [root@localhost~]#fdisk-l
  2. 磁盘/dev/sda53.7GB,53687091200字节,104857600个扇区
  3. Units=扇区of1*512=512bytes
  4. 扇区大小(逻辑/物理):512字节/512字节
  5. I/O大小(最小/最佳):512字节/512字节
  6. 磁盘标签类型:dos
  7. 磁盘标识符:0x000b638c
  8. 设备BootStartEndBlocksIdSystem
  9. /dev/sda1*20482099199104857683Linux
  10. /dev/sda22099200104857599513792008eLinuxLVM
  11. 磁盘/dev/mapper/centos-root47.2GB,47240445952字节,92266496个扇区
  12. Units=扇区of1*512=512bytes
  13. 扇区大小(逻辑/物理):512字节/512字节
  14. I/O大小(最小/最佳):512字节/512字节
  15. 磁盘/dev/mapper/centos-swap5368MB,5368709120字节,10485760个扇区
  16. Units=扇区of1*512=512bytes
  17. 扇区大小(逻辑/物理):512字节/512字节
  18. I/O大小(最小/最佳):512字节/512字节

目前只有一块物理磁盘sda

4、新增物理磁盘

我使用的是ESXi的虚拟机,现在我给虚拟机新增一块1TB的空磁盘

新增磁盘后返回ssh重新查看磁盘列表信息

  1. [root@localhost~]#fdisk-l
  2. 磁盘/dev/sda53.7GB,53687091200字节,104857600个扇区
  3. Units=扇区of1*512=512bytes
  4. 扇区大小(逻辑/物理):512字节/512字节
  5. I/O大小(最小/最佳):512字节/512字节
  6. 磁盘标签类型:dos
  7. 磁盘标识符:0x000b638c
  8. 设备BootStartEndBlocksIdSystem
  9. /dev/sda1*20482099199104857683Linux
  10. /dev/sda22099200104857599513792008eLinuxLVM
  11. 磁盘/dev/mapper/centos-root47.2GB,47240445952字节,92266496个扇区
  12. Units=扇区of1*512=512bytes
  13. 扇区大小(逻辑/物理):512字节/512字节
  14. I/O大小(最小/最佳):512字节/512字节
  15. 磁盘/dev/mapper/centos-swap5368MB,5368709120字节,10485760个扇区
  16. Units=扇区of1*512=512bytes
  17. 扇区大小(逻辑/物理):512字节/512字节
  18. I/O大小(最小/最佳):512字节/512字节
  19. 磁盘/dev/sdb1099.5GB,1099511627776字节,2147483648个扇区
  20. Units=扇区of1*512=512bytes
  21. 扇区大小(逻辑/物理):512字节/512字节
  22. I/O大小(最小/最佳):512字节/512字节

可以看到此时已经多了一块大小为1099.5 GB名为sdb的新磁盘。

但是现在还无法使用,我们先给它分个区。

5、PV前期准备工作

  1. [root@localhost~]#fdisk/dev/sdb
  2. 欢迎使用fdisk(util-linux2.23.2)。
  3. 更改将停留在内存中,直到您决定将更改写入磁盘。
  4. 使用写入命令前请三思。
  5. Devicedoesnotcontain a recognized partition table
  6. 使用磁盘标识符0xa981a92f创建新的DOS磁盘标签。
  7. 命令(输入m获取帮助):m
  8. 命令操作
  9. a toggle a bootable flag
  10. b edit bsd disklabel
  11. c toggle the dos compatibility flag
  12. ddeletea partition
  13. g create anewempty GPT partition table
  14. G create an IRIX(SGI)partition table
  15. l list known partition types
  16. mprintthismenu
  17. n add anewpartition
  18. o create anewempty DOS partition table
  19. pprintthe partition table
  20. q quit without saving changes
  21. s create anewemptySundisklabel
  22. t change a partition system id
  23. u change display/entry units
  24. v verify the partition table
  25. w write table to diskandexit
  26. x extra functionality(experts only)
  27. 命令(输入m获取帮助):n
  28. Partitiontype:
  29. p primary(0primary,0extended,4free)
  30. e extended
  31. Select(defaultp):p
  32. 分区号(1-4,默认1):1
  33. 起始扇区(2048-2147483647,默认为2048):
  34. 将使用默认值2048
  35. Last扇区,+扇区or+size{
  36. K,M,G}(2048-2147483647,默认为2147483647):
  37. 将使用默认值2147483647
  38. 分区1已设置为Linux类型,大小设为1024GiB
  39. 命令(输入m获取帮助):w
  40. Thepartition table has been altered!
  41. Callingioctl()to re-read partition table.
  42. 正在同步磁盘。

我只划分了一个分区sdb1,可根据自身需求划分多个分区,但需要提前规划好各分区容量。最后不要忘记输入w来保存信息。

现在我们给新分区指定分区类型

  1. [root@localhost~]#fdisk/dev/sdb
  2. 欢迎使用fdisk(util-linux2.23.2)。
  3. 更改将停留在内存中,直到您决定将更改写入磁盘。
  4. 使用写入命令前请三思。
  5. 命令(输入m获取帮助):t
  6. 已选择分区1
  7. Hex代码(输入L列出所有代码):8e
  8. 已将分区“Linux”的类型更改为“LinuxLVM
  9. 命令(输入m获取帮助):w
  10. Thepartition table has been altered!
  11. Callingioctl()to re-read partition table.
  12. 正在同步磁盘。

分区类型:很多,一般描述的是磁盘分区的用途,比如要做逻辑卷和swap分区的需要指定特定的分区类型,没有特殊用途,只是普通作为存储数据的,保持默认的分区类型就可以了。

文件系统:描述的是文件在磁盘里的存储方式,权限定义,i节点分配等功能。
一般情况下,Windows默认的文件系统为:NTSF

REDHAT7默认的文件系统为:XFS

REDHAT6默认的文件系统为:ext4 同样不要忘记w保存


6、格式化PV

现在格式化一下我们新建的sdb1分区

  1. [root@localhost~]#mkfs.ext3/dev/sdb1
  2. mke2fs1.42.9(28-Dec-2013)
  3. Discardingdevice blocks:完成
  4. 文件系统标签=
  5. OS type:Linux
  6. 块大小=4096(log=2)
  7. 分块大小=4096(log=2)
  8. Stride=0blocks,Stripewidth=0blocks
  9. 67108864inodes,268435200blocks
  10. 13421760blocks(5.00%)reservedforthesuperuser
  11. 第一个数据块=0
  12. Maximumfilesystem blocks=4294967296
  13. 8192block groups
  14. 32768blocks pergroup,32768fragments pergroup
  15. 8192inodes pergroup
  16. Superblockbackups stored on blocks:
  17. 32768,98304,163840,229376,294912,819200,884736,1605632,2654208,
  18. 4096000,7962624,11239424,20480000,23887872,71663616,78675968,
  19. 102400000,214990848
  20. Allocatinggrouptables:完成
  21. 正在写入inode表:完成
  22. Creatingjournal(32768blocks):完成
  23. Writingsuperblocksandfilesystem accounting information:完成

7、使用lvm创建PV

  1. [root@localhost~]#lvm pvcreate/dev/sdb1
  2. WARNING:ext3 signature detected on/dev/sdb1 at offset1080.Wipeit?[y/n]:y
  3. Wipingext3 signature on/dev/sdb1.
  4. Physicalvolume"/dev/sdb1"successfully created.

创建好了之后,查看一下现在的pv列表

  1. [root@localhost~]#lvm pvdisplay
  2. ---Physicalvolume---
  3. PVName/dev/sda2
  4. VGNamecentos
  5. PVSize<49.00GiB/notusable3.00MiB
  6. Allocatableyes(but full)
  7. PESize4.00MiB
  8. TotalPE12543
  9. FreePE0
  10. AllocatedPE12543
  11. PV UUID fQgbcS-biIL-kGQT-MU0L-8cpV-Kmv5-6kZtcc
  12. "/dev/sdb1"isanewphysical volume of"<1024.00 GiB"
  13. ---NEWPhysicalvolume---
  14. PVName/dev/sdb1
  15. VGName
  16. PVSize<1024.00GiB
  17. AllocatableNO
  18. PESize0
  19. TotalPE0
  20. FreePE0
  21. AllocatedPE0
  22. PV UUID G4Jldl-0RGv-HmhP-UUKf-vGbc-S32e-h42UTm

8、将新的PV加入VG

首先我们先来看一下目前的VG列表

  1. [root@localhost~]#lvm vgdisplay
  2. ---Volumegroup---
  3. VGNamecentos
  4. SystemID
  5. Formatlvm2
  6. MetadataAreas1
  7. MetadataSequenceNo3
  8. VGAccessread/write
  9. VGStatusresizable
  10. MAX LV0
  11. CurLV2
  12. OpenLV2
  13. MaxPV0
  14. CurPV1
  15. ActPV1
  16. VGSize<49.00GiB
  17. PESize4.00MiB
  18. TotalPE12543
  19. AllocPE/Size12543/<49.00GiB
  20. FreePE/Size0/0
  21. VG UUIDCd3LKc-dtg5-otbP-UHOO-QoAK-wkSs-0XljMj

只有一个名为centos的系统创建的vg。我们直接将新的PV加入其中即可,也可以自己创建新的VG。

  1. [root@localhost~]#lvm vgextend centos/dev/sdb1
  2. Volumegroup"centos"successfully extended
  3. [root@localhost~]#lvm vgdisplay
  4. ---Volumegroup---
  5. VGNamecentos
  6. SystemID
  7. Formatlvm2
  8. MetadataAreas2
  9. MetadataSequenceNo4
  10. VGAccessread/write
  11. VGStatusresizable
  12. MAX LV0
  13. CurLV2
  14. OpenLV2
  15. MaxPV0
  16. CurPV2
  17. ActPV2
  18. VGSize<1.05TiB
  19. PESize4.00MiB
  20. TotalPE274686
  21. AllocPE/Size12543/<49.00GiB
  22. FreePE/Size262143/<1024.00GiB
  23. VG UUIDCd3LKc-dtg5-otbP-UHOO-QoAK-wkSs-0XljMj

加入VG后再次查看VG列表,发现VG已经扩大到1个T了。


9、LV扩容

现在我们可以给根目录挂载点的LV扩容了

  1. [root@localhost~]#lvm lvextend-l+100%FREE/dev/mapper/centos-root
  2. Sizeof logical volume centos/root changedfrom<44.00GiB(11263extents)to1.04TiB(273406extents).
  3. Logicalvolume centos/root successfully resized.

可以看到LV的大小已经从44GB改变到1.04TB了

这个指令的含义是,将100%的剩余可用空间全部分配给/dev/mapper/centos-root

也可以指定具体的数值

  1. $ lvm lvextend-L+1T/dev/mapper/centos-root

重新调整逻辑分区大小

  1. [root@localhost~]#xfs_growfs/dev/mapper/centos-root
  2. meta-data=/dev/mapper/centos-root isize=512agcount=4,agsize=2883328blks
  3. =sectsz=512attr=2,projid32bit=1
  4. =crc=1finobt=0spinodes=0
  5. data=bsize=4096blocks=11533312,imaxpct=25
  6. =sunit=0swidth=0blks
  7. naming=version2bsize=4096ascii-ci=0ftype=1
  8. log=internalbsize=4096blocks=5631,version=2
  9. =sectsz=512sunit=0blks,lazy-count=1
  10. realtime=none extsz=4096blocks=0,rtextents=0
  11. data blocks changedfrom11533312to279967744

最后再次查看磁盘空间信息,发现根目录挂载点已经扩容成功了。

  1. [root@localhost~]#df-h
  2. 文件系统容量已用可用已用%挂载点
  3. devtmpfs1.9G01.9G0%/dev
  4. tmpfs1.9G01.9G0%/dev/shm
  5. tmpfs1.9G8.9M1.9G1%/run
  6. tmpfs1.9G01.9G0%/sys/fs/cgroup
  7. /dev/mapper/centos-root1.1T4.4G1.1T1%/
  8. /dev/sda11014M150M865M15%/boot
  9. tmpfs379M0379M0%/run/user/0
赞(0)
文章名称:《CentOS7 磁盘空间以及文件系统扩容》
文章链接:https://www.fzvps.com/43379.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!