首页 > 其他分享 >使用 LVM 将多个硬盘合并,解决 /home 目录容量不足问题

使用 LVM 将多个硬盘合并,解决 /home 目录容量不足问题

时间:2024-03-07 21:45:49浏览次数:22  
标签:dev lvm 挂载 LVM home data 硬盘

使用 LVM 将多个硬盘合并,解决 /home 目录容量不足问题

误伤这又何妨

于 2023-11-08 21:38:42 发布

阅读量698
收藏

点赞数 11
文章标签: 5G 运维
版权
你是否有这样一个难题,由于在安装系统时仅仅给了/home目录100G硬盘大小,但过了一段时间,发现“哎,100G不够用了,当初怎么不多分点呢。”你当然知道重装系统就能解决这个问题,但你的数据就都丢了呀。这时,刚好你还有几块没用的硬盘,于是你就想:可不可以不用重装系统,就可以扩容 /home 目录呢?
目录
1-将多个硬盘合并成一个虚拟磁盘
1.1 使用`fdisk -l` 查看当前系统识别到的硬盘:
1.2 合并成一个虚拟硬盘
1.3 查看是否虚拟硬盘是否创建成功
2-将虚拟硬盘挂载到/home目录下
2.1 挂载到/home目录下
2.2 修改/etc/fstab文件,实现开机自动挂载
参考资料
1-将多个硬盘合并成一个虚拟磁盘
首先Linux只允许一个硬盘对应一个挂载点,也就是说,你只可以使用一个硬盘挂载到 /home,其余硬盘无法再进行挂载。解决方法有两种,一种是Logical Volume Manager(LVM)将多个硬盘合并成一个逻辑卷组,形成一个虚拟磁盘,并且可以方便地动态调整容量。另一种是RAID存储阵列,允许将多个磁盘组成一个大型存储池,并提供冗余功能。这里采用的是第一种。

1.1 使用fdisk -l 查看当前系统识别到的硬盘:

假设我需要挂载的是这三块硬盘。

1.2 合并成一个虚拟硬盘
# 1.创建 pv
# pvcreate [物理卷名]
sudo pvcreate /dev/nvme1n1
sudo pvcreate /dev/nvme2n1
sudo pvcreate /dev/nvme3n1

# 2.创建 vg
# vgcreate [自定义lvm名] [物理卷名]
sudo vgcreate lvm_data /dev/nvme1n1 # 其中一个盘做开始盘
sudo vgextend lvm_data /dev/nvme2n1 # 其余两个盘做扩展
sudo vgextend lvm_data /dev/nvme3n1

# 3.创建 lv
# lvcreate -l[容量] -n [自定义分区名] [lvm名]
# eg:lvcreate -l100G -n vg_data lvm_data
sudo lvcreate -l 100%VG -n vg_data lvm_data
sudo mkfs -t ext4 /dev/lvm_data/vg_data # 做格式化

1.3 查看是否虚拟硬盘是否创建成功
df -h


2-将虚拟硬盘挂载到/home目录下
2.1 挂载到/home目录下
# 1. 创建目录
sudo mkdir /data
# 2. 把/dev/mapper/lvm_data-vg_data挂载到/data
sudo mount /dev/mapper/lvm_data-vg_data /data
# 3. 同步/home到/data,执行这一步需要时间,会出现卡住不动的情况,一定要耐心等待。
sudo rsync -aXS /home/. data/.
# 4. 重命名/home
sudo mv /home /home_old
# 5. 新建/home
sudo mkdir /home
# 6. 取消/dev/mapper/lvm_data-vg_data
sudo umount /dev/mapper/lvm_data-vg_data
# 7. 重新挂载/dev/mapper/lvm_data-vg_data到/home
sudo mount /dev/mapper/lvm_data-vg_data /home

2.2 修改/etc/fstab文件,实现开机自动挂载
查看/dev/mapper/lvm_data-vg_data的 UUID

blkid


把UUID复制下来,修改/etc/fstab文件,实现开机自动挂载

sudo nano /etc/fstab # nano打开,使用别的编辑器可以

在文件最后添加(#号是解释,不需要添加):

# UUID=8da46012-ab9c-434f-a855-2484112fd1a7:这是文件系统的唯一标识符(UUID),用于指定要挂载的文件系统。
# /home:这是文件系统的挂载点,也就是文件系统将被挂载到的目录。
# ext4:这是文件系统的类型,这里是 ext4 类型的文件系统。
# nodev,nosuid:这是文件系统的挂载选项。nodev 表示不允许在该文件系统上创建设备文件,nosuid 表示不允许 setuid 和 setgid 位。
# 0:这是用于确定文件系统是否应该被备份的字段。0 表示不需要备份。
# 2:这是用于确定文件系统是否应该被检查的字段。2 表示在启动时需要被检查。
UUID=5bf12e10-cf61-447e-b171-91de34eedee7 /home ext4 nodev,nosuid 0 2

重启系统,检测是否成功

shutdown -r now
# 重启后执行
df -h


删除多余文件

sudo rm -rf /home_old
suod rm -rf /data
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/m0_61552056/article/details/134297482

标签:dev,lvm,挂载,LVM,home,data,硬盘
From: https://www.cnblogs.com/cheyunhua/p/18059836

相关文章

  • Centos7下新硬盘的挂载操作
    1、查看当前硬盘使用情况df-h 2、查看磁盘分配情况注意区分,物理磁盘与设备(其实就是磁盘分区)的概念,一块物理磁盘可以对应N个分区,即设备BOOT信息fdisk-l如图所示vdb磁盘还未被使用,现在开始分配。 3、磁盘分配使用m查看详细命令,n添加一块新分区,默认最多只能有四个......
  • dday06_homework_set
    点击查看代码#列举你了解的字典中的功能(字典独有)。#keys/values/items/get/update/pop#列举你了解的集合中的功能(集合独有)。#add/update/discard/intersection/union/difference/symmetric_difference#列举你了解的可以转换为"""字符串转数字数字转字符串列表转元......
  • day05_homework_dict
    点击查看代码#请将列表中的每个元素通过"_"链接起来。#users=['李少奇','李启航','渣渣辉']#print('_'.join(users))#请将列表中的每个元素通过"_"链接起来。"""users=['李少奇','李启航',666,'渣渣辉']......
  • day03_homework_string切害与while循环
    有变量name="aleXleNb"完成如下操作:name="aleXleNb"移除name变量对应的值两边的空格,并输出处理结果print(name.strip())判断name变量是否以"al"开头,并输出结果(用切片)ifname[0:2:1]in'al':print(name[0:2:1])判断name变量是否以"Nb"结尾,并输出结果(用切......
  • day02_homework_while循环_bool值计算
    !/usr/bin/envpython--coding:utf-8--@File:day02_homework.py猜数字,设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环。实现功能1"""luck_number=66whileTrue:guass......
  • day01_homework_print与if,else语句
    1、操作系统的作用?2、列举你听过的操作系统及区别?3、列举你了解的编码及他们之间的区别?4、列举你了解的Python2和Python3的区别?5、你了解的python都有那些数据类型?6、补充代码,实现以下功能。value=_____print(value)#要求输出alex"烧饼"""value='''alex"烧饼''......
  • 这样清理微信,硬盘分分钟多出50GB
    这样清理微信,硬盘分分钟多出50GB:https://blog.csdn.net/m0_69862284/article/details/129095366?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-1-129095366-blog-127171797.235^v43^pc_blog_bottom_relevance_base9&spm=1001.2101.3001.......
  • 非 LVM 分区动态扩容
    非LVM分区实现动态扩容,适用于系统分区扩容,无需格式化磁盘,无需重新挂载磁盘扩容步骤以/dev/sda2扩容为例,假设/dev/sda空间足够(或已通过虚拟化管理平台增加容量)使用fdisk-l命令可看到/dev/sda磁盘总容量200GiB,/dev/sda2分区容量100GiBDisk/dev/sda:200GiB,2......
  • JVisualVM连接远程服务器
    要使用JVisualVM连接远程服务器,你需要在远程服务器上配置JVM以允许JVisualVM进行远程连接,然后在本地JVisualVM中添加远程主机。以下是连接远程服务器的步骤:远程服务器配置配置JVM启动参数:在启动Java应用程序时,需要添加一些JVM参数来启用远程监控。例如,使用以下参数启动应用程......
  • It's just a little homework
    Firsthomework这个作业属于哪个课程软件工程这个作业要求在哪里Firsthomwork这个作业的目标介绍自我,阅读教材初步认识软件工程课程我是谁?张荆茂,来自广东工业大学软件工程三班课程5问软件工程到底是什么?怎样将课程内容用于实践?没有学习过任何面向......