0


Linux磁盘应如何挂载

  1. 想必大家都知道磁盘分配是操作系统中一个重要且又复杂的话题,更是对电脑认知的一个开端,不同的操作系统在磁盘管理上有着各自独特的方式。本文将从WindowsLinux两个主流操作系统的角度入手,先进行简要对比,然后深入探讨Linux下的磁盘挂载。

1:Windows与Linux磁盘分配对比

  1. Windows操作系统中,磁盘分配通常表现为分区和卷的管理。用户可以使用磁盘管理工具对硬盘进行分区,将硬盘空间划分为不同的逻辑单元。每个分区可以看作是一个独立的存储单元,可以分别格式化、挂载并用于存储数据。
  2. Windows采用的文件系统主要是NTFSNew Technology File System),而在Linux系统中,磁盘分配的概念更为灵活,采用了一种称为挂载(Mount)的方式。Linux将所有设备都视为文件,通过挂载的方式将文件系统与目录进行关联。这种机制允许用户将不同硬盘、分区、甚至网络存储挂载到特定目录,形成一个统一的目录结构。Linux支持多种文件系统,包括但不限于ext4XFSBtrfs 相比之后,想必大家对磁盘分区有一个大致的概念,接下来将进入我们今日话题→***linux的磁盘分区*****,**linux磁盘分区看似很难其实很简单,接下来通过一个真实案例进行阐述linux磁盘分区(又称linux磁盘挂载)。

2:背景

  1. 小猪第二天上班发现登录系统的时候怎么登录都登不进去,经过一段时间的排查发现系统磁盘满了。在写入数据时,系统一直提示空间不足,小猪感觉很奇怪。我的磁盘明明是500G的,怎么就不够用了呢?经过查看硬盘使用情况,发现root分区只有50G,而home430G。现在明白为什么会提示硬盘空间不足了。原来在重新安装系统时,如果不进行硬盘分区操作,默认的情况下,root分区默认设置较小,大部分分区会给home。现在只能设法将home的空间扩容给root

3:进行磁盘挂载扩容

  1. ***3.1 查看现在磁盘分区状况***
  2. 利用df -h 显示,centos-home 442Gcentos-root 只有50G~(我这边是调整后的截图,执行步骤是一样的哦)***↓↓↓↓***

*** 3.2 查看磁盘是否拥有空余空间***

  1. 利用vgdisplay 显示,有没有空闲的空间~***↓↓↓↓***

3.3 从home分区移出 些空间来

*** ****** 3.3.1 备份home目录~↓↓↓↓***

  1. # 首先切换到根下
  2. cd /
  3. # 打包home下所有文件
  4. tar -czvf home.tgz home/
  5. # 存放到tmp路径下
  6. mv home.tgz /tmp

3.3.2 卸载home目录~↓↓↓↓

  1. # 杀掉home下的所有进程(不杀进程后边卸载会报错)
  2. # 如果提示fuser命令不存在,就安装fuser:yum -y install psmisc
  3. fuser -km /home/
  4. # 卸载home
  5. umount /home
  6. # 删除逻辑卷
  7. lvremove /dev/centos/home

3.3.3 查看空闲空间大小

  1. 利用vgdisplay 显示~***↓↓↓↓***

3.3.4 从新给home分区并还原home数据

  1. # 创建新的home卷,并分配空间。
  2. # L表示大小,默认单位为M;n表示卷名;
  3. # 这里的centos是CentOS7安装系统的时候就默认建立好的卷组名。
  4. [root@localhost /]# lvcreate -L 40G -n home centos
  5. WARNING: xfs signature detected on /dev/centos/home at offset 0. Wipe it? [y/n]: y
  6. Wiping xfs signature on /dev/centos/home.
  7. Logical volume "home" created.

*** 3.3.5 查看各分区磁盘大小***

*** ***利用lvdisplay进行查看各分区磁盘大小

  1. [root@localhost /]# lvdisplay
  2. --- Logical volume ---
  3. LV Path /dev/centos/root
  4. LV Name root
  5. VG Name centos
  6. LV UUID z4dzxb-h9uH-FETA-640N-E6yJ-s99r-8sLbTy
  7. LV Write Access read/write
  8. LV Creation host, time localhost, 2023-07-24 21:54:29 +0800
  9. LV Status available
  10. # open 1
  11. LV Size 450.00 GiB
  12. Current LE 115200
  13. Segments 1
  14. Allocation inherit
  15. Read ahead sectors auto
  16. - currently set to 8192
  17. Block device 253:0
  18. --- Logical volume ---
  19. LV Path /dev/centos/swap
  20. LV Name swap
  21. VG Name centos
  22. LV UUID f2K2iP-T76j-MySY-cZ5e-q88e-AS9N-tYebs7
  23. LV Write Access read/write
  24. LV Creation host, time localhost, 2023-07-24 21:54:34 +0800
  25. LV Status available
  26. # open 2
  27. LV Size 18.61 GiB
  28. Current LE 4765
  29. Segments 1
  30. Allocation inherit
  31. Read ahead sectors auto
  32. - currently set to 8192
  33. Block device 253:1
  34. --- Logical volume ---
  35. LV Path /dev/centos/home
  36. LV Name home
  37. VG Name centos
  38. LV UUID 1r3SA4-P51Y-nFXm-4GuD-3v4D-T3F0-Vjdz1P
  39. LV Write Access read/write
  40. LV Creation host, time localhost.localdomain, 2023-12-04 00:42:40 +0800
  41. LV Status available
  42. # open 0
  43. LV Size 10.00 GiB
  44. Current LE 2560
  45. Segments 1
  46. Allocation inherit
  47. Read ahead sectors auto
  48. - currently set to 8192
  49. Block device 253:2

3.3.6 再次查看闲置空间大小

  1. 利用vgdisplay进行查看

  1. # 在home上建立xfs文件系统
  2. [root@localhost /]# mkfs -t xfs /dev/centos/home
  3. meta-data=/dev/centos/home isize=512 agcount=4, agsize=655360 blks
  4. = sectsz=512 attr=2, projid32bit=1
  5. = crc=1 finobt=0, sparse=0
  6. data = bsize=4096 blocks=2621440, imaxpct=25
  7. = sunit=0 swidth=0 blks
  8. naming =version 2 bsize=4096 ascii-ci=0 ftype=1
  9. log =internal log bsize=4096 blocks=2560, version=2
  10. = sectsz=512 sunit=0 blks, lazy-count=1
  11. realtime =none extsz=4096 blocks=0, rtextents=0
  12. # 挂载到home
  13. [root@localhost /]# mount /dev/centos/home /home
  14. # 查看磁盘大小
  15. [root@localhost /]# df -h
  16. 文件系统 容量 已用 可用 已用% 挂载点
  17. devtmpfs 7.8G 0 7.8G 0% /dev
  18. tmpfs 7.8G 0 7.8G 0% /dev/shm
  19. tmpfs 7.8G 720M 7.1G 10% /run
  20. tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
  21. /dev/mapper/centos-root 450G 12G 439G 3% /
  22. /dev/sda1 1014M 154M 861M 16% /boot
  23. tmpfs 1.6G 0 1.6G 0% /run/user/0
  24. /dev/mapper/centos-home 10G 33M 10G 1% /home # home空间大小
  25. # 解压之前备份的压缩包至home目录
  26. [root@localhost /]# tar -xzvf /tmp/home.tgz -C /home
  27. # 这时会有两层home目录,把里面的内容要从新移动home文件下
  28. [root@localhost /]# mv /home/home/* /home/
  29. # 我这里之所以报错是因为我home中没有任何信息,此错误不影响我们磁盘挂载
  30. mv: 无法获取"/home/home/*" 的文件状态(stat): 没有那个文件或目录
  31. # 最后删除内部的home目录
  32. [root@localhost /]# rm -rf /home/home/

3.3.7 扩容root~分配空间给root

  1. # 分配400G空间给root(根据自己的空闲空间决定)
  2. [root@localhost /]# lvextend -L +10G /dev/centos/root
  3. Size of logical volume centos/root changed from 450.00 GiB (115200 extents) to 460.00 GiB (117760 extents).
  4. Logical volume centos/root successfully resized.

*** 3.3.8 再次查看闲置空间大小***

  1. 利用lvdisplay可查看root的空间为460G
  1. [root@localhost /]# lvdisplay
  2. --- Logical volume ---
  3. LV Path /dev/centos/root
  4. LV Name root
  5. VG Name centos
  6. LV UUID z4dzxb-h9uH-FETA-640N-E6yJ-s99r-8sLbTy
  7. LV Write Access read/write
  8. LV Creation host, time localhost, 2023-07-24 21:54:29 +0800
  9. LV Status available
  10. # open 1
  11. LV Size 460.00 GiB
  12. Current LE 117760
  13. Segments 2
  14. Allocation inherit
  15. Read ahead sectors auto
  16. - currently set to 8192
  17. Block device 253:0
  18. --- Logical volume ---
  19. LV Path /dev/centos/swap
  20. LV Name swap
  21. VG Name centos
  22. LV UUID f2K2iP-T76j-MySY-cZ5e-q88e-AS9N-tYebs7
  23. LV Write Access read/write
  24. LV Creation host, time localhost, 2023-07-24 21:54:34 +0800
  25. LV Status available
  26. # open 2
  27. LV Size 18.61 GiB
  28. Current LE 4765
  29. Segments 1
  30. Allocation inherit
  31. Read ahead sectors auto
  32. - currently set to 8192
  33. Block device 253:1
  34. --- Logical volume ---
  35. LV Path /dev/centos/home
  36. LV Name home
  37. VG Name centos
  38. LV UUID 1r3SA4-P51Y-nFXm-4GuD-3v4D-T3F0-Vjdz1P
  39. LV Write Access read/write
  40. LV Creation host, time localhost.localdomain, 2023-12-04 00:42:40 +0800
  41. LV Status available
  42. # open 1
  43. LV Size 10.00 GiB
  44. Current LE 2560
  45. Segments 1
  46. Allocation inherit
  47. Read ahead sectors auto
  48. - currently set to 8192
  49. Block device 253:2

3.3.9 扩展root 卷XFS 文件系统的大小

  1. # 扩展root 卷XFS 文件系统的大小
  2. [root@localhost /]# xfs_growfs /dev/centos/root
  3. meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=29491200 blks
  4. = sectsz=512 attr=2, projid32bit=1
  5. = crc=1 finobt=0 spinodes=0
  6. data = bsize=4096 blocks=117964800, imaxpct=25
  7. = sunit=0 swidth=0 blks
  8. naming =version 2 bsize=4096 ascii-ci=0 ftype=1
  9. log =internal bsize=4096 blocks=57600, version=2
  10. = sectsz=512 sunit=0 blks, lazy-count=1
  11. realtime =none extsz=4096 blocks=0, rtextents=0
  12. data blocks changed from 117964800 to 120586240
  13. 您在 /var/spool/mail/root 中有新邮件

4:检查分配结果,是否成功

  1. 利用 df -h 进行查看
  1. [root@localhost /]# df -h
  2. 文件系统 容量 已用 可用 已用% 挂载点
  3. devtmpfs 7.8G 0 7.8G 0% /dev
  4. tmpfs 7.8G 0 7.8G 0% /dev/shm
  5. tmpfs 7.8G 736M 7.1G 10% /run
  6. tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
  7. /dev/mapper/centos-root 460G 12G 449G 3% /
  8. /dev/sda1 1014M 154M 861M 16% /boot
  9. tmpfs 1.6G 0 1.6G 0% /run/user/0
  10. /dev/mapper/centos-home 10G 33M 10G 1% /home

5:总结

  1. 总的来说,Linux的磁盘挂载机制为用户提供了更大的灵活性和控制权。通过挂载,用户可以在不同目录下组织和管理各种存储设备,实现更为复杂的文件系统结构。而相较之下,Windows的分区和卷管理则相对直观,适合普通用户使用。选择合适的磁盘分配方式取决于用户的需求和对系统管理的熟悉程度。

标签: linux java 虚拟机

本文转载自: https://blog.csdn.net/weixin_44889188/article/details/134773732
版权归原作者 搬砖小丸子 所有, 如有侵权,请联系我们删除。

“Linux磁盘应如何挂载”的评论:

还没有评论